aboutsummaryrefslogtreecommitdiff
path: root/tests/src/com/android/providers/contacts/ContactsActor.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/providers/contacts/ContactsActor.java')
-rw-r--r--tests/src/com/android/providers/contacts/ContactsActor.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/src/com/android/providers/contacts/ContactsActor.java b/tests/src/com/android/providers/contacts/ContactsActor.java
index e3c606e2..0d7d9b3b 100644
--- a/tests/src/com/android/providers/contacts/ContactsActor.java
+++ b/tests/src/com/android/providers/contacts/ContactsActor.java
@@ -16,6 +16,10 @@
package com.android.providers.contacts;
+import static android.content.pm.UserProperties.SHOW_IN_LAUNCHER_WITH_PARENT;
+import static com.android.providers.contacts.ContactsActor.MockUserManager.CLONE_PROFILE_USER;
+import static com.android.providers.contacts.ContactsActor.MockUserManager.PRIMARY_USER;
+
import static org.mockito.Mockito.when;
import android.accounts.Account;
@@ -25,6 +29,7 @@ import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorException;
import android.accounts.OnAccountsUpdateListener;
import android.accounts.OperationCanceledException;
+import android.annotation.NonNull;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.content.ContentUris;
@@ -37,6 +42,7 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.ProviderInfo;
import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.database.Cursor;
@@ -170,6 +176,8 @@ public class ContactsActor {
public static final UserInfo CORP_USER = createUserInfo("corp", 10, 0,
UserInfo.FLAG_MANAGED_PROFILE);
public static final UserInfo SECONDARY_USER = createUserInfo("2nd", 11, 11, 0);
+ public static final UserInfo CLONE_PROFILE_USER = createUserInfo("clone", 12, 0,
+ UserInfo.FLAG_PROFILE);
/** "My" user. Set it to change the current user. */
public int myUser = DEFAULT_USER_ID;
@@ -253,6 +261,18 @@ public class ContactsActor {
public boolean isUserRunning(int userId) {
return true;
}
+
+ @Override
+ public UserProperties getUserProperties(@NonNull UserHandle userHandle) {
+ if (CLONE_PROFILE_USER.getUserHandle().equals(userHandle)) {
+ return new UserProperties.Builder()
+ .setUseParentsContacts(true)
+ .setShowInLauncher(SHOW_IN_LAUNCHER_WITH_PARENT)
+ .setStartWithParent(true)
+ .build();
+ }
+ return new UserProperties.Builder().build();
+ }
}
private MockTelephonyManager mMockTelephonyManager;
@@ -411,6 +431,15 @@ public class ContactsActor {
}
@Override
+ public UserHandle getUser() {
+ if (mockUserManager != null &&
+ mockUserManager.getProcessUserId() == CLONE_PROFILE_USER.id) {
+ return CLONE_PROFILE_USER.getUserHandle();
+ }
+ return PRIMARY_USER.getUserHandle();
+ }
+
+ @Override
public void sendBroadcast(Intent intent, String receiverPermission) {
// Ignore.
}