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));