diff options
Diffstat (limited to 'src/com/android/dialer/calllog/CallLogActivity.java')
-rw-r--r-- | src/com/android/dialer/calllog/CallLogActivity.java | 37 |
1 files changed, 14 insertions, 23 deletions
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java index 97e601630..243eda9b1 100644 --- a/src/com/android/dialer/calllog/CallLogActivity.java +++ b/src/com/android/dialer/calllog/CallLogActivity.java @@ -15,7 +15,6 @@ */ package com.android.dialer.calllog; -import android.app.ActionBar; import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; @@ -27,6 +26,7 @@ import android.provider.CallLog; import android.provider.CallLog.Calls; import android.support.v13.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; +import android.support.v7.app.ActionBar; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -39,11 +39,12 @@ import com.android.contacts.common.util.PermissionsUtil; import com.android.contacts.commonbind.analytics.AnalyticsUtil; import com.android.dialer.DialtactsActivity; import com.android.dialer.R; +import com.android.dialer.TransactionSafeActivity; +import com.android.dialer.logging.Logger; +import com.android.dialer.logging.ScreenEvent; import com.android.dialer.util.DialerUtils; -import com.android.dialer.voicemail.VoicemailStatusHelper; -import com.android.dialer.voicemail.VoicemailStatusHelperImpl; -public class CallLogActivity extends Activity implements ViewPager.OnPageChangeListener { +public class CallLogActivity extends TransactionSafeActivity implements ViewPager.OnPageChangeListener { private ViewPager mViewPager; private ViewPagerTabs mViewPagerTabs; private ViewPagerAdapter mViewPagerAdapter; @@ -73,9 +74,10 @@ public class CallLogActivity extends Activity implements ViewPager.OnPageChangeL public Fragment getItem(int position) { switch (getRtlPosition(position)) { case TAB_INDEX_ALL: - return new CallLogFragment(CallLogQueryHandler.CALL_TYPE_ALL); + return new CallLogFragment( + CallLogQueryHandler.CALL_TYPE_ALL, true /* isCallLogActivity */); case TAB_INDEX_MISSED: - return new CallLogFragment(Calls.MISSED_TYPE); + return new CallLogFragment(Calls.MISSED_TYPE, true /* isCallLogActivity */); } throw new IllegalStateException("No fragment at position " + position); } @@ -121,7 +123,7 @@ public class CallLogActivity extends Activity implements ViewPager.OnPageChangeL setContentView(R.layout.call_log_activity); getWindow().setBackgroundDrawable(null); - final ActionBar actionBar = getActionBar(); + final ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayShowHomeEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setDisplayShowTitleEnabled(true); @@ -186,6 +188,10 @@ public class CallLogActivity extends Activity implements ViewPager.OnPageChangeL @Override public boolean onOptionsItemSelected(MenuItem item) { + if (!isSafeToCommitTransactions()) { + return true; + } + switch (item.getItemId()) { case android.R.id.home: final Intent intent = new Intent(this, DialtactsActivity.class); @@ -218,22 +224,7 @@ public class CallLogActivity extends Activity implements ViewPager.OnPageChangeL } private void sendScreenViewForChildFragment(int position) { - AnalyticsUtil.sendScreenView(CallLogFragment.class.getSimpleName(), this, - getFragmentTagForPosition(position)); - } - - /** - * Returns the fragment located at the given position in the {@link ViewPagerAdapter}. May - * be null if the position is invalid. - */ - private String getFragmentTagForPosition(int position) { - switch (position) { - case TAB_INDEX_ALL: - return "All"; - case TAB_INDEX_MISSED: - return "Missed"; - } - return null; + Logger.logScreenView(ScreenEvent.CALL_LOG_FILTER, this); } private int getRtlPosition(int position) { |