Loading core/java/com/android/internal/content/PackageMonitor.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.os.Looper; import android.os.UserHandle; import android.os.UserHandle; import android.util.Slog; import android.util.Slog; import com.android.internal.os.BackgroundThread; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import java.util.HashSet; import java.util.HashSet; Loading Loading @@ -72,15 +73,17 @@ public abstract class PackageMonitor extends android.content.BroadcastReceiver { public void register(Context context, Looper thread, UserHandle user, public void register(Context context, Looper thread, UserHandle user, boolean externalStorage) { boolean externalStorage) { register(context, user, externalStorage, (thread == null) ? BackgroundThread.getHandler() : new Handler(thread)); } public void register(Context context, UserHandle user, boolean externalStorage, Handler handler) { if (mRegisteredContext != null) { if (mRegisteredContext != null) { throw new IllegalStateException("Already registered"); throw new IllegalStateException("Already registered"); } } mRegisteredContext = context; mRegisteredContext = context; if (thread == null) { mRegisteredHandler = Preconditions.checkNotNull(handler); mRegisteredHandler = BackgroundThread.getHandler(); } else { mRegisteredHandler = new Handler(thread); } if (user != null) { if (user != null) { context.registerReceiverAsUser(this, user, sPackageFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sPackageFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sNonDataFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sNonDataFilt, null, mRegisteredHandler); Loading services/core/java/com/android/server/pm/LauncherAppsService.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.graphics.Rect; import android.net.Uri; import android.net.Uri; import android.os.Binder; import android.os.Binder; import android.os.Bundle; import android.os.Bundle; import android.os.Handler; import android.os.IInterface; import android.os.IInterface; import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor; import android.os.RemoteCallbackList; import android.os.RemoteCallbackList; Loading @@ -54,6 +55,7 @@ import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.content.PackageMonitor; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import com.android.internal.util.Preconditions; import com.android.server.LocalServices; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.SystemService; Loading Loading @@ -102,6 +104,8 @@ public class LauncherAppsService extends SystemService { private final MyPackageMonitor mPackageMonitor = new MyPackageMonitor(); private final MyPackageMonitor mPackageMonitor = new MyPackageMonitor(); private final Handler mCallbackHandler; public LauncherAppsImpl(Context context) { public LauncherAppsImpl(Context context) { mContext = context; mContext = context; mPm = mContext.getPackageManager(); mPm = mContext.getPackageManager(); Loading @@ -109,6 +113,7 @@ public class LauncherAppsService extends SystemService { mShortcutServiceInternal = Preconditions.checkNotNull( mShortcutServiceInternal = Preconditions.checkNotNull( LocalServices.getService(ShortcutServiceInternal.class)); LocalServices.getService(ShortcutServiceInternal.class)); mShortcutServiceInternal.addListener(mPackageMonitor); mShortcutServiceInternal.addListener(mPackageMonitor); mCallbackHandler = BackgroundThread.getHandler(); } } @VisibleForTesting @VisibleForTesting Loading Loading @@ -165,7 +170,7 @@ public class LauncherAppsService extends SystemService { * Register a receiver to watch for package broadcasts * Register a receiver to watch for package broadcasts */ */ private void startWatchingPackageBroadcasts() { private void startWatchingPackageBroadcasts() { mPackageMonitor.register(mContext, null, UserHandle.ALL, true); mPackageMonitor.register(mContext, UserHandle.ALL, true, mCallbackHandler); } } /** /** Loading Loading @@ -550,8 +555,9 @@ public class LauncherAppsService extends SystemService { } } } } @VisibleForTesting void postToPackageMonitorHandler(Runnable r) { void postToPackageMonitorHandler(Runnable r) { mPackageMonitor.getRegisteredHandler().post(r); mCallbackHandler.post(r); } } private class MyPackageMonitor extends PackageMonitor implements ShortcutChangeListener { private class MyPackageMonitor extends PackageMonitor implements ShortcutChangeListener { Loading Loading
core/java/com/android/internal/content/PackageMonitor.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -26,6 +26,7 @@ import android.os.Looper; import android.os.UserHandle; import android.os.UserHandle; import android.util.Slog; import android.util.Slog; import com.android.internal.os.BackgroundThread; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import java.util.HashSet; import java.util.HashSet; Loading Loading @@ -72,15 +73,17 @@ public abstract class PackageMonitor extends android.content.BroadcastReceiver { public void register(Context context, Looper thread, UserHandle user, public void register(Context context, Looper thread, UserHandle user, boolean externalStorage) { boolean externalStorage) { register(context, user, externalStorage, (thread == null) ? BackgroundThread.getHandler() : new Handler(thread)); } public void register(Context context, UserHandle user, boolean externalStorage, Handler handler) { if (mRegisteredContext != null) { if (mRegisteredContext != null) { throw new IllegalStateException("Already registered"); throw new IllegalStateException("Already registered"); } } mRegisteredContext = context; mRegisteredContext = context; if (thread == null) { mRegisteredHandler = Preconditions.checkNotNull(handler); mRegisteredHandler = BackgroundThread.getHandler(); } else { mRegisteredHandler = new Handler(thread); } if (user != null) { if (user != null) { context.registerReceiverAsUser(this, user, sPackageFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sPackageFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sNonDataFilt, null, mRegisteredHandler); context.registerReceiverAsUser(this, user, sNonDataFilt, null, mRegisteredHandler); Loading
services/core/java/com/android/server/pm/LauncherAppsService.java +8 −2 Original line number Original line Diff line number Diff line Loading @@ -42,6 +42,7 @@ import android.graphics.Rect; import android.net.Uri; import android.net.Uri; import android.os.Binder; import android.os.Binder; import android.os.Bundle; import android.os.Bundle; import android.os.Handler; import android.os.IInterface; import android.os.IInterface; import android.os.ParcelFileDescriptor; import android.os.ParcelFileDescriptor; import android.os.RemoteCallbackList; import android.os.RemoteCallbackList; Loading @@ -54,6 +55,7 @@ import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.content.PackageMonitor; import com.android.internal.content.PackageMonitor; import com.android.internal.os.BackgroundThread; import com.android.internal.util.Preconditions; import com.android.internal.util.Preconditions; import com.android.server.LocalServices; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.SystemService; Loading Loading @@ -102,6 +104,8 @@ public class LauncherAppsService extends SystemService { private final MyPackageMonitor mPackageMonitor = new MyPackageMonitor(); private final MyPackageMonitor mPackageMonitor = new MyPackageMonitor(); private final Handler mCallbackHandler; public LauncherAppsImpl(Context context) { public LauncherAppsImpl(Context context) { mContext = context; mContext = context; mPm = mContext.getPackageManager(); mPm = mContext.getPackageManager(); Loading @@ -109,6 +113,7 @@ public class LauncherAppsService extends SystemService { mShortcutServiceInternal = Preconditions.checkNotNull( mShortcutServiceInternal = Preconditions.checkNotNull( LocalServices.getService(ShortcutServiceInternal.class)); LocalServices.getService(ShortcutServiceInternal.class)); mShortcutServiceInternal.addListener(mPackageMonitor); mShortcutServiceInternal.addListener(mPackageMonitor); mCallbackHandler = BackgroundThread.getHandler(); } } @VisibleForTesting @VisibleForTesting Loading Loading @@ -165,7 +170,7 @@ public class LauncherAppsService extends SystemService { * Register a receiver to watch for package broadcasts * Register a receiver to watch for package broadcasts */ */ private void startWatchingPackageBroadcasts() { private void startWatchingPackageBroadcasts() { mPackageMonitor.register(mContext, null, UserHandle.ALL, true); mPackageMonitor.register(mContext, UserHandle.ALL, true, mCallbackHandler); } } /** /** Loading Loading @@ -550,8 +555,9 @@ public class LauncherAppsService extends SystemService { } } } } @VisibleForTesting void postToPackageMonitorHandler(Runnable r) { void postToPackageMonitorHandler(Runnable r) { mPackageMonitor.getRegisteredHandler().post(r); mCallbackHandler.post(r); } } private class MyPackageMonitor extends PackageMonitor implements ShortcutChangeListener { private class MyPackageMonitor extends PackageMonitor implements ShortcutChangeListener { Loading