Salt the package hash code using the device serial
Bug: 62676166
Change-Id: Id723cc3f283bc05b01185abef9084d6dbd75fbbc
diff --git a/src/com/android/launcher3/logging/UserEventDispatcher.java b/src/com/android/launcher3/logging/UserEventDispatcher.java
index edbb88c..32cf9d4 100644
--- a/src/com/android/launcher3/logging/UserEventDispatcher.java
+++ b/src/com/android/launcher3/logging/UserEventDispatcher.java
@@ -20,6 +20,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.os.Build;
import android.os.SystemClock;
import android.support.annotation.Nullable;
import android.util.Log;
@@ -131,14 +132,20 @@
LauncherEvent event = newLauncherEvent(newTouchAction(Action.Touch.TAP),
newItemTarget(v), newTarget(Target.Type.CONTAINER));
+ String serial;
+ if (Utilities.isAtLeastO()) {
+ serial = Build.getSerial();
+ } else {
+ serial = Build.SERIAL;
+ }
// TODO: make idx percolate up the view hierarchy if needed.
int idx = 0;
if (fillInLogContainerData(event, v)) {
ItemInfo itemInfo = (ItemInfo) v.getTag();
event.srcTarget[idx].intentHash = intentHashCode;
if (cn != null) {
- event.srcTarget[idx].packageNameHash = cn.getPackageName().hashCode();
- event.srcTarget[idx].componentHash = cn.hashCode();
+ event.srcTarget[idx].packageNameHash = (cn.getPackageName() + serial).hashCode();
+ event.srcTarget[idx].componentHash = (cn.flattenToString() + serial).hashCode();
if (mPredictedApps != null) {
event.srcTarget[idx].predictedRank = mPredictedApps.indexOf(
new ComponentKey(cn, itemInfo.user));