[Expressive design] Apply expressive design to Settings
- update collapsingtoolbar layout - apply expressive theme Bug: 355687551 Test: visual Flag: EXEMPT flag by System prop Change-Id: Ia6c405d8675e2f088f5ce2a804c9219f28dec398
This commit is contained in:
@@ -73,6 +73,7 @@ import com.android.settings.widget.SettingsMainSwitchBar;
|
||||
import com.android.settingslib.core.instrumentation.Instrumentable;
|
||||
import com.android.settingslib.core.instrumentation.SharedPreferencesLogger;
|
||||
import com.android.settingslib.drawer.DashboardCategory;
|
||||
import com.android.settingslib.widget.SettingsThemeHelper;
|
||||
|
||||
import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
|
||||
@@ -169,6 +170,9 @@ public class SettingsActivity extends SettingsBaseActivity
|
||||
|
||||
private static final String EXTRA_UI_OPTIONS = "settings:ui_options";
|
||||
|
||||
private static final int EXPRESSIVE_BACK_ICON =
|
||||
com.android.settingslib.collapsingtoolbar.R.drawable.settingslib_expressive_icon_back;
|
||||
|
||||
private String mFragmentClass;
|
||||
private String mHighlightMenuKey;
|
||||
|
||||
@@ -301,7 +305,9 @@ public class SettingsActivity extends SettingsBaseActivity
|
||||
// If this is in setup flow, don't apply theme. Because light theme needs to be applied
|
||||
// in SettingsBaseActivity#onCreate().
|
||||
if (isSubSettings(intent) && !WizardManagerHelper.isAnySetupWizard(getIntent())) {
|
||||
setTheme(R.style.Theme_SubSettings);
|
||||
int themeId = SettingsThemeHelper.isExpressiveTheme(this)
|
||||
? R.style.Theme_SubSettings_Expressive : R.style.Theme_SubSettings;
|
||||
setTheme(themeId);
|
||||
}
|
||||
|
||||
setContentView(R.layout.settings_main_prefs);
|
||||
@@ -388,6 +394,9 @@ public class SettingsActivity extends SettingsBaseActivity
|
||||
if (actionBar != null) {
|
||||
actionBar.setDisplayHomeAsUpEnabled(isActionBarButtonEnabled);
|
||||
actionBar.setHomeButtonEnabled(isActionBarButtonEnabled);
|
||||
if (SettingsThemeHelper.isExpressiveTheme(this)) {
|
||||
actionBar.setHomeAsUpIndicator(EXPRESSIVE_BACK_ICON);
|
||||
}
|
||||
actionBar.setDisplayShowTitleEnabled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,6 +46,7 @@ import com.android.settings.Utils;
|
||||
import com.android.settings.core.CategoryMixin.CategoryHandler;
|
||||
import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
|
||||
import com.android.settingslib.transition.SettingsTransitionHelper.TransitionType;
|
||||
import com.android.settingslib.widget.SettingsThemeHelper;
|
||||
import com.android.window.flags.Flags;
|
||||
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
@@ -68,6 +69,12 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa
|
||||
private static final int DEFAULT_REQUEST = -1;
|
||||
private static final float TOOLBAR_LINE_SPACING_MULTIPLIER = 1.1f;
|
||||
|
||||
private static final int EXPRESSIVE_LAYOUT_ID =
|
||||
com.android.settingslib.collapsingtoolbar.R.layout.settingslib_expressive_collapsing_toolbar_base_layout;
|
||||
private static final int COLLAPSING_LAYOUT_ID =
|
||||
com.android.settingslib.collapsingtoolbar.R.layout.collapsing_toolbar_base_layout;
|
||||
|
||||
|
||||
protected CategoryMixin mCategoryMixin;
|
||||
protected CollapsingToolbarLayout mCollapsingToolbarLayout;
|
||||
protected AppBarLayout mAppBarLayout;
|
||||
@@ -116,8 +123,9 @@ public class SettingsBaseActivity extends FragmentActivity implements CategoryHa
|
||||
}
|
||||
|
||||
if (isToolbarEnabled() && !isAnySetupWizard) {
|
||||
super.setContentView(
|
||||
com.android.settingslib.collapsingtoolbar.R.layout.collapsing_toolbar_base_layout);
|
||||
int resId = SettingsThemeHelper.isExpressiveTheme(getApplicationContext())
|
||||
? EXPRESSIVE_LAYOUT_ID : COLLAPSING_LAYOUT_ID;
|
||||
super.setContentView(resId);
|
||||
mCollapsingToolbarLayout =
|
||||
findViewById(com.android.settingslib.collapsingtoolbar.R.id.collapsing_toolbar);
|
||||
mAppBarLayout = findViewById(R.id.app_bar);
|
||||
|
||||
Reference in New Issue
Block a user