/** * Get a JSON representation from a list of tabs. * * @param tabList a list of {@link Tab tabs}. * @return a JSON string representing the list of tabs */ public static String getJsonToSave(@Nullable List<Tab> tabList) { final JsonStringWriter jsonWriter = JsonWriter.string(); jsonWriter.object(); jsonWriter.array(JSON_TABS_ARRAY_KEY); if (tabList != null) for (Tab tab : tabList) { tab.writeJsonOn(jsonWriter); } jsonWriter.end(); jsonWriter.end(); return jsonWriter.done(); } }
private boolean isTabsArrayEmpty(String returnedJson) throws JsonParserException { JsonObject jsonObject = JsonParser.object().from(returnedJson); assertTrue(jsonObject.containsKey(JSON_TABS_ARRAY_KEY)); return jsonObject.getArray(JSON_TABS_ARRAY_KEY).size() == 0; }
JsonObject parentObject = JsonParser.object().from(in); JsonArray channelsArray = parentObject.getArray(JSON_SUBSCRIPTIONS_ARRAY_KEY); if (eventListener != null) eventListener.onSizeReceived(channelsArray.size()); if (o instanceof JsonObject) { JsonObject itemObject = (JsonObject) o; int serviceId = itemObject.getInt(JSON_SERVICE_ID_KEY, 0); String url = itemObject.getString(JSON_URL_KEY); String name = itemObject.getString(JSON_NAME_KEY);
@Override public String getBannerUrl() { return user.getObject("visuals", new JsonObject()) .getArray("visuals", new JsonArray()) .getObject(0, new JsonObject()) .getString("visual_url"); }
@Override public String getDescription() { return itemObject.getString("description", ""); } }
/** * Write the subscriptions items list as JSON to the output. * * @param items the list of subscriptions items * @param out the output stream (e.g. a file) * @param eventListener listener for the events generated */ public static void writeTo(List<SubscriptionItem> items, OutputStream out, @Nullable ImportExportEventListener eventListener) { JsonAppendableWriter writer = JsonWriter.on(out); writeTo(items, writer, eventListener); writer.done(); }
/** * @see #writeTo(List, OutputStream, ImportExportEventListener) */ public static void writeTo(List<SubscriptionItem> items, JsonSink writer, @Nullable ImportExportEventListener eventListener) { if (eventListener != null) eventListener.onSizeReceived(items.size()); writer.object(); writer.value(JSON_APP_VERSION_KEY, BuildConfig.VERSION_NAME); writer.value(JSON_APP_VERSION_INT_KEY, BuildConfig.VERSION_CODE); writer.array(JSON_SUBSCRIPTIONS_ARRAY_KEY); for (SubscriptionItem item : items) { writer.object(); writer.value(JSON_SERVICE_ID_KEY, item.getServiceId()); writer.value(JSON_URL_KEY, item.getUrl()); writer.value(JSON_NAME_KEY, item.getName()); writer.end(); if (eventListener != null) eventListener.onItemCompleted(item.getName()); } writer.end(); writer.end(); }
@Nullable public static Tab from(@NonNull JsonObject jsonObject) { final int tabId = jsonObject.getInt(Tab.JSON_TAB_ID_KEY, -1); if (tabId == -1) { return null; } return from(tabId, jsonObject); }
final JsonObject jsonObject = JsonParser.object().from(returnedJson); assertTrue(jsonObject.containsKey(JSON_TABS_ARRAY_KEY)); final JsonArray tabsFromArray = jsonObject.getArray(JSON_TABS_ARRAY_KEY); assertEquals(tabs.size(), tabsFromArray.size()); final Tab.BlankTab blankTabFromReturnedJson = requireNonNull((Tab.BlankTab) Tab.from(((JsonObject) tabsFromArray.get(0)))); assertEquals(blankTab.getTabId(), blankTabFromReturnedJson.getTabId()); final Tab.SubscriptionsTab subscriptionsTabFromReturnedJson = requireNonNull((Tab.SubscriptionsTab) Tab.from(((JsonObject) tabsFromArray.get(1)))); assertEquals(subscriptionsTab.getTabId(), subscriptionsTabFromReturnedJson.getTabId()); final Tab.ChannelTab channelTabFromReturnedJson = requireNonNull((Tab.ChannelTab) Tab.from(((JsonObject) tabsFromArray.get(2)))); assertEquals(channelTab.getTabId(), channelTabFromReturnedJson.getTabId()); assertEquals(channelTab.getChannelServiceId(), channelTabFromReturnedJson.getChannelServiceId()); assertEquals(channelTab.getChannelName(), channelTabFromReturnedJson.getChannelName()); final Tab.KioskTab kioskTabFromReturnedJson = requireNonNull((Tab.KioskTab) Tab.from(((JsonObject) tabsFromArray.get(3)))); assertEquals(kioskTab.getTabId(), kioskTabFromReturnedJson.getTabId()); assertEquals(kioskTab.getKioskServiceId(), kioskTabFromReturnedJson.getKioskServiceId());
@Override public String getThumbnailUrl() { return itemObject.getString("artwork_url"); }
@Override public String getName() { return itemObject.getString("title"); }
@Override public String getAvatarUrl() { return user.getString("avatar_url"); }
@Override public String getName() { return itemObject.getString("username"); }
@Override public String getThumbnailUrl() { return itemObject.getString("avatar_url", ""); }