From e4ebee595d948cac784950eb04e3816e1dd39036 Mon Sep 17 00:00:00 2001 From: Fan Wu Date: Fri, 19 Jan 2024 11:51:47 +0800 Subject: [PATCH] Update ShadowSecureSettings to extend from robolectric library Bug: 320820008 Test: atest SettingsRoboTests Change-Id: I278b2013e3876c461beedce7c29189df63375171 --- .../shadow/ShadowSecureSettings.java | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java index f2099420d63..d7731484658 100644 --- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java +++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java @@ -16,6 +16,8 @@ package com.android.settings.testutils.shadow; +import static android.provider.Settings.DEFAULT_OVERRIDEABLE_BY_RESTORE; + import android.content.ContentResolver; import android.provider.Settings; @@ -24,12 +26,13 @@ import com.google.common.collect.Table; import org.robolectric.annotation.Implementation; import org.robolectric.annotation.Implements; +import org.robolectric.shadows.ShadowSettings; import java.util.Map; import java.util.WeakHashMap; @Implements(Settings.Secure.class) -public class ShadowSecureSettings { +public class ShadowSecureSettings extends ShadowSettings.ShadowSecure { private static final Map> sUserDataMap = new WeakHashMap<>(); @@ -48,6 +51,16 @@ public class ShadowSecureSettings { } } + /** + * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure + * overrides this API. + */ + @Implementation + public static boolean putString(ContentResolver resolver, String name, String value) { + return putStringForUser(resolver, name, value, null, false, + resolver.getUserId(), DEFAULT_OVERRIDEABLE_BY_RESTORE); + } + @Implementation public static String getStringForUser(ContentResolver resolver, String name, int userHandle) { final Table userTable = getUserTable(resolver); @@ -56,6 +69,15 @@ public class ShadowSecureSettings { } } + /** + * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure + * overrides this API. + */ + @Implementation + public static boolean putInt(ContentResolver resolver, String name, int value) { + return putIntForUser(resolver, name, value, resolver.getUserId()); + } + @Implementation public static boolean putIntForUser(ContentResolver resolver, String name, int value, int userHandle) { @@ -66,6 +88,15 @@ public class ShadowSecureSettings { } } + /** + * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure + * overrides this API. + */ + @Implementation + public static int getInt(ContentResolver resolver, String name, int def) { + return getIntForUser(resolver, name, def, resolver.getUserId()); + } + @Implementation public static int getIntForUser(ContentResolver resolver, String name, int def, int userHandle) {