summaryrefslogtreecommitdiff
path: root/tests/testables/src/android/testing/TestableSettingsProvider.java
diff options
context:
space:
mode:
authorChris Wren <cwren@google.com>2017-05-10 15:08:36 -0400
committerChris Wren <cwren@google.com>2017-05-11 17:17:15 -0400
commit629c20c9991ab8da3732ba554794fffd7922f185 (patch)
treed89cec1fc3904207928bd60aafa777fb345398e4 /tests/testables/src/android/testing/TestableSettingsProvider.java
parent6307ac52e53cc25949c5d2e26015702cbc45899b (diff)
extend TestableSettingsProvider to multiuser
Bug: 36021111 Test: runtest -x frameworks/base/tests/testables Change-Id: I13dc2b33a39a01954034fa3d69ae9645d23c3304
Diffstat (limited to 'tests/testables/src/android/testing/TestableSettingsProvider.java')
-rw-r--r--tests/testables/src/android/testing/TestableSettingsProvider.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/tests/testables/src/android/testing/TestableSettingsProvider.java b/tests/testables/src/android/testing/TestableSettingsProvider.java
index 13056cf677d6..fe97bca1ef41 100644
--- a/tests/testables/src/android/testing/TestableSettingsProvider.java
+++ b/tests/testables/src/android/testing/TestableSettingsProvider.java
@@ -18,6 +18,7 @@ import android.content.ContentProviderClient;
import android.content.Context;
import android.os.Bundle;
import android.os.RemoteException;
+import android.os.UserHandle;
import android.provider.Settings;
import android.test.mock.MockContentProvider;
import android.util.Log;
@@ -48,9 +49,10 @@ public class TestableSettingsProvider extends MockContentProvider {
}
void clearValuesAndCheck(Context context) {
- mValues.put(key("global", MY_UNIQUE_KEY), MY_UNIQUE_KEY);
- mValues.put(key("secure", MY_UNIQUE_KEY), MY_UNIQUE_KEY);
- mValues.put(key("system", MY_UNIQUE_KEY), MY_UNIQUE_KEY);
+ int userId = UserHandle.myUserId();
+ mValues.put(key("global", MY_UNIQUE_KEY, userId), MY_UNIQUE_KEY);
+ mValues.put(key("secure", MY_UNIQUE_KEY, userId), MY_UNIQUE_KEY);
+ mValues.put(key("system", MY_UNIQUE_KEY, userId), MY_UNIQUE_KEY);
// Verify that if any test is using TestableContext, they all have the correct settings
// provider.
@@ -66,11 +68,12 @@ public class TestableSettingsProvider extends MockContentProvider {
public Bundle call(String method, String arg, Bundle extras) {
// Methods are "GET_system", "GET_global", "PUT_secure", etc.
+ final int userId = extras.getInt(Settings.CALL_METHOD_USER_KEY, 0);
final String[] commands = method.split("_", 2);
final String op = commands[0];
final String table = commands[1];
- String k = key(table, arg);
+ String k = key(table, arg, userId);
String value;
Bundle out = new Bundle();
switch (op) {
@@ -103,8 +106,13 @@ public class TestableSettingsProvider extends MockContentProvider {
return out;
}
- private static String key(String table, String key) {
- return table + "_" + key;
+ private static String key(String table, String key, int userId) {
+ if ("global".equals(table)) {
+ return table + "_" + key;
+ } else {
+ return table + "_" + userId + "_" + key;
+ }
+
}
/**