Example usage for android.util JsonReader skipValue

List of usage examples for android.util JsonReader skipValue

Introduction

In this page you can find the example usage for android.util JsonReader skipValue.

Prototype

public void skipValue() throws IOException 

Source Link

Document

Skips the next value recursively.

Usage

From source file:br.com.thinkti.android.filechooserfrag.fragFileChooserQuizlet.java

typVok parseSetDataJson(JsonReader reader) throws IOException {
    reader.beginObject();/*from  w  w  w. j a va2s.  c  o  m*/
    typVok rowData = new typVok();

    while (reader.hasNext()) {
        String name = reader.nextName();
        if (name.equals("term")) {
            rowData.Wort = reader.nextString();
        } else if (name.equals("id")) {
            long id = reader.nextLong();
            rowData.z = 0;
        } else if (name.equals("definition")) {
            rowData.Bed1 = reader.nextString();
            rowData.Bed2 = "";
            rowData.Bed3 = "";
        } else if (name.equals("image")) {
            try {
                reader.beginObject();
                while (reader.hasNext()) {
                    String strName = reader.nextName();
                    if (strName.equals("url")) {
                        String value = "<link://" + reader.nextString() + " "
                                + _main.getString(R.string.picture) + "/>";
                        rowData.Kom = value;
                    } else {
                        reader.skipValue();
                    }
                }
                reader.endObject();
            } catch (Exception exception) {
                reader.skipValue();
                //String value = "<link://" + reader.nextString() + "/>";
                //rowData.Kom = value;
            }

        } else {
            reader.skipValue();
        }
    }
    reader.endObject();
    if (lib.libString.IsNullOrEmpty(rowData.Bed1)) {
        rowData.Bed1 = rowData.Kom;
        rowData.Bed2 = "";
        rowData.Bed3 = "";
    }
    return rowData;
}

From source file:fiskinfoo.no.sintef.fiskinfoo.MyToolsFragment.java

private void generateAndSendGeoJsonToolReport() {
    FiskInfoUtility fiskInfoUtility = new FiskInfoUtility();
    JSONObject featureCollection = new JSONObject();

    try {//from w  w  w . ja va 2s .c  om
        Set<Map.Entry<String, ArrayList<ToolEntry>>> tools = user.getToolLog().myLog.entrySet();
        JSONArray featureList = new JSONArray();

        for (final Map.Entry<String, ArrayList<ToolEntry>> dateEntry : tools) {
            for (final ToolEntry toolEntry : dateEntry.getValue()) {
                if (toolEntry.getToolStatus() == ToolEntryStatus.STATUS_RECEIVED
                        || toolEntry.getToolStatus() == ToolEntryStatus.STATUS_REMOVED) {
                    continue;
                }

                toolEntry.setToolStatus(toolEntry.getToolStatus() == ToolEntryStatus.STATUS_REMOVED_UNCONFIRMED
                        ? ToolEntryStatus.STATUS_REMOVED_UNCONFIRMED
                        : ToolEntryStatus.STATUS_SENT_UNCONFIRMED);
                JSONObject gjsonTool = toolEntry.toGeoJson(mGpsLocationTracker);
                featureList.put(gjsonTool);
            }
        }

        if (featureList.length() == 0) {
            Toast.makeText(getActivity(), getString(R.string.no_changes_to_report), Toast.LENGTH_LONG).show();

            return;
        }

        user.writeToSharedPref(getActivity());
        featureCollection.put("features", featureList);
        featureCollection.put("type", "FeatureCollection");
        featureCollection.put("crs", JSONObject.NULL);
        featureCollection.put("bbox", JSONObject.NULL);

        String toolString = featureCollection.toString(4);

        if (fiskInfoUtility.isExternalStorageWritable()) {
            fiskInfoUtility.writeMapLayerToExternalStorage(getActivity(), toolString.getBytes(),
                    getString(R.string.tool_report_file_name), getString(R.string.format_geojson), null, false);
            String directoryPath = Environment
                    .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString();
            String fileName = directoryPath + "/FiskInfo/api_setting.json";
            File apiSettingsFile = new File(fileName);
            String recipient = null;

            if (apiSettingsFile.exists()) {
                InputStream inputStream;
                InputStreamReader streamReader;
                JsonReader jsonReader;

                try {
                    inputStream = new BufferedInputStream(new FileInputStream(apiSettingsFile));
                    streamReader = new InputStreamReader(inputStream, "UTF-8");
                    jsonReader = new JsonReader(streamReader);

                    jsonReader.beginObject();
                    while (jsonReader.hasNext()) {
                        String name = jsonReader.nextName();
                        if (name.equals("email")) {
                            recipient = jsonReader.nextString();
                        } else {
                            jsonReader.skipValue();
                        }
                    }
                    jsonReader.endObject();
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                }
            }

            recipient = recipient == null ? getString(R.string.tool_report_recipient_email) : recipient;
            String[] recipients = new String[] { recipient };
            Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("plain/plain");

            String toolIds;
            StringBuilder sb = new StringBuilder();

            sb.append("Redskapskoder:\n");

            for (int i = 0; i < featureList.length(); i++) {
                sb.append(Integer.toString(i + 1));
                sb.append(": ");
                sb.append(featureList.getJSONObject(i).getJSONObject("properties").getString("ToolId"));
                sb.append("\n");
            }

            toolIds = sb.toString();

            intent.putExtra(Intent.EXTRA_EMAIL, recipients);
            intent.putExtra(Intent.EXTRA_TEXT, toolIds);
            intent.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.tool_report_email_header));
            File file = new File(
                    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).getPath()
                            + "/FiskInfo/Redskapsrapport.geojson");
            Uri uri = Uri.fromFile(file);
            intent.putExtra(Intent.EXTRA_STREAM, uri);

            startActivity(Intent.createChooser(intent, getString(R.string.send_tool_report_intent_header)));

        }
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

From source file:com.tcity.android.ui.info.BuildInfoTask.java

private void handleResponse(@NotNull HttpResponse response) throws IOException, ParseException {
    JsonReader reader = new JsonReader(new InputStreamReader(response.getEntity().getContent()));

    //noinspection TryFinallyCanBeTryWithResources
    try {/*  ww  w .  ja  v a  2s . co m*/
        reader.beginObject();

        BuildInfoData data = new BuildInfoData();
        SimpleDateFormat dateFormat = new SimpleDateFormat(Common.TEAMCITY_DATE_FORMAT);

        while (reader.hasNext()) {
            switch (reader.nextName()) {
            case "status":
                if (data.status == null) {
                    data.status = com.tcity.android.Status.valueOf(reader.nextString());
                }
                break;
            case "running":
                if (reader.nextBoolean()) {
                    data.status = com.tcity.android.Status.RUNNING;
                }
                break;
            case "branchName":
                data.branch = reader.nextString();
                break;
            case "defaultBranch":
                data.isBranchDefault = reader.nextBoolean();
                break;
            case "statusText":
                data.result = reader.nextString();
                break;
            case "waitReason":
                data.waitReason = reader.nextString();
                break;
            case "queuedDate":
                data.queued = dateFormat.parse(reader.nextString());
                break;
            case "startDate":
                data.started = dateFormat.parse(reader.nextString());
                break;
            case "finishDate":
                data.finished = dateFormat.parse(reader.nextString());
                break;
            case "agent":
                data.agent = getAgentName(reader);
                break;
            default:
                reader.skipValue();
            }
        }

        myResult = data;

        reader.endObject();
    } finally {
        reader.close();
    }
}

From source file:pedromendes.tempodeespera.HospitalDetailActivity.java

private void readEmergency(JsonReader reader, Emergency hospitalEmergencyDetail) throws IOException {
    while (reader.hasNext()) {
        String fieldDame = reader.nextName();
        if (fieldDame.equals("Emergency")) {
            reader.beginObject();/*from w  w  w .  j  av  a  2  s.  c  o m*/
            reader.nextName();
            reader.nextString();
            reader.nextName();
            hospitalEmergencyDetail.setDescription(reader.nextString());
            reader.endObject();
        } else if (fieldDame.equals("Queue") && reader.peek() != JsonToken.NULL) {
            reader.beginObject();
            reader.nextName();
            reader.nextString();
            reader.nextName();
            hospitalEmergencyDetail.setName(reader.nextString());
            reader.endObject();
        } else if (fieldDame.equals("Red")) {
            reader.beginObject();
            fillQueue(reader, hospitalEmergencyDetail.getRedQueue());
            reader.endObject();
        } else if (fieldDame.equals("Orange")) {
            reader.beginObject();
            fillQueue(reader, hospitalEmergencyDetail.getOrangeQueue());
            reader.endObject();
        } else if (fieldDame.equals("Yellow")) {
            reader.beginObject();
            fillQueue(reader, hospitalEmergencyDetail.getYellowQueue());
            reader.endObject();
        } else if (fieldDame.equals("Green")) {
            reader.beginObject();
            fillQueue(reader, hospitalEmergencyDetail.getGreenQueue());
            reader.endObject();
        } else if (fieldDame.equals("Blue")) {
            reader.beginObject();
            fillQueue(reader, hospitalEmergencyDetail.getBlueQueue());
            reader.endObject();
        } else if (fieldDame.equals("LastUpdate")) {
            hospitalEmergencyDetail.setLastUpdate(reader.nextString());
        } else {
            reader.skipValue();
        }
    }
}

From source file:com.dalaran.async.task.http.AbstractHTTPService.java

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
protected List<ContentValues> parseJson(JsonReader reader) throws IOException {

    List<ContentValues> contentValueses = new ArrayList<ContentValues>();
    ContentValues values = new ContentValues();
    Long threadId = 0L;// ww  w. j av  a  2 s.  co  m
    boolean notEnd = true;
    String name = "";
    if (reader.hasNext()) { //todo android.util.MalformedJsonException: Use JsonReader.setLenient(true)
        do {
            switch (reader.peek()) {
            case BEGIN_OBJECT:
                values = new ContentValues();
                if (threadId != 0) {
                    values.put("threadId", threadId);
                }
                reader.beginObject();
                break;
            case BEGIN_ARRAY:
                if (values != null && values.getAsLong("threadId") != null) {
                    threadId = values.getAsLong("threadId");
                }
                reader.beginArray();
                break;
            case BOOLEAN:
                values.put(name, reader.nextBoolean());
                break;
            case END_ARRAY:
                reader.endArray();
                break;
            case END_DOCUMENT:
                notEnd = false;
                break;
            case END_OBJECT:
                contentValueses.add(values);
                reader.endObject();
                break;
            case NAME:
                name = reader.nextName();
                break;
            case NULL:
                reader.nextNull();
                break;
            case NUMBER:
                values.put(name, reader.nextDouble());
                break;
            case STRING:
                values.put(name, reader.nextString());
                break;
            default:
                reader.skipValue();
            }
        } while (notEnd);
    }
    return contentValueses;
}

From source file:br.com.thinkti.android.filechooserfrag.fragFileChooserQuizlet.java

private List<typVok> openSet(String id) throws Exception {
    this.errorDescription = null;
    this.errorTitle = null;
    InputStream inputStream = null;
    List<typVok> list = new ArrayList<typVok>();
    String Kom = "";
    _main.vok.title = "";
    try {/*ww  w  . j av a 2s  .  c  om*/
        URL url = new URL(getDeckUrl(id));
        /*
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        if ( connection.getResponseCode() >= 400 ) {
           inputStream = connection.getErrorStream();
        }
        else {
           inputStream = connection.getInputStream();
        }
        */
        inputStream = org.liberty.android.fantastischmemo.downloader.quizlet.lib.makeApiCall(url,
                _main.QuizletAccessToken);
        JsonReader reader = new JsonReader(new InputStreamReader(inputStream, "UTF-8"));
        reader.beginArray();
        while (reader.hasNext()) {
            reader.beginObject();
            while (reader.hasNext()) {
                String name = reader.nextName();
                if ("id".equals(name)) {
                    long intId = reader.nextLong();
                    /*if (page > totalPages) {
                            
                    }*/
                } else if ("url".equals(name)) {
                    String strUrl = reader.nextString();
                } else if ("title".equals(name)) {
                    String title = reader.nextString();
                    _main.vok.title = title;
                } else if ("created_by".equals(name)) {
                    String created_by = reader.nextString();
                    Kom = _main.getString(R.string.created_by) + " " + created_by + " "
                            + _main.getString((R.string.at)) + " <link://https://quizlet.com/ Quizlet/>";
                } else if ("term_count".equals(name)) {
                    int term_count = reader.nextInt();
                } else if ("lang_terms".equals(name)) {
                    String lang_terms = reader.nextString();
                    try {
                        _LangWord = new Locale(lang_terms.replace("-", "_"));
                    } catch (Throwable ex) {

                    }
                } else if ("lang_definitions".equals(name)) {
                    String lang_definitions = reader.nextString();
                    try {
                        _LangMeaning = (new Locale(lang_definitions.replace("-", "_")));
                    } catch (Throwable ex) {

                    }
                } else if ("terms".equals(name)) {
                    reader.beginArray();
                    while (reader.hasNext()) {
                        typVok v = parseSetDataJson(reader);
                        String kom = v.Kom;
                        v.Kom = Kom;
                        if (!lib.libString.IsNullOrEmpty(kom)) {
                            v.Kom += " " + kom;
                        }
                        list.add(v);
                    }
                    reader.endArray();
                } else {
                    reader.skipValue();
                }
            }
            reader.endObject();
        }
        reader.endArray();
    } finally {
        if (inputStream != null) {
            inputStream.close();
        }
    }
    return list;
}

From source file:com.smc.tw.waltz.MainActivity.java

private void unsubscribeAllGcmChannel() {
    String deviceListText = mPreferences.getString("waltzone_local_data", null);
    if (deviceListText == null)
        return;/*from   w  ww .j  a v a2s.  c o m*/
    try {
        StringReader stringReader = new StringReader(deviceListText);
        JsonReader reader = new JsonReader(stringReader);

        reader.beginArray();

        while (reader.hasNext()) {
            String deviceSerial = null;

            reader.beginObject();

            while (reader.hasNext()) {
                String name = reader.nextName();

                if (name.equals("waltzone_serial")) {
                    deviceSerial = reader.nextString();
                } else {
                    reader.skipValue();
                }
            }
            //            Log.e(TAG, "Unsubscribe: WALTZ_" + deviceSerial);
            unsubscribeGcmChannel("WALTZ_" + deviceSerial);
            reader.endObject();
        }

        reader.endArray();
        reader.close();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        //e.printStackTrace();
    }
}

From source file:watch.oms.omswatch.actioncenter.helpers.WatchTransDBParser.java

/**
 * Parses Service response and stores into respective DB table.
 * /*www .j  av a2 s. c om*/
 * @param pStringReader
 */
private void readJsonStream(Reader pStringReader) {

    JsonReader reader = null;
    List<ContentValues> rows = null;
    String tableName = null;
    String colName = null;
    ExecutorService executor = Executors.newFixedThreadPool(10);
    double latestModifiedTimeStamp = 0.0f;
    final String VISITED_DATE = "visiteddate";
    final String MESSAGE = "message";
    final String ADDITION_MESSAGE = "additionMessage";
    final String VISITED_DATE_MAPPER = "visiteddatemapper";
    List<String> tableNames = new ArrayList<String>();
    final String DB_PROCESS_DURATION = "dbprocessduration";
    final String SERVER_PROCESS_DURATION = "serverprocessduration";
    try {
        Log.d(TAG, "@@@@@@@@@@ Trans DB Tables Start @@@@@@@@@@");
        reader = new JsonReader(pStringReader);
        reader.setLenient(true);
        reader.beginObject();

        // Iterate through each table data
        while (reader.hasNext()) {

            colName = reader.nextName();
            if (colName.equals(VISITED_DATE)) {

                latestModifiedTimeStamp = reader.nextDouble();
                // Update Trans Table
                /*servermapperhelper.updateModifiedTimeStampForTransTable(
                      ALL_TABLES, latestModifiedTimeStamp);*/
                if (Integer.parseInt(OMSApplication.getInstance().getAppId()) == 10) {
                    servermapperhelper.updateModifiedTimeStampForVisitedDateMapper(
                            OMSApplication.getInstance().getEditTextHiddenVal(), latestModifiedTimeStamp);
                }
                continue;
            } else if (colName.equals(MESSAGE)) {
                Log.e(TAG, "Trans DB gave error response - message - " + reader.nextString());
                continue;
            } else if (colName.equals(ADDITION_MESSAGE)) {
                Log.e(TAG, "Trans DB gave error response - additionMessage - " + reader.nextString());
                continue;
            } else if (VISITED_DATE_MAPPER.equalsIgnoreCase(colName)) {
                Log.d(TAG, "Skipping internal Table " + VISITED_DATE_MAPPER + " lookup");
                reader.skipValue();
                continue;
            }
            //Fetch dbprocess duration serverprocess duration
            else if (DB_PROCESS_DURATION.equalsIgnoreCase(colName)) {
                String dbDuration = reader.nextString();
                OMSApplication.getInstance().setDatabaseProcessDuration(dbDuration);
                /*Log.i(TAG,
                      "DB Process Duration"
                   + dbDuration);*/
                continue;
            } else if (SERVER_PROCESS_DURATION.equalsIgnoreCase(colName)) {
                String serverProcessDuration = reader.nextString();
                OMSApplication.getInstance().setServerProcessDuration(serverProcessDuration);
                /*Log.i(TAG,
                      "server process duration "
                   + serverProcessDuration);*/
                continue;
            }
            Log.d(TAG, "ColName::::" + colName);
            // Get Table Name
            tableName = servermapperhelper.getClientTableName(colName);

            if (tableName == null) {
                Log.e(TAG, "Table Name was not found in ServerMapperHelper - " + colName);
                // Tables created only on the server sometimes dont find
                // entry in ServerMapper. So, allowing those tables here
                tableNames.add(colName);
            } else {
                tableNames.add(tableName);
            }

            rows = readAllRowDataForTable(reader, tableName);

            // Update DB only if we have valid Table name
            if (tableName != null) {
                Runnable worker = new DbWorkerThread(colName, rows);
                executor.execute(worker);
            }
        }
        reader.endObject();

        Log.d(TAG, "Waiting for DB Worker Threads to Complete");
        // Request for Shutdown. This will wait till the db updates are
        // complete. Wait till the db update is complete and then invoke the
        // time stamp update to avoid db locks.
        executor.shutdown();
        while (!executor.isTerminated()) {
        }

        Log.d(TAG, "DB Worker Threads Completed");
        // Update Modified Time Stamp for All Trans Tables
        executor = Executors.newFixedThreadPool(1);
        Runnable worker = new DbWorkerThreadToUpdateTimeStamp(tableNames, latestModifiedTimeStamp);
        executor.execute(worker);

        // Request for Shutdown. This will wait till the db updates are
        // complete
        Log.d(TAG, "Waiting for DB Timestamp Update Worker Thread to Complete");
        executor.shutdown();
        while (!executor.isTerminated()) {
        }

        Log.d(TAG, "DB Timestamp Update Worker Thread Completed");
        Log.d(TAG, "@@@@@@@@@@ Trans DB Tables End @@@@@@@@@@");

    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        executor.shutdown();
        while (!executor.isTerminated()) {
        }
        try {
            if (reader != null) {
                reader.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}