Merge "Rename DND Access to Priority Modes Access in Settings" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
c85e48b0aa
@@ -8851,9 +8851,13 @@
|
||||
<string name="nls_feature_reply_summary">It can reply to messages and take action on buttons in notifications, including snoozing or dismissing notifications and answering calls.</string>
|
||||
<string name="nls_feature_settings_title">Change settings</string>
|
||||
<string name="nls_feature_settings_summary">It can turn Do Not Disturb on or off and change related settings.</string>
|
||||
<string name="nls_feature_modes_settings_summary">It can manage and activate Priority Modes, and change related settings.</string>
|
||||
<string name="notification_listener_disable_warning_summary">
|
||||
If you turn off notification access for <xliff:g id="notification_listener_name">%1$s</xliff:g>, Do Not Disturb access may also be turned off.
|
||||
</string>
|
||||
<string name="notification_listener_disable_modes_warning_summary">
|
||||
If you turn off notification access for <xliff:g id="notification_listener_name">%1$s</xliff:g>, Priority Modes access may also be turned off.
|
||||
</string>
|
||||
<string name="notification_listener_disable_warning_confirm">Turn off</string>
|
||||
<string name="notification_listener_disable_warning_cancel">Cancel</string>
|
||||
<string name="notif_type_ongoing">Real-time</string>
|
||||
@@ -9030,6 +9034,15 @@
|
||||
<!-- Sound & notification > Do Not Disturb access > Text to display when the list is empty. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_access_empty_text">No installed apps have requested Do Not Disturb access</string>
|
||||
|
||||
<!-- Special App Access: Title for managing Priority Modes access option. [CHAR LIMIT=40] -->
|
||||
<string name="manage_zen_modes_access_title">Priority Modes access</string>
|
||||
|
||||
<!-- Button title that grants 'Priority Modes' permission to an app [CHAR_LIMIT=60]-->
|
||||
<string name="zen_modes_access_detail_switch">Allow Priority Modes access</string>
|
||||
|
||||
<!-- Special App Access > Do Not Disturb access > Text to display when the list is empty. [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_modes_access_empty_text">No installed apps have requested Priority Modes access</string>
|
||||
|
||||
<!-- [CHAR LIMIT=NONE] Text appearing when app notifications are off -->
|
||||
<string name="app_notifications_off_desc">You haven\'t allowed notifications from this app</string>
|
||||
|
||||
@@ -10151,6 +10164,18 @@
|
||||
<!-- Zen mode access settings - summary for warning dialog when revoking access [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_access_revoke_warning_dialog_summary">All Do Not Disturb rules created by this app will be removed.</string>
|
||||
|
||||
<!-- Priority modes access settings - title for warning dialog when enabling access [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_modes_access_warning_dialog_title">Allow access to Priority Modes for <xliff:g id="app" example="Tasker">%1$s</xliff:g>?</string>
|
||||
|
||||
<!-- Priority modes access settings - summary for warning dialog when enabling access [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_modes_access_warning_dialog_summary">The app will be able to turn on/off Do Not Disturb, manage and activate Priority Modes, and make changes to related settings.</string>
|
||||
|
||||
<!-- Priority modes access settings - title for warning dialog when revoking access [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_modes_access_revoke_warning_dialog_title">Revoke access Priority Modes for <xliff:g id="app" example="Tasker">%1$s</xliff:g>?</string>
|
||||
|
||||
<!-- Priority modes access settings - summary for warning dialog when revoking access [CHAR LIMIT=NONE] -->
|
||||
<string name="zen_modes_access_revoke_warning_dialog_summary">All modes created by this app will be removed.</string>
|
||||
|
||||
<!-- Ignore battery optimizations on label [CHAR LIMIT=30] -->
|
||||
<string name="ignore_optimizations_on">Don\u2019t optimize</string>
|
||||
|
||||
|
@@ -16,6 +16,7 @@
|
||||
package com.android.settings.applications.specialaccess.notificationaccess;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.Flags;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.DialogInterface;
|
||||
@@ -55,7 +56,10 @@ public class FriendlyWarningDialogFragment extends InstrumentedDialogFragment {
|
||||
NotificationAccessDetails parent = (NotificationAccessDetails) getTargetFragment();
|
||||
|
||||
final String summary = getResources().getString(
|
||||
R.string.notification_listener_disable_warning_summary, label);
|
||||
Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.notification_listener_disable_modes_warning_summary
|
||||
: R.string.notification_listener_disable_warning_summary,
|
||||
label);
|
||||
return new AlertDialog.Builder(getContext())
|
||||
.setMessage(summary)
|
||||
.setCancelable(true)
|
||||
|
@@ -16,6 +16,7 @@
|
||||
package com.android.settings.applications.specialaccess.notificationaccess;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.Flags;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
@@ -96,6 +97,11 @@ public class ScaryWarningDialogFragment extends InstrumentedDialogFragment {
|
||||
R.string.nls_warning_prompt, label);
|
||||
((TextView) content.findViewById(R.id.prompt)).setText(prompt);
|
||||
|
||||
((TextView) content.findViewById(R.id.settings_description)).setText(
|
||||
Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.nls_feature_modes_settings_summary
|
||||
: R.string.nls_feature_settings_summary);
|
||||
|
||||
Button allowButton = content.findViewById(R.id.allow_button);
|
||||
allowButton.setOnClickListener((view) -> {
|
||||
parent.enable(cn);
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.applications.specialaccess.zenaccess;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.Flags;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
@@ -58,9 +59,14 @@ public class FriendlyWarningDialogFragment extends InstrumentedDialogFragment {
|
||||
final String label = args.getString(KEY_LABEL);
|
||||
|
||||
final String title = getResources().getString(
|
||||
R.string.zen_access_revoke_warning_dialog_title, label);
|
||||
Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_revoke_warning_dialog_title
|
||||
: R.string.zen_access_revoke_warning_dialog_title,
|
||||
label);
|
||||
final String summary = getResources()
|
||||
.getString(R.string.zen_access_revoke_warning_dialog_summary);
|
||||
.getString(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_revoke_warning_dialog_summary
|
||||
: R.string.zen_access_revoke_warning_dialog_summary);
|
||||
|
||||
ZenAccessDetails parent = (ZenAccessDetails) getTargetFragment();
|
||||
return new AlertDialog.Builder(getContext())
|
||||
|
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.applications.specialaccess.zenaccess;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.app.Flags;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.os.Bundle;
|
||||
import android.text.TextUtils;
|
||||
@@ -55,10 +56,15 @@ public class ScaryWarningDialogFragment extends InstrumentedDialogFragment {
|
||||
final String pkg = args.getString(KEY_PKG);
|
||||
final String label = args.getString(KEY_LABEL);
|
||||
|
||||
final String title = getResources().getString(R.string.zen_access_warning_dialog_title,
|
||||
final String title = getResources().getString(
|
||||
Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_warning_dialog_title
|
||||
: R.string.zen_access_warning_dialog_title,
|
||||
label);
|
||||
final String summary = getResources()
|
||||
.getString(R.string.zen_access_warning_dialog_summary);
|
||||
.getString(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_warning_dialog_summary
|
||||
: R.string.zen_access_warning_dialog_summary);
|
||||
|
||||
ZenAccessDetails parent = (ZenAccessDetails) getTargetFragment();
|
||||
|
||||
|
@@ -18,6 +18,7 @@ package com.android.settings.applications.specialaccess.zenaccess;
|
||||
|
||||
import android.app.ActivityManager;
|
||||
import android.app.AppGlobals;
|
||||
import android.app.Flags;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
@@ -28,7 +29,10 @@ import android.util.ArraySet;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
|
||||
@@ -48,6 +52,16 @@ public class ZenAccessController extends BasePreferenceController {
|
||||
return AVAILABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
Preference preference = screen.findPreference(getPreferenceKey());
|
||||
if (preference != null) {
|
||||
preference.setTitle(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.manage_zen_modes_access_title
|
||||
: R.string.manage_zen_access_title);
|
||||
}
|
||||
}
|
||||
|
||||
public static Set<String> getPackagesRequestingNotificationPolicyAccess() {
|
||||
final String[] PERM = {
|
||||
android.Manifest.permission.ACCESS_NOTIFICATION_POLICY
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.applications.specialaccess.zenaccess;
|
||||
|
||||
import android.app.Flags;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
@@ -43,6 +44,9 @@ public class ZenAccessDetails extends AppInfoWithHeader implements
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
addPreferencesFromResource(R.xml.zen_access_permission_details);
|
||||
requireActivity().setTitle(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.manage_zen_modes_access_title
|
||||
: R.string.manage_zen_access_title);
|
||||
getSettingsLifecycle().addObserver(
|
||||
new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
|
||||
}
|
||||
@@ -80,6 +84,9 @@ public class ZenAccessDetails extends AppInfoWithHeader implements
|
||||
preference.setSummary(getString(R.string.zen_access_disabled_package_warning));
|
||||
return;
|
||||
}
|
||||
preference.setTitle(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_detail_switch
|
||||
: R.string.zen_access_detail_switch);
|
||||
preference.setChecked(ZenAccessController.hasAccess(context, mPackageName));
|
||||
preference.setOnPreferenceChangeListener((p, newValue) -> {
|
||||
final boolean access = (Boolean) newValue;
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.notification.zen;
|
||||
|
||||
import android.app.Flags;
|
||||
import android.app.NotificationManager;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
@@ -68,6 +69,9 @@ public class ZenAccessSettings extends EmptyTextSettings implements
|
||||
mContext = getActivity();
|
||||
mPkgMan = mContext.getPackageManager();
|
||||
mNoMan = mContext.getSystemService(NotificationManager.class);
|
||||
requireActivity().setTitle(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.manage_zen_modes_access_title
|
||||
: R.string.manage_zen_access_title);
|
||||
getSettingsLifecycle().addObserver(
|
||||
new ZenAccessSettingObserverMixin(getContext(), this /* listener */));
|
||||
}
|
||||
@@ -75,7 +79,9 @@ public class ZenAccessSettings extends EmptyTextSettings implements
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
setEmptyText(R.string.zen_access_empty_text);
|
||||
setEmptyText(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.zen_modes_access_empty_text
|
||||
: R.string.zen_access_empty_text);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -139,7 +145,9 @@ public class ZenAccessSettings extends EmptyTextSettings implements
|
||||
pref.setOnPreferenceClickListener(preference -> {
|
||||
AppInfoBase.startAppInfoFragment(
|
||||
ZenAccessDetails.class /* fragment */,
|
||||
getString(R.string.manage_zen_access_title) /* titleRes */,
|
||||
getString(Flags.modesApi() && Flags.modesUi()
|
||||
? R.string.manage_zen_modes_access_title
|
||||
: R.string.manage_zen_access_title),
|
||||
pkg,
|
||||
app.uid,
|
||||
this /* source */,
|
||||
@@ -154,7 +162,7 @@ public class ZenAccessSettings extends EmptyTextSettings implements
|
||||
|
||||
/**
|
||||
* @return the summary for the current state of whether the app associated with the given
|
||||
* {@param packageName} is allowed to enter picture-in-picture.
|
||||
* {@param packageName} is allowed to manage DND / Priority Modes.
|
||||
*/
|
||||
private int getPreferenceSummary(String packageName) {
|
||||
final boolean enabled = ZenAccessController.hasAccess(getContext(), packageName);
|
||||
|
Reference in New Issue
Block a user