Allow overriding of strings referenced in XML files.
Test: manual Bug: 188414370 Change-Id: Ice45b1808530c14c4efff16795cac7b2cb81516e
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
style="@style/SudDescription.Glif"
|
style="@style/SudDescription.Glif"
|
||||||
|
android:id="@+id/forgot_password_text"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
|
@@ -32,10 +32,12 @@
|
|||||||
android:key="interact_across_profiles_settings_switch" />
|
android:key="interact_across_profiles_settings_switch" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
android:key="interact_across_profiles_summary_1"
|
||||||
android:summary="@string/interact_across_profiles_summary_1"
|
android:summary="@string/interact_across_profiles_summary_1"
|
||||||
android:selectable="false" />
|
android:selectable="false" />
|
||||||
|
|
||||||
<Preference
|
<Preference
|
||||||
|
android:key="interact_across_profiles_summary_2"
|
||||||
android:summary="@string/interact_across_profiles_summary_2"
|
android:summary="@string/interact_across_profiles_summary_2"
|
||||||
android:selectable="false" />
|
android:selectable="false" />
|
||||||
|
|
||||||
|
@@ -16,6 +16,12 @@
|
|||||||
|
|
||||||
package com.android.settings.accounts;
|
package com.android.settings.accounts;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CROSS_PROFILE_CALENDAR_SUMMARY;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CROSS_PROFILE_CALENDAR_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONTACT_SEARCH_SUMMARY;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONTACT_SEARCH_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SETTING;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -78,6 +84,17 @@ public class ManagedProfileSettings extends DashboardFragment {
|
|||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
mManagedProfileBroadcastReceiver = new ManagedProfileBroadcastReceiver();
|
mManagedProfileBroadcastReceiver = new ManagedProfileBroadcastReceiver();
|
||||||
mManagedProfileBroadcastReceiver.register(getActivity());
|
mManagedProfileBroadcastReceiver.register(getActivity());
|
||||||
|
replaceEnterpriseStringTitle("work_mode",
|
||||||
|
WORK_PROFILE_SETTING, R.string.work_mode_label);
|
||||||
|
replaceEnterpriseStringTitle("contacts_search",
|
||||||
|
WORK_PROFILE_CONTACT_SEARCH_TITLE, R.string.managed_profile_contact_search_title);
|
||||||
|
replaceEnterpriseStringSummary("contacts_search",
|
||||||
|
WORK_PROFILE_CONTACT_SEARCH_SUMMARY,
|
||||||
|
R.string.managed_profile_contact_search_summary);
|
||||||
|
replaceEnterpriseStringTitle("cross_profile_calendar",
|
||||||
|
CROSS_PROFILE_CALENDAR_TITLE, R.string.cross_profile_calendar_title);
|
||||||
|
replaceEnterpriseStringSummary("cross_profile_calendar",
|
||||||
|
CROSS_PROFILE_CALENDAR_SUMMARY, R.string.cross_profile_calendar_summary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.applications.appinfo;
|
package com.android.settings.applications.appinfo;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
|
||||||
|
|
||||||
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
@@ -238,6 +240,8 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
|||||||
startListeningToPackageRemove();
|
startListeningToPackageRemove();
|
||||||
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
|
replaceEnterpriseStringTitle("interact_across_profiles",
|
||||||
|
CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, R.string.interact_across_profiles_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,7 +16,11 @@
|
|||||||
|
|
||||||
package com.android.settings.applications.specialaccess;
|
package com.android.settings.applications.specialaccess;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGE_DEVICE_ADMIN_APPS;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -33,6 +37,15 @@ public class SpecialAccessSettings extends DashboardFragment {
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("interact_across_profiles",
|
||||||
|
CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, R.string.interact_across_profiles_title);
|
||||||
|
replaceEnterpriseStringTitle("device_administrators",
|
||||||
|
MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.special_access;
|
return R.xml.special_access;
|
||||||
|
@@ -27,6 +27,8 @@ import static android.app.admin.DevicePolicyResources.Strings.Settings.REMOVE_AN
|
|||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.REMOVE_DEVICE_ADMIN;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.REMOVE_DEVICE_ADMIN;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.REMOVE_WORK_PROFILE;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.REMOVE_WORK_PROFILE;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.SET_PROFILE_OWNER_DIALOG_TITLE;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.SET_PROFILE_OWNER_DIALOG_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.SET_PROFILE_OWNER_POSTSETUP_WARNING;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.UNINSTALL_DEVICE_ADMIN;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.USER_ADMIN_POLICIES_WARNING;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.USER_ADMIN_POLICIES_WARNING;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_ADMIN_POLICIES_WARNING;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_ADMIN_POLICIES_WARNING;
|
||||||
|
|
||||||
@@ -365,6 +367,10 @@ public class DeviceAdminAdd extends CollapsingToolbarBaseActivity {
|
|||||||
mAdminDescription = (TextView)findViewById(R.id.admin_description);
|
mAdminDescription = (TextView)findViewById(R.id.admin_description);
|
||||||
mProfileOwnerWarning = (TextView) findViewById(R.id.profile_owner_warning);
|
mProfileOwnerWarning = (TextView) findViewById(R.id.profile_owner_warning);
|
||||||
|
|
||||||
|
mProfileOwnerWarning.setText(
|
||||||
|
mDPM.getString(SET_PROFILE_OWNER_POSTSETUP_WARNING,
|
||||||
|
() -> getString(R.string.adding_profile_owner_warning)));
|
||||||
|
|
||||||
mAddMsg = (TextView)findViewById(R.id.add_msg);
|
mAddMsg = (TextView)findViewById(R.id.add_msg);
|
||||||
mAddMsgExpander = (ImageView) findViewById(R.id.add_msg_expander);
|
mAddMsgExpander = (ImageView) findViewById(R.id.add_msg_expander);
|
||||||
final View.OnClickListener onClickListener = new View.OnClickListener() {
|
final View.OnClickListener onClickListener = new View.OnClickListener() {
|
||||||
@@ -410,6 +416,8 @@ public class DeviceAdminAdd extends CollapsingToolbarBaseActivity {
|
|||||||
});
|
});
|
||||||
|
|
||||||
mUninstallButton = (Button) findViewById(R.id.uninstall_button);
|
mUninstallButton = (Button) findViewById(R.id.uninstall_button);
|
||||||
|
mUninstallButton.setText(mDPM.getString(UNINSTALL_DEVICE_ADMIN,
|
||||||
|
() -> getString(R.string.uninstall_device_admin)));
|
||||||
mUninstallButton.setFilterTouchesWhenObscured(true);
|
mUninstallButton.setFilterTouchesWhenObscured(true);
|
||||||
mUninstallButton.setOnClickListener(new View.OnClickListener() {
|
mUninstallButton.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
|
@@ -16,7 +16,10 @@
|
|||||||
|
|
||||||
package com.android.settings.applications.specialaccess.deviceadmin;
|
package com.android.settings.applications.specialaccess.deviceadmin;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.NO_DEVICE_ADMINS;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -31,6 +34,14 @@ public class DeviceAdminSettings extends DashboardFragment {
|
|||||||
return SettingsEnums.DEVICE_ADMIN_SETTINGS;
|
return SettingsEnums.DEVICE_ADMIN_SETTINGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
// TODO: Replace PreferenceScreen title manage_device_admin/MANAGE_DEVICE_ADMIN_APPS
|
||||||
|
replaceEnterpriseStringTitle("device_admin_footer",
|
||||||
|
NO_DEVICE_ADMINS, R.string.no_device_admins);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.device_admin_settings;
|
return R.xml.device_admin_settings;
|
||||||
|
@@ -17,9 +17,13 @@ package com.android.settings.applications.specialaccess.interactacrossprofiles;
|
|||||||
|
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_DATA;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_DATA;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_PERMISSIONS;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.APP_CAN_ACCESS_PERSONAL_PERMISSIONS;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECT_APPS_DIALOG_SUMMARY;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECT_APPS_DIALOG_TITLE;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECT_APPS_DIALOG_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.HOW_TO_DISCONNECT_APPS;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.INSTALL_IN_PERSONAL_PROFILE_TO_CONNECT_PROMPT;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.INSTALL_IN_PERSONAL_PROFILE_TO_CONNECT_PROMPT;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.INSTALL_IN_WORK_PROFILE_TO_CONNECT_PROMPT;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.INSTALL_IN_WORK_PROFILE_TO_CONNECT_PROMPT;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.ONLY_CONNECT_TRUSTED_APPS;
|
||||||
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
|
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_AWARE;
|
||||||
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
|
import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
|
||||||
import static android.provider.Settings.ACTION_MANAGE_CROSS_PROFILE_ACCESS;
|
import static android.provider.Settings.ACTION_MANAGE_CROSS_PROFILE_ACCESS;
|
||||||
@@ -46,6 +50,7 @@ import android.os.UserHandle;
|
|||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.stats.devicepolicy.DevicePolicyEnums;
|
import android.stats.devicepolicy.DevicePolicyEnums;
|
||||||
import android.util.IconDrawableFactory;
|
import android.util.IconDrawableFactory;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
@@ -72,9 +77,11 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
"interact_across_profiles_extra_summary";
|
"interact_across_profiles_extra_summary";
|
||||||
public static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args";
|
public static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args";
|
||||||
public static final String INTENT_KEY = "intent";
|
public static final String INTENT_KEY = "intent";
|
||||||
|
private static final String TAG = "InteractAcrossProfilesDetails";
|
||||||
|
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
private CrossProfileApps mCrossProfileApps;
|
private CrossProfileApps mCrossProfileApps;
|
||||||
|
private DevicePolicyManager mDevicePolicyManager;
|
||||||
private UserManager mUserManager;
|
private UserManager mUserManager;
|
||||||
private RestrictedSwitchPreference mSwitchPref;
|
private RestrictedSwitchPreference mSwitchPref;
|
||||||
private LayoutPreference mHeader;
|
private LayoutPreference mHeader;
|
||||||
@@ -94,6 +101,7 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
|
|
||||||
mContext = getContext();
|
mContext = getContext();
|
||||||
mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
|
mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
|
||||||
|
mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
|
||||||
mUserManager = mContext.getSystemService(UserManager.class);
|
mUserManager = mContext.getSystemService(UserManager.class);
|
||||||
mPackageManager = mContext.getPackageManager();
|
mPackageManager = mContext.getPackageManager();
|
||||||
|
|
||||||
@@ -106,6 +114,18 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
mInstallAppIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
|
mInstallAppIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.interact_across_profiles_permissions_details);
|
addPreferencesFromResource(R.xml.interact_across_profiles_permissions_details);
|
||||||
|
|
||||||
|
replaceEnterpriseStringSummary("interact_across_profiles_summary_1",
|
||||||
|
CONNECTED_APPS_SHARE_PERMISSIONS_AND_DATA,
|
||||||
|
R.string.interact_across_profiles_summary_1);
|
||||||
|
replaceEnterpriseStringSummary("interact_across_profiles_summary_2",
|
||||||
|
ONLY_CONNECT_TRUSTED_APPS,
|
||||||
|
R.string.interact_across_profiles_summary_2);
|
||||||
|
replaceEnterpriseStringSummary("interact_across_profiles_extra_summary",
|
||||||
|
HOW_TO_DISCONNECT_APPS,
|
||||||
|
R.string.interact_across_profiles_summary_3);
|
||||||
|
|
||||||
|
|
||||||
mSwitchPref = findPreference(INTERACT_ACROSS_PROFILES_SETTINGS_SWITCH);
|
mSwitchPref = findPreference(INTERACT_ACROSS_PROFILES_SETTINGS_SWITCH);
|
||||||
mSwitchPref.setOnPreferenceClickListener(this);
|
mSwitchPref.setOnPreferenceClickListener(this);
|
||||||
|
|
||||||
@@ -127,6 +147,19 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
logPageLaunchMetrics();
|
logPageLaunchMetrics();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void replaceEnterpriseStringSummary(
|
||||||
|
String preferenceKey, String overrideKey, int resource) {
|
||||||
|
Preference preference = findPreference(preferenceKey);
|
||||||
|
if (preference == null) {
|
||||||
|
Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
preference.setSummary(
|
||||||
|
mDevicePolicyManager.getString(overrideKey,
|
||||||
|
() -> getString(resource)));
|
||||||
|
}
|
||||||
|
|
||||||
private void maybeShowExtraSummary() {
|
private void maybeShowExtraSummary() {
|
||||||
Preference extraSummary = findPreference(INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY);
|
Preference extraSummary = findPreference(INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY);
|
||||||
if (extraSummary == null) {
|
if (extraSummary == null) {
|
||||||
@@ -264,7 +297,8 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
final TextView dialogTitle = dialogView.findViewById(
|
final TextView dialogTitle = dialogView.findViewById(
|
||||||
R.id.interact_across_profiles_consent_dialog_title);
|
R.id.interact_across_profiles_consent_dialog_title);
|
||||||
dialogTitle.setText(mDpm.getString(CONNECT_APPS_DIALOG_TITLE, () ->
|
dialogTitle.setText(mDpm.getString(CONNECT_APPS_DIALOG_TITLE, () ->
|
||||||
getString(R.string.interact_across_profiles_consent_dialog_title, mAppLabel)));
|
getString(R.string.interact_across_profiles_consent_dialog_title, mAppLabel),
|
||||||
|
mAppLabel));
|
||||||
|
|
||||||
final TextView appDataSummary = dialogView.findViewById(R.id.app_data_summary);
|
final TextView appDataSummary = dialogView.findViewById(R.id.app_data_summary);
|
||||||
appDataSummary.setText(
|
appDataSummary.setText(
|
||||||
@@ -280,6 +314,12 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
|||||||
mAppLabel),
|
mAppLabel),
|
||||||
mAppLabel));
|
mAppLabel));
|
||||||
|
|
||||||
|
final TextView dialogSummary =
|
||||||
|
dialogView.findViewById(R.id.interact_across_profiles_consent_dialog_summary);
|
||||||
|
dialogSummary.setText(mDpm.getString(CONNECT_APPS_DIALOG_SUMMARY,
|
||||||
|
() -> getString(
|
||||||
|
R.string.interact_across_profiles_consent_dialog_summary)));
|
||||||
|
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
|
||||||
builder.setView(dialogView)
|
builder.setView(dialogView)
|
||||||
.setPositiveButton(R.string.allow, new DialogInterface.OnClickListener() {
|
.setPositiveButton(R.string.allow, new DialogInterface.OnClickListener() {
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
package com.android.settings.dashboard;
|
package com.android.settings.dashboard;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -79,6 +80,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController;
|
private DashboardTilePlaceholderPreferenceController mPlaceholderPreferenceController;
|
||||||
private boolean mListeningToCategoryChange;
|
private boolean mListeningToCategoryChange;
|
||||||
private List<String> mSuppressInjectedTileKeys;
|
private List<String> mSuppressInjectedTileKeys;
|
||||||
|
private DevicePolicyManager mDevicePolicyManager;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
@@ -148,6 +150,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
mDevicePolicyManager = getSystemService(DevicePolicyManager.class);
|
||||||
// Set ComparisonCallback so we get better animation when list changes.
|
// Set ComparisonCallback so we get better animation when list changes.
|
||||||
getPreferenceManager().setPreferenceComparisonCallback(
|
getPreferenceManager().setPreferenceComparisonCallback(
|
||||||
new PreferenceManager.SimplePreferenceComparisonCallback());
|
new PreferenceManager.SimplePreferenceComparisonCallback());
|
||||||
@@ -566,4 +569,30 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
resolver.unregisterContentObserver(observer);
|
resolver.unregisterContentObserver(observer);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void replaceEnterpriseStringTitle(
|
||||||
|
String preferenceKey, String overrideKey, int resource) {
|
||||||
|
Preference preference = findPreference(preferenceKey);
|
||||||
|
if (preference == null) {
|
||||||
|
Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
preference.setTitle(
|
||||||
|
mDevicePolicyManager.getString(overrideKey,
|
||||||
|
() -> getString(resource)));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void replaceEnterpriseStringSummary(
|
||||||
|
String preferenceKey, String overrideKey, int resource) {
|
||||||
|
Preference preference = findPreference(preferenceKey);
|
||||||
|
if (preference == null) {
|
||||||
|
Log.d(TAG, "Could not find enterprise preference " + preferenceKey);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
preference.setSummary(
|
||||||
|
mDevicePolicyManager.getString(overrideKey,
|
||||||
|
() -> getString(resource)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -53,6 +53,7 @@ public class TimeoutListPreference extends RestrictedListPreference {
|
|||||||
super.onPrepareDialogBuilder(builder, listener);
|
super.onPrepareDialogBuilder(builder, listener);
|
||||||
if (mAdmin != null) {
|
if (mAdmin != null) {
|
||||||
builder.setView(R.layout.admin_disabled_other_options_footer);
|
builder.setView(R.layout.admin_disabled_other_options_footer);
|
||||||
|
// TODO: replace Text on textview with admin_disabled_other_options
|
||||||
} else {
|
} else {
|
||||||
builder.setView(null);
|
builder.setView(null);
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.enterprise;
|
package com.android.settings.enterprise;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.DISABLED_BY_IT_ADMIN_TITLE;
|
||||||
|
|
||||||
import android.annotation.NonNull;
|
import android.annotation.NonNull;
|
||||||
import android.annotation.UserIdInt;
|
import android.annotation.UserIdInt;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
@@ -67,6 +69,13 @@ public final class ActionDisabledByAdminDialogHelper {
|
|||||||
.createInstance(mActivity, restriction,
|
.createInstance(mActivity, restriction,
|
||||||
new DeviceAdminStringProviderImpl(mActivity),
|
new DeviceAdminStringProviderImpl(mActivity),
|
||||||
UserHandle.SYSTEM);
|
UserHandle.SYSTEM);
|
||||||
|
DevicePolicyManager devicePolicyManager =
|
||||||
|
mActivity.getSystemService(DevicePolicyManager.class);
|
||||||
|
|
||||||
|
TextView title = mDialogView.findViewById(R.id.admin_support_dialog_title);
|
||||||
|
title.setText(devicePolicyManager.getString(DISABLED_BY_IT_ADMIN_TITLE,
|
||||||
|
() -> mActivity.getString(R.string.disabled_by_policy_title)));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private @UserIdInt int getEnforcementAdminUserId(@NonNull EnforcedAdmin admin) {
|
private @UserIdInt int getEnforcementAdminUserId(@NonNull EnforcedAdmin admin) {
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings.enterprise;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.applications.ApplicationFeatureProvider;
|
import com.android.settings.applications.ApplicationFeatureProvider;
|
||||||
@@ -43,6 +44,11 @@ public abstract class ApplicationListFragment extends DashboardFragment
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.app_list_disclosure_settings;
|
return R.xml.app_list_disclosure_settings;
|
||||||
|
@@ -16,9 +16,12 @@
|
|||||||
|
|
||||||
package com.android.settings.language;
|
package com.android.settings.language;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_KEYBOARDS_AND_TOOLS;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
@@ -70,6 +73,14 @@ public class LanguageAndInputSettings extends DashboardFragment {
|
|||||||
activity.setTitle(R.string.language_settings);
|
activity.setTitle(R.string.language_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("language_and_input_for_work_category",
|
||||||
|
WORK_PROFILE_KEYBOARDS_AND_TOOLS,
|
||||||
|
R.string.language_and_input_for_work_category_title);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.language_and_input;
|
return R.xml.language_and_input;
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.location;
|
package com.android.settings.location;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCATION_SWITCH_TITLE;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.location.SettingInjectorService;
|
import android.location.SettingInjectorService;
|
||||||
@@ -97,6 +99,14 @@ public class LocationSettings extends DashboardFragment implements
|
|||||||
return R.xml.location_settings;
|
return R.xml.location_settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
|
||||||
|
replaceEnterpriseStringTitle("managed_profile_location_switch",
|
||||||
|
WORK_PROFILE_LOCATION_SWITCH_TITLE, R.string.managed_profile_location_switch_title);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getLogTag() {
|
protected String getLogTag() {
|
||||||
return TAG;
|
return TAG;
|
||||||
|
@@ -16,8 +16,11 @@
|
|||||||
|
|
||||||
package com.android.settings.location;
|
package com.android.settings.location;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCATION_SWITCH_TITLE;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -40,6 +43,13 @@ public class LocationWorkProfileSettings extends DashboardFragment {
|
|||||||
return R.xml.location_settings_workprofile;
|
return R.xml.location_settings_workprofile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("managed_profile_location_switch",
|
||||||
|
WORK_PROFILE_LOCATION_SWITCH_TITLE, R.string.managed_profile_location_switch_title);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected String getLogTag() {
|
protected String getLogTag() {
|
||||||
return TAG;
|
return TAG;
|
||||||
|
@@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
package com.android.settings.notification;
|
package com.android.settings.notification;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_SUMMARY;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_TITLE;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
@@ -69,6 +72,17 @@ public class ConfigureNotificationSettings extends DashboardFragment implements
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("lock_screen_work_redact",
|
||||||
|
WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_TITLE,
|
||||||
|
R.string.lock_screen_notifs_redact_work);
|
||||||
|
replaceEnterpriseStringSummary("lock_screen_work_redact",
|
||||||
|
WORK_PROFILE_LOCK_SCREEN_REDACT_NOTIFICATION_SUMMARY,
|
||||||
|
R.string.lock_screen_notifs_redact_work_summary);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.configure_notification_settings;
|
return R.xml.configure_notification_settings;
|
||||||
|
@@ -16,6 +16,8 @@
|
|||||||
|
|
||||||
package com.android.settings.notification;
|
package com.android.settings.notification;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -97,6 +99,9 @@ public class SoundSettings extends DashboardFragment implements OnActivityResult
|
|||||||
.findFragmentByTag(TAG);
|
.findFragmentByTag(TAG);
|
||||||
mDialogFragment = dialogFragment;
|
mDialogFragment = dialogFragment;
|
||||||
}
|
}
|
||||||
|
replaceEnterpriseStringTitle("sound_work_settings",
|
||||||
|
WORK_PROFILE_SOUND_SETTINGS_SECTION_HEADER,
|
||||||
|
R.string.sound_work_settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,6 +16,12 @@
|
|||||||
|
|
||||||
package com.android.settings.notification;
|
package com.android.settings.notification;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_ALARM_RINGTONE_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_RINGTONE_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_USE_PERSONAL_SOUNDS_SUMMARY;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -64,6 +70,18 @@ public class SoundWorkSettings extends DashboardFragment implements OnActivityRe
|
|||||||
mRequestPreference = findPreference(selectedPreference);
|
mRequestPreference = findPreference(selectedPreference);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
replaceEnterpriseStringTitle("work_use_personal_sounds",
|
||||||
|
WORK_PROFILE_USE_PERSONAL_SOUNDS_TITLE, R.string.work_use_personal_sounds_title);
|
||||||
|
replaceEnterpriseStringSummary("work_use_personal_sounds",
|
||||||
|
WORK_PROFILE_USE_PERSONAL_SOUNDS_SUMMARY,
|
||||||
|
R.string.work_use_personal_sounds_summary);
|
||||||
|
replaceEnterpriseStringTitle("work_ringtone",
|
||||||
|
WORK_PROFILE_RINGTONE_TITLE, R.string.work_ringtone_title);
|
||||||
|
replaceEnterpriseStringTitle("work_alarm_ringtone",
|
||||||
|
WORK_PROFILE_ALARM_RINGTONE_TITLE, R.string.work_alarm_ringtone_title);
|
||||||
|
replaceEnterpriseStringTitle("work_notification",
|
||||||
|
WORK_PROFILE_NOTIFICATION_RINGTONE_TITLE,
|
||||||
|
R.string.work_notification_ringtone_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -16,12 +16,16 @@
|
|||||||
|
|
||||||
package com.android.settings.password;
|
package com.android.settings.password;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.FORGOT_PASSWORD_TEXT;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.UserHandle;
|
import android.os.UserHandle;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
|
|
||||||
@@ -45,6 +49,11 @@ public class ForgotPasswordActivity extends Activity {
|
|||||||
}
|
}
|
||||||
setContentView(R.layout.forgot_password_activity);
|
setContentView(R.layout.forgot_password_activity);
|
||||||
|
|
||||||
|
DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
|
||||||
|
TextView forgotPasswordText = (TextView) findViewById(R.id.forgot_password_text);
|
||||||
|
forgotPasswordText.setText(devicePolicyManager.getString(
|
||||||
|
FORGOT_PASSWORD_TEXT, () -> getString(R.string.forgot_password_text)));
|
||||||
|
|
||||||
final GlifLayout layout = findViewById(R.id.setup_wizard_layout);
|
final GlifLayout layout = findViewById(R.id.setup_wizard_layout);
|
||||||
layout.getMixin(FooterBarMixin.class).setPrimaryButton(
|
layout.getMixin(FooterBarMixin.class).setPrimaryButton(
|
||||||
new FooterButton.Builder(this)
|
new FooterButton.Builder(this)
|
||||||
|
@@ -16,8 +16,15 @@
|
|||||||
|
|
||||||
package com.android.settings.privacy;
|
package com.android.settings.privacy;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCKED_NOTIFICATION_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
@@ -50,6 +57,24 @@ public class PrivacyDashboardFragment extends DashboardFragment {
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("privacy_lock_screen_work_profile_notifications",
|
||||||
|
WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
|
||||||
|
R.string.locked_work_profile_notification_title);
|
||||||
|
replaceEnterpriseStringTitle("interact_across_profiles_privacy",
|
||||||
|
CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, R.string.interact_across_profiles_title);
|
||||||
|
replaceEnterpriseStringTitle("privacy_work_profile_notifications_category",
|
||||||
|
WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER, R.string.profile_section_header);
|
||||||
|
replaceEnterpriseStringTitle("work_policy_info",
|
||||||
|
WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings);
|
||||||
|
replaceEnterpriseStringSummary("work_policy_info",
|
||||||
|
WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
|
||||||
|
R.string.work_policy_privacy_settings_summary);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.privacy_dashboard_settings;
|
return R.xml.privacy_dashboard_settings;
|
||||||
|
@@ -16,9 +16,13 @@
|
|||||||
|
|
||||||
package com.android.settings.security;
|
package com.android.settings.security;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LOCKED_NOTIFICATION_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.hardware.display.AmbientDisplayConfiguration;
|
import android.hardware.display.AmbientDisplayConfiguration;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
|
|
||||||
@@ -75,6 +79,16 @@ public class LockscreenDashboardFragment extends DashboardFragment
|
|||||||
return TAG;
|
return TAG;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("security_setting_lock_screen_notif_work",
|
||||||
|
WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
|
||||||
|
R.string.locked_work_profile_notification_title);
|
||||||
|
replaceEnterpriseStringTitle("security_setting_lock_screen_notif_work_header",
|
||||||
|
WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER, R.string.profile_section_header);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getPreferenceScreenResId() {
|
protected int getPreferenceScreenResId() {
|
||||||
return R.xml.security_lockscreen_settings;
|
return R.xml.security_lockscreen_settings;
|
||||||
|
@@ -16,9 +16,17 @@
|
|||||||
|
|
||||||
package com.android.settings.security;
|
package com.android.settings.security;
|
||||||
|
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_FOR_WORK;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGED_DEVICE_INFO;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.MANAGE_DEVICE_ADMIN_APPS;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SECURITY_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
|
||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
import com.android.settings.biometrics.combination.CombinedBiometricProfileStatusPreferenceController;
|
import com.android.settings.biometrics.combination.CombinedBiometricProfileStatusPreferenceController;
|
||||||
@@ -53,6 +61,27 @@ public class SecurityAdvancedSettings extends DashboardFragment {
|
|||||||
private static final String CATEGORY_SECURITY_LEGACY_ADVANCED_SETTINGS =
|
private static final String CATEGORY_SECURITY_LEGACY_ADVANCED_SETTINGS =
|
||||||
"com.android.settings.category.ia.legacy_advanced_security";
|
"com.android.settings.category.ia.legacy_advanced_security";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(Bundle icicle) {
|
||||||
|
super.onCreate(icicle);
|
||||||
|
replaceEnterpriseStringTitle("unlock_set_or_change_profile",
|
||||||
|
WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
|
||||||
|
R.string.unlock_set_unlock_launch_picker_title_profile);
|
||||||
|
replaceEnterpriseStringSummary("unification",
|
||||||
|
WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
|
||||||
|
R.string.lock_settings_profile_unification_summary);
|
||||||
|
replaceEnterpriseStringTitle("fingerprint_settings_profile",
|
||||||
|
FINGERPRINT_FOR_WORK,
|
||||||
|
R.string.security_settings_work_fingerprint_preference_title);
|
||||||
|
replaceEnterpriseStringTitle("manage_device_admin",
|
||||||
|
MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
|
||||||
|
replaceEnterpriseStringTitle("security_category_profile",
|
||||||
|
WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title);
|
||||||
|
replaceEnterpriseStringTitle("enterprise_privacy", MANAGED_DEVICE_INFO,
|
||||||
|
R.string.enterprise_privacy_settings);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return SettingsEnums.SECURITY_ADVANCED;
|
return SettingsEnums.SECURITY_ADVANCED;
|
||||||
|
@@ -18,6 +18,7 @@ package com.android.settings.users;
|
|||||||
|
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_REMOVE_MESSAGE;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_REMOVE_MESSAGE;
|
||||||
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_REMOVE_TITLE;
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_REMOVE_TITLE;
|
||||||
|
import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_MANAGED_BY;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
@@ -89,6 +90,8 @@ public final class UserDialogs {
|
|||||||
*/
|
*/
|
||||||
private static View createRemoveManagedUserDialogView(Context context, int userId) {
|
private static View createRemoveManagedUserDialogView(Context context, int userId) {
|
||||||
PackageManager packageManager = context.getPackageManager();
|
PackageManager packageManager = context.getPackageManager();
|
||||||
|
DevicePolicyManager devicePolicyManager =
|
||||||
|
context.getSystemService(DevicePolicyManager.class);
|
||||||
ApplicationInfo mdmApplicationInfo = Utils.getAdminApplicationInfo(context, userId);
|
ApplicationInfo mdmApplicationInfo = Utils.getAdminApplicationInfo(context, userId);
|
||||||
if (mdmApplicationInfo == null) {
|
if (mdmApplicationInfo == null) {
|
||||||
return null;
|
return null;
|
||||||
@@ -102,6 +105,16 @@ public final class UserDialogs {
|
|||||||
Drawable badgedApplicationIcon = packageManager.getApplicationIcon(mdmApplicationInfo);
|
Drawable badgedApplicationIcon = packageManager.getApplicationIcon(mdmApplicationInfo);
|
||||||
imageView.setImageDrawable(badgedApplicationIcon);
|
imageView.setImageDrawable(badgedApplicationIcon);
|
||||||
|
|
||||||
|
TextView openingParagraph = (TextView)
|
||||||
|
view.findViewById(R.id.delete_managed_profile_opening_paragraph);
|
||||||
|
openingParagraph.setText(devicePolicyManager.getString(WORK_PROFILE_MANAGED_BY,
|
||||||
|
() -> context.getString(
|
||||||
|
R.string.opening_paragraph_delete_profile_unknown_company)));
|
||||||
|
TextView closingParagraph = (TextView)
|
||||||
|
view.findViewById(R.id.delete_managed_profile_closing_paragraph);
|
||||||
|
closingParagraph.setText(devicePolicyManager.getString(WORK_PROFILE_CONFIRM_REMOVE_MESSAGE,
|
||||||
|
() -> context.getString(R.string.work_profile_confirm_remove_message)));
|
||||||
|
|
||||||
CharSequence appLabel = packageManager.getApplicationLabel(mdmApplicationInfo);
|
CharSequence appLabel = packageManager.getApplicationLabel(mdmApplicationInfo);
|
||||||
CharSequence badgedAppLabel = packageManager.getUserBadgedLabel(appLabel,
|
CharSequence badgedAppLabel = packageManager.getUserBadgedLabel(appLabel,
|
||||||
new UserHandle(userId));
|
new UserHandle(userId));
|
||||||
|
Reference in New Issue
Block a user