diff options
4 files changed, 26 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/location/provider/LocationProviderManager.java b/services/core/java/com/android/server/location/provider/LocationProviderManager.java index 1ecf3ee40a53..c600663173a8 100644 --- a/services/core/java/com/android/server/location/provider/LocationProviderManager.java +++ b/services/core/java/com/android/server/location/provider/LocationProviderManager.java @@ -29,6 +29,8 @@ import static android.os.PowerManager.LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF import static android.os.PowerManager.LOCATION_MODE_FOREGROUND_ONLY; import static android.os.PowerManager.LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF; import static android.os.PowerManager.LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF; +import static android.os.PowerWhitelistManager.REASON_LOCATION_PROVIDER; +import static android.os.PowerWhitelistManager.TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED; import static com.android.server.location.LocationManagerService.D; import static com.android.server.location.LocationManagerService.TAG; @@ -227,7 +229,10 @@ public class LocationProviderManager extends BroadcastOptions options = BroadcastOptions.makeBasic(); options.setDontSendToRestrictedApps(true); // allows apps to start a fg service in response to a location PI - options.setTemporaryAppWhitelistDuration(TEMPORARY_APP_ALLOWLIST_DURATION_MS); + options.setTemporaryAppAllowlist(TEMPORARY_APP_ALLOWLIST_DURATION_MS, + TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED, + REASON_LOCATION_PROVIDER, + ""); Intent intent = new Intent().putExtra(KEY_LOCATION_CHANGED, locationResult.getLastLocation()); diff --git a/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java b/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java index 87e170ad12df..cb0a668871e0 100644 --- a/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java +++ b/services/core/java/com/android/server/media/MediaButtonReceiverHolder.java @@ -29,6 +29,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.os.Handler; +import android.os.PowerWhitelistManager; import android.os.UserHandle; import android.text.TextUtils; import android.util.Log; @@ -195,8 +196,9 @@ final class MediaButtonReceiverHolder { mediaButtonIntent.putExtra(Intent.EXTRA_PACKAGE_NAME, callingPackageName); final BroadcastOptions options = BroadcastOptions.makeBasic(); - options.setTemporaryAppWhitelistDuration( - FGS_STARTS_TEMP_ALLOWLIST_DURATION_MS); + options.setTemporaryAppAllowlist(FGS_STARTS_TEMP_ALLOWLIST_DURATION_MS, + PowerWhitelistManager.TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED, + PowerWhitelistManager.REASON_MEDIA_BUTTON, ""); if (mPendingIntent != null) { if (DEBUG_KEY_EVENT) { Log.d(TAG, "Sending " + keyEvent + " to the last known PendingIntent " diff --git a/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1.java b/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1.java index a80406548719..2580a9725cb3 100644 --- a/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1.java +++ b/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV1.java @@ -16,6 +16,9 @@ package com.android.server.pm.verify.domain.proxy; +import static android.os.PowerWhitelistManager.REASON_DOMAIN_VERIFICATION_V1; +import static android.os.PowerWhitelistManager.TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED; + import android.Manifest; import android.annotation.NonNull; import android.annotation.Nullable; @@ -238,7 +241,8 @@ public class DomainVerificationProxyV1 implements DomainVerificationProxy { final long allowListTimeout = mConnection.getPowerSaveTempWhitelistAppDuration(); mConnection.getDeviceIdleInternal().addPowerSaveTempWhitelistApp(Process.myUid(), mVerifierComponent.getPackageName(), allowListTimeout, - UserHandle.USER_SYSTEM, true, "domain verification agent"); + UserHandle.USER_SYSTEM, true, REASON_DOMAIN_VERIFICATION_V1, + "domain verification agent"); int size = verifications.size(); for (int index = 0; index < size; index++) { @@ -261,7 +265,9 @@ public class DomainVerificationProxyV1 implements DomainVerificationProxy { .addFlags(Intent.FLAG_RECEIVER_FOREGROUND); final BroadcastOptions options = BroadcastOptions.makeBasic(); - options.setTemporaryAppWhitelistDuration(allowListTimeout); + options.setTemporaryAppAllowlist(allowListTimeout, + TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED, + REASON_DOMAIN_VERIFICATION_V1, ""); mContext.sendBroadcastAsUser(intent, UserHandle.SYSTEM, null, options.toBundle()); } } diff --git a/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2.java b/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2.java index 1ef06036021e..2ba17d3a86a5 100644 --- a/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2.java +++ b/services/core/java/com/android/server/pm/verify/domain/proxy/DomainVerificationProxyV2.java @@ -16,6 +16,9 @@ package com.android.server.pm.verify.domain.proxy; +import static android.os.PowerWhitelistManager.REASON_DOMAIN_VERIFICATION_V2; +import static android.os.PowerWhitelistManager.TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED; + import android.annotation.NonNull; import android.annotation.Nullable; import android.app.BroadcastOptions; @@ -69,11 +72,14 @@ public class DomainVerificationProxyV2 implements DomainVerificationProxy { final long allowListTimeout = mConnection.getPowerSaveTempWhitelistAppDuration(); final BroadcastOptions options = BroadcastOptions.makeBasic(); - options.setTemporaryAppWhitelistDuration(allowListTimeout); + options.setTemporaryAppAllowlist(allowListTimeout, + TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED, + REASON_DOMAIN_VERIFICATION_V2, ""); mConnection.getDeviceIdleInternal().addPowerSaveTempWhitelistApp(Process.myUid(), mVerifierComponent.getPackageName(), allowListTimeout, - UserHandle.USER_SYSTEM, true, "domain verification agent"); + UserHandle.USER_SYSTEM, true, REASON_DOMAIN_VERIFICATION_V2, + "domain verification agent"); Intent intent = new Intent(Intent.ACTION_DOMAINS_NEED_VERIFICATION) .setComponent(mVerifierComponent) |