Merge "Allow overriding of strings referenced in XML files."
This commit is contained in:
committed by
Android (Google) Code Review
commit
a2781721e2
@@ -16,6 +16,8 @@
|
||||
|
||||
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 android.app.Activity;
|
||||
@@ -238,6 +240,8 @@ public class AppInfoDashboardFragment extends DashboardFragment
|
||||
startListeningToPackageRemove();
|
||||
|
||||
setHasOptionsMenu(true);
|
||||
replaceEnterpriseStringTitle("interact_across_profiles",
|
||||
CONNECTED_WORK_AND_PERSONAL_APPS_TITLE, R.string.interact_across_profiles_title);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -16,7 +16,11 @@
|
||||
|
||||
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.os.Bundle;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
@@ -33,6 +37,15 @@ public class SpecialAccessSettings extends DashboardFragment {
|
||||
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
|
||||
protected int getPreferenceScreenResId() {
|
||||
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_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_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.WORK_PROFILE_ADMIN_POLICIES_WARNING;
|
||||
|
||||
@@ -365,6 +367,10 @@ public class DeviceAdminAdd extends CollapsingToolbarBaseActivity {
|
||||
mAdminDescription = (TextView)findViewById(R.id.admin_description);
|
||||
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);
|
||||
mAddMsgExpander = (ImageView) findViewById(R.id.add_msg_expander);
|
||||
final View.OnClickListener onClickListener = new View.OnClickListener() {
|
||||
@@ -410,6 +416,8 @@ public class DeviceAdminAdd extends CollapsingToolbarBaseActivity {
|
||||
});
|
||||
|
||||
mUninstallButton = (Button) findViewById(R.id.uninstall_button);
|
||||
mUninstallButton.setText(mDPM.getString(UNINSTALL_DEVICE_ADMIN,
|
||||
() -> getString(R.string.uninstall_device_admin)));
|
||||
mUninstallButton.setFilterTouchesWhenObscured(true);
|
||||
mUninstallButton.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
|
@@ -16,7 +16,10 @@
|
||||
|
||||
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.os.Bundle;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
@@ -31,6 +34,14 @@ public class DeviceAdminSettings extends DashboardFragment {
|
||||
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
|
||||
protected int getPreferenceScreenResId() {
|
||||
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_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.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_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_UNAWARE;
|
||||
import static android.provider.Settings.ACTION_MANAGE_CROSS_PROFILE_ACCESS;
|
||||
@@ -46,6 +50,7 @@ import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.stats.devicepolicy.DevicePolicyEnums;
|
||||
import android.util.IconDrawableFactory;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
@@ -72,9 +77,11 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
"interact_across_profiles_extra_summary";
|
||||
public static final String EXTRA_SHOW_FRAGMENT_ARGS = ":settings:show_fragment_args";
|
||||
public static final String INTENT_KEY = "intent";
|
||||
private static final String TAG = "InteractAcrossProfilesDetails";
|
||||
|
||||
private Context mContext;
|
||||
private CrossProfileApps mCrossProfileApps;
|
||||
private DevicePolicyManager mDevicePolicyManager;
|
||||
private UserManager mUserManager;
|
||||
private RestrictedSwitchPreference mSwitchPref;
|
||||
private LayoutPreference mHeader;
|
||||
@@ -94,6 +101,7 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
|
||||
mContext = getContext();
|
||||
mCrossProfileApps = mContext.getSystemService(CrossProfileApps.class);
|
||||
mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
|
||||
mUserManager = mContext.getSystemService(UserManager.class);
|
||||
mPackageManager = mContext.getPackageManager();
|
||||
|
||||
@@ -106,6 +114,18 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
mInstallAppIntent = AppStoreUtil.getAppStoreLink(mContext, mPackageName);
|
||||
|
||||
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.setOnPreferenceClickListener(this);
|
||||
|
||||
@@ -127,6 +147,19 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
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() {
|
||||
Preference extraSummary = findPreference(INTERACT_ACROSS_PROFILE_EXTRA_SUMMARY_KEY);
|
||||
if (extraSummary == null) {
|
||||
@@ -264,7 +297,8 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
final TextView dialogTitle = dialogView.findViewById(
|
||||
R.id.interact_across_profiles_consent_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);
|
||||
appDataSummary.setText(
|
||||
@@ -280,6 +314,12 @@ public class InteractAcrossProfilesDetails extends AppInfoBase
|
||||
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());
|
||||
builder.setView(dialogView)
|
||||
.setPositiveButton(R.string.allow, new DialogInterface.OnClickListener() {
|
||||
|
Reference in New Issue
Block a user