/* * (non-Javadoc) * @see android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget.AdapterView, android.view.View, int, long) */ @Override public void onItemClick(AdapterView<?> view, View parent, int pos, long id) { if (pos < postsAdapter.getPosts().size()) { final Post post = postsAdapter.getPosts().get(pos); showPostEditor(post); } }
/* * (non-Javadoc) * @see android.widget.AdapterView.OnItemLongClickListener#onItemLongClick(android.widget.AdapterView, android.view.View, int, long) */ @Override public boolean onItemLongClick(AdapterView<?> view, View parent, int pos, long id) { // // We may have one extra item in the PostAdapter for // our "loading" item, so check that `pos` is valid. // if (pos < postsAdapter.getPosts().size()) { final Post post = postsAdapter.getPosts().get(pos); showPostContextMenu(post); return true; } return false; }
/* * (non-Javadoc) * @see android.app.Activity#onPause() */ @Override protected void onPause() { ready = false; postsAdapter.setPosts(new ArrayList<Post>()); postsAdapter.notifyDataSetChanged(); stopPollThread(); accessToken = null; super.onPause(); }
/* * (non-Javadoc) * @see android.widget.AbsListView.OnScrollListener#onScroll(android.widget.AbsListView, int, int, int) */ @Override public void onScroll( AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if (ready) { final boolean needMore = (firstVisibleItem + visibleItemCount >= totalItemCount) && !postsAdapter.getEndOfTime() && postsAdapter.getPosts().size() < MAX_POSTS; if (!postsAdapter.isLoading() && needMore) { new PostsBeforeTask( stream, postsAdapter, new AppNetClient(accessToken), postsAdapter.getOldestPostId()) .execute(); } } }
@Override protected void onResume() { super.onResume(); boolean registeredUserChanged = mFeed.getUserAcquiredFor() != null && (!mFeed.getUserAcquiredFor().equals(Settings.getUserName(this))); // We want to reload the feed if a new user logged in if (HNCredentials.isInvalidated() || registeredUserChanged) { showFeed(new HNFeed(new ArrayList<HNPost>(), null, "")); startFeedLoading(); } // refresh if font size changed if (refreshFontSizes()) mPostsListAdapter.notifyDataSetChanged(); // Ramesh kumar coding part for change background color using radio button if (refreshBackgroundColor()) mPostsListAdapter.notifyDataSetChanged(); // ------------- kevin's codes. refresh the setup when changing the setting ----------------- if (refreshHTMLContent()) { if (mCurrentHTMLContent.equals("display")) { new Thread(getURLContent_Thread).start(); } else { List<HNPost> mPosts = mFeed.getPosts(); for (int i = 0; i < mPosts.size(); i++) { mPosts.get(i).setContent(""); } showFeed(mFeed); } } // restore vertical scrolling position if applicable if (mListState != null) mPostsList.onRestoreInstanceState(mListState); mListState = null; }
@Override public void onTaskFinished(int taskCode, TaskResultCode code, HNFeed result, Object tag) { if (taskCode == TASKCODE_LOAD_FEED) { if (code.equals(TaskResultCode.Success) && mPostsListAdapter != null) { showFeed(result); } else if (!code.equals(TaskResultCode.Success)) Toast.makeText(this, getString(R.string.error_unable_to_retrieve_feed), Toast.LENGTH_SHORT) .show(); mActionbarRefreshProgress.setVisibility(View.GONE); mActionbarRefresh.setVisibility(View.VISIBLE); } else if (taskCode == TASKCODE_LOAD_MORE_POSTS) { if (!code.equals(TaskResultCode.Success)) Toast.makeText(this, getString(R.string.error_unable_to_load_more), Toast.LENGTH_SHORT) .show(); mFeed.appendLoadMoreFeed(result); mPostsListAdapter.notifyDataSetChanged(); } }
private void showFeed(HNFeed feed) { mFeed = feed; mPostsListAdapter.notifyDataSetChanged(); }