diff --git a/core/java/android/content/pm/EphemeralResolveInfo.java b/core/java/android/content/pm/EphemeralResolveInfo.java index afb4c30d6a996..b87731b99be41 100644 --- a/core/java/android/content/pm/EphemeralResolveInfo.java +++ b/core/java/android/content/pm/EphemeralResolveInfo.java @@ -57,10 +57,10 @@ public final class EphemeralResolveInfo implements Parcelable { mDigestBytes = generateDigest(uri); mDigestPrefix = - mDigestBytes[0] << 24 - | mDigestBytes[1] << 16 - | mDigestBytes[2] << 8 - | mDigestBytes[3] << 0; + (mDigestBytes[0] & 0xFF) << 24 + | (mDigestBytes[1] & 0xFF) << 16 + | (mDigestBytes[2] & 0xFF) << 8 + | (mDigestBytes[3] & 0xFF) << 0; mFilters.addAll(filters); mPackageName = packageName; } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index bd6ddcb3409f4..b1fb1c4f27b70 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -5000,10 +5000,10 @@ public class PackageManagerService extends IPackageManager.Stub { final byte[] hostBytes = intent.getData().getHost().getBytes(); final byte[] digestBytes = digest.digest(hostBytes); int shaPrefix = - digestBytes[0] << 24 - | digestBytes[1] << 16 - | digestBytes[2] << 8 - | digestBytes[3] << 0; + (digestBytes[0] & 0xFF) << 24 + | (digestBytes[1] & 0xFF) << 16 + | (digestBytes[2] & 0xFF) << 8 + | (digestBytes[3] & 0xFF) << 0; final List ephemeralResolveInfoList = mEphemeralResolverConnection.getEphemeralResolveInfoList(shaPrefix); if (ephemeralResolveInfoList == null || ephemeralResolveInfoList.size() == 0) {