diff options
author | Chris Wren <cwren@google.com> | 2017-05-10 15:08:36 -0400 |
---|---|---|
committer | Chris Wren <cwren@google.com> | 2017-05-11 17:17:15 -0400 |
commit | 629c20c9991ab8da3732ba554794fffd7922f185 (patch) | |
tree | d89cec1fc3904207928bd60aafa777fb345398e4 /tests/testables/src/android/testing/TestableSettingsProvider.java | |
parent | 6307ac52e53cc25949c5d2e26015702cbc45899b (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.java | 20 |
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; + } + } /** |