Android Open Source - PrepayCredit J S O N Utils






From Project

Back to project page PrepayCredit.

License

The source code is released under:

GNU General Public License

If you think the Android project PrepayCredit listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * This file is part of Prepay Credit for Android
 *//from ww  w . j a  v a2 s.  com
 * Copyright  2013  Damien O'Reilly
 *
 * Prepay Credit for Android is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Prepay Credit for Android is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Prepay Credit for Android.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Report bugs or new features at: https://github.com/DamienOReilly/PrepayCredit
 * Contact the author at:          damienreilly@gmail.com
 */

package damo.three.ie.util;

import damo.three.ie.prepayusage.ItemFactory;
import damo.three.ie.prepayusage.UsageItem;
import org.acra.ACRA;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;


public class JSONUtils {

    /**
     * Converts JSON array as string into JSON array object. Silently handling any parse exceptions.
     */
    public static JSONArray jsonStringArraytoJsonArray(String jsonStringArray) {
        JSONArray usageItems = null;
        try {
            usageItems = new JSONArray(jsonStringArray);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return usageItems;
    }

    /**
     * Convert our usages in JSON string representation to objects.
     *
     * @param jsonStringArray Usages in JSON string format
     * @return {@link List<damo.three.ie.prepayusage.UsageItem>}
     */
    public static List<UsageItem> jsonToUsageItems(String jsonStringArray) {
        List<UsageItem> usageItems = null;
        try {
            usageItems = jsonToUsageItems(new JSONArray(jsonStringArray));
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return usageItems;
    }

    /**
     * Convert our usages in JSON representation to objects.
     *
     * @param jsonArray Usages in JSON format
     * @return {@link List<damo.three.ie.prepayusage.UsageItem>}
     */
    public static List<UsageItem> jsonToUsageItems(JSONArray jsonArray) {

        List<UsageItem> usageItems = new ArrayList<UsageItem>();

        if (jsonArray != null) {
            boolean problemOccurred = false;
            Exception ex = null;
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject item;
                try {
                    item = jsonArray.getJSONObject(i);
                    usageItems.add(ItemFactory.createItem(item));
                } catch (JSONException e) {
                    problemOccurred = true;
                    ex = e;
                } catch (ParseException e) {
                    problemOccurred = true;
                    ex = e;
                } catch (PrepayException e) {
                    problemOccurred = true;
                    ex = e;
                } catch (IllegalArgumentException e) {
                    // Used to catch out-of-bundle usages pre-upgrade that are incompatible with this version.
                }
            }
            if (problemOccurred) {
                // Unknown usage items. Log report for possible bug.
                ACRA.getErrorReporter().putCustomData("JSON_ITEMS", jsonArray.toString());
                ACRA.getErrorReporter().handleSilentException(ex);
            }
        }
        return usageItems;
    }

}




Java Source Code List

damo.three.ie.PrepayCreditApplication.java
damo.three.ie.activity.AboutActivity.java
damo.three.ie.activity.InternetExpirationActivity.java
damo.three.ie.activity.LoginActivity.java
damo.three.ie.activity.PrepayCreditActivity.java
damo.three.ie.activity.SettingsActivity.java
damo.three.ie.fragment.AboutFragment.java
damo.three.ie.fragment.ChangeLogFragment.java
damo.three.ie.fragment.SettingsFragment.java
damo.three.ie.fragment.UpdateFragment.java
damo.three.ie.net.EasySSLSocketFactory.java
damo.three.ie.net.EasyX509TrustManager.java
damo.three.ie.net.ProcessRequest.java
damo.three.ie.net.ThreeHttpClient.java
damo.three.ie.net.ThreeHttpParameters.java
damo.three.ie.prepay.ConnectivityReceiver.java
damo.three.ie.prepay.Constants.java
damo.three.ie.prepay.InternetAddonAlarmManagerReceiver.java
damo.three.ie.prepay.InternetAddonExpireReceiver.java
damo.three.ie.prepay.UpdateAlarmManagerReceiver.java
damo.three.ie.prepay.UpdateAsyncTask.java
damo.three.ie.prepay.UpdateReceiver.java
damo.three.ie.prepay.UpdateService.java
damo.three.ie.prepay.UsageFetcher.java
damo.three.ie.prepayusage.BasicUsageItemExpireSorter.java
damo.three.ie.prepayusage.BasicUsageItemTypeSorter.java
damo.three.ie.prepayusage.BasicUsageItem.java
damo.three.ie.prepayusage.BasicUsageItemsGrouped.java
damo.three.ie.prepayusage.ExpireGroupType.java
damo.three.ie.prepayusage.InternetUsageRegistry.java
damo.three.ie.prepayusage.ItemFactory.java
damo.three.ie.prepayusage.UsageItem.java
damo.three.ie.prepayusage.items.Data.java
damo.three.ie.prepayusage.items.FreeCash.java
damo.three.ie.prepayusage.items.InternetAddon.java
damo.three.ie.prepayusage.items.OutOfBundle.java
damo.three.ie.prepayusage.items.SkypeCalls.java
damo.three.ie.prepayusage.items.Texts.java
damo.three.ie.prepayusage.items.Three2ThreeCalls.java
damo.three.ie.prepayusage.items.TopUp.java
damo.three.ie.prepayusage.items.WeekendVoiceMinutes.java
damo.three.ie.ui.BasicUsageLayout.java
damo.three.ie.ui.ExtendedScrollView.java
damo.three.ie.ui.OutOfBundleLayout.java
damo.three.ie.ui.SlidingTabLayout.java
damo.three.ie.ui.SlidingTabStrip.java
damo.three.ie.ui.ViewPagerAdapter.java
damo.three.ie.util.AccountException.java
damo.three.ie.util.CustomTagHandler.java
damo.three.ie.util.DateUtils.java
damo.three.ie.util.FileUtils.java
damo.three.ie.util.HtmlUtilities.java
damo.three.ie.util.JSONUtils.java
damo.three.ie.util.NumberUtils.java
damo.three.ie.util.PrepayException.java
damo.three.ie.util.UsageUtils.java