diff options
3 files changed, 23 insertions, 25 deletions
diff --git a/services/core/java/com/android/server/location/gnss/GnssListenerMultiplexer.java b/services/core/java/com/android/server/location/gnss/GnssListenerMultiplexer.java index e7f6e67f13ad..349b94bc137b 100644 --- a/services/core/java/com/android/server/location/gnss/GnssListenerMultiplexer.java +++ b/services/core/java/com/android/server/location/gnss/GnssListenerMultiplexer.java @@ -425,18 +425,15 @@ public abstract class GnssListenerMultiplexer<TRequest, TListener extends IInter } private void onPackageReset(String packageName) { - // invoked when a package is "force quit" - move off the main thread - FgThread.getExecutor().execute( - () -> - updateRegistrations( - registration -> { - if (registration.getIdentity().getPackageName().equals( - packageName)) { - registration.remove(); - } - - return false; - })); + updateRegistrations( + registration -> { + if (registration.getIdentity().getPackageName().equals( + packageName)) { + registration.remove(); + } + + return false; + }); } private boolean isResetableForPackage(String packageName) { diff --git a/services/core/java/com/android/server/location/injector/SystemPackageResetHelper.java b/services/core/java/com/android/server/location/injector/SystemPackageResetHelper.java index 91b0212df734..b0fe55d88b90 100644 --- a/services/core/java/com/android/server/location/injector/SystemPackageResetHelper.java +++ b/services/core/java/com/android/server/location/injector/SystemPackageResetHelper.java @@ -27,6 +27,7 @@ import android.content.pm.PackageManager; import android.net.Uri; import com.android.internal.util.Preconditions; +import com.android.server.FgThread; /** Listens to appropriate broadcasts for queries and resets. */ public class SystemPackageResetHelper extends PackageResetHelper { @@ -120,7 +121,9 @@ public class SystemPackageResetHelper extends PackageResetHelper { context.getPackageManager().getApplicationInfo(packageName, PackageManager.ApplicationInfoFlags.of(0)); if (!appInfo.enabled) { - notifyPackageReset(packageName); + // move off main thread + FgThread.getExecutor().execute( + () -> notifyPackageReset(packageName)); } } catch (PackageManager.NameNotFoundException e) { return; @@ -130,7 +133,8 @@ public class SystemPackageResetHelper extends PackageResetHelper { case Intent.ACTION_PACKAGE_REMOVED: // fall through case Intent.ACTION_PACKAGE_RESTARTED: - notifyPackageReset(packageName); + // move off main thread + FgThread.getExecutor().execute(() -> notifyPackageReset(packageName)); break; default: break; 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 bd7525133624..338a99567b67 100644 --- a/services/core/java/com/android/server/location/provider/LocationProviderManager.java +++ b/services/core/java/com/android/server/location/provider/LocationProviderManager.java @@ -2409,18 +2409,15 @@ public class LocationProviderManager extends } private void onPackageReset(String packageName) { - // invoked when a package is "force quit" - move off the main thread - FgThread.getExecutor().execute( - () -> - updateRegistrations( - registration -> { - if (registration.getIdentity().getPackageName().equals( - packageName)) { - registration.remove(); - } + updateRegistrations( + registration -> { + if (registration.getIdentity().getPackageName().equals( + packageName)) { + registration.remove(); + } - return false; - })); + return false; + }); } private boolean isResetableForPackage(String packageName) { |