aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Biggers <ebiggers@google.com>2023-11-22 20:18:27 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-11-22 20:18:27 +0000
commit24eaeb0b76d918fe959dc7cad1bb5cef722c1231 (patch)
treea7d987ded1dd3c84ee4c1dc6fdd5044ae677cc67
parent79b1ba261b98ec37c08281724293cbf333ffdd61 (diff)
parent716a6ad61d99dd42183e83ff707650dfd80032ba (diff)
downloadrobolectric-shadows-24eaeb0b76d918fe959dc7cad1bb5cef722c1231.tar.gz
Don't use isUserKeyUnlocked() after Android 14 am: f2847471ea am: 716a6ad61d
Original change: https://android-review.googlesource.com/c/platform/external/robolectric-shadows/+/2843873 Change-Id: Ib38a8db878c8a49ce10e694c25c3e0545802917e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--robolectric/src/test/java/org/robolectric/shadows/ShadowStorageManagerTest.java12
-rw-r--r--shadows/framework/src/main/java/org/robolectric/shadows/ShadowStorageManager.java4
2 files changed, 13 insertions, 3 deletions
diff --git a/robolectric/src/test/java/org/robolectric/shadows/ShadowStorageManagerTest.java b/robolectric/src/test/java/org/robolectric/shadows/ShadowStorageManagerTest.java
index 220317adc..ecc07bd63 100644
--- a/robolectric/src/test/java/org/robolectric/shadows/ShadowStorageManagerTest.java
+++ b/robolectric/src/test/java/org/robolectric/shadows/ShadowStorageManagerTest.java
@@ -2,6 +2,7 @@ package org.robolectric.shadows;
import static android.os.Build.VERSION_CODES.N;
import static android.os.Build.VERSION_CODES.TIRAMISU;
+import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE;
import static com.google.common.truth.Truth.assertThat;
import static org.robolectric.RuntimeEnvironment.application;
import static org.robolectric.Shadows.shadowOf;
@@ -67,10 +68,17 @@ public class ShadowStorageManagerTest {
}
@Test
- @Config(minSdk = N)
+ @Config(minSdk = N, maxSdk = UPSIDE_DOWN_CAKE)
public void isUserKeyUnlocked() {
shadowOf(application.getSystemService(UserManager.class)).setUserUnlocked(true);
- assertThat(StorageManager.isUserKeyUnlocked(0)).isTrue();
+ // Use reflection, as this method is planned to be removed from StorageManager in V.
+ assertThat(
+ (boolean)
+ ReflectionHelpers.callStaticMethod(
+ StorageManager.class,
+ "isUserKeyUnlocked",
+ ReflectionHelpers.ClassParameter.from(int.class, 0)))
+ .isTrue();
}
private StorageVolume buildAndGetStorageVolume(File file, String description) {
diff --git a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStorageManager.java b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStorageManager.java
index f17c6f434..ccdf10d49 100644
--- a/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStorageManager.java
+++ b/shadows/framework/src/main/java/org/robolectric/shadows/ShadowStorageManager.java
@@ -3,6 +3,7 @@ package org.robolectric.shadows;
import static android.os.Build.VERSION_CODES.M;
import static android.os.Build.VERSION_CODES.N;
import static android.os.Build.VERSION_CODES.TIRAMISU;
+import static android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE;
import static org.robolectric.RuntimeEnvironment.application;
import android.os.UserManager;
@@ -100,8 +101,9 @@ public class ShadowStorageManager {
isFileEncryptionSupported = isSupported;
}
+ // Use maxSdk=U, as this method is planned to be removed from StorageManager in V.
@HiddenApi
- @Implementation(minSdk = N)
+ @Implementation(minSdk = N, maxSdk = UPSIDE_DOWN_CAKE)
protected static boolean isUserKeyUnlocked(int userId) {
ShadowUserManager extract = Shadow.extract(application.getSystemService(UserManager.class));
return extract.isUserUnlocked();