Java Code Examples for android.util.JsonWriter#value()

The following examples show how to use android.util.JsonWriter#value() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TypeTransmogrifier.java    From cwac-saferoom with Apache License 2.0 6 votes vote down vote up
@TypeConverter
public static String fromStringSet(Set<String> strings) {
  if (strings==null) {
    return(null);
  }

  StringWriter result=new StringWriter();
  JsonWriter json=new JsonWriter(result);

  try {
    json.beginArray();

    for (String s : strings) {
      json.value(s);
    }

    json.endArray();
    json.close();
  }
  catch (IOException e) {
    Log.e(TAG, "Exception creating JSON", e);
  }

  return(result.toString());
}
 
Example 2
Source File: GeneralPreferenceFragment.java    From NClientV2 with Apache License 2.0 5 votes vote down vote up
private void writeEntry(JsonWriter writer, Map.Entry<String,?> entry)throws IOException {
    writer.name(entry.getKey());
         if(entry.getValue() instanceof Integer) writer.value((Integer)entry.getValue());
    else if(entry.getValue() instanceof Boolean) writer.value((Boolean)entry.getValue());
    else if(entry.getValue() instanceof String ) writer.value((String) entry.getValue());
    else if(entry.getValue() instanceof Long   ) writer.value((Long)   entry.getValue());
}
 
Example 3
Source File: SimpleTest.java    From unmock-plugin with Apache License 2.0 5 votes vote down vote up
@Test
public void testJsonWriter() throws Exception {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    jw.beginObject();
    jw.name("test");
    jw.value("world");
    jw.endObject();
    jw.flush();

    assertEquals("{\"test\":\"world\"}", sw.toString());

}
 
Example 4
Source File: SimpleTest.java    From unmock-plugin with Apache License 2.0 5 votes vote down vote up
@Test
public void testJsonWriter() throws Exception {
    StringWriter sw = new StringWriter();
    JsonWriter jw = new JsonWriter(sw);
    jw.beginObject();
    jw.name("test");
    jw.value("world");
    jw.endObject();
    jw.flush();

    assertEquals("{\"test\":\"world\"}", sw.toString());

}
 
Example 5
Source File: AndroidPaymentApp.java    From 365browser with Apache License 2.0 5 votes vote down vote up
private static void serializeModifier(PaymentDetailsModifier modifier, JsonWriter json)
        throws IOException {
    // {{{
    json.beginObject();

    // total {{{
    if (modifier.total != null) {
        json.name("total");
        serializePaymentItem(modifier.total, json);
    } else {
        json.name("total").nullValue();
    }
    // }}} total

    // supportedMethods {{{
    json.name("supportedMethods").beginArray();
    for (String method : modifier.methodData.supportedMethods) {
        json.value(method);
    }
    json.endArray();
    // }}} supportedMethods

    // data {{{
    json.name("data").value(modifier.methodData.stringifiedData);
    // }}}

    json.endObject();
    // }}}
}
 
Example 6
Source File: AndroidPlacesApiJsonParser.java    From android-PlacesAutocompleteTextView with BSD 2-Clause "Simplified" License 5 votes vote down vote up
void writePlaceTypesArray(JsonWriter writer, List<PlaceType> placeTypes) throws IOException {
    writer.beginArray();
    for (PlaceType type : placeTypes) {
        switch (type) {
            case ROUTE:
                writer.value("route");
                break;
            case GEOCODE:
                writer.value("geocode");
                break;
        }
    }
    writer.endArray();
}
 
Example 7
Source File: ViewSnapshot.java    From ans-android-sdk with GNU General Public License v3.0 4 votes vote down vote up
@SuppressWarnings("deprecation")
private void addProperties(JsonWriter j, View v) throws IOException {
    final Class<?> viewClass = v.getClass();
    boolean processable = true;
    for (final PropertyDescription desc : mProperties) {
        if (desc.targetClass.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.applyMethod(v);

            if (processable) {
                if (!TextUtils.isEmpty(desc.name)) {
                    if ("clickable".equals(desc.name)) {
                        boolean isClickable = (Boolean) value;
                        if (!isClickable || v instanceof AbsListView || v instanceof AbsoluteLayout) {
                            processable = false;
                        }
                    } else if ("alpha".equals(desc.name)) {
                        float alpha = (Float) value;
                        // 透明度是0则不可见
                        if (alpha == 0) {
                            processable = false;
                        }
                    } else if ("hidden".equals(desc.name)) {
                        int hide = (Integer) value;
                        // hidden是0则隐藏
                        if (hide != 0) {
                            processable = false;
                        }
                    }
                }
            }
            j.name("processable").value(processable ? "1" : "0");
            if (null == value) {
                // Don't produce anything in this case
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof Boolean) {
                j.name(desc.name).value((Boolean) value);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class<?> klass = drawable.getClass();
                while (klass != Object.class) {
                    j.value(klass.getCanonicalName());
                    klass = klass.getSuperclass();
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}
 
Example 8
Source File: AutofillPaymentInstrument.java    From delion with Apache License 2.0 4 votes vote down vote up
@Override
public void onFullCardDetails(CreditCard card, String cvc) {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(card.getName());
        json.name("cardNumber").value(card.getNumber());
        json.name("expiryMonth").value(card.getMonth());
        json.name("expiryYear").value(card.getYear());
        json.name("cardSecurityCode").value(cvc);

        if (mBillingAddress != null) {
            json.name("billingAddress").beginObject();

            json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
            json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
            json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
            json.name("dependentLocality")
                    .value(ensureNotNull(mBillingAddress.getDependentLocality()));

            json.name("addressLine").beginArray();
            String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
            if (!TextUtils.isEmpty(multipleLines)) {
                String[] lines = multipleLines.split("\n");
                for (int i = 0; i < lines.length; i++) {
                    json.value(lines[i]);
                }
            }
            json.endArray();

            json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
            json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
            json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
            json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
            json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
            json.name("careOf").value("");
            json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

            json.endObject();
        }

        json.endObject();
    } catch (IOException e) {
        mCallback.onInstrumentDetailsError();
        return;
    }

    mCallback.onInstrumentDetailsReady(card.getBasicCardPaymentType(), stringWriter.toString());
}
 
Example 9
Source File: AutofillPaymentInstrument.java    From AndroidChromium with Apache License 2.0 4 votes vote down vote up
/**
 * Stringify the card details and send the resulting string and the method name to the
 * registered callback.
 */
private void sendIntrumentDetails() {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(mCard.getName());
        json.name("cardNumber").value(mCard.getNumber());
        json.name("expiryMonth").value(mCard.getMonth());
        json.name("expiryYear").value(mCard.getYear());
        json.name("cardSecurityCode").value(mSecurityCode);

        json.name("billingAddress").beginObject();

        json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
        json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
        json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
        json.name("dependentLocality")
                .value(ensureNotNull(mBillingAddress.getDependentLocality()));

        json.name("addressLine").beginArray();
        String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
        if (!TextUtils.isEmpty(multipleLines)) {
            String[] lines = multipleLines.split("\n");
            for (int i = 0; i < lines.length; i++) {
                json.value(lines[i]);
            }
        }
        json.endArray();

        json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
        json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
        json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
        json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
        json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
        json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

        json.endObject();

        json.endObject();
    } catch (IOException e) {
        onFullCardError();
        return;
    } finally {
        mSecurityCode = "";
    }

    mCallback.onInstrumentDetailsReady(
            mCard.getBasicCardPaymentType(), stringWriter.toString());
}
 
Example 10
Source File: ViewSnapshot.java    From sa-sdk-android with Apache License 2.0 4 votes vote down vote up
private void addProperties(JsonWriter j, View v)
        throws IOException {
    final Class<?> viewClass = v.getClass();
    for (final PropertyDescription desc : mProperties) {
        if (desc.targetClass.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.applyMethod(v);
            if (null == value) {
                // Don't produce anything in this case
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof Boolean) {
                boolean clickable = (boolean) value;
                if (TextUtils.equals("clickable", desc.name)) {
                    if (VisualUtil.isSupportClick(v)) {
                        clickable = true;
                    } else if (VisualUtil.isForbiddenClick(v)) {
                        clickable = false;
                    }
                }
                j.name(desc.name).value(clickable);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class klass = drawable.getClass();
                while (klass != Object.class) {
                    j.value(klass.getCanonicalName());
                    klass = klass.getSuperclass();
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}
 
Example 11
Source File: ViewSnapshot.java    From sa-sdk-android with Apache License 2.0 4 votes vote down vote up
private void mergeWebViewNodes(JsonWriter j, WebNode view, View webView, float webViewScale) {
    try {
        j.beginObject();
        j.name("hashCode").value(view.getId());
        j.name("index").value(0);
        if (!TextUtils.isEmpty(view.get$element_selector())) {
            j.name("element_selector").value(view.get$element_selector());
        }
        if (!TextUtils.isEmpty(view.get$element_content())) {
            j.name("element_content").value(view.get$element_content());
        }
        j.name("element_level").value(++mSnapInfo.elementLevel);
        j.name("h5_title").value(view.get$title());
        float scale = view.getScale();
        if (webViewScale == 0) {
            webViewScale = scale;
        }
        // 原生 WebView getScrollX 能取到值,而 X5WebView 始终是 0
        float left = 0f, top = 0f;
        if (webView.getScrollX() == 0) {
            left = view.getLeft() * webViewScale;
        } else {
            left = (view.getLeft() + view.getScrollX()) * webViewScale;
        }
        if (webView.getScrollY() == 0) {
            top = view.getTop() * webViewScale;
        } else {
            top = (view.getTop() + view.getScrollY()) * webViewScale;
        }
        j.name("left").value((int) left);
        j.name("top").value((int) top);
        j.name("width").value((int) (view.getWidth() * webViewScale));
        j.name("height").value((int) (view.getHeight() * webViewScale));
        j.name("scrollX").value(0);
        j.name("scrollY").value(0);
        j.name("visibility").value(view.isVisibility() ? View.VISIBLE : View.GONE);
        j.name("url").value(view.get$url());
        j.name("clickable").value(true);
        j.name("importantForAccessibility").value(true);
        j.name("is_h5").value(true);

        j.name("classes");
        j.beginArray();
        j.value(view.getTagName());
        Class<?> klass = webView.getClass();
        do {
            j.value(klass.getCanonicalName());
            klass = klass.getSuperclass();
        } while (klass != Object.class && klass != null);
        j.endArray();

        List<String> list = view.getSubelements();
        if (list != null && list.size() > 0) {
            j.name("subviews");
            j.beginArray();
            for (String id : list) {
                j.value(id);
            }
            j.endArray();
        }
        j.endObject();
    } catch (IOException e) {
        SALog.printStackTrace(e);
    }

}
 
Example 12
Source File: AutofillPaymentInstrument.java    From 365browser with Apache License 2.0 4 votes vote down vote up
/**
 * Stringify the card details and send the resulting string and the method name to the
 * registered callback.
 */
private void sendInstrumentDetails() {
    StringWriter stringWriter = new StringWriter();
    JsonWriter json = new JsonWriter(stringWriter);
    try {
        json.beginObject();

        json.name("cardholderName").value(mCard.getName());
        json.name("cardNumber").value(mCard.getNumber());
        json.name("expiryMonth").value(mCard.getMonth());
        json.name("expiryYear").value(mCard.getYear());
        json.name("cardSecurityCode").value(mSecurityCode);

        json.name("billingAddress").beginObject();

        json.name("country").value(ensureNotNull(mBillingAddress.getCountryCode()));
        json.name("region").value(ensureNotNull(mBillingAddress.getRegion()));
        json.name("city").value(ensureNotNull(mBillingAddress.getLocality()));
        json.name("dependentLocality")
                .value(ensureNotNull(mBillingAddress.getDependentLocality()));

        json.name("addressLine").beginArray();
        String multipleLines = ensureNotNull(mBillingAddress.getStreetAddress());
        if (!TextUtils.isEmpty(multipleLines)) {
            String[] lines = multipleLines.split("\n");
            for (int i = 0; i < lines.length; i++) {
                json.value(lines[i]);
            }
        }
        json.endArray();

        json.name("postalCode").value(ensureNotNull(mBillingAddress.getPostalCode()));
        json.name("sortingCode").value(ensureNotNull(mBillingAddress.getSortingCode()));
        json.name("languageCode").value(ensureNotNull(mBillingAddress.getLanguageCode()));
        json.name("organization").value(ensureNotNull(mBillingAddress.getCompanyName()));
        json.name("recipient").value(ensureNotNull(mBillingAddress.getFullName()));
        json.name("phone").value(ensureNotNull(mBillingAddress.getPhoneNumber()));

        json.endObject();

        json.endObject();
    } catch (IOException e) {
        onFullCardError();
        return;
    } finally {
        mSecurityCode = "";
    }

    mCallback.onInstrumentDetailsReady(mMethodName, stringWriter.toString());
}
 
Example 13
Source File: SnapshotBuilder.java    From clevertap-android-sdk with MIT License 4 votes vote down vote up
private static void writeViewProperties(JsonWriter j, View v, ViewSnapshotConfig snapshotConfig) throws IOException {
    final Class<?> viewClass = v.getClass();
    for (final ViewProperty desc : snapshotConfig.propertyDescriptionList) {
        if (desc.target.isAssignableFrom(viewClass) && null != desc.accessor) {
            final Object value = desc.accessor.invokeMethod(v);
            //noinspection StatementWithEmptyBody
            if (null == value) {
                // no-op
            }  else if (value instanceof Boolean) {
                j.name(desc.name).value((Boolean) value);
            } else if (value instanceof Number) {
                j.name(desc.name).value((Number) value);
            } else if (value instanceof ColorStateList) {
                j.name(desc.name).value((Integer) ((ColorStateList) value).getDefaultColor());
            } else if (value instanceof Drawable) {
                final Drawable drawable = (Drawable) value;
                final Rect bounds = drawable.getBounds();
                j.name(desc.name);
                j.beginObject();
                j.name("classes");
                j.beginArray();
                Class klass = drawable.getClass();
                while (klass != Object.class) {
                    if (klass != null) {
                        j.value(klass.getCanonicalName());
                        klass = klass.getSuperclass();
                    }
                }
                j.endArray();
                j.name("dimensions");
                j.beginObject();
                j.name("left").value(bounds.left);
                j.name("right").value(bounds.right);
                j.name("top").value(bounds.top);
                j.name("bottom").value(bounds.bottom);
                j.endObject();
                if (drawable instanceof ColorDrawable) {
                    final ColorDrawable colorDrawable = (ColorDrawable) drawable;
                    j.name("color").value(colorDrawable.getColor());
                }
                j.endObject();
            } else {
                j.name(desc.name).value(value.toString());
            }
        }
    }
}