From 0488dc97686051d6cac744edb8a9d9c7ec477009 Mon Sep 17 00:00:00 2001 From: Sudheer Shanka Date: Thu, 30 Apr 2015 12:18:19 +0100 Subject: [PATCH] Add MDM app name under "Work" in Accounts section of Settings. Bug: 20024761 Change-Id: I3fe3fd6be8a2d96b36c402ea9bde8cc782797262 --- res/layout/work_profile_category.xml | 40 +++++++++++++++++++ .../settings/accounts/AccountSettings.java | 25 +++++++++--- 2 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 res/layout/work_profile_category.xml diff --git a/res/layout/work_profile_category.xml b/res/layout/work_profile_category.xml new file mode 100644 index 00000000000..8ca99f1f237 --- /dev/null +++ b/res/layout/work_profile_category.xml @@ -0,0 +1,40 @@ + + + + + + + + \ No newline at end of file diff --git a/src/com/android/settings/accounts/AccountSettings.java b/src/com/android/settings/accounts/AccountSettings.java index 1bf83f3cc46..ffada538e7f 100644 --- a/src/com/android/settings/accounts/AccountSettings.java +++ b/src/com/android/settings/accounts/AccountSettings.java @@ -29,6 +29,8 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.IntentFilter; +import android.content.pm.ApplicationInfo; +import android.content.pm.PackageManager; import android.content.pm.UserInfo; import android.graphics.drawable.Drawable; import android.os.Bundle; @@ -269,8 +271,14 @@ public class AccountSettings extends SettingsPreferenceFragment profileData.userInfo = userInfo; if (addCategory) { profileData.preferenceGroup = new PreferenceCategory(context); - profileData.preferenceGroup.setTitle(userInfo.isManagedProfile() - ? R.string.category_work : R.string.category_personal); + if (userInfo.isManagedProfile()) { + profileData.preferenceGroup.setLayoutResource(R.layout.work_profile_category); + profileData.preferenceGroup.setTitle(R.string.category_work); + profileData.preferenceGroup.setSummary(getWorkGroupSummary(context, userInfo)); + profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context); + } else { + profileData.preferenceGroup.setTitle(R.string.category_personal); + } parent.addPreference(profileData.preferenceGroup); } else { profileData.preferenceGroup = parent; @@ -282,9 +290,6 @@ public class AccountSettings extends SettingsPreferenceFragment profileData.addAccountPreference = newAddAccountPreference(context); } } - if (userInfo.isManagedProfile()) { - profileData.removeWorkProfilePreference = newRemoveWorkProfilePreference(context); - } mProfiles.put(userInfo.id, profileData); } @@ -306,6 +311,16 @@ public class AccountSettings extends SettingsPreferenceFragment return preference; } + private String getWorkGroupSummary(Context context, UserInfo userInfo) { + PackageManager packageManager = context.getPackageManager(); + ApplicationInfo adminApplicationInfo = Utils.getAdminApplicationInfo(context, userInfo.id); + if (adminApplicationInfo == null) { + return null; + } + CharSequence appLabel = packageManager.getApplicationLabel(adminApplicationInfo); + return getString(R.string.managing_admin, appLabel); + } + private void cleanUpPreferences() { PreferenceScreen preferenceScreen = getPreferenceScreen(); if (preferenceScreen != null) {