@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { if (searchMode == Var.SEARCH_YOUTUBE) { searchChannel = youtubeChannelSearch.get(position - 1); Log.d(TAG, searchChannel.toString()); addThumbnail(searchChannel.getThumbnail()); if (Var.isEmpty(userName_edt.getText().toString())) userName_edt.setText(searchChannel.getName()); name_tv.setText(searchChannel.getName()); imageLoader.DisplayImage(searchChannel.getThumbnail(), thumbnail_iv); toggleSearch(Var.SEARCH_YT_CHANNEL); searchChannel(); } if (searchMode == Var.SEARCH_TWITTER) { editUser.getMediaFeed().add(twitterFeedSearch.get(position - 1)); addThumbnail(twitterFeedSearch.get(position - 1).getThumbnail()); if (Var.isEmpty(userName_edt.getText().toString())) userName_edt.setText(twitterFeedSearch.get(position - 1).getDisplayName()); toggleSearch(Var.SEARCH_NONE); } }
private void addThumbnail(String thumbnail) { if (!Var.isEmpty(thumbnail)) { userPictureThumbnails.add(thumbnail); if (Var.isEmpty(editUser.getThumbnail())) { editUser.setThumbnail(userPictureThumbnails.get(0)); userPicture_sp.setSelection(0); } iconAdapter.notifyDataSetChanged(); } }
@Override protected String doInBackground(Void... params) { searchBusy = true; try { searchChannel.getYoutubeFeeds().clear(); // TODO check the internet connection here String channelUrl = "https://www.googleapis.com/youtube/v3/channels?part=contentDetails&id=" + searchChannel.getFeedId() + "&fields=items%2FcontentDetails&key=" + Var.DEVELOPER_KEY; String playlists = ""; String channel = Var.HTTPGet(channelUrl); JSONObject res = new JSONObject(channel); if (Var.isJsonArray(res, "items")) { JSONArray items = res.getJSONArray("items"); if (items.length() > 0) { JSONObject item = items.getJSONObject(0); if (Var.isJsonObject(item, "contentDetails")) { JSONObject contentDetails = item.getJSONObject(("contentDetails")); if (Var.isJsonObject(contentDetails, "relatedPlaylists")) { // Channel Name JSONObject relatedPlaylists = contentDetails.getJSONObject("relatedPlaylists"); if (Var.isJsonString(relatedPlaylists, "uploads")) playlists += (Var.isEmpty(playlists) ? "" : ",") + relatedPlaylists.getString("uploads"); if (Var.isJsonString(relatedPlaylists, "likes")) playlists += (Var.isEmpty(playlists) ? "" : ",") + relatedPlaylists.getString("likes"); if (Var.isJsonString(relatedPlaylists, "favorites")) playlists += (Var.isEmpty(playlists) ? "" : ",") + relatedPlaylists.getString("favorites"); } } } } String playlistUrl = "https://www.googleapis.com/youtube/v3/playlists?part=snippet&id=" + URLEncoder.encode(playlists, "UTF-8") + "&fields=items(id%2Csnippet)&key=" + Var.DEVELOPER_KEY; String playlist = Var.HTTPGet(playlistUrl); JSONObject play = new JSONObject(playlist); if (Var.isJsonArray(play, "items")) { JSONArray items = play.getJSONArray("items"); for (int i = 0; i < items.length(); i++) { JSONObject item = items.getJSONObject(i); if (Var.isJsonString(item, "id")) { // Feed Id YoutubeFeed feed = new YoutubeFeed(item.getString("id")); feed.setType(Var.TYPE_YOUTUBE_PLAYLIST); feed.setChannelHandle(searchChannel.getFeedId()); if (Var.isJsonObject(item, "snippet")) { // Feed Name JSONObject snippet = item.getJSONObject("snippet"); if (Var.isJsonString(snippet, "title")) { if (snippet.getString("title").startsWith("Upload")) feed.setName("Uploads"); else feed.setName(snippet.getString("title")); } if (Var.isJsonObject(snippet, "thumbnails")) { // Feed Thumbnail JSONObject thumbnails = snippet.getJSONObject("thumbnails"); if (Var.isJsonObject(thumbnails, "default")) { JSONObject def = thumbnails.getJSONObject("default"); if (Var.isJsonString(def, "url")) { feed.setThumbnail(def.getString("url")); } } } } searchChannel.getYoutubeFeeds().add(feed); Log.d(TAG, "youtube feed added " + feed.getName()); } } YoutubeFeed activityFeed = new YoutubeFeed(); activityFeed.setChannelHandle(searchChannel.getFeedId()); searchChannel.getYoutubeFeeds().add(activityFeed); // Activity } } catch (Throwable t) { t.printStackTrace(); } return null; }