diff options
-rw-r--r-- | services/core/java/com/android/server/pm/ShortcutService.java | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/services/core/java/com/android/server/pm/ShortcutService.java b/services/core/java/com/android/server/pm/ShortcutService.java index 78d8002f185a..1cd77ffcedaa 100644 --- a/services/core/java/com/android/server/pm/ShortcutService.java +++ b/services/core/java/com/android/server/pm/ShortcutService.java @@ -320,10 +320,10 @@ public class ShortcutService extends IShortcutService.Stub { private final Handler mHandler; - @GuardedBy("itself") + @GuardedBy("mServiceLock") private final ArrayList<ShortcutChangeListener> mListeners = new ArrayList<>(1); - @GuardedBy("itself") + @GuardedBy("mServiceLock") private final ArrayList<LauncherApps.ShortcutChangeCallback> mShortcutChangeCallbacks = new ArrayList<>(1); @@ -1847,9 +1847,7 @@ public class ShortcutService extends IShortcutService.Stub { return; } - synchronized (mListeners) { - copy = new ArrayList<>(mListeners); - } + copy = new ArrayList<>(mListeners); } // Note onShortcutChanged() needs to be called with the system service permissions. for (int i = copy.size() - 1; i >= 0; i--) { @@ -1874,9 +1872,8 @@ public class ShortcutService extends IShortcutService.Stub { if (!isUserUnlockedL(userId)) { return; } - synchronized (mShortcutChangeCallbacks) { - copy = new ArrayList<>(mShortcutChangeCallbacks); - } + + copy = new ArrayList<>(mShortcutChangeCallbacks); } for (int i = copy.size() - 1; i >= 0; i--) { if (!CollectionUtils.isEmpty(changedList)) { @@ -3432,7 +3429,7 @@ public class ShortcutService extends IShortcutService.Stub { @Override public void addListener(@NonNull ShortcutChangeListener listener) { - synchronized (mListeners) { + synchronized (mServiceLock) { mListeners.add(Objects.requireNonNull(listener)); } } @@ -3440,7 +3437,7 @@ public class ShortcutService extends IShortcutService.Stub { @Override public void addShortcutChangeCallback( @NonNull LauncherApps.ShortcutChangeCallback callback) { - synchronized (mShortcutChangeCallbacks) { + synchronized (mServiceLock) { mShortcutChangeCallbacks.add(Objects.requireNonNull(callback)); } } |