summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2014-05-28 20:04:31 -0700
committerYorke Lee <yorkelee@google.com>2014-05-28 20:10:11 -0700
commit50aba888d4563e755251d97c2ba11a96caee58b1 (patch)
treefc9828bcb22b7f980c936bcd04485ce24d2f323b /src
parent1e5061b39ae3d30b96c41e8c311e471b203e00ea (diff)
Save state of dialpad in onSaveInstanceState
Bug: 15317467 Change-Id: I8f3a4968550b65ac977d0b137f692400834bb0ac
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/DialtactsActivity.java15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index a593c14a5..36ae894fd 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -126,6 +126,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
private static final String KEY_IN_DIALPAD_SEARCH_UI = "in_dialpad_search_ui";
private static final String KEY_SEARCH_QUERY = "search_query";
private static final String KEY_FIRST_LAUNCH = "first_launch";
+ private static final String KEY_IS_DIALPAD_SHOWN = "is_dialpad_shown";
private static final String TAG_DIALPAD_FRAGMENT = "dialpad";
private static final String TAG_REGULAR_SEARCH_FRAGMENT = "search";
@@ -171,6 +172,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
private boolean mInRegularSearch;
private boolean mClearSearchOnPause;
private boolean mIsDialpadShown;
+ private boolean mShowDialpadOnResume;
/**
* The position of the currently selected tab in the attached {@link ListsFragment}.
@@ -367,6 +369,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
mInRegularSearch = savedInstanceState.getBoolean(KEY_IN_REGULAR_SEARCH_UI);
mInDialpadSearch = savedInstanceState.getBoolean(KEY_IN_DIALPAD_SEARCH_UI);
mFirstLaunch = savedInstanceState.getBoolean(KEY_FIRST_LAUNCH);
+ mShowDialpadOnResume = savedInstanceState.getBoolean(KEY_IS_DIALPAD_SHOWN);
mActionBarController.restoreInstanceState(savedInstanceState);
}
@@ -409,6 +412,9 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
} else if (!phoneIsInUse() && mInCallDialpadUp) {
hideDialpadFragment(false, true);
mInCallDialpadUp = false;
+ } else if (mShowDialpadOnResume) {
+ showDialpadFragment(false);
+ mShowDialpadOnResume = false;
}
mFirstLaunch = false;
prepareVoiceSearchButton();
@@ -431,6 +437,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
outState.putBoolean(KEY_IN_REGULAR_SEARCH_UI, mInRegularSearch);
outState.putBoolean(KEY_IN_DIALPAD_SEARCH_UI, mInDialpadSearch);
outState.putBoolean(KEY_FIRST_LAUNCH, mFirstLaunch);
+ outState.putBoolean(KEY_IS_DIALPAD_SHOWN, mIsDialpadShown);
mActionBarController.saveInstanceState(outState);
}
@@ -438,9 +445,11 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
public void onAttachFragment(Fragment fragment) {
if (fragment instanceof DialpadFragment) {
mDialpadFragment = (DialpadFragment) fragment;
- final FragmentTransaction transaction = getFragmentManager().beginTransaction();
- transaction.hide(mDialpadFragment);
- transaction.commit();
+ if (!mShowDialpadOnResume) {
+ final FragmentTransaction transaction = getFragmentManager().beginTransaction();
+ transaction.hide(mDialpadFragment);
+ transaction.commit();
+ }
} else if (fragment instanceof SmartDialSearchFragment) {
mSmartDialSearchFragment = (SmartDialSearchFragment) fragment;
mSmartDialSearchFragment.setOnPhoneNumberPickerActionListener(this);