summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPinyao Ting <pinyaoting@google.com>2019-11-11 15:55:27 -0800
committerPinyao Ting <pinyaoting@google.com>2019-11-13 01:15:37 +0000
commit1397a42fc23ab8ec4c96268015b357e798d6f8ed (patch)
tree8ff4b69eaa0eac86bfb353725f05a9d88dd2a0ef /src
parente48b55d86ea25666909b066c438f9b4e1f0cdcee (diff)
downloadandroid_packages_apps_Trebuchet-1397a42fc23ab8ec4c96268015b357e798d6f8ed.tar.gz
android_packages_apps_Trebuchet-1397a42fc23ab8ec4c96268015b357e798d6f8ed.tar.bz2
android_packages_apps_Trebuchet-1397a42fc23ab8ec4c96268015b357e798d6f8ed.zip
include predicted_rank in app launch logging
Test: 1. . build/envsetup.sh && tapas NexusLauncher 2. ccdebug && cclogcat 3. launch from workspace any app that is also in predicted apps 4. verify in terminal it has correct predicted_rank Bug: 143855018 Change-Id: I07a62f07057537a6c09384cf944bbc5aa5888d22 Merged-In: I07a62f07057537a6c09384cf944bbc5aa5888d22
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/logging/LoggerUtils.java6
-rw-r--r--src/com/android/launcher3/logging/UserEventDispatcher.java13
2 files changed, 14 insertions, 5 deletions
diff --git a/src/com/android/launcher3/logging/LoggerUtils.java b/src/com/android/launcher3/logging/LoggerUtils.java
index 9b75b43b4..ed08c026b 100644
--- a/src/com/android/launcher3/logging/LoggerUtils.java
+++ b/src/com/android/launcher3/logging/LoggerUtils.java
@@ -44,6 +44,7 @@ import java.lang.reflect.Modifier;
public class LoggerUtils {
private static final ArrayMap<Class, SparseArray<String>> sNameCache = new ArrayMap<>();
private static final String UNKNOWN = "UNKNOWN";
+ private static final int DEFAULT_PREDICTED_RANK = -100;
public static String getFieldName(int value, Class c) {
SparseArray<String> cache;
@@ -168,17 +169,17 @@ public class LoggerUtils {
public static Target newItemTarget(ItemInfo info, InstantAppResolver instantAppResolver) {
Target t = newTarget(Target.Type.ITEM);
-
switch (info.itemType) {
case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION:
t.itemType = (instantAppResolver != null && info instanceof AppInfo
&& instantAppResolver.isInstantApp(((AppInfo) info)) )
? ItemType.WEB_APP
: ItemType.APP_ICON;
- t.predictedRank = -100; // Never assigned
+ t.predictedRank = DEFAULT_PREDICTED_RANK;
break;
case LauncherSettings.Favorites.ITEM_TYPE_SHORTCUT:
t.itemType = ItemType.SHORTCUT;
+ t.predictedRank = DEFAULT_PREDICTED_RANK;
break;
case LauncherSettings.Favorites.ITEM_TYPE_FOLDER:
t.itemType = ItemType.FOLDER_ICON;
@@ -188,6 +189,7 @@ public class LoggerUtils {
break;
case LauncherSettings.Favorites.ITEM_TYPE_DEEP_SHORTCUT:
t.itemType = ItemType.DEEPSHORTCUT;
+ t.predictedRank = DEFAULT_PREDICTED_RANK;
break;
}
return t;
diff --git a/src/com/android/launcher3/logging/UserEventDispatcher.java b/src/com/android/launcher3/logging/UserEventDispatcher.java
index 21ca74e12..7b06d3ba9 100644
--- a/src/com/android/launcher3/logging/UserEventDispatcher.java
+++ b/src/com/android/launcher3/logging/UserEventDispatcher.java
@@ -35,6 +35,7 @@ import android.os.SystemClock;
import android.util.Log;
import android.view.View;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.launcher3.DropTarget;
@@ -96,17 +97,23 @@ public class UserEventDispatcher implements ResourceBasedOverride {
* Fills in the container data on the given event if the given view is not null.
* @return whether container data was added.
*/
- public static boolean fillInLogContainerData(LauncherLogProto.LauncherEvent event, @Nullable View v) {
+ public boolean fillInLogContainerData(LauncherLogProto.LauncherEvent event, @Nullable View v) {
// Fill in grid(x,y), pageIndex of the child and container type of the parent
LogContainerProvider provider = StatsLogUtils.getLaunchProviderRecursive(v);
if (v == null || !(v.getTag() instanceof ItemInfo) || provider == null) {
return false;
}
- ItemInfo itemInfo = (ItemInfo) v.getTag();
- provider.fillInLogContainerData(v, itemInfo, event.srcTarget[0], event.srcTarget[1]);
+ final ItemInfo itemInfo = (ItemInfo) v.getTag();
+ final Target target = event.srcTarget[0];
+ final Target targetParent = event.srcTarget[1];
+ onFillInLogContainerData(itemInfo, target, targetParent);
+ provider.fillInLogContainerData(v, itemInfo, target, targetParent);
return true;
}
+ protected void onFillInLogContainerData(
+ @NonNull ItemInfo itemInfo, @NonNull Target target, @NonNull Target targetParent) { }
+
private boolean mSessionStarted;
private long mElapsedContainerMillis;
private long mElapsedSessionMillis;