diff options
author | Yorke Lee <yorkelee@google.com> | 2014-11-06 21:08:50 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-11-06 21:08:50 +0000 |
commit | 6276c0d5800a25142b60434bdb8cf74a85b9393e (patch) | |
tree | 21c53e170f1a6180a51e1a71b2025a0804f5c29b | |
parent | 26408f2ef9b79133c3f6af76ec4aea3f74832f96 (diff) | |
parent | 35d891dbb74798612d2a4e475196af36b916ca5e (diff) |
am 35d891db: am 6f41418e: am 99d00ab0: Merge "Fix for "Clear call log" menu item showing up incorrectly." into lmp-mr1-dev
* commit '35d891dbb74798612d2a4e475196af36b916ca5e':
Fix for "Clear call log" menu item showing up incorrectly.
-rw-r--r-- | src/com/android/dialer/calllog/CallLogActivity.java | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java index 1131b0ee8..33e72bc12 100644 --- a/src/com/android/dialer/calllog/CallLogActivity.java +++ b/src/com/android/dialer/calllog/CallLogActivity.java @@ -31,6 +31,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.MotionEvent; +import android.view.ViewGroup; import com.android.contacts.common.interactions.TouchPointManager; import com.android.contacts.common.list.ViewPagerTabs; @@ -83,19 +84,34 @@ public class CallLogActivity extends Activity implements CallLogQueryHandler.Lis public Fragment getItem(int position) { switch (position) { case TAB_INDEX_ALL: - mAllCallsFragment = new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL); - return mAllCallsFragment; + return new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL); case TAB_INDEX_MISSED: - mMissedCallsFragment = new CallLogFragment(Calls.MISSED_TYPE); - return mMissedCallsFragment; + return new CallLogFragment(Calls.MISSED_TYPE); case TAB_INDEX_VOICEMAIL: - mVoicemailFragment = new CallLogFragment(Calls.VOICEMAIL_TYPE); - return mVoicemailFragment; + return new CallLogFragment(Calls.VOICEMAIL_TYPE); } throw new IllegalStateException("No fragment at position " + position); } @Override + public Object instantiateItem(ViewGroup container, int position) { + final CallLogFragment fragment = + (CallLogFragment) super.instantiateItem(container, position); + switch (position) { + case TAB_INDEX_ALL: + mAllCallsFragment = fragment; + break; + case TAB_INDEX_MISSED: + mMissedCallsFragment = fragment; + break; + case TAB_INDEX_VOICEMAIL: + mVoicemailFragment = fragment; + break; + } + return fragment; + } + + @Override public CharSequence getPageTitle(int position) { return mTabTitles[position]; } @@ -189,9 +205,8 @@ public class CallLogActivity extends Activity implements CallLogQueryHandler.Lis @Override public boolean onPrepareOptionsMenu(Menu menu) { final MenuItem itemDeleteAll = menu.findItem(R.id.delete_all); - - // If onPrepareOptionsMenu is called before fragments loaded. Don't do anything. if (mAllCallsFragment != null && itemDeleteAll != null) { + // If onPrepareOptionsMenu is called before fragments are loaded, don't do anything. final CallLogAdapter adapter = mAllCallsFragment.getAdapter(); itemDeleteAll.setVisible(adapter != null && !adapter.isEmpty()); } |