Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java
index ce3d294..d204bb7 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceController.java
@@ -23,6 +23,7 @@
import android.os.UserHandle;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -57,4 +58,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
index ca3befa..dd6edeb 100644
--- a/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilitySlicePreferenceController.java
@@ -26,6 +26,7 @@
import android.provider.Settings;
import android.view.accessibility.AccessibilityManager;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.accessibility.AccessibilityUtils;
@@ -98,6 +99,11 @@
return true;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
+
private AccessibilityServiceInfo getAccessibilityServiceInfo() {
final AccessibilityManager accessibilityManager = mContext.getSystemService(
AccessibilityManager.class);
diff --git a/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
index 1f91a87..5630dd9 100644
--- a/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
+++ b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
@@ -22,6 +22,7 @@
import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class DisableAnimationsPreferenceController extends TogglePreferenceController {
@@ -71,4 +72,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceController.java b/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceController.java
index 97f96a4..b59b3b2 100644
--- a/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceController.java
+++ b/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceController.java
@@ -20,6 +20,7 @@
import android.graphics.fonts.FontStyle;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/** PreferenceController for displaying all text in bold. */
@@ -47,4 +48,9 @@
return Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.FONT_WEIGHT_ADJUSTMENT, (isChecked ? BOLD_TEXT_ADJUSTMENT : 0));
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
index f4474d6..e98a28c 100644
--- a/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
+++ b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class HighTextContrastPreferenceController extends TogglePreferenceController {
@@ -43,4 +44,9 @@
return Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, (isChecked ? 1 : 0));
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
index a7ee3d5..0220245 100644
--- a/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
+++ b/src/com/android/settings/accessibility/LargePointerIconPreferenceController.java
@@ -21,6 +21,7 @@
import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class LargePointerIconPreferenceController extends TogglePreferenceController {
@@ -50,4 +51,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
index a9716d5..5ed4b5c 100644
--- a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
+++ b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
@@ -23,6 +23,7 @@
import com.android.internal.view.RotationPolicy;
import com.android.internal.view.RotationPolicy.RotationPolicyListener;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -62,6 +63,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
+
+ @Override
public void onStop() {
if (mRotationPolicyListener != null) {
RotationPolicy.unregisterRotationPolicyListener(mContext, mRotationPolicyListener);
diff --git a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
index 900e280..37d09a7 100644
--- a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
@@ -77,6 +77,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
+
+ @Override
public CharSequence getSummary() {
int resId = 0;
if (mIsFromSUW) {
diff --git a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java b/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
index 9813bde..98855f7 100644
--- a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
@@ -83,6 +83,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
+
+ @Override
public CharSequence getSummary() {
int resId = 0;
if (mIsFromSUW) {
diff --git a/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java b/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java
index 9ea9644..d409fa4 100644
--- a/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java
+++ b/src/com/android/settings/accessibility/PowerButtonEndsCallPreferenceController.java
@@ -21,6 +21,7 @@
import android.view.KeyCharacterMap;
import android.view.KeyEvent;
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.TogglePreferenceController;
@@ -51,4 +52,9 @@
return !KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_POWER)
|| !Utils.isVoiceCapable(mContext) ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/PrimaryMonoPreferenceController.java b/src/com/android/settings/accessibility/PrimaryMonoPreferenceController.java
index bf12bde..5e69da7 100644
--- a/src/com/android/settings/accessibility/PrimaryMonoPreferenceController.java
+++ b/src/com/android/settings/accessibility/PrimaryMonoPreferenceController.java
@@ -20,6 +20,7 @@
import android.os.UserHandle;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -47,4 +48,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceController.java b/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceController.java
index 62051c1..7550a30 100644
--- a/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceController.java
+++ b/src/com/android/settings/accessibility/ReduceBrightColorsPersistencePreferenceController.java
@@ -22,6 +22,7 @@
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/** PreferenceController for persisting feature activation state after a restart. */
@@ -62,4 +63,9 @@
super.updateState(preference);
preference.setEnabled(mColorDisplayManager.isReduceBrightColorsActivated());
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
}
diff --git a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
index d886a59..ca91219 100644
--- a/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
+++ b/src/com/android/settings/accessibility/ReduceBrightColorsPreferenceController.java
@@ -95,6 +95,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accessibility;
+ }
+
+ @Override
public void onStart() {
mContext.getContentResolver().registerContentObserver(Settings.Secure.getUriFor(
Settings.Secure.REDUCE_BRIGHT_COLORS_ACTIVATED),
diff --git a/src/com/android/settings/accounts/CrossProfileCalendarPreferenceController.java b/src/com/android/settings/accounts/CrossProfileCalendarPreferenceController.java
index 863e790..3dc05ef 100644
--- a/src/com/android/settings/accounts/CrossProfileCalendarPreferenceController.java
+++ b/src/com/android/settings/accounts/CrossProfileCalendarPreferenceController.java
@@ -22,6 +22,7 @@
import android.provider.Settings;
import android.util.Log;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import java.util.Set;
@@ -71,6 +72,11 @@
CROSS_PROFILE_CALENDAR_ENABLED, value, mManagedUser.getIdentifier());
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_accounts;
+ }
+
static boolean isCrossProfileCalendarDisallowedByAdmin(Context context, int userId) {
final Context managedProfileContext = createPackageContextAsUser(context, userId);
final DevicePolicyManager dpm = managedProfileContext.getSystemService(
diff --git a/src/com/android/settings/accounts/ManagedProfileSettings.java b/src/com/android/settings/accounts/ManagedProfileSettings.java
index f16bc3f..a6fa15a 100644
--- a/src/com/android/settings/accounts/ManagedProfileSettings.java
+++ b/src/com/android/settings/accounts/ManagedProfileSettings.java
@@ -16,33 +16,25 @@
package com.android.settings.accounts;
-import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.SearchIndexableResource;
import android.util.Log;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceManager;
-
import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.Indexable;
import com.android.settingslib.search.SearchIndexable;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
/**
* Setting page for managed profile.
diff --git a/src/com/android/settings/applications/managedomainurls/InstantAppWebActionPreferenceController.java b/src/com/android/settings/applications/managedomainurls/InstantAppWebActionPreferenceController.java
index 77abfe7..1d395ee 100644
--- a/src/com/android/settings/applications/managedomainurls/InstantAppWebActionPreferenceController.java
+++ b/src/com/android/settings/applications/managedomainurls/InstantAppWebActionPreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class InstantAppWebActionPreferenceController extends TogglePreferenceController {
@@ -43,4 +44,9 @@
return Settings.Secure.putInt(mContext.getContentResolver(),
Settings.Secure.INSTANT_APPS_ENABLED, isChecked ? 1 : 0);
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_apps;
+ }
}
diff --git a/src/com/android/settings/backup/AutoRestorePreferenceController.java b/src/com/android/settings/backup/AutoRestorePreferenceController.java
index 4dd2eb6..bf63e25 100644
--- a/src/com/android/settings/backup/AutoRestorePreferenceController.java
+++ b/src/com/android/settings/backup/AutoRestorePreferenceController.java
@@ -27,6 +27,7 @@
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
public class AutoRestorePreferenceController extends TogglePreferenceController {
@@ -84,4 +85,9 @@
return result;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
index 2da8164..6351621 100644
--- a/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricSettingsAppPreferenceController.java
@@ -91,4 +91,10 @@
public final boolean isSliceable() {
return false;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
}
diff --git a/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java b/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
index f6f2d5f..4101963 100644
--- a/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
+++ b/src/com/android/settings/biometrics/combination/BiometricSettingsKeyguardPreferenceController.java
@@ -73,4 +73,10 @@
public final boolean isSliceable() {
return false;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
}
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsPreferenceController.java
index 36984a2..a8bff6b 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsPreferenceController.java
@@ -51,4 +51,10 @@
public final boolean isSliceable() {
return false;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
}
diff --git a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
index b09d180..508084d 100644
--- a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
+++ b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
@@ -98,7 +98,8 @@
SettingsSlicesContract.KEY_BLUETOOTH).build();
return SliceBuilderUtils.buildSearchResultPageIntent(context,
BluetoothDashboardFragment.class.getName(), null /* key */, screenTitle,
- SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY)
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY,
+ R.string.menu_key_connected_devices)
.setClassName(context.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
}
diff --git a/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java b/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
index e25422f..2bab3e9 100644
--- a/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
+++ b/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceController.java
@@ -118,6 +118,12 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
+
+ @Override
public int getAvailabilityStatus() {
TimeZoneCapabilities timeZoneCapabilities =
getTimeZoneCapabilitiesAndConfig(/* forceRefresh= */ false).getCapabilities();
diff --git a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
index 3cbf3cb..1c2fcd9 100644
--- a/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeDefaultOptionPreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.os.SystemProperties;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -48,4 +49,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
index 38c3208..c3b0624 100644
--- a/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeDisableCachePreferenceController.java
@@ -20,6 +20,7 @@
import android.os.SystemProperties;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -50,4 +51,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
index c15806d..b2d446e 100644
--- a/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeGlobalTogglePreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.os.SystemProperties;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -49,4 +50,9 @@
SystemProperties.set(TRANSCODE_ENABLED_PROP_KEY, String.valueOf(isChecked));
return true;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
index fd5ec5a..6b6692e 100644
--- a/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeNotificationPreferenceController.java
@@ -20,6 +20,7 @@
import android.os.SystemProperties;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -50,4 +51,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
index 49456ff..ce82293 100644
--- a/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
+++ b/src/com/android/settings/development/transcode/TranscodeUserControlPreferenceController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.os.SystemProperties;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -48,4 +49,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/display/AlwaysOnDisplaySlice.java b/src/com/android/settings/display/AlwaysOnDisplaySlice.java
index 27374ef..c66f4ed 100644
--- a/src/com/android/settings/display/AlwaysOnDisplaySlice.java
+++ b/src/com/android/settings/display/AlwaysOnDisplaySlice.java
@@ -106,4 +106,9 @@
public Intent getIntent() {
return null;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
}
diff --git a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
index 7749c8f..bf81727 100644
--- a/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceController.java
@@ -68,6 +68,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public boolean isChecked() {
return getConfig().alwaysOnEnabled(MY_USER);
}
diff --git a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
index e143d73..a5b0aeb 100644
--- a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
@@ -25,6 +25,7 @@
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -100,4 +101,9 @@
return mConfig;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
}
diff --git a/src/com/android/settings/display/AutoBrightnessPreferenceController.java b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
index 0018d84..d925de3 100644
--- a/src/com/android/settings/display/AutoBrightnessPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessPreferenceController.java
@@ -61,4 +61,9 @@
? R.string.auto_brightness_summary_on
: R.string.auto_brightness_summary_off);
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
}
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index 202a085..5dc2286 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -20,6 +20,7 @@
import androidx.preference.Preference;
import com.android.internal.view.RotationPolicy;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -87,6 +88,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public boolean isChecked() {
return !RotationPolicy.isRotationLocked(mContext);
}
diff --git a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
index 65fd846..00573a7 100644
--- a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
@@ -70,6 +70,11 @@
refreshSummary(preference);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
private boolean isEnabled() {
return isControlsAvailable();
}
diff --git a/src/com/android/settings/display/DarkUIPreferenceController.java b/src/com/android/settings/display/DarkUIPreferenceController.java
index 98d9a69..d07410e 100644
--- a/src/com/android/settings/display/DarkUIPreferenceController.java
+++ b/src/com/android/settings/display/DarkUIPreferenceController.java
@@ -95,6 +95,11 @@
return mUiModeManager.setNightModeActivated(isChecked);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
private void showDarkModeDialog() {
final DarkUIInfoDialogFragment frag = new DarkUIInfoDialogFragment();
if (mFragment != null && mFragment.getFragmentManager() != null) {
diff --git a/src/com/android/settings/display/DisplayWhiteBalancePreferenceController.java b/src/com/android/settings/display/DisplayWhiteBalancePreferenceController.java
index 6fc0b0e..805cb08 100644
--- a/src/com/android/settings/display/DisplayWhiteBalancePreferenceController.java
+++ b/src/com/android/settings/display/DisplayWhiteBalancePreferenceController.java
@@ -21,19 +21,19 @@
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
-import android.os.UserHandle;
import android.provider.Settings.Secure;
import android.provider.Settings.System;
+
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settings.core.TogglePreferenceController;
-
public class DisplayWhiteBalancePreferenceController extends TogglePreferenceController
implements LifecycleObserver, OnStart, OnStop {
@@ -63,6 +63,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void onStart() {
if (!isAvailable()) {
return;
diff --git a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
index e6217ff..d0d4822 100644
--- a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
@@ -24,6 +24,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -66,6 +67,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
diff --git a/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java b/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
index 0f8ecc5..700b601 100644
--- a/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayIntensityPreferenceController.java
@@ -23,6 +23,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.SliderPreferenceController;
import com.android.settings.widget.SeekBarPreference;
@@ -56,6 +57,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
final SeekBarPreference preference = screen.findPreference(getPreferenceKey());
diff --git a/src/com/android/settings/display/NightDisplayPreferenceController.java b/src/com/android/settings/display/NightDisplayPreferenceController.java
index 003373c..df9e849 100644
--- a/src/com/android/settings/display/NightDisplayPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayPreferenceController.java
@@ -96,6 +96,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void onActivated(boolean activated) {
updateState(mPreference);
}
diff --git a/src/com/android/settings/display/PeakRefreshRatePreferenceController.java b/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
index 9b654dc..27ba340 100644
--- a/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
+++ b/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
@@ -120,6 +120,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void onStart() {
mDeviceConfigDisplaySettings.startListening();
}
diff --git a/src/com/android/settings/display/SmartAutoRotateController.java b/src/com/android/settings/display/SmartAutoRotateController.java
index 61bbd18..b88aa80 100644
--- a/src/com/android/settings/display/SmartAutoRotateController.java
+++ b/src/com/android/settings/display/SmartAutoRotateController.java
@@ -43,6 +43,7 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.view.RotationPolicy;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -157,6 +158,11 @@
return true;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
static boolean isRotationResolverServiceAvailable(Context context) {
final PackageManager packageManager = context.getPackageManager();
final String resolvePackage = packageManager.getRotationResolverPackageName();
diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
index 849fbe7..afeea80 100644
--- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
@@ -22,7 +22,6 @@
import static com.android.settings.display.SmartAutoRotateController.hasSufficientPermission;
import static com.android.settings.display.SmartAutoRotateController.isRotationResolverServiceAvailable;
-import android.text.TextUtils;
import android.app.settings.SettingsEnums;
import android.content.BroadcastReceiver;
import android.content.Context;
@@ -32,6 +31,7 @@
import android.os.PowerManager;
import android.os.UserHandle;
import android.provider.Settings;
+import android.text.TextUtils;
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
@@ -91,6 +91,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mPreference = screen.findPreference(getPreferenceKey());
diff --git a/src/com/android/settings/display/WalletPrivacyPreferenceController.java b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
index 2e78fe3..92580f3 100644
--- a/src/com/android/settings/display/WalletPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
@@ -72,6 +72,11 @@
refreshSummary(preference);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
private boolean isEnabled() {
return mClient.isWalletServiceAvailable();
}
diff --git a/src/com/android/settings/dream/StartNowPreferenceController.java b/src/com/android/settings/dream/StartNowPreferenceController.java
index f6a79cc..add1b58f 100644
--- a/src/com/android/settings/dream/StartNowPreferenceController.java
+++ b/src/com/android/settings/dream/StartNowPreferenceController.java
@@ -20,6 +20,7 @@
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.widget.SettingsMainSwitchPreferenceController;
@@ -67,4 +68,9 @@
}
return true;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
}
diff --git a/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java b/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java
index f9fb647..3d6695b 100644
--- a/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java
+++ b/src/com/android/settings/emergency/EmergencyGestureSoundPreferenceController.java
@@ -53,6 +53,12 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
+
+ @Override
public boolean isChecked() {
return mEmergencyNumberUtils.getEmergencyGestureSoundEnabled();
}
diff --git a/src/com/android/settings/flashlight/FlashlightSlice.java b/src/com/android/settings/flashlight/FlashlightSlice.java
index bd7f486..f18d712 100644
--- a/src/com/android/settings/flashlight/FlashlightSlice.java
+++ b/src/com/android/settings/flashlight/FlashlightSlice.java
@@ -117,6 +117,12 @@
return null;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ // no landing page in Settings
+ return 0;
+ }
+
private static String getCameraId(Context context) throws CameraAccessException {
final CameraManager cameraManager = context.getSystemService(CameraManager.class);
final String[] ids = cameraManager.getCameraIdList();
diff --git a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
index 27b70cb..26c0ab9 100644
--- a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
@@ -24,6 +24,7 @@
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
+import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -62,6 +63,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_battery;
+ }
+
+ @Override
public void updateState(Preference preference) {
super.updateState(preference);
final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
index 1a7fa38..2979151 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
@@ -119,6 +119,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_battery;
+ }
+
+ @Override
public void onPowerSaveModeChanged() {
mHandler.postDelayed(() -> onPowerSaveModeChangedInternal(),
SWITCH_ANIMATION_DURATION);
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
index 6754245..ce2cbb0 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
@@ -8,6 +8,7 @@
import androidx.preference.Preference;
import androidx.preference.SwitchPreference;
+
import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.TogglePreferenceController;
@@ -59,4 +60,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_battery;
+ }
}
diff --git a/src/com/android/settings/gestures/GestureNavigationSettingsAssistController.java b/src/com/android/settings/gestures/GestureNavigationSettingsAssistController.java
index 95fd9f1..159f479 100644
--- a/src/com/android/settings/gestures/GestureNavigationSettingsAssistController.java
+++ b/src/com/android/settings/gestures/GestureNavigationSettingsAssistController.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -50,4 +51,9 @@
return SystemNavigationPreferenceController.isGestureAvailable(mContext) ? AVAILABLE
: UNSUPPORTED_ON_DEVICE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/gestures/GesturePreferenceController.java b/src/com/android/settings/gestures/GesturePreferenceController.java
index c771abd..71c3c9a 100644
--- a/src/com/android/settings/gestures/GesturePreferenceController.java
+++ b/src/com/android/settings/gestures/GesturePreferenceController.java
@@ -78,6 +78,11 @@
}
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
+
protected abstract String getVideoPrefKey();
protected boolean canHandleClicks() {
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index 76964e5..d82cb10 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -25,10 +25,13 @@
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.search.SearchIndexable;
+import java.util.List;
+
@SearchIndexable
public class GestureSettings extends DashboardFragment {
private static final String TAG = "GestureSettings";
+ private static final String PREF_KEY_PREVENT_RINGING = "gesture_prevent_ringing_summary";
private AmbientDisplayConfiguration mAmbientDisplayConfig;
@@ -63,5 +66,13 @@
}
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
- new BaseSearchIndexProvider(R.xml.gestures);
+ new BaseSearchIndexProvider(R.xml.gestures) {
+ @Override
+ public List<String> getNonIndexableKeys(Context context) {
+ final List<String> keys = super.getNonIndexableKeys(context);
+ // de-duplicated due to another same entry in Sound page
+ keys.add(PREF_KEY_PREVENT_RINGING);
+ return keys;
+ }
+ };
}
diff --git a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
index 44494ee..82766db 100644
--- a/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
+++ b/src/com/android/settings/gestures/LongPressPowerButtonPreferenceController.java
@@ -120,6 +120,11 @@
return false;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
+
private void refreshStateDisplay() {
if (mAssistSwitch != null) {
mAssistSwitch.setSummary(getSummary());
diff --git a/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceController.java b/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceController.java
index 2b7d7a0..3f84aba 100644
--- a/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceController.java
+++ b/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceController.java
@@ -21,6 +21,7 @@
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.widget.SettingsMainSwitchPreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -92,4 +93,9 @@
mPreference.setChecked(isChecked());
}
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java b/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
index b3b39fb..5f880f7 100644
--- a/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
+++ b/src/com/android/settings/gestures/PreventRingingParentPreferenceController.java
@@ -138,6 +138,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_sound;
+ }
+
+ @Override
public void onStart() {
if (mSettingObserver != null) {
mSettingObserver.register(mContext.getContentResolver());
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
index 94d3f69..f10a2d7 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BatteryFixSlice.java
@@ -147,12 +147,18 @@
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
PowerUsageSummary.class.getName(), BatteryTipPreferenceController.PREF_NAME,
screenTitle,
- SettingsEnums.SLICE)
+ SettingsEnums.SLICE,
+ this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_battery;
+ }
+
+ @Override
public void onNotifyChange(Intent intent) {
}
diff --git a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
index bfdd13a..7e4730c 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/BluetoothDevicesSlice.java
@@ -130,12 +130,18 @@
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
ConnectedDeviceDashboardFragment.class.getName(), "" /* key */,
screenTitle,
- SettingsEnums.SLICE)
+ SettingsEnums.SLICE,
+ this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(getUri());
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
+
+ @Override
public void onNotifyChange(Intent intent) {
final boolean enableBluetooth = intent.getBooleanExtra(EXTRA_ENABLE_BLUETOOTH, false);
if (enableBluetooth) {
diff --git a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
index f11b0e3..2291bd7 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/ContextualAdaptiveSleepSlice.java
@@ -117,8 +117,14 @@
final Uri contentUri = new Uri.Builder().appendPath(PREF_NAME).build();
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
ScreenTimeoutSettings.class.getName(), PREF_NAME, screenTitle.toString(),
- SettingsEnums.SLICE).setClassName(mContext.getPackageName(),
- SubSettings.class.getName()).setData(contentUri);
+ SettingsEnums.SLICE, this)
+ .setClassName(mContext.getPackageName(),
+ SubSettings.class.getName()).setData(contentUri);
+ }
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
}
private PendingIntent getPrimaryAction() {
diff --git a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
index f934d58..96924e4 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
@@ -149,6 +149,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_display;
+ }
+
+ @Override
public Class getBackgroundWorkerClass() {
return DarkThemeWorker.class;
}
diff --git a/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java b/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java
index 1b3ee10..7cf7d86 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/FaceSetupSlice.java
@@ -133,13 +133,18 @@
SecuritySettings.class.getName(),
FaceStatusPreferenceController.KEY_FACE_SETTINGS,
mContext.getText(R.string.security_settings_face_settings_enroll).toString(),
- SettingsEnums.SLICE)
+ SettingsEnums.SLICE, this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName());
} else {
return new Intent(mContext, FaceReEnrollDialog.class);
}
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_security;
+ }
+
private static RowBuilder buildRowBuilder(CharSequence title, CharSequence subTitle,
IconCompat icon, Context context, Intent intent) {
final SliceAction primarySliceAction = SliceAction.createDeeplink(
diff --git a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
index 3812534..22e3431 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/LowStorageSlice.java
@@ -109,11 +109,17 @@
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
StorageDashboardFragment.class.getName(), "" /* key */,
screenTitle,
- SettingsEnums.SLICE)
+ SettingsEnums.SLICE,
+ this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(CustomSliceRegistry.LOW_STORAGE_SLICE_URI);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_storage;
+ }
+
private RowBuilder buildRowBuilder(CharSequence title, String summary, IconCompat icon) {
final SliceAction primarySliceAction = SliceAction.createDeeplink(
PendingIntent.getActivity(mContext, 0, getIntent(), PendingIntent.FLAG_IMMUTABLE),
diff --git a/src/com/android/settings/inputmethod/GameControllerPreferenceController.java b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
index 80f6680..751dac7 100644
--- a/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
+++ b/src/com/android/settings/inputmethod/GameControllerPreferenceController.java
@@ -101,6 +101,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
+
+ @Override
public void onInputDeviceAdded(int deviceId) {
updateState(mPreference);
}
diff --git a/src/com/android/settings/inputmethod/OWNERS b/src/com/android/settings/inputmethod/OWNERS
index 556de5f..7c7d792 100644
--- a/src/com/android/settings/inputmethod/OWNERS
+++ b/src/com/android/settings/inputmethod/OWNERS
@@ -1,5 +1,6 @@
# Bug component: 34867
include platform/frameworks/base:/services/core/java/com/android/server/inputmethod/OWNERS
+include /OWNERS
# Settings for physical keyboard and game pad are better to be reviewed by the input team
per-file GameControllerPreferenceController.java = file: platform/frameworks/base:/services/core/java/com/android/server/input/OWNERS
diff --git a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
index 051fd8d..b491ec9 100644
--- a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
@@ -68,6 +68,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_location;
+ }
+
+ @Override
public void onSwitchChanged(Switch switchView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
diff --git a/src/com/android/settings/location/LocationIndicatorsPreferenceController.java b/src/com/android/settings/location/LocationIndicatorsPreferenceController.java
index d39c280..75ffb3a 100644
--- a/src/com/android/settings/location/LocationIndicatorsPreferenceController.java
+++ b/src/com/android/settings/location/LocationIndicatorsPreferenceController.java
@@ -20,6 +20,7 @@
import android.content.pm.PackageManager;
import android.provider.DeviceConfig;
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.TogglePreferenceController;
@@ -54,4 +55,9 @@
return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_LOCATION)
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_location;
+ }
}
diff --git a/src/com/android/settings/location/LocationSlice.java b/src/com/android/settings/location/LocationSlice.java
index f8add12..291e5e4 100644
--- a/src/com/android/settings/location/LocationSlice.java
+++ b/src/com/android/settings/location/LocationSlice.java
@@ -88,11 +88,16 @@
final Uri contentUri = new Uri.Builder().appendPath(KEY_LOCATION).build();
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
LocationSettings.class.getName(), KEY_LOCATION, screenTitle,
- SettingsEnums.LOCATION)
+ SettingsEnums.LOCATION, this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_location;
+ }
+
private PendingIntent getPrimaryAction() {
final Intent intent = getIntent();
return PendingIntent.getActivity(mContext, 0 /* requestCode */,
diff --git a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
index a69fdb8..546f1e1 100644
--- a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
@@ -69,6 +69,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_location;
+ }
+
+ @Override
public void onSwitchChanged(Switch switchView, boolean isChecked) {
if (isChecked != isChecked()) {
setChecked(isChecked);
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index 10a8b79..e2232e7 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -93,6 +93,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
+
+ @Override
public Class getBackgroundWorkerClass() {
return MediaOutputIndicatorWorker.class;
}
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
index 3d81c44..f856188 100644
--- a/src/com/android/settings/media/RemoteMediaSlice.java
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -181,7 +181,9 @@
final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
SoundSettings.class.getName(),
id,
- mContext.getText(R.string.sound_settings).toString(), 0);
+ mContext.getText(R.string.sound_settings).toString(),
+ 0 /* sourceMetricsCategory */,
+ R.string.menu_key_sound);
intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
intent.setData(contentUri);
final PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent,
@@ -222,6 +224,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
+
+ @Override
public Class getBackgroundWorkerClass() {
return MediaDeviceUpdateWorker.class;
}
diff --git a/src/com/android/settings/network/AdaptiveConnectivityTogglePreferenceController.java b/src/com/android/settings/network/AdaptiveConnectivityTogglePreferenceController.java
index e3d779c..ea849f6 100644
--- a/src/com/android/settings/network/AdaptiveConnectivityTogglePreferenceController.java
+++ b/src/com/android/settings/network/AdaptiveConnectivityTogglePreferenceController.java
@@ -22,6 +22,7 @@
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.widget.SettingsMainSwitchPreferenceController;
/**
@@ -62,4 +63,9 @@
mWifiManager.setWifiScoringEnabled(isChecked);
return true;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
}
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 6839037..e74f3ae 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -121,6 +121,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
+ @Override
public void onStart() {
if (isAvailable()) {
mAirplaneModeEnabler.start();
diff --git a/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java b/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
index c5d8b97..26679c6 100644
--- a/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
+++ b/src/com/android/settings/network/CarrierWifiTogglePreferenceController.java
@@ -22,6 +22,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.wifi.WifiPickerTrackerHelper;
@@ -89,6 +90,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
+ @Override
public void onWifiStateChanged() {
updateCarrierNetworkPreference();
}
diff --git a/src/com/android/settings/network/ProviderModelSlice.java b/src/com/android/settings/network/ProviderModelSlice.java
index 146b11a..0aae349 100644
--- a/src/com/android/settings/network/ProviderModelSlice.java
+++ b/src/com/android/settings/network/ProviderModelSlice.java
@@ -290,7 +290,7 @@
final String screenTitle = mContext.getText(R.string.provider_internet_settings).toString();
return SliceBuilderUtils.buildSearchResultPageIntent(mContext,
NetworkProviderSettings.class.getName(), "" /* key */, screenTitle,
- SettingsEnums.SLICE)
+ SettingsEnums.SLICE, this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(getUri());
}
diff --git a/src/com/android/settings/network/TetherBasePreferenceController.java b/src/com/android/settings/network/TetherBasePreferenceController.java
index 822aa72..b1627f2 100644
--- a/src/com/android/settings/network/TetherBasePreferenceController.java
+++ b/src/com/android/settings/network/TetherBasePreferenceController.java
@@ -25,6 +25,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.datausage.DataSaverBackend;
@@ -118,6 +119,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
+ @Override
public void onTetherStateUpdated(@TetherEnabler.TetheringState int state) {
mTetheringState = state;
updateState(mPreference);
diff --git a/src/com/android/settings/network/telephony/MobileDataSlice.java b/src/com/android/settings/network/telephony/MobileDataSlice.java
index 7ec31be..22bb581 100644
--- a/src/com/android/settings/network/telephony/MobileDataSlice.java
+++ b/src/com/android/settings/network/telephony/MobileDataSlice.java
@@ -146,6 +146,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
+ @Override
public Class<? extends SliceBackgroundWorker> getBackgroundWorkerClass() {
return MobileDataWorker.class;
}
diff --git a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
index 7fe5f1d..46f279d 100644
--- a/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
+++ b/src/com/android/settings/network/telephony/TelephonyTogglePreferenceController.java
@@ -65,6 +65,12 @@
return false;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
+
/**
* Get carrier config based on specific subscription id.
*
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index b30e7c3f..483fead 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -27,6 +27,7 @@
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.slices.SliceBackgroundWorker;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -58,7 +59,7 @@
return;
}
- mPreference = (MainSwitchPreference) screen.findPreference(getPreferenceKey());
+ mPreference = screen.findPreference(getPreferenceKey());
mPreference.addOnSwitchChangeListener(this);
mNfcEnabler = new NfcEnabler(mContext, mPreference);
}
@@ -104,6 +105,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
+
+ @Override
public Class<? extends SliceBackgroundWorker> getBackgroundWorkerClass() {
return NfcSliceWorker.class;
}
diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
index 4e548d1..e1d27d0 100644
--- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java
+++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
@@ -21,6 +21,7 @@
import androidx.preference.PreferenceScreen;
import androidx.preference.SwitchPreference;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -82,6 +83,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
+
+ @Override
public void onResume() {
if (mSecureNfcEnabler != null) {
mSecureNfcEnabler.resume();
diff --git a/src/com/android/settings/notification/BadgingNotificationPreferenceController.java b/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
index 613204b..69d95a8 100644
--- a/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/BadgingNotificationPreferenceController.java
@@ -30,6 +30,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -88,6 +89,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
+
+ @Override
public boolean isChecked() {
return Settings.Secure.getInt(mContext.getContentResolver(),
NOTIFICATION_BADGING, ON) == ON;
diff --git a/src/com/android/settings/notification/BubbleNotificationPreferenceController.java b/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
index 37723b1..9e35664 100644
--- a/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
@@ -89,6 +89,12 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ // not needed since it's not sliceable
+ return 0;
+ }
+
+ @Override
public boolean isChecked() {
return Settings.Global.getInt(mContext.getContentResolver(),
NOTIFICATION_BUBBLES, ON) == ON;
diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
index bdbc478..91031c8 100644
--- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
+++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
@@ -24,6 +24,7 @@
import androidx.fragment.app.Fragment;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.google.common.annotations.VisibleForTesting;
@@ -73,6 +74,11 @@
}
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
+
protected void setNotificationAssistantGranted(ComponentName cn) {
if (Settings.Secure.getIntForUser(mContext.getContentResolver(),
Settings.Secure.NAS_SETTINGS_UPDATED, 0, mUserId) == 0) {
diff --git a/src/com/android/settings/notification/PulseNotificationPreferenceController.java b/src/com/android/settings/notification/PulseNotificationPreferenceController.java
index 7885520..ad53fc3 100644
--- a/src/com/android/settings/notification/PulseNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/PulseNotificationPreferenceController.java
@@ -28,6 +28,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
import com.android.settingslib.core.lifecycle.events.OnPause;
@@ -86,6 +87,11 @@
isChecked ? ON : OFF);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
+
class SettingObserver extends ContentObserver {
private final Uri NOTIFICATION_LIGHT_PULSE_URI =
diff --git a/src/com/android/settings/notification/RedactNotificationPreferenceController.java b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
index d0326bb..db34e5e 100644
--- a/src/com/android/settings/notification/RedactNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
@@ -32,6 +32,7 @@
import androidx.preference.PreferenceScreen;
import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.RestrictedLockUtils;
@@ -147,6 +148,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
+
+ @Override
public void onStart() {
mContext.getContentResolver().registerContentObserver(
Settings.Secure.getUriFor(Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS),
diff --git a/src/com/android/settings/notification/SilentStatusBarPreferenceController.java b/src/com/android/settings/notification/SilentStatusBarPreferenceController.java
index 0585382..4c4c99d 100644
--- a/src/com/android/settings/notification/SilentStatusBarPreferenceController.java
+++ b/src/com/android/settings/notification/SilentStatusBarPreferenceController.java
@@ -18,6 +18,7 @@
import android.content.Context;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.google.common.annotations.VisibleForTesting;
@@ -52,4 +53,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
}
diff --git a/src/com/android/settings/notification/SnoozeNotificationPreferenceController.java b/src/com/android/settings/notification/SnoozeNotificationPreferenceController.java
index 03170e4..2c89f74 100644
--- a/src/com/android/settings/notification/SnoozeNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/SnoozeNotificationPreferenceController.java
@@ -21,10 +21,11 @@
import android.content.Context;
import android.provider.Settings;
-import com.android.settings.core.TogglePreferenceController;
-
import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
public class SnoozeNotificationPreferenceController extends TogglePreferenceController {
private static final String TAG = "SnoozeNotifPrefContr";
@@ -53,4 +54,9 @@
return Settings.Secure.putInt(mContext.getContentResolver(),
SHOW_NOTIFICATION_SNOOZE, isChecked ? ON : OFF);
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
}
diff --git a/src/com/android/settings/notification/SpatialAudioPreferenceController.java b/src/com/android/settings/notification/SpatialAudioPreferenceController.java
index 1420076..7bca516 100644
--- a/src/com/android/settings/notification/SpatialAudioPreferenceController.java
+++ b/src/com/android/settings/notification/SpatialAudioPreferenceController.java
@@ -20,6 +20,7 @@
import android.media.AudioManager;
import android.media.Spatializer;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -53,4 +54,9 @@
mSpatializer.setEnabled(isChecked);
return isChecked == isChecked();
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_notifications;
+ }
}
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java b/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
index b32f922..d170159 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreferenceController.java
@@ -23,6 +23,7 @@
import androidx.lifecycle.OnLifecycleEvent;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.notification.VolumeSeekBarPreference.Callback;
import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -76,6 +77,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_sound;
+ }
+
+ @Override
public int getSliderPosition() {
if (mPreference != null) {
return mPreference.getProgress();
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
index 5ea01ea..1f553a2 100644
--- a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -120,7 +120,7 @@
final String screenTitle = context.getText(R.string.zen_mode_settings_title).toString();
return SliceBuilderUtils.buildSearchResultPageIntent(context,
ZenModeSettings.class.getName(), ZEN_MODE_SLICE_KEY, screenTitle,
- SettingsEnums.NOTIFICATION_ZEN_MODE)
+ SettingsEnums.NOTIFICATION_ZEN_MODE, R.string.menu_key_notifications)
.setClassName(context.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
}
diff --git a/src/com/android/settings/panel/NfcPanel.java b/src/com/android/settings/panel/NfcPanel.java
index c1e15e8..6b1e435 100644
--- a/src/com/android/settings/panel/NfcPanel.java
+++ b/src/com/android/settings/panel/NfcPanel.java
@@ -62,7 +62,8 @@
AdvancedConnectedDeviceDashboardFragment.class.getName(),
null /* key */,
screenTitle,
- SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
+ SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY,
+ R.string.menu_key_connected_devices);
intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return intent;
diff --git a/src/com/android/settings/panel/WifiPanel.java b/src/com/android/settings/panel/WifiPanel.java
index 3b36a57..95ebb33 100644
--- a/src/com/android/settings/panel/WifiPanel.java
+++ b/src/com/android/settings/panel/WifiPanel.java
@@ -62,10 +62,11 @@
final String screenTitle =
mContext.getText(R.string.wifi_settings).toString();
final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
- WifiSettings.class.getName(),
- null /* key */,
- screenTitle,
- SettingsEnums.WIFI);
+ WifiSettings.class.getName(),
+ null /* key */,
+ screenTitle,
+ SettingsEnums.WIFI,
+ R.string.menu_key_network);
intent.setClassName(mContext.getPackageName(), SubSettings.class.getName());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
return intent;
diff --git a/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java b/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
index 47610aa..3cf72b2 100644
--- a/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
+++ b/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
@@ -18,8 +18,8 @@
import android.annotation.NonNull;
import android.content.Context;
-import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.utils.ContentCaptureUtils;
@@ -46,4 +46,9 @@
&& ContentCaptureUtils.getServiceSettingsComponentName() == null;
return available ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_privacy;
+ }
}
diff --git a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
index 77aab34..c3878d5 100644
--- a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
+++ b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
@@ -28,8 +28,8 @@
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.dashboard.profileselector.UserAdapter;
import com.android.settings.utils.ContentCaptureUtils;
@@ -88,6 +88,11 @@
return available ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_privacy;
+ }
+
private static final class ProfileSelectDialog {
public static void show(Context context, Preference pref) {
final UserManager userManager = UserManager.get(context);
diff --git a/src/com/android/settings/privacy/SensorToggleController.java b/src/com/android/settings/privacy/SensorToggleController.java
index 50b023b..53b1a2f 100644
--- a/src/com/android/settings/privacy/SensorToggleController.java
+++ b/src/com/android/settings/privacy/SensorToggleController.java
@@ -22,6 +22,7 @@
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.utils.SensorPrivacyManagerHelper;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -80,4 +81,9 @@
(sensor, blocked) -> updateState(screen.findPreference(mPreferenceKey)),
mCallbackExecutor);
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_privacy;
+ }
}
diff --git a/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java b/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
index cf05ff4..ad57073 100644
--- a/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
+++ b/src/com/android/settings/privacy/ShowClipAccessNotificationPreferenceController.java
@@ -27,6 +27,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -72,6 +73,11 @@
mPreference = screen.findPreference(getPreferenceKey());
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_privacy;
+ }
+
/**
* Registers a DeviceConfig listener on start.
*/
diff --git a/src/com/android/settings/security/ShowPasswordPreferenceController.java b/src/com/android/settings/security/ShowPasswordPreferenceController.java
index 472101b..696854a 100644
--- a/src/com/android/settings/security/ShowPasswordPreferenceController.java
+++ b/src/com/android/settings/security/ShowPasswordPreferenceController.java
@@ -58,5 +58,9 @@
? AVAILABLE : UNSUPPORTED_ON_DEVICE;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_security;
+ }
}
diff --git a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
index 64ca853..9e82e78 100644
--- a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
+++ b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
@@ -28,6 +28,7 @@
import androidx.preference.PreferenceScreen;
import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
import com.android.settings.Utils;
import com.android.settings.core.TogglePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -119,6 +120,11 @@
}
@Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_security;
+ }
+
+ @Override
public void onResume() {
mPreference.setVisible(isAvailable());
}
diff --git a/src/com/android/settings/sound/MediaControlsPreferenceController.java b/src/com/android/settings/sound/MediaControlsPreferenceController.java
index ad09e2a..e180b34 100644
--- a/src/com/android/settings/sound/MediaControlsPreferenceController.java
+++ b/src/com/android/settings/sound/MediaControlsPreferenceController.java
@@ -23,6 +23,7 @@
import androidx.annotation.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -50,4 +51,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_sound;
+ }
}
diff --git a/src/com/android/settings/sound/MediaControlsRecommendationController.java b/src/com/android/settings/sound/MediaControlsRecommendationController.java
index 682cb5b..842a141 100644
--- a/src/com/android/settings/sound/MediaControlsRecommendationController.java
+++ b/src/com/android/settings/sound/MediaControlsRecommendationController.java
@@ -21,6 +21,7 @@
import android.content.Context;
import android.provider.Settings;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -50,4 +51,9 @@
public int getAvailabilityStatus() {
return AVAILABLE;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_sound;
+ }
}
diff --git a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
index f931fa4..ce5533e 100644
--- a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
@@ -20,6 +20,7 @@
import androidx.preference.Preference;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.RestrictedSwitchPreference;
@@ -69,4 +70,9 @@
return Settings.Global.putInt(mContext.getContentResolver(),
Settings.Global.ADD_USERS_WHEN_LOCKED, isChecked ? 1 : 0);
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_system;
+ }
}
diff --git a/src/com/android/settings/uwb/UwbPreferenceController.java b/src/com/android/settings/uwb/UwbPreferenceController.java
index 8b330a9..ad040ed 100644
--- a/src/com/android/settings/uwb/UwbPreferenceController.java
+++ b/src/com/android/settings/uwb/UwbPreferenceController.java
@@ -162,5 +162,10 @@
return mContext.getResources().getString(R.string.uwb_settings_summary);
}
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_connected_devices;
+ }
}
diff --git a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
index eab50a6..59ad440 100644
--- a/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
+++ b/src/com/android/settings/wifi/CellularFallbackPreferenceController.java
@@ -22,6 +22,7 @@
import android.telephony.SubscriptionManager;
import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
/**
@@ -51,6 +52,11 @@
Settings.Global.NETWORK_AVOID_BAD_WIFI, isChecked ? "1" : null);
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
private boolean avoidBadWifiConfig() {
final int activeDataSubscriptionId = getActiveDataSubscriptionId();
if (activeDataSubscriptionId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
diff --git a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
index 6455f5b..4b7506d 100644
--- a/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
+++ b/src/com/android/settings/wifi/NotifyOpenNetworksPreferenceController.java
@@ -26,6 +26,7 @@
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
+import com.android.settings.R;
import com.android.settings.core.PreferenceControllerMixin;
import com.android.settings.core.TogglePreferenceController;
import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -85,6 +86,11 @@
return true;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
class SettingObserver extends ContentObserver {
private final Uri NETWORKS_AVAILABLE_URI = Settings.Global.getUriFor(
Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON);
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index e9fd350..2cc7f8e 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -135,6 +135,11 @@
}
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
@VisibleForTesting
CharSequence getNoLocationSummary() {
AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo("link", null);
diff --git a/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java
index ffbb682..8226bc0 100644
--- a/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiAutoConnectPreferenceController2.java
@@ -18,6 +18,7 @@
import android.content.Context;
+import com.android.settings.R;
import com.android.settings.core.TogglePreferenceController;
import com.android.wifitrackerlib.WifiEntry;
@@ -54,4 +55,9 @@
mWifiEntry.setAutoJoinEnabled(isChecked);
return true;
}
+
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
}
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index f6604dd..29a2bd6 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -33,6 +33,7 @@
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.core.graphics.drawable.IconCompat;
@@ -44,6 +45,8 @@
import com.android.settings.SubSettings;
import com.android.settings.Utils;
import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.network.NetworkProviderSettings;
+import com.android.settings.network.WifiSwitchPreferenceController;
import com.android.settings.slices.CustomSliceable;
import com.android.settings.slices.SliceBackgroundWorker;
import com.android.settings.slices.SliceBuilderUtils;
@@ -269,15 +272,28 @@
public Intent getIntent() {
final String screenTitle = mContext.getText(R.string.wifi_settings).toString();
final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build();
- final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
- WifiSettings.class.getName(), KEY_WIFI, screenTitle,
- SettingsEnums.DIALOG_WIFI_AP_EDIT)
+ final String className;
+ final String key;
+ if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)) {
+ className = NetworkProviderSettings.class.getName();
+ key = WifiSwitchPreferenceController.KEY;
+ } else {
+ className = WifiSettings.class.getName();
+ key = KEY_WIFI;
+ }
+ final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext, className,
+ key, screenTitle, SettingsEnums.DIALOG_WIFI_AP_EDIT, this)
.setClassName(mContext.getPackageName(), SubSettings.class.getName())
.setData(contentUri);
return intent;
}
+ @Override
+ public int getSliceHighlightMenuRes() {
+ return R.string.menu_key_network;
+ }
+
private boolean isWifiEnabled() {
switch (mWifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_ENABLED: