Merge "Add a device config for FGS denied notification." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e06a55ba9f
@@ -6165,8 +6165,10 @@ public final class ActiveServices {
|
|||||||
&& code != REASON_UID_VISIBLE;
|
&& code != REASON_UID_VISIBLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: remove this notification after feature development is done
|
|
||||||
private void showFgsBgRestrictedNotificationLocked(ServiceRecord r) {
|
private void showFgsBgRestrictedNotificationLocked(ServiceRecord r) {
|
||||||
|
if (!mAm.mConstants.mFgsStartRestrictionNotificationEnabled /* default is false */) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
final Context context = mAm.mContext;
|
final Context context = mAm.mContext;
|
||||||
final String title = "Foreground Service BG-Launch Restricted";
|
final String title = "Foreground Service BG-Launch Restricted";
|
||||||
final String content = "App restricted: " + r.mRecentCallingPackage;
|
final String content = "App restricted: " + r.mRecentCallingPackage;
|
||||||
|
|||||||
@@ -197,6 +197,13 @@ final class ActivityManagerConstants extends ContentObserver {
|
|||||||
private static final String KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED =
|
private static final String KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED =
|
||||||
"default_fgs_starts_restriction_enabled";
|
"default_fgs_starts_restriction_enabled";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default value for mFgsStartRestrictionNotificationEnabled if not explicitly set in
|
||||||
|
* Settings.Global.
|
||||||
|
*/
|
||||||
|
private static final String KEY_DEFAULT_FGS_STARTS_RESTRICTION_NOTIFICATION_ENABLED =
|
||||||
|
"default_fgs_starts_restriction_notification_enabled";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Default value for mFgsStartRestrictionCheckCallerTargetSdk if not explicitly set in
|
* Default value for mFgsStartRestrictionCheckCallerTargetSdk if not explicitly set in
|
||||||
* Settings.Global.
|
* Settings.Global.
|
||||||
@@ -432,6 +439,10 @@ final class ActivityManagerConstants extends ContentObserver {
|
|||||||
// at all.
|
// at all.
|
||||||
volatile boolean mFlagFgsStartRestrictionEnabled = true;
|
volatile boolean mFlagFgsStartRestrictionEnabled = true;
|
||||||
|
|
||||||
|
// Whether to display a notification when a service is restricted from startForeground due to
|
||||||
|
// foreground service background start restriction.
|
||||||
|
volatile boolean mFgsStartRestrictionNotificationEnabled = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicates whether the foreground service background start restriction is enabled for
|
* Indicates whether the foreground service background start restriction is enabled for
|
||||||
* caller app that is targeting S+.
|
* caller app that is targeting S+.
|
||||||
@@ -652,6 +663,9 @@ final class ActivityManagerConstants extends ContentObserver {
|
|||||||
case KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED:
|
case KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED:
|
||||||
updateFgsStartsRestriction();
|
updateFgsStartsRestriction();
|
||||||
break;
|
break;
|
||||||
|
case KEY_DEFAULT_FGS_STARTS_RESTRICTION_NOTIFICATION_ENABLED:
|
||||||
|
updateFgsStartsRestrictionNotification();
|
||||||
|
break;
|
||||||
case KEY_DEFAULT_FGS_STARTS_RESTRICTION_CHECK_CALLER_TARGET_SDK:
|
case KEY_DEFAULT_FGS_STARTS_RESTRICTION_CHECK_CALLER_TARGET_SDK:
|
||||||
updateFgsStartsRestrictionCheckCallerTargetSdk();
|
updateFgsStartsRestrictionCheckCallerTargetSdk();
|
||||||
break;
|
break;
|
||||||
@@ -953,6 +967,13 @@ final class ActivityManagerConstants extends ContentObserver {
|
|||||||
/*defaultValue*/ true);
|
/*defaultValue*/ true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateFgsStartsRestrictionNotification() {
|
||||||
|
mFgsStartRestrictionNotificationEnabled = DeviceConfig.getBoolean(
|
||||||
|
DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
|
||||||
|
KEY_DEFAULT_FGS_STARTS_RESTRICTION_NOTIFICATION_ENABLED,
|
||||||
|
/*defaultValue*/ false);
|
||||||
|
}
|
||||||
|
|
||||||
private void updateFgsStartsRestrictionCheckCallerTargetSdk() {
|
private void updateFgsStartsRestrictionCheckCallerTargetSdk() {
|
||||||
mFgsStartRestrictionCheckCallerTargetSdk = DeviceConfig.getBoolean(
|
mFgsStartRestrictionCheckCallerTargetSdk = DeviceConfig.getBoolean(
|
||||||
DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
|
DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
|
||||||
@@ -1272,6 +1293,9 @@ final class ActivityManagerConstants extends ContentObserver {
|
|||||||
pw.print("="); pw.println(mFlagBackgroundFgsStartRestrictionEnabled);
|
pw.print("="); pw.println(mFlagBackgroundFgsStartRestrictionEnabled);
|
||||||
pw.print(" "); pw.print(KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED); pw.print("=");
|
pw.print(" "); pw.print(KEY_DEFAULT_FGS_STARTS_RESTRICTION_ENABLED); pw.print("=");
|
||||||
pw.println(mFlagFgsStartRestrictionEnabled);
|
pw.println(mFlagFgsStartRestrictionEnabled);
|
||||||
|
pw.print(" "); pw.print(KEY_DEFAULT_FGS_STARTS_RESTRICTION_NOTIFICATION_ENABLED);
|
||||||
|
pw.print("=");
|
||||||
|
pw.println(mFgsStartRestrictionNotificationEnabled);
|
||||||
pw.print(" "); pw.print(KEY_DEFAULT_FGS_STARTS_RESTRICTION_CHECK_CALLER_TARGET_SDK);
|
pw.print(" "); pw.print(KEY_DEFAULT_FGS_STARTS_RESTRICTION_CHECK_CALLER_TARGET_SDK);
|
||||||
pw.print("="); pw.println(mFgsStartRestrictionCheckCallerTargetSdk);
|
pw.print("="); pw.println(mFgsStartRestrictionCheckCallerTargetSdk);
|
||||||
pw.print(" "); pw.print(KEY_FGS_ATOM_SAMPLE_RATE);
|
pw.print(" "); pw.print(KEY_FGS_ATOM_SAMPLE_RATE);
|
||||||
|
|||||||
Reference in New Issue
Block a user