Remove deprecated toolbar setState usages
It seems using this in conjunction with the setNavButtonMode method is
unessary and can create some undesireable behavior in certain cases.
Bug: 189842213
Test: manual, atest CarSettingsUnitTests
Change-Id: I2237be73c007ff8112e3223be259a8bc93900b8f
diff --git a/src/com/android/car/settings/common/BaseCarSettingsActivity.java b/src/com/android/car/settings/common/BaseCarSettingsActivity.java
index b9840f8..ff0874d 100644
--- a/src/com/android/car/settings/common/BaseCarSettingsActivity.java
+++ b/src/com/android/car/settings/common/BaseCarSettingsActivity.java
@@ -51,7 +51,7 @@
import com.android.car.ui.baselayout.InsetsChangedListener;
import com.android.car.ui.core.CarUi;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import com.android.car.ui.toolbar.ToolbarController;
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
@@ -375,7 +375,7 @@
insets.getLeft(), insets.getTop(), insets.getRight(),
insets.getBottom()), /* hasToolbar= */ true);
if (mIsSinglePane) {
- mGlobalToolbar.setState(Toolbar.State.SUBPAGE);
+ mGlobalToolbar.setNavButtonMode(NavButtonMode.BACK);
findViewById(R.id.top_level_menu_container).setVisibility(View.GONE);
findViewById(R.id.top_level_divider).setVisibility(View.GONE);
return;
@@ -395,7 +395,7 @@
List<MenuItem> items = Collections.singletonList(searchButton);
mGlobalToolbar.setTitle(R.string.settings_label);
- mGlobalToolbar.setState(Toolbar.State.HOME);
+ mGlobalToolbar.setNavButtonMode(NavButtonMode.DISABLED);
mGlobalToolbar.setLogo(R.drawable.ic_launcher_settings);
mGlobalToolbar.setMenuItems(items);
}
@@ -405,10 +405,9 @@
return;
}
if (getSupportFragmentManager().getBackStackEntryCount() > 1 || !isTaskRoot()) {
- mMiniToolbar.setState(Toolbar.State.SUBPAGE);
- mMiniToolbar.setNavButtonMode(Toolbar.NavButtonMode.BACK);
+ mMiniToolbar.setNavButtonMode(NavButtonMode.BACK);
} else {
- mMiniToolbar.setState(Toolbar.State.HOME);
+ mMiniToolbar.setNavButtonMode(NavButtonMode.DISABLED);
}
}
diff --git a/src/com/android/car/settings/common/BaseFragment.java b/src/com/android/car/settings/common/BaseFragment.java
index a759670..24e5225 100644
--- a/src/com/android/car/settings/common/BaseFragment.java
+++ b/src/com/android/car/settings/common/BaseFragment.java
@@ -33,7 +33,7 @@
import com.android.car.settings.R;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import com.android.car.ui.toolbar.ToolbarController;
import java.util.List;
@@ -95,12 +95,8 @@
return null;
}
- protected Toolbar.State getToolbarState() {
- return Toolbar.State.SUBPAGE;
- }
-
- protected Toolbar.NavButtonMode getToolbarNavButtonStyle() {
- return Toolbar.NavButtonMode.BACK;
+ protected NavButtonMode getToolbarNavButtonStyle() {
+ return NavButtonMode.BACK;
}
protected final ToolbarController getToolbar() {
@@ -142,7 +138,6 @@
toolbar.setTitle(getTitleId());
toolbar.setMenuItems(items);
if (getActivity().getIntent().getBooleanExtra(META_DATA_KEY_SINGLE_PANE, false)) {
- toolbar.setState(getToolbarState());
toolbar.setNavButtonMode(getToolbarNavButtonStyle());
}
}
diff --git a/src/com/android/car/settings/common/SettingsFragment.java b/src/com/android/car/settings/common/SettingsFragment.java
index f0872ea..425bb01 100644
--- a/src/com/android/car/settings/common/SettingsFragment.java
+++ b/src/com/android/car/settings/common/SettingsFragment.java
@@ -48,7 +48,7 @@
import com.android.car.ui.preference.PreferenceFragment;
import com.android.car.ui.recyclerview.CarUiRecyclerView;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import com.android.car.ui.toolbar.ToolbarController;
import com.android.car.ui.utils.CarUiUtils;
import com.android.settingslib.search.Indexable;
@@ -228,8 +228,7 @@
toolbar.setMenuItems(items);
toolbar.setLogo(null);
if (getActivity().getIntent().getBooleanExtra(META_DATA_KEY_SINGLE_PANE, false)) {
- toolbar.setState(Toolbar.State.SUBPAGE);
- toolbar.setNavButtonMode(Toolbar.NavButtonMode.BACK);
+ toolbar.setNavButtonMode(NavButtonMode.BACK);
}
}
diff --git a/src/com/android/car/settings/home/HomepageFragment.java b/src/com/android/car/settings/home/HomepageFragment.java
index 0a9be97..077769b 100644
--- a/src/com/android/car/settings/home/HomepageFragment.java
+++ b/src/com/android/car/settings/home/HomepageFragment.java
@@ -28,7 +28,7 @@
import com.android.car.settings.R;
import com.android.car.settings.common.SettingsFragment;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import com.android.car.ui.toolbar.ToolbarController;
import java.util.Collections;
@@ -77,13 +77,13 @@
super.setupToolbar(toolbar);
// If the fragment is root, change the back button to settings icon.
if (!getContext().getResources().getBoolean(R.bool.config_is_quick_settings_root)) {
- toolbar.setState(Toolbar.State.HOME);
+ toolbar.setNavButtonMode(NavButtonMode.DISABLED);
toolbar.setLogo(getContext().getResources()
.getBoolean(R.bool.config_show_settings_root_exit_icon)
? R.drawable.ic_launcher_settings
: 0);
} else {
- toolbar.setState(Toolbar.State.SUBPAGE);
+ toolbar.setNavButtonMode(NavButtonMode.BACK);
}
}
diff --git a/src/com/android/car/settings/quicksettings/QuickSettingFragment.java b/src/com/android/car/settings/quicksettings/QuickSettingFragment.java
index 335ecd4..c3ca24b 100644
--- a/src/com/android/car/settings/quicksettings/QuickSettingFragment.java
+++ b/src/com/android/car/settings/quicksettings/QuickSettingFragment.java
@@ -42,7 +42,7 @@
import com.android.car.settings.profiles.ProfileIconProvider;
import com.android.car.settings.profiles.ProfileSwitcherActivity;
import com.android.car.ui.toolbar.MenuItem;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import java.util.Arrays;
import java.util.List;
@@ -101,18 +101,13 @@
@Override
- protected Toolbar.NavButtonMode getToolbarNavButtonStyle() {
- return Toolbar.NavButtonMode.CLOSE;
- }
-
- @Override
- protected Toolbar.State getToolbarState() {
+ protected NavButtonMode getToolbarNavButtonStyle() {
if (getContext().getResources().getBoolean(R.bool.config_is_quick_settings_root)
&& !getContext().getResources()
.getBoolean(R.bool.config_show_settings_root_exit_icon)) {
- return Toolbar.State.HOME;
+ return NavButtonMode.DISABLED;
} else {
- return Toolbar.State.SUBPAGE;
+ return NavButtonMode.CLOSE;
}
}
diff --git a/tests/robotests/res/values/config.xml b/tests/robotests/res/values/config.xml
index d199989..3491454 100644
--- a/tests/robotests/res/values/config.xml
+++ b/tests/robotests/res/values/config.xml
@@ -20,6 +20,4 @@
<string name="config_defaultAssistantComponentName" translatable="false">#+UNSET</string>
<!-- Whether exit button in settings' root action bar should be shown or not -->
<bool name="config_show_settings_root_exit_icon">true</bool>
- <!-- Whether the dummy fragment should be root -->
- <bool name="config_is_dummy_fragment_root">true</bool>
</resources>
diff --git a/tests/robotests/src/com/android/car/settings/testutils/DummyFragment.java b/tests/robotests/src/com/android/car/settings/testutils/DummyFragment.java
deleted file mode 100644
index 8fbaa57..0000000
--- a/tests/robotests/src/com/android/car/settings/testutils/DummyFragment.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.car.settings.testutils;
-
-import android.os.Bundle;
-
-import com.android.car.settings.R;
-import com.android.car.settings.common.SettingsFragment;
-import com.android.car.ui.toolbar.Toolbar;
-import com.android.car.ui.toolbar.ToolbarController;
-
-/**
- * Empty Fragment.
- */
-public class DummyFragment extends SettingsFragment {
- @Override
- protected int getPreferenceScreenResId() {
- return R.xml.settings_fragment;
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- ToolbarController toolbar = getToolbar();
- if (toolbar != null) {
- // If the fragment is root, change the back button to settings icon.
- if (getContext().getResources().getBoolean(R.bool.config_is_dummy_fragment_root)) {
- toolbar.setState(Toolbar.State.HOME);
- toolbar.setLogo(getContext().getResources()
- .getBoolean(R.bool.config_show_settings_root_exit_icon)
- ? R.drawable.ic_launcher_settings
- : 0);
- } else {
- toolbar.setState(Toolbar.State.SUBPAGE);
- }
- }
- }
-}
diff --git a/tests/unit/src/com/android/car/settings/common/DualPaneBaseCarSettingsActivityTest.java b/tests/unit/src/com/android/car/settings/common/DualPaneBaseCarSettingsActivityTest.java
index c1f714a..737199c 100644
--- a/tests/unit/src/com/android/car/settings/common/DualPaneBaseCarSettingsActivityTest.java
+++ b/tests/unit/src/com/android/car/settings/common/DualPaneBaseCarSettingsActivityTest.java
@@ -137,7 +137,8 @@
});
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
- assertThat(toolbar.getState()).isEqualTo(Toolbar.State.HOME);
+ assertThat(toolbar.getNavButtonMode()).isEquivalentAccordingToCompareTo(
+ Toolbar.NavButtonMode.DISABLED);
mActivityTestRule.runOnUiThread(() -> {
BaseTestSettingsFragment fragment2 = new BaseTestSettingsFragment();
@@ -145,13 +146,13 @@
});
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
- assertThat(toolbar.getState()).isEqualTo(Toolbar.State.SUBPAGE);
assertThat(toolbar.getNavButtonMode()).isEqualTo(Toolbar.NavButtonMode.BACK);
mActivityTestRule.runOnUiThread(() -> mActivity.goBack());
InstrumentationRegistry.getInstrumentation().waitForIdleSync();
- assertThat(toolbar.getState()).isEqualTo(Toolbar.State.HOME);
+ assertThat(toolbar.getNavButtonMode()).isEquivalentAccordingToCompareTo(
+ Toolbar.NavButtonMode.DISABLED);
}
@Test
diff --git a/tests/unit/src/com/android/car/settings/common/SinglePaneSettingsFragmentTest.java b/tests/unit/src/com/android/car/settings/common/SinglePaneSettingsFragmentTest.java
index 08e0f29..3ef78ed 100644
--- a/tests/unit/src/com/android/car/settings/common/SinglePaneSettingsFragmentTest.java
+++ b/tests/unit/src/com/android/car/settings/common/SinglePaneSettingsFragmentTest.java
@@ -55,14 +55,14 @@
ToolbarController toolbar = mActivity.getToolbar();
- assertThat(toolbar.getState()).isEquivalentAccordingToCompareTo(Toolbar.State.HOME);
+ assertThat(toolbar.getNavButtonMode()).isEquivalentAccordingToCompareTo(
+ Toolbar.NavButtonMode.DISABLED);
}
@Test
public void onActivityCreated_hasBackArrowIconIfNotRoot() {
ToolbarController toolbar = mActivity.getToolbar();
- assertThat(toolbar.getState()).isEquivalentAccordingToCompareTo(Toolbar.State.SUBPAGE);
assertThat(toolbar.getNavButtonMode()).isEquivalentAccordingToCompareTo(
Toolbar.NavButtonMode.BACK);
}
diff --git a/tests/unit/src/com/android/car/settings/testutils/RootTestSettingsFragment.java b/tests/unit/src/com/android/car/settings/testutils/RootTestSettingsFragment.java
index ddcd5fb..7b7f95e 100644
--- a/tests/unit/src/com/android/car/settings/testutils/RootTestSettingsFragment.java
+++ b/tests/unit/src/com/android/car/settings/testutils/RootTestSettingsFragment.java
@@ -19,7 +19,7 @@
import android.os.Bundle;
import com.android.car.settings.R;
-import com.android.car.ui.toolbar.Toolbar;
+import com.android.car.ui.toolbar.NavButtonMode;
import com.android.car.ui.toolbar.ToolbarController;
/**
@@ -38,13 +38,13 @@
if (toolbar != null) {
// If the fragment is root, change the back button to settings icon.
if (getContext().getResources().getBoolean(R.bool.config_is_root_fragment_root)) {
- toolbar.setState(Toolbar.State.HOME);
+ toolbar.setNavButtonMode(NavButtonMode.DISABLED);
toolbar.setLogo(getContext().getResources()
.getBoolean(R.bool.config_show_settings_root_exit_icon)
? R.drawable.ic_launcher_settings
: 0);
} else {
- toolbar.setState(Toolbar.State.SUBPAGE);
+ toolbar.setNavButtonMode(NavButtonMode.BACK);
}
}
}