summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/main/impl/MainActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/com/android/dialer/main/impl/MainActivity.java')
-rw-r--r--java/com/android/dialer/main/impl/MainActivity.java36
1 files changed, 16 insertions, 20 deletions
diff --git a/java/com/android/dialer/main/impl/MainActivity.java b/java/com/android/dialer/main/impl/MainActivity.java
index 7aae8cb7d..168589f13 100644
--- a/java/com/android/dialer/main/impl/MainActivity.java
+++ b/java/com/android/dialer/main/impl/MainActivity.java
@@ -51,11 +51,9 @@ public final class MainActivity extends AppCompatActivity
DialpadFragment.HostInterface,
SearchFragmentListener {
- private static final String IS_FAB_HIDDEN_KEY = "is_fab_hidden";
private static final String KEY_SAVED_LANGUAGE_CODE = "saved_language_code";
private MainSearchController searchController;
- private FloatingActionButton fab;
/** Language the device was in last time {@link #onSaveInstanceState(Bundle)} was called. */
private String savedLanguageCode;
@@ -75,24 +73,31 @@ public final class MainActivity extends AppCompatActivity
super.onCreate(savedInstanceState);
LogUtil.enterBlock("MainActivity.onCreate");
setContentView(R.layout.main_activity);
- initLayout();
+ initLayout(savedInstanceState);
SmartDialPrefix.initializeNanpSettings(this);
}
- private void initLayout() {
- fab = findViewById(R.id.fab);
+ private void initLayout(Bundle savedInstanceState) {
+ FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(v -> searchController.showDialpad(true));
MainToolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(findViewById(R.id.toolbar));
- BottomNavBar navBar = findViewById(R.id.bottom_nav_bar);
- navBar.setOnTabSelectedListener(new MainBottomNavBarBottomNavTabListener());
- // TODO(calderwoodra): Implement last tab
- navBar.selectTab(BottomNavBar.TabIndex.SPEED_DIAL);
+ BottomNavBar bottomNav = findViewById(R.id.bottom_nav_bar);
+ bottomNav.setOnTabSelectedListener(new MainBottomNavBarBottomNavTabListener());
- searchController = new MainSearchController(this, navBar, fab, toolbar);
+ searchController = new MainSearchController(this, bottomNav, fab, toolbar);
toolbar.setSearchBarListener(searchController);
+
+ // Restore our view state if needed, else initialize as if the app opened for the first time
+ if (savedInstanceState != null) {
+ savedLanguageCode = savedInstanceState.getString(KEY_SAVED_LANGUAGE_CODE);
+ searchController.onRestoreInstanceState(savedInstanceState);
+ } else {
+ // TODO(calderwoodra): Implement last tab
+ bottomNav.selectTab(BottomNavBar.TabIndex.SPEED_DIAL);
+ }
}
@Override
@@ -107,17 +112,8 @@ public final class MainActivity extends AppCompatActivity
@Override
protected void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
- bundle.putBoolean(IS_FAB_HIDDEN_KEY, !fab.isShown());
bundle.putString(KEY_SAVED_LANGUAGE_CODE, CompatUtils.getLocale(this).getISO3Language());
- }
-
- @Override
- protected void onRestoreInstanceState(Bundle savedInstanceState) {
- super.onRestoreInstanceState(savedInstanceState);
- if (savedInstanceState.getBoolean(IS_FAB_HIDDEN_KEY, false)) {
- fab.hide();
- }
- savedLanguageCode = savedInstanceState.getString(KEY_SAVED_LANGUAGE_CODE);
+ searchController.onSaveInstanceState(bundle);
}
@Override