summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2014-11-06 21:08:50 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-11-06 21:08:50 +0000
commit6276c0d5800a25142b60434bdb8cf74a85b9393e (patch)
tree21c53e170f1a6180a51e1a71b2025a0804f5c29b
parent26408f2ef9b79133c3f6af76ec4aea3f74832f96 (diff)
parent35d891dbb74798612d2a4e475196af36b916ca5e (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.java31
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());
}