Merge "Update Device Admin Info Settings text for a financed device" into sc-dev
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6dfae4b..01c38d8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10522,6 +10522,9 @@
<string name="admin_device_owner_message">Your admin can monitor and manage apps and data
associated with this device, including settings, permissions, corporate access,
network activity, and the device\'s location information.</string>
+ <!-- Shown in admin details page to warn user about policies the admin can set on a financed device. [CHAR LIMIT=NONE] -->
+ <string name="admin_financed_message">Your device admin may be able to access data associated
+ with this device and change this device\’s settings.</string>
<!-- Turn off a conditional state of the device (e.g. airplane mode, or hotspot) [CHAR LIMIT=30] -->
<string name="condition_turn_off">Turn off</string>
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index 7c8b96f..1fe3f17 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -16,6 +16,8 @@
package com.android.settings.applications.specialaccess.deviceadmin;
+import static android.app.admin.DevicePolicyManager.DEVICE_OWNER_TYPE_FINANCED;
+
import android.app.Activity;
import android.app.ActivityManager;
import android.app.AppOpsManager;
@@ -661,7 +663,11 @@
mAdminWarning.setText(R.string.admin_profile_owner_user_message);
} else {
// Show device owner description.
- mAdminWarning.setText(R.string.admin_device_owner_message);
+ if (isFinancedDevice()) {
+ mAdminWarning.setText(R.string.admin_financed_message);
+ } else {
+ mAdminWarning.setText(R.string.admin_device_owner_message);
+ }
}
mActionButton.setText(R.string.remove_device_admin);
mActionButton.setEnabled(false);
@@ -759,6 +765,11 @@
return info != null ? info.isManagedProfile() : false;
}
+ private boolean isFinancedDevice() {
+ return mDPM.isDeviceManaged() && mDPM.getDeviceOwnerType(
+ mDPM.getDeviceOwnerComponentOnAnyUser()) == DEVICE_OWNER_TYPE_FINANCED;
+ }
+
/**
* @return an {@link Optional} containing the admin with a given package name, if it exists,
* or {@link Optional#empty()} otherwise.