diff --git a/proguard.flags b/proguard.flags index d1c97f36da5..4ac544a7e47 100644 --- a/proguard.flags +++ b/proguard.flags @@ -6,7 +6,10 @@ -keepattributes Exceptions # Keep all Fragments in this package, which are used by reflection. --keep public class com.android.settings*.** extends androidx.fragment.app.Fragment +# TODO(b/373579455): Evaluate if needs to be kept. +-keep public class com.android.settings*.** extends androidx.fragment.app.Fragment { + void (); +} # Keep all preference controllers needed by slice and DashboardFragment. -keep class * extends com.android.settings.core.BasePreferenceController { @@ -49,7 +52,10 @@ public static ** SEARCH_INDEX_DATA_PROVIDER; public static ** SUMMARY_PROVIDER_FACTORY; } --keep class androidx.core.app.CoreComponentFactory +# TODO(b/373579455): Evaluate if needs to be kept. +-keep class androidx.core.app.CoreComponentFactory { + void (); +} # Keep classes that implements CustomSliceable, which are used by reflection. -keepclasseswithmembers class * implements com.android.settings.slices.CustomSliceable { diff --git a/res/values/strings.xml b/res/values/strings.xml index c5a938e6f18..81584533ced 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -12027,6 +12027,9 @@ + + + Update Do Not Disturb diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java index 26b5c3735c5..6263bc53e94 100644 --- a/src/com/android/settings/biometrics/face/FaceSettings.java +++ b/src/com/android/settings/biometrics/face/FaceSettings.java @@ -246,6 +246,8 @@ public class FaceSettings extends DashboardFragment { final PreferenceCategory category = findPreference(PREF_KEY_USE_FACE_TO_CATEGORY); category.setVisible(true); + use(FaceSettingsKeyguardUnlockPreferenceController.class).setUserId(mUserId); + use(FaceSettingsAppsPreferenceController.class).setUserId(mUserId); } } diff --git a/src/com/android/settings/network/CellularSecurityPreferenceController.java b/src/com/android/settings/network/CellularSecurityPreferenceController.java index 087cfaf840a..b36e35c15c5 100644 --- a/src/com/android/settings/network/CellularSecurityPreferenceController.java +++ b/src/com/android/settings/network/CellularSecurityPreferenceController.java @@ -72,7 +72,6 @@ public class CellularSecurityPreferenceController extends BasePreferenceControll @Override public int getAvailabilityStatus() { if (!mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_TELEPHONY) - || !Flags.enableIdentifierDisclosureTransparencyUnsolEvents() || !Flags.enableModemCipherTransparencyUnsolEvents() || !Flags.enableModemCipherTransparency()) { return UNSUPPORTED_ON_DEVICE; diff --git a/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerController.java b/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerController.java index 51d91a48a89..4ff92abaee3 100644 --- a/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerController.java +++ b/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerController.java @@ -60,8 +60,7 @@ public class CellularSecurityNotificationsDividerController extends @Override public int getAvailabilityStatus() { - if (!Flags.enableIdentifierDisclosureTransparencyUnsolEvents() - || !Flags.enableModemCipherTransparencyUnsolEvents() + if (!Flags.enableModemCipherTransparencyUnsolEvents() || !Flags.enableModemCipherTransparency()) { return UNSUPPORTED_ON_DEVICE; } diff --git a/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceController.java b/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceController.java index 17aca091b73..b7325260e2e 100644 --- a/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceController.java +++ b/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceController.java @@ -178,8 +178,7 @@ public class CellularSecurityNotificationsPreferenceController extends } private boolean areFlagsEnabled() { - if (!Flags.enableIdentifierDisclosureTransparencyUnsolEvents() - || !Flags.enableModemCipherTransparencyUnsolEvents() + if (!Flags.enableModemCipherTransparencyUnsolEvents() || !Flags.enableModemCipherTransparency()) { return false; } diff --git a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java index ed81e3bdf7d..e2c6412ba57 100644 --- a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java +++ b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java @@ -95,7 +95,13 @@ public class SatelliteSettingPreferenceController extends return UNSUPPORTED_ON_DEVICE; } - return mIsCarrierSatelliteAttachSupported ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; + int availabilityStatus = mIsCarrierSatelliteAttachSupported + ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; + if (availabilityStatus == AVAILABLE && mIsCarrierRoamingNtnConnectedTypeManual + && !mIsSatelliteSmsAvailableForManualType) { + availabilityStatus = CONDITIONALLY_UNAVAILABLE; + } + return availabilityStatus; } @Override diff --git a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java index 8448a8e752a..541c1051913 100644 --- a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java +++ b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java @@ -123,7 +123,7 @@ public class NotificationAccessConfirmationActivity extends Activity NLSIntent, /* flags */ 0, mUserId); boolean hasNLSIntentFilter = false; for (ResolveInfo service : matchedServiceList) { - if (service.serviceInfo.packageName.equals(mComponentName.getPackageName())) { + if (service.serviceInfo.getComponentName().equals(mComponentName)) { if (!requiredPermission.equals(service.serviceInfo.permission)) { Slog.e(LOG_TAG, "Service " + mComponentName + " lacks permission " + requiredPermission); @@ -157,7 +157,7 @@ public class NotificationAccessConfirmationActivity extends Activity .installContent(p); // Consistent with the permission dialog // Used instead of p.mCancelable as that is only honored for AlertDialog - getWindow().setCloseOnTouchOutside(false); + getWindow().setCloseOnTouchOutside(false); } private void onAllow() { diff --git a/tests/unit/src/com/android/settings/network/CellularSecurityPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/CellularSecurityPreferenceControllerTest.java index 03f6bcdb238..3e6ca5091c8 100644 --- a/tests/unit/src/com/android/settings/network/CellularSecurityPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/CellularSecurityPreferenceControllerTest.java @@ -134,28 +134,11 @@ public final class CellularSecurityPreferenceControllerTest { assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } - @Test - public void getAvailabilityStatus_flagsDisabled_shouldReturnFalse() { - // Both flags disabled - enableFlags(false); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - - // One flag is disabled - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - } - private void enableFlags(boolean enabled) { if (enabled) { - mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.enableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } else { mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } } diff --git a/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerControllerTest.java index 998f82ef9eb..9bd25f4fcf3 100644 --- a/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerControllerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsDividerControllerTest.java @@ -111,28 +111,12 @@ public class CellularSecurityNotificationsDividerControllerTest { assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } - @Test - public void getAvailabilityStatus_flagsDisabled_shouldReturnFalse() { - // Both flags disabled - enableFlags(false); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - - // One flag is disabled - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - } - private void enableFlags(boolean enabled) { if (enabled) { mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.enableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } else { mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } } diff --git a/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceControllerTest.java index c520918c665..7d9ff9e73b2 100644 --- a/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceControllerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/CellularSecurityNotificationsPreferenceControllerTest.java @@ -112,19 +112,6 @@ public class CellularSecurityNotificationsPreferenceControllerTest { assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); } - @Test - public void getAvailabilityStatus_flagsDisabled_shouldReturnFalse() { - // All flags disabled - enableFlags(false); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - - // One flag is disabled - enableFlags(true); - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); - assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE); - } - @Test public void setChecked_flagsDisabled_shouldReturnFalse() { // Flags disabled @@ -230,13 +217,9 @@ public class CellularSecurityNotificationsPreferenceControllerTest { private void enableFlags(boolean enabled) { if (enabled) { mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.enableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } else { mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY_UNSOL_EVENTS); - mSetFlagsRule.disableFlags( - Flags.FLAG_ENABLE_IDENTIFIER_DISCLOSURE_TRANSPARENCY_UNSOL_EVENTS); mSetFlagsRule.disableFlags(Flags.FLAG_ENABLE_MODEM_CIPHER_TRANSPARENCY); } }