Loading services/core/java/com/android/server/pm/ShortcutService.java +22 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.function.Predicate; Loading Loading @@ -1514,6 +1515,24 @@ public class ShortcutService extends IShortcutService.Stub { throw new SecurityException("Calling package name mismatch"); } private void verifyShortcutInfoPackage(String callerPackage, ShortcutInfo si) { if (si == null) { return; } if (!Objects.equals(callerPackage, si.getPackage())) { android.util.EventLog.writeEvent(0x534e4554, "109824443", -1, ""); throw new SecurityException("Shortcut package name mismatch"); } } private void verifyShortcutInfoPackages( String callerPackage, List<ShortcutInfo> list) { final int size = list.size(); for (int i = 0; i < size; i++) { verifyShortcutInfoPackage(callerPackage, list.get(i)); } } // Overridden in unit tests to execute r synchronously. void injectPostToHandler(Runnable r) { mHandler.post(r); Loading Loading @@ -1642,6 +1661,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading Loading @@ -1693,6 +1713,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading Loading @@ -1773,6 +1794,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading Loading
services/core/java/com/android/server/pm/ShortcutService.java +22 −0 Original line number Diff line number Diff line Loading @@ -124,6 +124,7 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Consumer; import java.util.function.Predicate; Loading Loading @@ -1514,6 +1515,24 @@ public class ShortcutService extends IShortcutService.Stub { throw new SecurityException("Calling package name mismatch"); } private void verifyShortcutInfoPackage(String callerPackage, ShortcutInfo si) { if (si == null) { return; } if (!Objects.equals(callerPackage, si.getPackage())) { android.util.EventLog.writeEvent(0x534e4554, "109824443", -1, ""); throw new SecurityException("Shortcut package name mismatch"); } } private void verifyShortcutInfoPackages( String callerPackage, List<ShortcutInfo> list) { final int size = list.size(); for (int i = 0; i < size; i++) { verifyShortcutInfoPackage(callerPackage, list.get(i)); } } // Overridden in unit tests to execute r synchronously. void injectPostToHandler(Runnable r) { mHandler.post(r); Loading Loading @@ -1642,6 +1661,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading Loading @@ -1693,6 +1713,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading Loading @@ -1773,6 +1794,7 @@ public class ShortcutService extends IShortcutService.Stub { verifyCaller(packageName, userId); final List<ShortcutInfo> newShortcuts = (List<ShortcutInfo>) shortcutInfoList.getList(); verifyShortcutInfoPackages(packageName, newShortcuts); final int size = newShortcuts.size(); synchronized (mLock) { Loading