From d491d7a46f9c82875546333832dfb89a9b1273f4 Mon Sep 17 00:00:00 2001 From: ronish Date: Fri, 13 May 2022 13:42:45 +0000 Subject: [PATCH 01/16] Fix the intent<->activity mapping for wallpaper intent Change-Id: Iea123dedc1b73c2f5fe7afce6bfc35c6a93481e2 --- AndroidManifest.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 01645f23de8..c846781fe7e 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1108,10 +1108,6 @@ android:label="@string/wallpaper_settings_fragment_title" android:icon="@drawable/ic_wallpaper" android:exported="true"> - - - - - - + + - - + + + + + + + android:resource="@string/wallpaper_suggestion_title"/> Date: Wed, 25 May 2022 09:37:10 +0800 Subject: [PATCH 02/16] Fix unable to toggle off Pause app activity The "Pause app activity if unused" SwitchPreference under App info page. Currently, the preference controller updates the UI state in the onOpChanged(), which is unnecessary and is called in another non-UI thread. Not updating state in onOpChanged() to fix. Note: This controller implements the LifecycleObserver to handle lifecycle related logic, but it's actually a no-op before change If9e48e44267de8e89a5e8f45d256719130936320. So it used to work fine without the OnOpChangedListener, we can remove it now. Fix: 227762370 Test: manual Change-Id: I33f1f55a706407d7b409c3544f9889c45855b34d --- ...HibernationSwitchPreferenceController.java | 28 +------------------ 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java index f0b332904de..e3c577b189e 100644 --- a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java @@ -33,13 +33,9 @@ import android.content.Context; import android.content.pm.PackageManager; import android.permission.PermissionControllerManager; import android.provider.DeviceConfig; -import android.text.TextUtils; import android.util.Slog; import androidx.annotation.NonNull; -import androidx.lifecycle.Lifecycle; -import androidx.lifecycle.LifecycleObserver; -import androidx.lifecycle.OnLifecycleEvent; import androidx.preference.Preference; import androidx.preference.SwitchPreference; @@ -49,8 +45,7 @@ import com.google.common.annotations.VisibleForTesting; * A PreferenceController handling the logic for exempting hibernation of app */ public final class HibernationSwitchPreferenceController extends AppInfoPreferenceControllerBase - implements LifecycleObserver, AppOpsManager.OnOpChangedListener, - Preference.OnPreferenceChangeListener { + implements Preference.OnPreferenceChangeListener { private static final String TAG = "HibernationSwitchPrefController"; private String mPackageName; private final AppOpsManager mAppOpsManager; @@ -69,19 +64,6 @@ public final class HibernationSwitchPreferenceController extends AppInfoPreferen mPermissionControllerManager = context.getSystemService(PermissionControllerManager.class); } - @OnLifecycleEvent(Lifecycle.Event.ON_RESUME) - public void onResume() { - if (mIsPackageSet) { - mAppOpsManager.startWatchingMode( - OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED, mPackageName, this); - } - } - - @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE) - public void onPause() { - mAppOpsManager.stopWatchingMode(this); - } - @Override public int getAvailabilityStatus() { return isHibernationEnabled() && mIsPackageSet ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; @@ -148,14 +130,6 @@ public final class HibernationSwitchPreferenceController extends AppInfoPreferen return mode == MODE_DEFAULT ? mIsPackageExemptByDefault : mode != MODE_ALLOWED; } - @Override - public void onOpChanged(String op, String packageName) { - if (OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED.equals(op) - && TextUtils.equals(mPackageName, packageName)) { - updateState(mPreference); - } - } - @Override public boolean onPreferenceChange(Preference preference, Object isChecked) { try { From 948f51209812f541b2bcbeeb6c027a2e0462a7e5 Mon Sep 17 00:00:00 2001 From: SongFerngWang Date: Tue, 24 May 2022 18:21:59 +0800 Subject: [PATCH 03/16] Changing the condition since the esim may be removable The condition whether the slot is esim slot should use getIsEuicc api since the esim may be removable. Bug: 233338345 Test: atest UiccSlotUtilTest Change-Id: I47dc068e57a0faa7f7ce85af7933a48caa2c93e4 --- .../settings/network/EnableMultiSimSidecar.java | 3 ++- src/com/android/settings/network/UiccSlotUtil.java | 3 ++- .../ToggleSubscriptionDialogActivity.java | 1 + .../sim/receivers/SimSlotChangeHandler.java | 2 +- .../android/settings/network/UiccSlotUtilTest.java | 14 ++++++++++++++ 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/com/android/settings/network/EnableMultiSimSidecar.java b/src/com/android/settings/network/EnableMultiSimSidecar.java index aefd55f00e8..5545a69dd21 100644 --- a/src/com/android/settings/network/EnableMultiSimSidecar.java +++ b/src/com/android/settings/network/EnableMultiSimSidecar.java @@ -190,7 +190,8 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar { Set activeRemovableLogicalSlotIds = new ArraySet<>(); for (UiccSlotInfo info : infos) { for (UiccPortInfo portInfo :info.getPorts()) { - if (info != null && portInfo.isActive() && info.isRemovable()) { + if (info != null && portInfo.isActive() && info.isRemovable() + && !info.getIsEuicc()) { activeRemovableLogicalSlotIds.add(portInfo.getLogicalSlotIndex()); } } diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java index 813b9d6826d..4c8a7d5f999 100644 --- a/src/com/android/settings/network/UiccSlotUtil.java +++ b/src/com/android/settings/network/UiccSlotUtil.java @@ -193,7 +193,7 @@ public class UiccSlotUtil { if (slotInfo == null) { return false; } - return !slotInfo.isRemovable(); + return slotInfo.getIsEuicc(); }) .findFirst().orElse(-1); @@ -249,6 +249,7 @@ public class UiccSlotUtil { if (slotId == INVALID_PHYSICAL_SLOT_ID) { for (int i = 0; i < slots.length; i++) { if (slots[i].isRemovable() + && !slots[i].getIsEuicc() && !slots[i].getPorts().stream().findFirst().get().isActive() && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_RESTRICTED) { diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java index f5f18b4b9ee..f632a71119d 100644 --- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java +++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java @@ -592,6 +592,7 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc .anyMatch( slot -> slot != null && slot.isRemovable() + && !slot.getIsEuicc() && slot.getPorts().stream().anyMatch( port -> port.isActive()) && slot.getCardStateInfo() diff --git a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java index 4a6b96c1fa3..da3db8b1369 100644 --- a/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java +++ b/src/com/android/settings/sim/receivers/SimSlotChangeHandler.java @@ -294,7 +294,7 @@ public class SimSlotChangeHandler { return null; } for (UiccSlotInfo slotInfo : slotInfos) { - if (slotInfo != null && slotInfo.isRemovable()) { + if (slotInfo != null && slotInfo.isRemovable() && !slotInfo.getIsEuicc()) { return slotInfo; } } diff --git a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java index 2cf984558be..5aa73eaa308 100644 --- a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java +++ b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java @@ -92,6 +92,14 @@ public class UiccSlotUtilTest { assertThat(testSlot).isEqualTo(0); } + @Test + public void getEsimSlotId_twoSimSlotsDeviceAndRemovableEsimIsSlot1_returnTheCorrectEsimSlot() { + when(mTelephonyManager.getUiccSlotsInfo()).thenReturn( + twoSimSlotsDeviceActivePsimActiveRemovableEsim()); + int testSlot = UiccSlotUtil.getEsimSlotId(mContext); + + assertThat(testSlot).isEqualTo(1); + } @Test public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot1_returnTheCorrectEsimSlot() { @@ -729,6 +737,12 @@ public class UiccSlotUtilTest { createUiccSlotInfo(true, false, 1, true)}; } + private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveRemovableEsim() { + return new UiccSlotInfo[]{ + createUiccSlotInfo(false, true, 0, true), + createUiccSlotInfo(true, true, 1, true)}; + } + private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActivePsim() { return new UiccSlotInfo[]{ createUiccSlotInfo(true, false, 0, true), From ea858a6afcea068bf6b42b30a366fa4a6e016eeb Mon Sep 17 00:00:00 2001 From: Amy Hsu Date: Thu, 26 May 2022 11:33:52 +0800 Subject: [PATCH 04/16] [ScreenResolutionController] UI string update Bug: b/230626771 Test: Check the string manually Change-Id: Ic5c8ed146297bf1672e18e078aa8389738584cfb --- res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 2d6d096fbc9..143d7f7edca 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2965,7 +2965,7 @@ 1440p QHD+ - Full resolution uses more of your battery. Switching to full resolution may cause some apps to restart. + Full resolution uses more of your battery. Switching your resolution may cause some apps to restart. Colors From bdda48ebe5a45964f7c04614ca75f22c30567078 Mon Sep 17 00:00:00 2001 From: Hank Sheng Date: Tue, 24 May 2022 11:08:19 +0000 Subject: [PATCH 05/16] Create the glifv4 theme and set to glifv4 theme when the themestring is glifv4. screen shot: https://hsv.googleplex.com/5487921525161984 https://hsv.googleplex.com/4853914928152576 https://hsv.googleplex.com/6492643191160832 https://hsv.googleplex.com/5915886260060160 https://hsv.googleplex.com/6321050657751040 https://hsv.googleplex.com/6222016362315776 Bug: 233036258 Bug: 233032365 Change-Id: If2bb4a82912bfdd18dc17ced11adc59eaf474bed --- res/values-night/themes_suw.xml | 1 + res/values/themes_suw.xml | 38 +++++++++++++++++++ .../android/settings/SetupWizardUtils.java | 9 +++-- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/res/values-night/themes_suw.xml b/res/values-night/themes_suw.xml index dea7b1a5f78..527918b8083 100644 --- a/res/values-night/themes_suw.xml +++ b/res/values-night/themes_suw.xml @@ -21,6 +21,7 @@ + + + + @@ -238,6 +275,7 @@