From c1b61edbb2a8e63a24d01e046b0f9a720ff30490 Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Wed, 5 Jun 2024 17:26:42 +0800 Subject: [PATCH 1/8] Stop network scan before manual select network Otherwise device could not connect to network. Bug: 339226604 Test: manual - Choose network Change-Id: Ia7e52ad94d5406cab42bd8e7b25ba7e4e13c67fc Merged-In: Ia7e52ad94d5406cab42bd8e7b25ba7e4e13c67fc --- .../telephony/NetworkSelectSettings.java | 23 ++++++++++++++----- .../telephony/scan/NetworkScanRepository.kt | 8 ++++--- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java index 5995a13d7ef..31e10d93878 100644 --- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java +++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java @@ -58,6 +58,8 @@ import com.google.common.collect.ImmutableList; import kotlin.Unit; +import kotlinx.coroutines.Job; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -98,6 +100,8 @@ public class NetworkSelectSettings extends DashboardFragment { private AtomicBoolean mShouldFilterOutSatellitePlmn = new AtomicBoolean(); private NetworkScanRepository mNetworkScanRepository; + @Nullable + private Job mNetworkScanJob = null; @Override public void onCreate(Bundle icicle) { @@ -206,13 +210,14 @@ public class NetworkSelectSettings extends DashboardFragment { private void launchNetworkScan() { setProgressBarVisible(true); - mNetworkScanRepository.launchNetworkScan(getViewLifecycleOwner(), (networkScanResult) -> { - if (isPreferenceScreenEnabled()) { - scanResultHandler(networkScanResult); - } + mNetworkScanJob = mNetworkScanRepository.launchNetworkScan(getViewLifecycleOwner(), + (networkScanResult) -> { + if (isPreferenceScreenEnabled()) { + scanResultHandler(networkScanResult); + } - return Unit.INSTANCE; - }); + return Unit.INSTANCE; + }); } /** @@ -238,6 +243,12 @@ public class NetworkSelectSettings extends DashboardFragment { return false; } + // Need stop network scan before manual select network. + if (mNetworkScanJob != null) { + mNetworkScanJob.cancel(null); + mNetworkScanJob = null; + } + // Refresh the last selected item in case users reselect network. clearPreferenceSummary(); if (mSelectedPreference != null) { diff --git a/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt b/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt index 0344002c48d..87a085a9b8e 100644 --- a/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt +++ b/src/com/android/settings/network/telephony/scan/NetworkScanRepository.kt @@ -52,9 +52,8 @@ class NetworkScanRepository(context: Context, subId: Int) { context.getSystemService(TelephonyManager::class.java)!!.createForSubscriptionId(subId) /** TODO: Move this to UI layer, when UI layer migrated to Kotlin. */ - fun launchNetworkScan(lifecycleOwner: LifecycleOwner, onResult: (NetworkScanResult) -> Unit) { + fun launchNetworkScan(lifecycleOwner: LifecycleOwner, onResult: (NetworkScanResult) -> Unit) = networkScanFlow().collectLatestWithLifecycle(lifecycleOwner, action = onResult) - } data class CellInfoScanKey( val title: String?, @@ -101,7 +100,10 @@ class NetworkScanRepository(context: Context, subId: Int) { callback, ) - awaitClose { networkScan.stopScan() } + awaitClose { + networkScan.stopScan() + Log.d(TAG, "network scan stopped") + } }.conflate().onEach { Log.d(TAG, "networkScanFlow: $it") }.flowOn(Dispatchers.Default) /** Create network scan for allowed network types. */ From 3aa1405acb54c26b99b09825beb821e0dcbbafc6 Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Mon, 10 Jun 2024 21:19:27 +0000 Subject: [PATCH 2/8] Move Enable16KbTest to device-tests general-tests are not configured for the devices which should be tested. Moving test to device-test suite. Test: m Enable16KbTest && atest -c Enable16KbTest Bug: 345763025 Change-Id: I01abf4ec91c4f7b588de12ac9cb71b805849e4ac --- tests/Enable16KbTests/Android.bp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/Enable16KbTests/Android.bp b/tests/Enable16KbTests/Android.bp index ecb0357ea9e..781ea8f7667 100644 --- a/tests/Enable16KbTests/Android.bp +++ b/tests/Enable16KbTests/Android.bp @@ -33,7 +33,7 @@ android_test { ], platform_apis: true, certificate: "platform", - test_suites: ["general-tests"], + test_suites: ["device-tests"], libs: [ "android.test.runner", "android.test.base", @@ -57,6 +57,6 @@ java_test_host { data: [ ":test_16kb_app", ], - test_suites: ["general-tests"], + test_suites: ["device-tests"], test_config: "AndroidTest.xml", } From 5fef3c2bb01e00074088bab9868790af86639778 Mon Sep 17 00:00:00 2001 From: Angela Wang Date: Tue, 28 May 2024 08:40:40 +0000 Subject: [PATCH 3/8] Fix incorrect summary for LE audio hearing aids For LE audio lead device, the `CachedBluetoothDevice.isConnected()` will return true since `BluetoothLeAudio.getConnectionStatus(device)` will return STATE_CONNECTED even if the device is powered off. Changing to use `CachedBluetoothDevice.getDevice().isConnected()` can avoid the wrong value of the connection status of the device. Bug: 325524694 Flag: EXEMPT bugfix Test: atest AccessibilityHearingAidPreferenceControllerTest Change-Id: If763c0861bb5796d9bc0511916b7077c784b49f5 --- ...essibilityHearingAidPreferenceController.java | 4 ++-- ...bilityHearingAidPreferenceControllerTest.java | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java index fab6e477402..95cbbcfc9a3 100644 --- a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java +++ b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java @@ -134,7 +134,7 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC // Check if another side of LE audio hearing aid is connected as a pair final Set memberDevices = device.getMemberDevice(); - if (memberDevices.stream().anyMatch(m -> m.isConnected())) { + if (memberDevices.stream().anyMatch(m -> m.getDevice().isConnected())) { return mContext.getString( R.string.accessibility_hearingaid_left_and_right_side_device_summary, name); @@ -142,7 +142,7 @@ public class AccessibilityHearingAidPreferenceController extends BasePreferenceC // Check if another side of ASHA hearing aid is connected as a pair final CachedBluetoothDevice subDevice = device.getSubDevice(); - if (subDevice != null && subDevice.isConnected()) { + if (subDevice != null && subDevice.getDevice().isConnected()) { return mContext.getString( R.string.accessibility_hearingaid_left_and_right_side_device_summary, name); } diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java index 743f8843ced..7e92e250600 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java @@ -19,6 +19,7 @@ package com.android.settings.accessibility; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import static org.robolectric.Shadows.shadowOf; @@ -81,6 +82,8 @@ public class AccessibilityHearingAidPreferenceControllerTest { private BluetoothAdapter mBluetoothAdapter; private ShadowBluetoothAdapter mShadowBluetoothAdapter; private BluetoothDevice mBluetoothDevice; + + private BluetoothDevice mSubBluetoothDevice; private final Context mContext = ApplicationProvider.getApplicationContext(); private Preference mHearingAidPreference; @@ -141,8 +144,8 @@ public class AccessibilityHearingAidPreferenceControllerTest { public void getSummary_connectedAshaHearingAidBothSide_connectedBothSideSummary() { when(mCachedBluetoothDevice.getDeviceSide()).thenReturn( HearingAidInfo.DeviceSide.SIDE_LEFT); - when(mCachedSubBluetoothDevice.isConnected()).thenReturn(true); when(mCachedBluetoothDevice.getSubDevice()).thenReturn(mCachedSubBluetoothDevice); + when(mSubBluetoothDevice.isConnected()).thenReturn(true); when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList()); mPreferenceController.onStart(); @@ -205,8 +208,8 @@ public class AccessibilityHearingAidPreferenceControllerTest { @Test public void getSummary_connectedLeAudioHearingAidBothSide_connectedBothSideSummary() { when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(generateMemberDevices()); - when(mCachedSubBluetoothDevice.isConnected()).thenReturn(true); when(mHapClientProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList()); + when(mSubBluetoothDevice.isConnected()).thenReturn(true); mPreferenceController.onStart(); Intent intent = new Intent(BluetoothHapClient.ACTION_HAP_CONNECTION_STATE_CHANGED); @@ -277,7 +280,8 @@ public class AccessibilityHearingAidPreferenceControllerTest { mShadowBluetoothAdapter = Shadow.extract(mBluetoothAdapter); mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HEARING_AID); mShadowBluetoothAdapter.addSupportedProfiles(BluetoothProfile.HAP_CLIENT); - mBluetoothDevice = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS); + mBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS)); + mSubBluetoothDevice = spy(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2)); mBluetoothAdapter.enable(); doReturn(mEventManager).when(mLocalBluetoothManager).getEventManager(); @@ -288,8 +292,12 @@ public class AccessibilityHearingAidPreferenceControllerTest { when(mHearingAidProfile.isProfileReady()).thenReturn(true); when(mHapClientProfile.isProfileReady()).thenReturn(true); when(mCachedDeviceManager.findDevice(mBluetoothDevice)).thenReturn(mCachedBluetoothDevice); + when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice); when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS); when(mCachedBluetoothDevice.getName()).thenReturn(TEST_DEVICE_NAME); + when(mCachedDeviceManager.findDevice(mSubBluetoothDevice)).thenReturn( + mCachedSubBluetoothDevice); + when(mCachedSubBluetoothDevice.getDevice()).thenReturn(mSubBluetoothDevice); } private void sendIntent(Intent intent) { @@ -308,7 +316,7 @@ public class AccessibilityHearingAidPreferenceControllerTest { // Generates different Bluetooth devices for testing multiple devices final List deviceList = new ArrayList<>(2); deviceList.add(mBluetoothDevice); - deviceList.add(mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS_2)); + deviceList.add(mSubBluetoothDevice); return deviceList; } From f13c16399e314701d0a312e39ed809f24f7f0e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Hern=C3=A1ndez?= Date: Mon, 10 Jun 2024 14:39:03 +0200 Subject: [PATCH 4/8] Re-enable notifications modes tests in SettingsRoboTests Fixes: 346276716 Test: atest com.android.settings.notification.modes Flag: NONE Change-Id: I573fe1b719a348d996eda39633811ad0bc34c847 --- tests/robotests/Android.bp | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp index 0521e52c5d2..83f4f2ef7e9 100644 --- a/tests/robotests/Android.bp +++ b/tests/robotests/Android.bp @@ -75,6 +75,7 @@ android_robolectric_test { //"src/com/android/settings/homepage/**/*.java", "src/com/android/settings/inputmethod/**/*.java", "src/com/android/settings/network/ShadowServiceManagerExtend.java", + "src/com/android/settings/notification/modes/**/*.java", "src/com/android/settings/password/**/*.java", "src/com/android/settings/search/DatabaseIndexingUtils.java", "src/com/android/settings/testutils/**/*.java", From 98920c3714be9b5b4872c28081ab319d7a1e6a0e Mon Sep 17 00:00:00 2001 From: Rambo Wang Date: Tue, 11 Jun 2024 17:23:20 +0000 Subject: [PATCH 5/8] eSIM profile is not erased during Reset mobile network settings flow The CL fixes the bug that eSIM profile is not erased even if user choose to erase eSIM during Reset Mobile Network Settings flow. The issue was introduced when adding background operations to restart Phone process and RILD. Restart Phone process performed earlier. It may interrup the previous reset operations (e.g. eSIM erasing). The fix here is to arrange reset Phone and RILD in the end of the flow, only performed after all other reset operations. Bug: 345854350 Test: atest ResetNetworkOperationBuilderTest Test: Manual regression test Change-Id: If2bd492d417a07a7056bf9fd0d051f8811ba6369 --- .../android/settings/ResetNetworkRequest.java | 1 + .../network/ResetNetworkOperationBuilder.java | 46 +++++++++++-------- .../ResetNetworkOperationBuilderTest.java | 8 ++-- 3 files changed, 31 insertions(+), 24 deletions(-) diff --git a/src/com/android/settings/ResetNetworkRequest.java b/src/com/android/settings/ResetNetworkRequest.java index 4be8b3206a6..7632ea01d71 100644 --- a/src/com/android/settings/ResetNetworkRequest.java +++ b/src/com/android/settings/ResetNetworkRequest.java @@ -270,6 +270,7 @@ public class ResetNetworkRequest { if ((mResetOptions & RESET_IMS_STACK) != 0) { builder.resetIms(mSubscriptionIdToResetIms); } + // Reset phone process and RILD may impact above components, keep them at the end if ((mResetOptions & RESET_PHONE_PROCESS) != 0) { builder.restartPhoneProcess(); } diff --git a/src/com/android/settings/network/ResetNetworkOperationBuilder.java b/src/com/android/settings/network/ResetNetworkOperationBuilder.java index 4067fba5892..6f36074d145 100644 --- a/src/com/android/settings/network/ResetNetworkOperationBuilder.java +++ b/src/com/android/settings/network/ResetNetworkOperationBuilder.java @@ -256,16 +256,19 @@ public class ResetNetworkOperationBuilder { * @return this */ public ResetNetworkOperationBuilder restartPhoneProcess() { - try { - mContext.getContentResolver().call( - getResetTelephonyContentProviderAuthority(), - METHOD_RESTART_PHONE_PROCESS, - /* arg= */ null, - /* extras= */ null); - Log.i(TAG, "Phone process was restarted."); - } catch (IllegalArgumentException iae) { - Log.w(TAG, "Fail to restart phone process: " + iae); - } + Runnable runnable = () -> { + try { + mContext.getContentResolver().call( + getResetTelephonyContentProviderAuthority(), + METHOD_RESTART_PHONE_PROCESS, + /* arg= */ null, + /* extras= */ null); + Log.i(TAG, "Phone process was restarted."); + } catch (IllegalArgumentException iae) { + Log.w(TAG, "Fail to restart phone process: " + iae); + } + }; + mResetSequence.add(runnable); return this; } @@ -275,16 +278,19 @@ public class ResetNetworkOperationBuilder { * @return this */ public ResetNetworkOperationBuilder restartRild() { - try { - mContext.getContentResolver().call( - getResetTelephonyContentProviderAuthority(), - METHOD_RESTART_RILD, - /* arg= */ null, - /* extras= */ null); - Log.i(TAG, "RILD was restarted."); - } catch (IllegalArgumentException iae) { - Log.w(TAG, "Fail to restart RILD: " + iae); - } + Runnable runnable = () -> { + try { + mContext.getContentResolver().call( + getResetTelephonyContentProviderAuthority(), + METHOD_RESTART_RILD, + /* arg= */ null, + /* extras= */ null); + Log.i(TAG, "RILD was restarted."); + } catch (IllegalArgumentException iae) { + Log.w(TAG, "Fail to restart RILD: " + iae); + } + }; + mResetSequence.add(runnable); return this; } diff --git a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java index 6213f8eeb33..5f544064924 100644 --- a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java +++ b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java @@ -188,7 +188,7 @@ public class ResetNetworkOperationBuilderTest { doThrow(new IllegalArgumentException()).when(mContentProvider).call( anyString(), anyString(), anyString(), any()); - mBuilder.restartPhoneProcess(); + mBuilder.restartPhoneProcess().build().run(); } @Test @@ -196,12 +196,12 @@ public class ResetNetworkOperationBuilderTest { doThrow(new IllegalArgumentException()).when(mContentProvider).call( anyString(), anyString(), anyString(), any()); - mBuilder.restartRild(); + mBuilder.restartRild().build().run(); } @Test public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess() { - mBuilder.restartPhoneProcess(); + mBuilder.restartPhoneProcess().build().run(); verify(mContentProvider).call( eq(mBuilder.getResetTelephonyContentProviderAuthority()), @@ -212,7 +212,7 @@ public class ResetNetworkOperationBuilderTest { @Test public void restartRild_withTelephonyContentProvider_shouldCallRestartRild() { - mBuilder.restartRild(); + mBuilder.restartRild().build().run(); verify(mContentProvider).call( eq(mBuilder.getResetTelephonyContentProviderAuthority()), From 1b8c0fdfdb9a36f691402513258b26036c41667f Mon Sep 17 00:00:00 2001 From: Chris Antol Date: Tue, 11 Jun 2024 16:51:38 +0000 Subject: [PATCH 6/8] Annotate Nullability for DevSettings fragment usage Bug: 319310316 Change-Id: I4f2d219b818971e222346fc630c358b1d8b84ae9 Test: None --- .../settings/development/AdbPreferenceController.java | 5 +++-- .../development/BackAnimationPreferenceController.java | 2 +- .../BluetoothA2dpHwOffloadPreferenceController.java | 5 +++-- .../BluetoothLeAudioAllowListPreferenceController.java | 6 +----- .../BluetoothLeAudioHwOffloadPreferenceController.java | 5 +++-- .../development/BluetoothLeAudioPreferenceController.java | 5 +++-- .../development/BluetoothSnoopLogPreferenceController.java | 5 +++-- .../development/ClearAdbKeysPreferenceController.java | 5 +++-- .../development/DesktopModePreferenceController.java | 5 +++-- .../DevelopmentMemtagPagePreferenceController.java | 3 +-- .../development/DevelopmentSettingsDashboardFragment.java | 4 ++-- .../development/Enable16kPagesPreferenceController.java | 5 +++-- .../development/FreeformWindowsPreferenceController.java | 5 +++-- .../development/LogPersistPreferenceController.java | 4 ++-- .../development/MockLocationAppPreferenceController.java | 5 +++-- .../development/NfcSnoopLogPreferenceController.java | 5 +++-- .../NfcVerboseVendorLogPreferenceController.java | 5 +++-- .../development/OemUnlockPreferenceController.java | 5 +++-- .../development/SelectDebugAppPreferenceController.java | 5 +++-- .../BluetoothCodecDialogPreferenceController.java | 5 +++-- .../bluetooth/BluetoothHDAudioPreferenceController.java | 5 +++-- .../GraphicsDriverEnableAngleAsSystemDriverController.java | 7 ++++--- 22 files changed, 59 insertions(+), 47 deletions(-) diff --git a/src/com/android/settings/development/AdbPreferenceController.java b/src/com/android/settings/development/AdbPreferenceController.java index 468c5bdd5c9..629dea17149 100644 --- a/src/com/android/settings/development/AdbPreferenceController.java +++ b/src/com/android/settings/development/AdbPreferenceController.java @@ -28,9 +28,10 @@ import com.android.settingslib.development.AbstractEnableAdbPreferenceController public class AdbPreferenceController extends AbstractEnableAdbPreferenceController implements PreferenceControllerMixin { - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; - public AdbPreferenceController(Context context, DevelopmentSettingsDashboardFragment fragment) { + public AdbPreferenceController(Context context, + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/BackAnimationPreferenceController.java b/src/com/android/settings/development/BackAnimationPreferenceController.java index 09af27a8303..f87ee09ef4d 100644 --- a/src/com/android/settings/development/BackAnimationPreferenceController.java +++ b/src/com/android/settings/development/BackAnimationPreferenceController.java @@ -40,7 +40,7 @@ public class BackAnimationPreferenceController extends DeveloperOptionsPreferenc private static final int SETTING_VALUE_OFF = 0; private static final int SETTING_VALUE_ON = 1; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; @VisibleForTesting BackAnimationPreferenceController(Context context) { diff --git a/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java b/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java index b43303befc9..f460b9e33fe 100644 --- a/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java +++ b/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java @@ -21,6 +21,7 @@ import static com.android.settings.development.BluetoothLeAudioHwOffloadPreferen import android.content.Context; import android.os.SystemProperties; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -32,7 +33,7 @@ public class BluetoothA2dpHwOffloadPreferenceController extends DeveloperOptions implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { private static final String PREFERENCE_KEY = "bluetooth_disable_a2dp_hw_offload"; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; static final String A2DP_OFFLOAD_DISABLED_PROPERTY = "persist.bluetooth.a2dp_offload.disabled"; static final String A2DP_OFFLOAD_SUPPORTED_PROPERTY = "ro.bluetooth.a2dp_offload.supported"; @@ -41,7 +42,7 @@ public class BluetoothA2dpHwOffloadPreferenceController extends DeveloperOptions boolean mChanged = false; public BluetoothA2dpHwOffloadPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java index 51533e7d47e..4e9bd1d63ee 100644 --- a/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java +++ b/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java @@ -49,12 +49,8 @@ public class BluetoothLeAudioAllowListPreferenceController BluetoothAdapter mBluetoothAdapter; @VisibleForTesting boolean mLeAudioConnectionByDefault; - private final DevelopmentSettingsDashboardFragment mFragment; - - public BluetoothLeAudioAllowListPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + public BluetoothLeAudioAllowListPreferenceController(Context context) { super(context); - mFragment = fragment; mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter(); mLeAudioConnectionByDefault = SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true); diff --git a/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java index 91b9eb8ec77..1890fbd9818 100644 --- a/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java +++ b/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java @@ -24,6 +24,7 @@ import android.bluetooth.BluetoothStatusCodes; import android.content.Context; import android.os.SystemProperties; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -39,7 +40,7 @@ public class BluetoothLeAudioHwOffloadPreferenceController implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin { private static final String PREFERENCE_KEY = "bluetooth_disable_le_audio_hw_offload"; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; static final String LE_AUDIO_OFFLOAD_DISABLED_PROPERTY = "persist.bluetooth.leaudio_offload.disabled"; @@ -53,7 +54,7 @@ public class BluetoothLeAudioHwOffloadPreferenceController boolean mChanged = false; public BluetoothLeAudioHwOffloadPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter(); diff --git a/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java index 2a544f263e3..c3b491a4eb7 100644 --- a/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java +++ b/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java @@ -23,6 +23,7 @@ import android.content.Context; import android.os.SystemProperties; import android.sysprop.BluetoothProperties; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -45,7 +46,7 @@ public class BluetoothLeAudioPreferenceController static final String LE_AUDIO_SWITCHER_DISABLED_PROPERTY = "persist.bluetooth.leaudio_switcher.disabled"; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; @VisibleForTesting BluetoothAdapter mBluetoothAdapter; @@ -54,7 +55,7 @@ public class BluetoothLeAudioPreferenceController boolean mChanged = false; public BluetoothLeAudioPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter(); diff --git a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java index 1ef4810fb16..9e058913de3 100644 --- a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java +++ b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java @@ -22,6 +22,7 @@ import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.ListPreference; import androidx.preference.Preference; @@ -42,10 +43,10 @@ public class BluetoothSnoopLogPreferenceController extends DeveloperOptionsPrefe private final String[] mListValues; private final String[] mListEntries; - private DevelopmentSettingsDashboardFragment mFragment; + @Nullable private DevelopmentSettingsDashboardFragment mFragment; public BluetoothSnoopLogPreferenceController( - Context context, DevelopmentSettingsDashboardFragment fragment) { + Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mListValues = context.getResources() .getStringArray(com.android.settingslib.R.array.bt_hci_snoop_log_values); diff --git a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java index 69e6c690e6e..d1e797d46bb 100644 --- a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java +++ b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java @@ -25,6 +25,7 @@ import android.sysprop.AdbProperties; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -40,10 +41,10 @@ public class ClearAdbKeysPreferenceController extends DeveloperOptionsPreference private static final String CLEAR_ADB_KEYS = "clear_adb_keys"; private final IAdbManager mAdbManager; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public ClearAdbKeysPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; diff --git a/src/com/android/settings/development/DesktopModePreferenceController.java b/src/com/android/settings/development/DesktopModePreferenceController.java index dcd0c14033d..c6b23975b33 100644 --- a/src/com/android/settings/development/DesktopModePreferenceController.java +++ b/src/com/android/settings/development/DesktopModePreferenceController.java @@ -22,6 +22,7 @@ import android.content.Context; import android.os.Build; import android.provider.Settings; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -41,10 +42,10 @@ public class DesktopModePreferenceController extends DeveloperOptionsPreferenceC @VisibleForTesting static final int SETTING_VALUE_ON = 1; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public DesktopModePreferenceController( - Context context, DevelopmentSettingsDashboardFragment fragment) { + Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/DevelopmentMemtagPagePreferenceController.java b/src/com/android/settings/development/DevelopmentMemtagPagePreferenceController.java index 240079b3255..f80ebc602e3 100644 --- a/src/com/android/settings/development/DevelopmentMemtagPagePreferenceController.java +++ b/src/com/android/settings/development/DevelopmentMemtagPagePreferenceController.java @@ -26,8 +26,7 @@ public class DevelopmentMemtagPagePreferenceController extends DeveloperOptionsP implements PreferenceControllerMixin { private static final String KEY_DEVELOPMENT_MEMTAG_PAGE = "development_memtag_page"; - public DevelopmentMemtagPagePreferenceController( - Context context, DevelopmentSettingsDashboardFragment fragment) { + public DevelopmentMemtagPagePreferenceController(Context context) { super(context); } diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java index 65a23eb399f..38cb6c72e96 100644 --- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java +++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java @@ -655,7 +655,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra controllers.add(new BugReportPreferenceController(context)); controllers.add(new BugReportHandlerPreferenceController(context)); controllers.add(new SystemServerHeapDumpPreferenceController(context)); - controllers.add(new DevelopmentMemtagPagePreferenceController(context, fragment)); + controllers.add(new DevelopmentMemtagPagePreferenceController(context)); controllers.add(new LocalBackupPasswordPreferenceController(context)); controllers.add(new StayAwakePreferenceController(context, lifecycle)); controllers.add(new HdcpCheckingPreferenceController(context)); @@ -706,7 +706,7 @@ public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFra controllers.add(new BluetoothLeAudioPreferenceController(context, fragment)); controllers.add(new BluetoothLeAudioModePreferenceController(context, fragment)); controllers.add(new BluetoothLeAudioDeviceDetailsPreferenceController(context)); - controllers.add(new BluetoothLeAudioAllowListPreferenceController(context, fragment)); + controllers.add(new BluetoothLeAudioAllowListPreferenceController(context)); controllers.add(new BluetoothA2dpHwOffloadPreferenceController(context, fragment)); controllers.add(new BluetoothLeAudioHwOffloadPreferenceController(context, fragment)); controllers.add(new BluetoothMaxConnectedAudioDevicesPreferenceController(context)); diff --git a/src/com/android/settings/development/Enable16kPagesPreferenceController.java b/src/com/android/settings/development/Enable16kPagesPreferenceController.java index 0572b1b662d..b782788b5fe 100644 --- a/src/com/android/settings/development/Enable16kPagesPreferenceController.java +++ b/src/com/android/settings/development/Enable16kPagesPreferenceController.java @@ -34,6 +34,7 @@ import android.widget.ProgressBar; import android.widget.Toast; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.appcompat.app.AlertDialog; import androidx.core.content.ContextCompat; @@ -86,7 +87,7 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen private static final int OFFSET_TO_FILE_NAME = 30; public static final String EXPERIMENTAL_UPDATE_TITLE = "Android 16K Kernel Experimental Update"; - private @NonNull DevelopmentSettingsDashboardFragment mFragment; + private @Nullable DevelopmentSettingsDashboardFragment mFragment; private boolean mEnable16k; private final ListeningExecutorService mExecutorService = @@ -95,7 +96,7 @@ public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferen private AlertDialog mProgressDialog; public Enable16kPagesPreferenceController( - @NonNull Context context, @NonNull DevelopmentSettingsDashboardFragment fragment) { + @NonNull Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); this.mFragment = fragment; mEnable16k = Enable16kUtils.isUsing16kbPages(); diff --git a/src/com/android/settings/development/FreeformWindowsPreferenceController.java b/src/com/android/settings/development/FreeformWindowsPreferenceController.java index 872c046545a..7cf7738f7b5 100644 --- a/src/com/android/settings/development/FreeformWindowsPreferenceController.java +++ b/src/com/android/settings/development/FreeformWindowsPreferenceController.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.Build; import android.provider.Settings; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -39,10 +40,10 @@ public class FreeformWindowsPreferenceController extends DeveloperOptionsPrefere @VisibleForTesting static final int SETTING_VALUE_ON = 1; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public FreeformWindowsPreferenceController( - Context context, DevelopmentSettingsDashboardFragment fragment) { + Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/LogPersistPreferenceController.java b/src/com/android/settings/development/LogPersistPreferenceController.java index 1386cec3706..66c128c1b8d 100644 --- a/src/com/android/settings/development/LogPersistPreferenceController.java +++ b/src/com/android/settings/development/LogPersistPreferenceController.java @@ -28,10 +28,10 @@ import com.android.settingslib.development.AbstractLogpersistPreferenceControlle public class LogPersistPreferenceController extends AbstractLogpersistPreferenceController implements PreferenceControllerMixin { - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public LogPersistPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment, Lifecycle lifecycle) { + @Nullable DevelopmentSettingsDashboardFragment fragment, Lifecycle lifecycle) { super(context, lifecycle); mFragment = fragment; diff --git a/src/com/android/settings/development/MockLocationAppPreferenceController.java b/src/com/android/settings/development/MockLocationAppPreferenceController.java index d927c313d3b..51753fe7a4c 100644 --- a/src/com/android/settings/development/MockLocationAppPreferenceController.java +++ b/src/com/android/settings/development/MockLocationAppPreferenceController.java @@ -30,6 +30,7 @@ import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -45,12 +46,12 @@ public class MockLocationAppPreferenceController extends DeveloperOptionsPrefere private static final String MOCK_LOCATION_APP_KEY = "mock_location_app"; private static final int[] MOCK_LOCATION_APP_OPS = new int[]{AppOpsManager.OP_MOCK_LOCATION}; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; private final AppOpsManager mAppsOpsManager; private final PackageManager mPackageManager; public MockLocationAppPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; diff --git a/src/com/android/settings/development/NfcSnoopLogPreferenceController.java b/src/com/android/settings/development/NfcSnoopLogPreferenceController.java index 01fbb92ea7a..ce9d04d423f 100644 --- a/src/com/android/settings/development/NfcSnoopLogPreferenceController.java +++ b/src/com/android/settings/development/NfcSnoopLogPreferenceController.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.SystemProperties; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -45,10 +46,10 @@ public class NfcSnoopLogPreferenceController extends @VisibleForTesting boolean mChanged = false; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public NfcSnoopLogPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java b/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java index d0f9d9ee0ef..2644bbd0160 100644 --- a/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java +++ b/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java @@ -20,6 +20,7 @@ import android.content.Context; import android.os.SystemProperties; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -45,10 +46,10 @@ public class NfcVerboseVendorLogPreferenceController @VisibleForTesting boolean mChanged = false; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; public NfcVerboseVendorLogPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; } diff --git a/src/com/android/settings/development/OemUnlockPreferenceController.java b/src/com/android/settings/development/OemUnlockPreferenceController.java index 2542a11ca2d..3053defac86 100644 --- a/src/com/android/settings/development/OemUnlockPreferenceController.java +++ b/src/com/android/settings/development/OemUnlockPreferenceController.java @@ -31,6 +31,7 @@ import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; @@ -54,11 +55,11 @@ public class OemUnlockPreferenceController extends DeveloperOptionsPreferenceCon private final UserManager mUserManager; private final TelephonyManager mTelephonyManager; private final Activity mActivity; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; private RestrictedSwitchPreference mPreference; public OemUnlockPreferenceController(Context context, Activity activity, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); if (!TextUtils.equals(SystemProperties.get(OEM_UNLOCK_SUPPORTED_KEY, UNSUPPORTED), diff --git a/src/com/android/settings/development/SelectDebugAppPreferenceController.java b/src/com/android/settings/development/SelectDebugAppPreferenceController.java index d691149526e..df524c45c31 100644 --- a/src/com/android/settings/development/SelectDebugAppPreferenceController.java +++ b/src/com/android/settings/development/SelectDebugAppPreferenceController.java @@ -28,6 +28,7 @@ import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; @@ -40,11 +41,11 @@ public class SelectDebugAppPreferenceController extends DeveloperOptionsPreferen private static final String DEBUG_APP_KEY = "debug_app"; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; private final PackageManager mPackageManager; public SelectDebugAppPreferenceController(Context context, - DevelopmentSettingsDashboardFragment fragment) { + @Nullable DevelopmentSettingsDashboardFragment fragment) { super(context); mFragment = fragment; mPackageManager = mContext.getPackageManager(); diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java index b7b557464fb..6b29b8e85f3 100644 --- a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java +++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java @@ -22,6 +22,7 @@ import android.bluetooth.BluetoothDevice; import android.content.Context; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.PreferenceScreen; @@ -41,11 +42,11 @@ public class BluetoothCodecDialogPreferenceController extends private static final String KEY = "bluetooth_audio_codec_settings"; private static final String TAG = "BtCodecCtr"; - private final Callback mCallback; + @Nullable private final Callback mCallback; public BluetoothCodecDialogPreferenceController(Context context, Lifecycle lifecycle, BluetoothA2dpConfigStore store, - Callback callback) { + @Nullable Callback callback) { super(context, lifecycle, store); mCallback = callback; } diff --git a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java index feaa36e306f..878ddb66736 100644 --- a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java +++ b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java @@ -21,6 +21,7 @@ import android.bluetooth.BluetoothDevice; import android.content.Context; import android.util.Log; +import androidx.annotation.Nullable; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -36,11 +37,11 @@ public class BluetoothHDAudioPreferenceController extends AbstractBluetoothPrefe private static final String KEY = "bluetooth_hd_audio_settings"; private static final String TAG = "BtHDAudioCtr"; - private final Callback mCallback; + @Nullable private final Callback mCallback; public BluetoothHDAudioPreferenceController(Context context, Lifecycle lifecycle, BluetoothA2dpConfigStore store, - Callback callback) { + @Nullable Callback callback) { super(context, lifecycle, store); mCallback = callback; } diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java index b107501e9c1..e7ee9e1c37e 100644 --- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java +++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java @@ -23,6 +23,7 @@ import android.os.SystemProperties; import android.text.TextUtils; import android.util.Log; +import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import androidx.preference.TwoStatePreference; @@ -45,7 +46,7 @@ public class GraphicsDriverEnableAngleAsSystemDriverController private static final String ENABLE_ANELE_AS_SYSTEM_DRIVER_KEY = "enable_angle_as_system_driver"; - private final DevelopmentSettingsDashboardFragment mFragment; + @Nullable private final DevelopmentSettingsDashboardFragment mFragment; private final GraphicsDriverSystemPropertiesWrapper mSystemProperties; @@ -83,7 +84,7 @@ public class GraphicsDriverEnableAngleAsSystemDriverController } public GraphicsDriverEnableAngleAsSystemDriverController( - Context context, DevelopmentSettingsDashboardFragment fragment) { + Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) { this(context, fragment, new Injector()); } @@ -96,7 +97,7 @@ public class GraphicsDriverEnableAngleAsSystemDriverController @VisibleForTesting GraphicsDriverEnableAngleAsSystemDriverController( - Context context, DevelopmentSettingsDashboardFragment fragment, Injector injector) { + Context context, @Nullable DevelopmentSettingsDashboardFragment fragment, Injector injector) { super(context); mFragment = fragment; mSystemProperties = injector.createSystemPropertiesWrapper(); From 72a2801b24adbcb7b74907e4a34329e4777a39d7 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Wed, 12 Jun 2024 10:06:51 +0000 Subject: [PATCH 7/8] Increase char limit on pointer fill strings for i18n Fix: 346722468 Test: Manual Flag: com.android.systemui.enable_vector_cursor_a11y_settings Change-Id: I4c044905a6d0e72404acfa6cdf1bd53d8537a8b6 --- res/values/strings.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 1f5c11d82b3..3390c8b91c9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -4458,15 +4458,15 @@ Pointer speed Pointer fill style - + Change pointer fill style to black - + Change pointer fill style to green - + Change pointer fill style to yellow - + Change pointer fill style to pink - + Change pointer fill style to blue Learn touchpad gestures From ef5e760f7e1c37374a189c018e09d09fe6411ee6 Mon Sep 17 00:00:00 2001 From: Yining Liu Date: Tue, 11 Jun 2024 14:18:16 +0000 Subject: [PATCH 8/8] Update Settings Page for Avalanche Suppression/Adaptive Notifications Update the Settings Page for the Avalanche visual and auditory Suppression - now called adaptive notifications. Bug: 270456865 Fixes: 346528029 Fixes: 345722296 Test: PoliteNotificationPreferenceControllerTest Flag: com.android.server.notification.polite_notifications Change-Id: I97fcda4b8a8795ed05044e325cf038ea31f99ae9 --- res/values/strings.xml | 6 ++-- res/xml/configure_notification_settings.xml | 35 +++++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 1f5c11d82b3..7d240d6ef44 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -8723,9 +8723,9 @@ More settings are available inside this app - Cooldown - Use Cooldown - When you get many notifications within a short time span, your device will minimize sound interruptions and pop-ups on the screen. Calls, alarms, and priority conversations will still alert as notmal, and all delivered notifications are easy to find in the Shade. + Adaptive Notifications + Use adaptive notifications + When you get many notifications within a short time, your phone will lower volume and minimize pop-ups on screen for up to two minutes. Calls, alarms, and priority conversations still vibrate, make a sound, or show up on the screen, and all notifications are easy to find when you pull down from the top of the screen. Apply to work profiles Apply to work profile apps diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml index 7fcf85e17f7..b673a0839b0 100644 --- a/res/xml/configure_notification_settings.xml +++ b/res/xml/configure_notification_settings.xml @@ -116,9 +116,19 @@ + + + + -