summaryrefslogtreecommitdiffstats
path: root/src/com/android/dialer/DialtactsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/dialer/DialtactsActivity.java')
-rw-r--r--src/com/android/dialer/DialtactsActivity.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 241080fa5..4b5b198a0 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -182,6 +182,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
* be commited.
*/
private boolean mStateSaved;
+ private boolean mIsRestarting;
private boolean mInDialpadSearch;
private boolean mInRegularSearch;
private boolean mClearSearchOnPause;
@@ -477,12 +478,27 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
mShowDialpadOnResume = false;
}
mFirstLaunch = false;
+
+ if (mIsRestarting) {
+ // This is only called when the activity goes from resumed -> paused -> resumed, so it
+ // will not cause an extra view to be sent out on rotation
+ if (mIsDialpadShown) {
+ AnalyticsUtil.sendScreenView(mDialpadFragment, this);
+ }
+ mIsRestarting = false;
+ }
prepareVoiceSearchButton();
mDialerDatabaseHelper.startSmartDialUpdateThread();
updateFloatingActionButtonControllerAlignment(false /* animate */);
}
@Override
+ protected void onRestart() {
+ super.onRestart();
+ mIsRestarting = true;
+ }
+
+ @Override
protected void onPause() {
if (mClearSearchOnPause) {
hideDialpadAndSearchUi();
@@ -624,6 +640,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
}
mIsDialpadShown = true;
mDialpadFragment.setAnimate(animate);
+ mListsFragment.setUserVisibleHint(false);
AnalyticsUtil.sendScreenView(mDialpadFragment);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
@@ -672,6 +689,8 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
}
mIsDialpadShown = false;
mDialpadFragment.setAnimate(animate);
+ mListsFragment.setUserVisibleHint(true);
+ mListsFragment.sendScreenViewForCurrentPosition();
updateSearchFragmentPosition();
@@ -818,6 +837,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
@Override
public void onNewIntent(Intent newIntent) {
setIntent(newIntent);
+ mStateSaved = false;
displayFragment(newIntent);
invalidateOptionsMenu();
@@ -898,6 +918,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
transaction.commit();
mListsFragment.getView().animate().alpha(0).withLayer();
+ mListsFragment.setUserVisibleHint(false);
}
/**
@@ -923,6 +944,14 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
transaction.commit();
mListsFragment.getView().animate().alpha(1).withLayer();
+ if (!mDialpadFragment.isVisible()) {
+ // If the dialpad fragment wasn't previously visible, then send a screen view because
+ // we are exiting regular search. Otherwise, the screen view will be sent by
+ // {@link #hideDialpadFragment}.
+ mListsFragment.sendScreenViewForCurrentPosition();
+ mListsFragment.setUserVisibleHint(true);
+ }
+
mActionBarController.onSearchUiExited();
}