From 483d90b55255996e73c15eef1899d595a10b7c53 Mon Sep 17 00:00:00 2001 From: Wilson Wu Date: Mon, 1 Jul 2024 08:06:41 +0000 Subject: [PATCH 1/5] Simplify default keyboard vibration settings value CL[1] remove the default keyboard vibration state device config, use the fixed value in the controller. [1]: I9060fbc83087599fa0d9a56be3de27a2dcf15a94 Flag: EXEMPT refactor Bug: 332660772 Test: atest KeyboardVibrationTogglePreferenceControllerTest Change-Id: I7e5a195047e96582bd80898134051924c0ad72ab --- .../KeyboardVibrationTogglePreferenceController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java index 15bdda49f02..3ba0f0d0841 100644 --- a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java +++ b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java @@ -154,8 +154,8 @@ public class KeyboardVibrationTogglePreferenceController extends TogglePreferenc } private boolean isKeyboardVibrationSwitchEnabled() { - return Settings.System.getInt(mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED, - mVibrator.isDefaultKeyboardVibrationEnabled() ? ON : OFF) == ON; + return Settings.System.getInt( + mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED, ON) == ON; } private boolean updateKeyboardVibrationSetting(boolean enable) { From b2dfa6a1235a26ad439618b8a728fc0ab686fbeb Mon Sep 17 00:00:00 2001 From: Ioana Alexandru Date: Fri, 21 Jun 2024 15:20:26 +0200 Subject: [PATCH 2/5] Consolidate statusbar/notification and notification/ Move everything to notification/ in SettingsLib. Also have all corresponding tests as deviceless tests in the correct directory. Bug: NA Flag: EXEMPT trivial refactor Test: existing tests pass Change-Id: I1b5650424e7ee2eff5d42995ec0ce85555d19c04 --- .../settings/notification/SettingsEnableZenModeDialog.java | 4 ++-- .../settings/notification/zen/SettingsZenDurationDialog.java | 4 ++-- .../notification/zen/ZenDurationDialogPreference.java | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java index 880db35b59c..d851caf3bdc 100644 --- a/src/com/android/settings/notification/SettingsEnableZenModeDialog.java +++ b/src/com/android/settings/notification/SettingsEnableZenModeDialog.java @@ -21,13 +21,13 @@ import android.app.settings.SettingsEnums; import android.os.Bundle; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; +import com.android.settingslib.notification.modes.EnableZenModeDialog; public class SettingsEnableZenModeDialog extends InstrumentedDialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - return new com.android.settingslib.notification.EnableZenModeDialog( - getContext()).createDialog(); + return new EnableZenModeDialog(getContext()).createDialog(); } @Override diff --git a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java index c8d6eb9735a..bb83a730837 100644 --- a/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java +++ b/src/com/android/settings/notification/zen/SettingsZenDurationDialog.java @@ -21,13 +21,13 @@ import android.app.settings.SettingsEnums; import android.os.Bundle; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; +import com.android.settingslib.notification.modes.ZenDurationDialog; public class SettingsZenDurationDialog extends InstrumentedDialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { - return new com.android.settingslib.notification.ZenDurationDialog( - getContext()).createDialog(); + return new ZenDurationDialog(getContext()).createDialog(); } @Override diff --git a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java index 11def66c4d1..f243a5170b6 100644 --- a/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java +++ b/src/com/android/settings/notification/zen/ZenDurationDialogPreference.java @@ -23,7 +23,7 @@ import android.util.AttributeSet; import androidx.appcompat.app.AlertDialog; import com.android.settingslib.CustomDialogPreferenceCompat; -import com.android.settingslib.notification.ZenDurationDialog; +import com.android.settingslib.notification.modes.ZenDurationDialog; public class ZenDurationDialogPreference extends CustomDialogPreferenceCompat { From 935cea2ca7bd118888654e1f7daa91222efae05f Mon Sep 17 00:00:00 2001 From: Rubin Xu Date: Tue, 2 Jul 2024 17:01:21 +0100 Subject: [PATCH 3/5] Gray out admin-disabled screenlock option properly Fix an issue where some sceenlock options are disabled by admins but not showing up as grayed out. Bug: 288081292 Flag: EXEMPT bug fix Test: manually with `am start -a android.app.action.SET_NEW_PASSWORD --ez isSetupFlow true --ei android.app.extra.PASSWORD_COMPLEXITY 327680` Change-Id: I4aab61a052bc2c5146f44d0bfcd8153e3f2cee92 --- src/com/android/settings/password/SetupChooseLockGeneric.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java index cfd12f087c5..1b771a2f84a 100644 --- a/src/com/android/settings/password/SetupChooseLockGeneric.java +++ b/src/com/android/settings/password/SetupChooseLockGeneric.java @@ -243,6 +243,7 @@ public class SetupChooseLockGeneric extends ChooseLockGeneric { @Override protected void onCreate(Bundle savedState) { setTheme(SetupWizardUtils.getTheme(this, getIntent())); + setTheme(R.style.SettingsPreferenceTheme_SetupWizard); ThemeHelper.trySetDynamicColor(this); super.onCreate(savedState); } From 99e33291d3ceca86e6c45196990333a3e16cbbf2 Mon Sep 17 00:00:00 2001 From: hoffc Date: Thu, 4 Jul 2024 16:24:57 +0800 Subject: [PATCH 4/5] Settings: fix unexpected routing selection setRouterGroupId in WifiDisplayPreferenceController will result in unexpected routing selection in MediaRouter, which will lead to WFD scanning not be triggered when entering WFD settings page if there is one remembered WFD device exists before reboot. Remove the set group id call. Bug: 351110755 Change-Id: I0d434543338d9896116541963f31e4669d877ea8 --- .../android/settings/wfd/WifiDisplayPreferenceController.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java index b15396b7ed2..bef16f8dca7 100644 --- a/src/com/android/settings/wfd/WifiDisplayPreferenceController.java +++ b/src/com/android/settings/wfd/WifiDisplayPreferenceController.java @@ -65,7 +65,6 @@ public class WifiDisplayPreferenceController extends BasePreferenceController im public WifiDisplayPreferenceController(Context context, String key) { super(context, key); mRouter = context.getSystemService(MediaRouter.class); - mRouter.setRouterGroupId(MediaRouter.MIRRORING_GROUP_ID); } @Override From a7b13c11cddce9c6ddd4fd89ed9c2e931f9086ec Mon Sep 17 00:00:00 2001 From: Weng Su Date: Fri, 5 Jul 2024 06:51:01 +0800 Subject: [PATCH 5/5] Disable "Add network" if DISALLOW_ADD_WIFI_CONFIG - When DISALLOW_ADD_WIFI_CONFIG is not restricted by Admin - Disable the preference directly Bug: 335387874 Flag: EXEMPT bugfix Test: Manual testing atest -c AddWifiNetworkPreferenceTest Change-Id: I0bb08656971107c73d7632a395a820d03723620b --- .../wifi/AddWifiNetworkPreference.java | 15 ++++++- .../wifi/AddWifiNetworkPreferenceTest.java | 39 +++++++++++++------ 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/wifi/AddWifiNetworkPreference.java b/src/com/android/settings/wifi/AddWifiNetworkPreference.java index 999f4a4d0b5..ea229541886 100644 --- a/src/com/android/settings/wifi/AddWifiNetworkPreference.java +++ b/src/com/android/settings/wifi/AddWifiNetworkPreference.java @@ -26,11 +26,13 @@ import android.widget.ImageButton; import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.wifi.dpp.WifiDppUtils; import com.android.settingslib.RestrictedPreference; +import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils; /** * The Preference for users to add Wi-Fi networks in WifiSettings @@ -53,7 +55,7 @@ public class AddWifiNetworkPreference extends RestrictedPreference { setTitle(R.string.wifi_add_network); mScanIconDrawable = getDrawable(R.drawable.ic_scan_24dp); - checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG); + checkRestrictionAndSetDisabled(); } @Override @@ -80,4 +82,15 @@ public class AddWifiNetworkPreference extends RestrictedPreference { } return buttonIcon; } + + @VisibleForTesting + void checkRestrictionAndSetDisabled() { + checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG); + if (isDisabledByAdmin()) { + return; + } + if (!WifiEnterpriseRestrictionUtils.isAddWifiConfigAllowed(getContext())) { + setEnabled(false); + } + } } diff --git a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java index 5f88eb2a083..c0adaf3ec36 100644 --- a/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/wifi/AddWifiNetworkPreferenceTest.java @@ -15,19 +15,23 @@ */ package com.android.settings.wifi; +import static android.os.UserManager.DISALLOW_ADD_WIFI_CONFIG; + import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.when; + import android.content.Context; import android.os.UserManager; import androidx.test.core.app.ApplicationProvider; -import com.android.settingslib.RestrictedLockUtils; - import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; +import org.mockito.Mock; import org.mockito.Spy; import org.mockito.junit.MockitoJUnit; import org.mockito.junit.MockitoRule; @@ -42,31 +46,44 @@ public class AddWifiNetworkPreferenceTest { public final MockitoRule mMockitoRule = MockitoJUnit.rule(); @Spy Context mContext = ApplicationProvider.getApplicationContext(); + @Mock + private UserManager mUserManager; private AddWifiNetworkPreference mPreference; @Before public void setUp() { - mPreference = new AddWifiNetworkPreference(mContext); + when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager); + + mPreference = spy(new AddWifiNetworkPreference(mContext)); } @Test - public void updatePreferenceForRestriction_isAddWifiConfigAllowed_prefIsEnabled() { - // If the user is allowed to add Wi-Fi configuration then the EnforcedAdmin will be null. - RestrictedLockUtils.EnforcedAdmin enforcedAdmin = null; + public void checkRestrictionAndSetDisabled_disabledByAdmin_keepEnabledForClicks() { + when(mPreference.isDisabledByAdmin()).thenReturn(true); - mPreference.setDisabledByAdmin(enforcedAdmin); + mPreference.checkRestrictionAndSetDisabled(); assertThat(mPreference.isEnabled()).isTrue(); } @Test - public void updatePreferenceForRestriction_isAddWifiConfigNotAllowed_prefIsDisabled() { - RestrictedLockUtils.EnforcedAdmin enforcedAdmin = new RestrictedLockUtils.EnforcedAdmin( - null /* component */, UserManager.DISALLOW_ADD_WIFI_CONFIG, null /* user */); + public void checkRestrictionAndSetDisabled_notDisabledByAdmin_setDisabled() { + when(mPreference.isDisabledByAdmin()).thenReturn(false); + when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(true); - mPreference.setDisabledByAdmin(enforcedAdmin); + mPreference.checkRestrictionAndSetDisabled(); assertThat(mPreference.isEnabled()).isFalse(); } + + @Test + public void checkRestrictionAndSetDisabled_noRestriction_setEnabled() { + when(mPreference.isDisabledByAdmin()).thenReturn(false); + when(mUserManager.hasUserRestriction(DISALLOW_ADD_WIFI_CONFIG)).thenReturn(false); + + mPreference.checkRestrictionAndSetDisabled(); + + assertThat(mPreference.isEnabled()).isTrue(); + } }