RESTRICT AUTOMERGE Refactor device policy resource APIs to a separate class
Also moved constant definitions from DPM to DocsUI
Bug: 217388602
Bug: 218875965
Test: atest EnterpriseResourcesTests
Test: manual
Change-Id: I08c2087fd320b0aa3761699136377969df75f598
diff --git a/src/com/android/documentsui/DevicePolicyResources.java b/src/com/android/documentsui/DevicePolicyResources.java
new file mode 100644
index 0000000..651441d
--- /dev/null
+++ b/src/com/android/documentsui/DevicePolicyResources.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright (C) 2022 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.documentsui;
+
+import android.app.admin.DevicePolicyManager;
+
+/**
+ * Class containing the required identifiers to update device management resources.
+ *
+ * <p>See {@link DevicePolicyManager#getDrawable} and {@link DevicePolicyManager#getString}.
+ */
+public class DevicePolicyResources {
+
+ /**
+ * Class containing the identifiers used to update device management-related system strings.
+ */
+ public static final class Strings {
+ private static final String PREFIX = "DocumentsUi.";
+
+ /**
+ * An ID for any string that can't be updated.
+ */
+ public static final String UNDEFINED = "UNDEFINED";
+
+ /**
+ * Title for error message shown when work profile is turned off.
+ */
+ public static final String WORK_PROFILE_OFF_ERROR_TITLE =
+ PREFIX + "WORK_PROFILE_OFF_ERROR_TITLE";
+
+ /**
+ * Button text shown when work profile is turned off.
+ */
+ public static final String WORK_PROFILE_OFF_ENABLE_BUTTON =
+ PREFIX + "WORK_PROFILE_OFF_ENABLE_BUTTON";
+
+ /**
+ * Title for error message shown when a user's IT admin does not allow the user to
+ * select work files from a personal app.
+ */
+ public static final String CANT_SELECT_WORK_FILES_TITLE =
+ PREFIX + "CANT_SELECT_WORK_FILES_TITLE";
+
+ /**
+ * Message shown when a user's IT admin does not allow the user to select work files
+ * from a personal app.
+ */
+ public static final String CANT_SELECT_WORK_FILES_MESSAGE =
+ PREFIX + "CANT_SELECT_WORK_FILES_MESSAGE";
+
+ /**
+ * Title for error message shown when a user's IT admin does not allow the user to
+ * select personal files from a work app.
+ */
+ public static final String CANT_SELECT_PERSONAL_FILES_TITLE =
+ PREFIX + "CANT_SELECT_PERSONAL_FILES_TITLE";
+
+ /**
+ * Message shown when a user's IT admin does not allow the user to select personal files
+ * from a work app.
+ */
+ public static final String CANT_SELECT_PERSONAL_FILES_MESSAGE =
+ PREFIX + "CANT_SELECT_PERSONAL_FILES_MESSAGE";
+
+ /**
+ * Title for error message shown when a user's IT admin does not allow the user to save
+ * files from their personal profile to their work profile.
+ */
+ public static final String CANT_SAVE_TO_WORK_TITLE =
+ PREFIX + "CANT_SAVE_TO_WORK_TITLE";
+
+ /**
+ * Message shown when a user's IT admin does not allow the user to save files from their
+ * personal profile to their work profile.
+ */
+ public static final String CANT_SAVE_TO_WORK_MESSAGE =
+ PREFIX + "CANT_SAVE_TO_WORK_MESSAGE";
+
+ /**
+ * Title for error message shown when a user's IT admin does not allow the user to save
+ * files from their work profile to their personal profile.
+ */
+ public static final String CANT_SAVE_TO_PERSONAL_TITLE =
+ PREFIX + "CANT_SAVE_TO_PERSONAL_TITLE";
+
+ /**
+ * Message shown when a user's IT admin does not allow the user to save files from their
+ * work profile to their personal profile.
+ */
+ public static final String CANT_SAVE_TO_PERSONAL_MESSAGE =
+ PREFIX + "CANT_SAVE_TO_PERSONAL_MESSAGE";
+
+ /**
+ * Title for error message shown when a user tries to do something on their work
+ * device, but that action isn't allowed by their IT admin.
+ */
+ public static final String CROSS_PROFILE_NOT_ALLOWED_TITLE =
+ PREFIX + "CROSS_PROFILE_NOT_ALLOWED_TITLE";
+
+ /**
+ * Message shown when a user tries to do something on their work device, but that action
+ * isn't allowed by their IT admin.
+ */
+ public static final String CROSS_PROFILE_NOT_ALLOWED_MESSAGE =
+ PREFIX + "CROSS_PROFILE_NOT_ALLOWED_MESSAGE";
+
+ /**
+ * Content description text that's spoken by a screen reader for previewing a work file
+ * before opening it. Accepts file name as a param.
+ */
+ public static final String PREVIEW_WORK_FILE_ACCESSIBILITY =
+ PREFIX + "PREVIEW_WORK_FILE_ACCESSIBILITY";
+
+ /**
+ * Label for tab and sidebar to indicate personal content.
+ */
+ public static final String PERSONAL_TAB = PREFIX + "PERSONAL_TAB";
+
+ /**
+ * Label for tab and sidebar tab to indicate work content
+ */
+ public static final String WORK_TAB = PREFIX + "WORK_TAB";
+
+ }
+
+ /**
+ * Class containing the identifiers used to update device management-related system drawable.
+ */
+ public static final class Drawables {
+ /**
+ * Specifically used to badge work profile app icons.
+ */
+ public static final String WORK_PROFILE_ICON_BADGE = "WORK_PROFILE_ICON_BADGE";
+
+ /**
+ * General purpose work profile icon (i.e. generic icon badging). For badging app icons
+ * specifically, see {@link #WORK_PROFILE_ICON_BADGE}.
+ */
+ public static final String WORK_PROFILE_ICON = "WORK_PROFILE_ICON";
+
+ /**
+ * General purpose icon representing the work profile off state.
+ */
+ public static final String WORK_PROFILE_OFF_ICON = "WORK_PROFILE_OFF_ICON";
+
+ /**
+ * General purpose icon for the work profile user avatar.
+ */
+ public static final String WORK_PROFILE_USER_ICON = "WORK_PROFILE_USER_ICON";
+
+ /**
+ * Class containing the style identifiers used to update device management-related system
+ * drawable.
+ */
+ public static final class Style {
+
+ /**
+ * A style identifier indicating that the updatable drawable should use the default
+ * style.
+ */
+ public static final String DEFAULT = "DEFAULT";
+
+ /**
+ * A style identifier indicating that the updatable drawable has a solid color fill.
+ */
+ public static final String SOLID_COLORED = "SOLID_COLORED";
+
+ /**
+ * A style identifier indicating that the updatable drawable has a solid non-colored
+ * fill.
+ */
+ public static final String SOLID_NOT_COLORED = "SOLID_NOT_COLORED";
+
+ /**
+ * A style identifier indicating that the updatable drawable is an outline.
+ */
+ public static final String OUTLINE = "OUTLINE";
+ }
+ }
+}
diff --git a/src/com/android/documentsui/ProfileTabs.java b/src/com/android/documentsui/ProfileTabs.java
index e2cec1a..a3dac4c 100644
--- a/src/com/android/documentsui/ProfileTabs.java
+++ b/src/com/android/documentsui/ProfileTabs.java
@@ -16,11 +16,11 @@
package com.android.documentsui;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PERSONAL_TAB;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_TAB;
-
import static androidx.core.util.Preconditions.checkNotNull;
+import static com.android.documentsui.DevicePolicyResources.Strings.PERSONAL_TAB;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_TAB;
+
import android.app.admin.DevicePolicyManager;
import android.os.Build;
import android.view.View;
@@ -176,7 +176,7 @@
private String getUpdatableEnterpriseString(String updatableStringId, int defaultStringId) {
DevicePolicyManager dpm = mTabsContainer.getContext().getSystemService(
DevicePolicyManager.class);
- return dpm.getString(
+ return dpm.getResources().getString(
updatableStringId,
() -> mTabsContainer.getContext().getString(defaultStringId));
}
diff --git a/src/com/android/documentsui/dirlist/DocumentHolder.java b/src/com/android/documentsui/dirlist/DocumentHolder.java
index 678dee2..afa7560 100644
--- a/src/com/android/documentsui/dirlist/DocumentHolder.java
+++ b/src/com/android/documentsui/dirlist/DocumentHolder.java
@@ -16,8 +16,8 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PREVIEW_WORK_FILE_ACCESSIBILITY;
-import static android.app.admin.DevicePolicyResources.Strings.UNDEFINED;
+import static com.android.documentsui.DevicePolicyResources.Strings.PREVIEW_WORK_FILE_ACCESSIBILITY;
+import static com.android.documentsui.DevicePolicyResources.Strings.UNDEFINED;
import android.app.admin.DevicePolicyManager;
import android.content.Context;
@@ -196,7 +196,7 @@
String updatableStringId = isWorkProfile ? PREVIEW_WORK_FILE_ACCESSIBILITY : UNDEFINED;
int defaultStringId =
isWorkProfile ? R.string.preview_work_file : R.string.preview_file;
- return dpm.getString(
+ return dpm.getResources().getString(
updatableStringId,
() -> itemView.getResources().getString(defaultStringId, fileName),
/* formatArgs= */ fileName);
diff --git a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java
index 8998b20..9bc2ce9 100644
--- a/src/com/android/documentsui/dirlist/GridDirectoryHolder.java
+++ b/src/com/android/documentsui/dirlist/GridDirectoryHolder.java
@@ -16,9 +16,8 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
-import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
-
+import static com.android.documentsui.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
+import static com.android.documentsui.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
import android.app.admin.DevicePolicyManager;
@@ -70,7 +69,7 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private void setUpdatableWorkProfileIcon(Context context) {
DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
- Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
+ Drawable drawable = dpm.getResources().getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
context.getDrawable(R.drawable.ic_briefcase));
mIconBriefcase.setImageDrawable(drawable);
}
diff --git a/src/com/android/documentsui/dirlist/GridDocumentHolder.java b/src/com/android/documentsui/dirlist/GridDocumentHolder.java
index 16983ed..535ae95 100644
--- a/src/com/android/documentsui/dirlist/GridDocumentHolder.java
+++ b/src/com/android/documentsui/dirlist/GridDocumentHolder.java
@@ -16,9 +16,8 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
-import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
-
+import static com.android.documentsui.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
+import static com.android.documentsui.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorLong;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
@@ -89,7 +88,7 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private void setUpdatableWorkProfileIcon(Context context) {
DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
- Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
+ Drawable drawable = dpm.getResources().getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
context.getDrawable(R.drawable.ic_briefcase));
mIconBriefcase.setImageDrawable(drawable);
}
diff --git a/src/com/android/documentsui/dirlist/GridPhotoHolder.java b/src/com/android/documentsui/dirlist/GridPhotoHolder.java
index a9b790b..dac6a31 100644
--- a/src/com/android/documentsui/dirlist/GridPhotoHolder.java
+++ b/src/com/android/documentsui/dirlist/GridPhotoHolder.java
@@ -16,9 +16,8 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_NOT_COLORED;
-import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
-
+import static com.android.documentsui.DevicePolicyResources.Drawables.Style.SOLID_NOT_COLORED;
+import static com.android.documentsui.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorLong;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
@@ -78,8 +77,9 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private void setUpdatableWorkProfileIcon(Context context) {
DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
- Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_NOT_COLORED, () ->
- context.getDrawable(R.drawable.ic_briefcase));
+ Drawable drawable = dpm.getResources().getDrawable(
+ WORK_PROFILE_ICON, SOLID_NOT_COLORED, () ->
+ context.getDrawable(R.drawable.ic_briefcase));
ImageView icon = (ImageView) mIconBriefcase.findViewById(R.id.icon_id);
icon.setImageDrawable(drawable);
diff --git a/src/com/android/documentsui/dirlist/ListDocumentHolder.java b/src/com/android/documentsui/dirlist/ListDocumentHolder.java
index 7fe48ee..ad8eac7 100644
--- a/src/com/android/documentsui/dirlist/ListDocumentHolder.java
+++ b/src/com/android/documentsui/dirlist/ListDocumentHolder.java
@@ -16,9 +16,8 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
-import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
-
+import static com.android.documentsui.DevicePolicyResources.Drawables.Style.SOLID_COLORED;
+import static com.android.documentsui.DevicePolicyResources.Drawables.WORK_PROFILE_ICON;
import static com.android.documentsui.base.DocumentInfo.getCursorInt;
import static com.android.documentsui.base.DocumentInfo.getCursorString;
@@ -107,7 +106,7 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private void setUpdatableWorkProfileIcon(Context context) {
DevicePolicyManager dpm = context.getSystemService(DevicePolicyManager.class);
- Drawable drawable = dpm.getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
+ Drawable drawable = dpm.getResources().getDrawable(WORK_PROFILE_ICON, SOLID_COLORED, () ->
context.getDrawable(R.drawable.ic_briefcase));
mIconBriefcase.setImageDrawable(drawable);
}
diff --git a/src/com/android/documentsui/dirlist/Message.java b/src/com/android/documentsui/dirlist/Message.java
index 5546ad9..6ba5ea3 100644
--- a/src/com/android/documentsui/dirlist/Message.java
+++ b/src/com/android/documentsui/dirlist/Message.java
@@ -16,20 +16,20 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Drawables.Style.OUTLINE;
-import static android.app.admin.DevicePolicyResources.Drawables.WORK_PROFILE_OFF_ICON;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SAVE_TO_PERSONAL_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SAVE_TO_PERSONAL_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SAVE_TO_WORK_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SAVE_TO_WORK_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_PERSONAL_FILES_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_PERSONAL_FILES_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_WORK_FILES_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_WORK_FILES_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CROSS_PROFILE_NOT_ALLOWED_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CROSS_PROFILE_NOT_ALLOWED_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_PROFILE_OFF_ENABLE_BUTTON;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_PROFILE_OFF_ERROR_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Drawables.Style.OUTLINE;
+import static com.android.documentsui.DevicePolicyResources.Drawables.WORK_PROFILE_OFF_ICON;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SAVE_TO_PERSONAL_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SAVE_TO_PERSONAL_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SAVE_TO_WORK_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SAVE_TO_WORK_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_PERSONAL_FILES_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_PERSONAL_FILES_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_WORK_FILES_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_WORK_FILES_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CROSS_PROFILE_NOT_ALLOWED_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CROSS_PROFILE_NOT_ALLOWED_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_PROFILE_OFF_ENABLE_BUTTON;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_PROFILE_OFF_ERROR_TITLE;
import android.Manifest;
import android.app.AuthenticationRequiredException;
@@ -344,7 +344,7 @@
private String getUpdatableEnterpriseString(String updatableStringId, int defaultStringId) {
DevicePolicyManager dpm = mEnv.getContext().getSystemService(
DevicePolicyManager.class);
- return dpm.getString(
+ return dpm.getResources().getString(
updatableStringId, () -> mEnv.getContext().getString(defaultStringId));
}
@@ -360,7 +360,7 @@
private Drawable getUpdatableWorkProfileIcon() {
DevicePolicyManager dpm = mEnv.getContext().getSystemService(
DevicePolicyManager.class);
- return dpm.getDrawable(
+ return dpm.getResources().getDrawable(
WORK_PROFILE_OFF_ICON, OUTLINE,
() -> mEnv.getContext().getDrawable(R.drawable.work_off));
}
diff --git a/src/com/android/documentsui/sidebar/UserItemsCombiner.java b/src/com/android/documentsui/sidebar/UserItemsCombiner.java
index a797eae..d8c0dc7 100644
--- a/src/com/android/documentsui/sidebar/UserItemsCombiner.java
+++ b/src/com/android/documentsui/sidebar/UserItemsCombiner.java
@@ -16,12 +16,12 @@
package com.android.documentsui.sidebar;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.PERSONAL_TAB;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_TAB;
-
import static androidx.core.util.Preconditions.checkArgument;
import static androidx.core.util.Preconditions.checkNotNull;
+import static com.android.documentsui.DevicePolicyResources.Strings.PERSONAL_TAB;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_TAB;
+
import android.app.admin.DevicePolicyManager;
import android.content.res.Resources;
import android.os.Build;
@@ -119,6 +119,7 @@
@RequiresApi(Build.VERSION_CODES.TIRAMISU)
private String getUpdatableEnterpriseString(String updatableStringId, int defaultStringId) {
- return mDpm.getString(updatableStringId, () -> mResources.getString(defaultStringId));
+ return mDpm.getResources().getString(
+ updatableStringId, () -> mResources.getString(defaultStringId));
}
}
diff --git a/tests/unit/com/android/documentsui/dirlist/MessageTest.java b/tests/unit/com/android/documentsui/dirlist/MessageTest.java
index e755d85..c8bd01e 100644
--- a/tests/unit/com/android/documentsui/dirlist/MessageTest.java
+++ b/tests/unit/com/android/documentsui/dirlist/MessageTest.java
@@ -16,10 +16,10 @@
package com.android.documentsui.dirlist;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_WORK_FILES_MESSAGE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.CANT_SELECT_WORK_FILES_TITLE;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_PROFILE_OFF_ENABLE_BUTTON;
-import static android.app.admin.DevicePolicyResources.Strings.DocumentsUi.WORK_PROFILE_OFF_ERROR_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_WORK_FILES_MESSAGE;
+import static com.android.documentsui.DevicePolicyResources.Strings.CANT_SELECT_WORK_FILES_TITLE;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_PROFILE_OFF_ENABLE_BUTTON;
+import static com.android.documentsui.DevicePolicyResources.Strings.WORK_PROFILE_OFF_ERROR_TITLE;
import static com.google.common.truth.Truth.assertThat;
@@ -29,6 +29,7 @@
import static org.mockito.Mockito.when;
import android.app.admin.DevicePolicyManager;
+import android.app.admin.DevicePolicyResourcesManager;
import android.content.Context;
import android.os.UserManager;
@@ -59,6 +60,7 @@
};
private UserManager mUserManager;
private DevicePolicyManager mDevicePolicyManager;
+ private DevicePolicyResourcesManager mDevicePolicyResourcesManager;
private TestActionHandler mTestActionHandler;
@Before
@@ -67,11 +69,13 @@
mUserManager = UserManagers.create();
mTestActionHandler = new TestActionHandler();
mDevicePolicyManager = mock(DevicePolicyManager.class);
+ mDevicePolicyResourcesManager = mock(DevicePolicyResourcesManager.class);
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
when(mContext.getSystemServiceName(DevicePolicyManager.class))
.thenReturn(Context.DEVICE_POLICY_SERVICE);
when(mContext.getSystemService(Context.DEVICE_POLICY_SERVICE))
.thenReturn(mDevicePolicyManager);
+ when(mDevicePolicyManager.getResources()).thenReturn(mDevicePolicyResourcesManager);
when(mContext.getResources()).thenReturn(
InstrumentationRegistry.getInstrumentation().getTargetContext().getResources());
DocumentsAdapter.Environment env =
@@ -89,9 +93,9 @@
/* isRemoteActionsEnabled= */ true);
String title = mContext.getString(R.string.cant_select_work_files_error_title);
String message = mContext.getString(R.string.cant_select_work_files_error_message);
- when(mDevicePolicyManager.getString(eq(CANT_SELECT_WORK_FILES_TITLE), any()))
+ when(mDevicePolicyResourcesManager.getString(eq(CANT_SELECT_WORK_FILES_TITLE), any()))
.thenReturn(title);
- when(mDevicePolicyManager.getString(eq(CANT_SELECT_WORK_FILES_MESSAGE), any()))
+ when(mDevicePolicyResourcesManager.getString(eq(CANT_SELECT_WORK_FILES_MESSAGE), any()))
.thenReturn(message);
mInflateMessage.update(error);
@@ -113,9 +117,9 @@
/* isRemoteActionsEnabled= */ true);
String title = mContext.getString(R.string.quiet_mode_error_title);
String text = mContext.getString(R.string.quiet_mode_button);
- when(mDevicePolicyManager.getString(eq(WORK_PROFILE_OFF_ERROR_TITLE), any()))
+ when(mDevicePolicyResourcesManager.getString(eq(WORK_PROFILE_OFF_ERROR_TITLE), any()))
.thenReturn(title);
- when(mDevicePolicyManager.getString(eq(WORK_PROFILE_OFF_ENABLE_BUTTON), any()))
+ when(mDevicePolicyResourcesManager.getString(eq(WORK_PROFILE_OFF_ENABLE_BUTTON), any()))
.thenReturn(text);
mInflateMessage.update(error);