diff options
author | Hyunyoung Song <hyunyoungs@google.com> | 2016-03-08 16:55:47 -0800 |
---|---|---|
committer | Hyunyoung Song <hyunyoungs@google.com> | 2016-03-08 16:55:47 -0800 |
commit | 8fd5e938d34ee84d076b5c5d2575cc6c46c254ce (patch) | |
tree | 3aeac9ef99a4e946d861a3bf50e15d4fadb65be7 /src/com/android/launcher3/logging/LoggerUtils.java | |
parent | 726eb822d38ad422f37b74c4b0fc504a423ab926 (diff) | |
download | android_packages_apps_Trebuchet-8fd5e938d34ee84d076b5c5d2575cc6c46c254ce.tar.gz android_packages_apps_Trebuchet-8fd5e938d34ee84d076b5c5d2575cc6c46c254ce.tar.bz2 android_packages_apps_Trebuchet-8fd5e938d34ee84d076b5c5d2575cc6c46c254ce.zip |
Add getUserEventLogger to LauncherCallbacks
b/26494415
Change-Id: I8abaaf1269c12435a523e31bf769991018ea5c02
Diffstat (limited to 'src/com/android/launcher3/logging/LoggerUtils.java')
-rw-r--r-- | src/com/android/launcher3/logging/LoggerUtils.java | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/com/android/launcher3/logging/LoggerUtils.java b/src/com/android/launcher3/logging/LoggerUtils.java new file mode 100644 index 000000000..4b30384f2 --- /dev/null +++ b/src/com/android/launcher3/logging/LoggerUtils.java @@ -0,0 +1,117 @@ +package com.android.launcher3.logging; + +import android.os.Bundle; +import android.util.Log; + +import com.android.launcher3.LauncherSettings; +import com.android.launcher3.ShortcutInfo; +import com.android.launcher3.Stats; +import com.android.launcher3.userevent.nano.LauncherLogProto; +import com.android.launcher3.userevent.nano.LauncherLogProto.Action; +import com.android.launcher3.userevent.nano.LauncherLogProto.Target; + + +/** + * Debugging helper methods. + * toString() cannot be overriden inside auto generated {@link LauncherLogProto}. + * Note: switch statement cannot be replaced with reflection as proguard strips the constants + */ +public class LoggerUtils { + private static final String TAG = "LoggerUtils"; + private static final boolean DEBUG = false; + + static int getContainerType(ShortcutInfo shortcut) { + switch ((int) shortcut.container) { + case LauncherSettings.Favorites.CONTAINER_DESKTOP: return LauncherLogProto.WORKSPACE; + case LauncherSettings.Favorites.CONTAINER_HOTSEAT: return LauncherLogProto.HOTSEAT; + default: + return (int) shortcut.container; + } + } + + public static String getActionStr(LauncherLogProto.Action action) { + switch(action.touch) { + case Action.TAP: return "TAP"; + case Action.LONGPRESS: return "LONGPRESS"; + case Action.DRAGDROP: return "DRAGDROP"; + case Action.PINCH: return "PINCH"; + default: return "UNKNOWN"; + } + } + + public static String getTargetStr(Target t) { + String typeStr; + switch (t.type) { + case Target.ITEM: + return getItemStr(t); + case Target.CONTROL: + return getControlStr(t); + case Target.CONTAINER: + return getContainerStr(t); + default: + return "UNKNOWN TARGET TYPE"; + } + } + + private static String getItemStr(Target t) { + String typeStr = ""; + switch(t.itemType){ + case LauncherLogProto.APP_ICON: typeStr = "ICON"; break; + case LauncherLogProto.SHORTCUT: typeStr = "SHORTCUT"; break; + case LauncherLogProto.WIDGET: typeStr = "WIDGET"; break; + default: typeStr = "UNKNOWN"; + } + + return typeStr + " " + t.packageNameHash + " grid=(" + t.gridX + "," + t.gridY + ") " + + getContainerStr(t.parent); + } + + private static String getControlStr(Target t) { + switch(t.controlType) { + case LauncherLogProto.ALL_APPS_BUTTON: return "ALL_APPS_BUTTON"; + case LauncherLogProto.WIDGETS_BUTTON: return "WIDGETS_BUTTON"; + case LauncherLogProto.WALLPAPER_BUTTON: return "WALLPAPER_BUTTON"; + case LauncherLogProto.SETTINGS_BUTTON: return "SETTINGS_BUTTON"; + case LauncherLogProto.REMOVE_TARGET: return "REMOVE_TARGET"; + case LauncherLogProto.UNINSTALL_TARGET: return "UNINSTALL_TARGET"; + case LauncherLogProto.APPINFO_TARGET: return "APPINFO_TARGET"; + case LauncherLogProto.RESIZE_HANDLE: return "RESIZE_HANDLE"; + case LauncherLogProto.FAST_SCROLL_HANDLE: return "FAST_SCROLL_HANDLE"; + default: return "UNKNOWN"; + } + } + + private static String getContainerStr(LauncherLogProto.Target t) { + String str; + Log.d(TAG, "t.containerType" + t.containerType); + switch (t.containerType) { + case LauncherLogProto.WORKSPACE: + str = "WORKSPACE"; + break; + case LauncherLogProto.HOTSEAT: + str = "HOTSEAT"; + break; + case LauncherLogProto.FOLDER: + str = "FOLDER"; + break; + case LauncherLogProto.ALLAPPS: + str = "ALLAPPS"; + break; + case LauncherLogProto.WIDGETS: + str = "WIDGETS"; + break; + case LauncherLogProto.OVERVIEW: + str = "OVERVIEW"; + break; + case LauncherLogProto.PREDICTION: + str = "PREDICTION"; + break; + case LauncherLogProto.SEARCHRESULT: + str = "SEARCHRESULT"; + break; + default: + str = "UNKNOWN"; + } + return str + " id=" + t.pageIndex; + } +} |