Merge "[Expressive design] Apply colors to homepage icons" into main

This commit is contained in:
Treehugger Robot
2025-03-03 02:21:05 -08:00
committed by Android (Google) Code Review
54 changed files with 995 additions and 40 deletions

View File

@@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(MyDeviceInfoScreen.KEY)
class MyDeviceInfoScreen :
@@ -41,12 +42,12 @@ class MyDeviceInfoScreen :
?: Build.MODEL
}
override fun getIcon(context: Context): Int {
return when (Flags.homepageRevamp()) {
true -> R.drawable.ic_settings_about_device_filled
false -> R.drawable.ic_settings_about_device
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_about
Flags.homepageRevamp() -> R.drawable.ic_settings_about_device_filled
else -> R.drawable.ic_settings_about_device
}
}
override fun isFlagEnabled(context: Context) = Flags.catalystMyDeviceInfoPrefScreen()

View File

@@ -29,6 +29,7 @@ import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(DisplayScreen.KEY)
open class DisplayScreen :
@@ -41,6 +42,7 @@ open class DisplayScreen :
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_display
Flags.homepageRevamp() -> R.drawable.ic_settings_display_filled
else -> R.drawable.ic_settings_display_white
}

View File

@@ -25,6 +25,7 @@ import com.android.settingslib.metadata.PreferenceIconProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(PowerUsageSummaryScreen.KEY)
class PowerUsageSummaryScreen :
@@ -47,11 +48,11 @@ class PowerUsageSummaryScreen :
override fun isAvailable(context: Context) =
context.resources.getBoolean(R.bool.config_show_top_level_battery)
override fun getIcon(context: Context): Int =
if (Flags.homepageRevamp()) {
R.drawable.ic_settings_battery_filled
} else {
R.drawable.ic_settings_battery_white
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_battery
Flags.homepageRevamp() -> R.drawable.ic_settings_battery_filled
else -> R.drawable.ic_settings_battery_white
}
override fun getPreferenceHierarchy(context: Context) =

View File

@@ -25,11 +25,13 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.provider.SearchIndexableResource;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
import androidx.preference.Preference;
@@ -56,6 +58,9 @@ import com.android.settings.widget.HomepagePreferenceLayoutHelper.HomepagePrefer
import com.android.settingslib.core.instrumentation.Instrumentable;
import com.android.settingslib.drawer.Tile;
import com.android.settingslib.search.SearchIndexable;
import com.android.settingslib.widget.SettingsThemeHelper;
import java.util.List;
@SearchIndexable(forTarget = MOBILE)
public class TopLevelSettings extends DashboardFragment implements SplitLayoutListener,
@@ -88,7 +93,7 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi
@Override
protected int getPreferenceScreenResId() {
return Flags.homepageRevamp() ? R.xml.top_level_settings_v2 : R.xml.top_level_settings;
return getPreferenceLayoutResId(getContext());
}
@Override
@@ -392,11 +397,25 @@ public class TopLevelSettings extends DashboardFragment implements SplitLayoutLi
void doForEach(Preference preference);
}
private static int getPreferenceLayoutResId(Context context) {
return Flags.homepageRevamp()
? SettingsThemeHelper.isExpressiveTheme(context)
? R.xml.top_level_settings_expressive
: R.xml.top_level_settings_v2
: R.xml.top_level_settings;
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider(
Flags.homepageRevamp()
? R.xml.top_level_settings_v2
: R.xml.top_level_settings) {
new BaseSearchIndexProvider() {
@Override
@NonNull
public List<SearchIndexableResource> getXmlResourcesToIndex(
@NonNull Context context, boolean enabled) {
SearchIndexableResource sir = new SearchIndexableResource(context);
sir.xmlResId = getPreferenceLayoutResId(context);
return List.of(sir);
}
@Override
protected boolean isPageSearchEnabled(Context context) {

View File

@@ -24,6 +24,7 @@ import com.android.settingslib.metadata.PreferenceSummaryProvider
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(LocationScreen.KEY)
class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider {
@@ -47,6 +48,7 @@ class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, Prefe
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_location
Flags.homepageRevamp() -> R.drawable.ic_settings_location_filled
else -> R.drawable.ic_settings_location
}

View File

@@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(NetworkDashboardScreen.KEY)
class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider {
@@ -37,6 +38,7 @@ class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider {
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_network
Flags.homepageRevamp() -> R.drawable.ic_settings_wireless_filled
else -> R.drawable.ic_settings_wireless
}

View File

@@ -26,6 +26,7 @@ import com.android.settingslib.metadata.PreferenceMetadata
import com.android.settingslib.metadata.ProvidePreferenceScreen
import com.android.settingslib.metadata.preferenceHierarchy
import com.android.settingslib.preference.PreferenceScreenCreator
import com.android.settingslib.widget.SettingsThemeHelper.isExpressiveTheme
@ProvidePreferenceScreen(SoundScreen.KEY)
class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
@@ -40,6 +41,7 @@ class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
override fun getIcon(context: Context) =
when {
isExpressiveTheme(context) -> R.drawable.ic_homepage_sound
Flags.homepageRevamp() -> R.drawable.ic_volume_up_filled
else -> R.drawable.ic_volume_up_24dp
}