Refactor UserEventDispatcher (1/2)
b/28269657
Change-Id: I1083e6f73f42ac1986428a39c6b532050e595ac6
diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index f3f19e0..50b3d49 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -109,7 +109,7 @@
import com.android.launcher3.folder.Folder;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.logging.LoggerUtils;
-import com.android.launcher3.logging.UserEventLogger;
+import com.android.launcher3.logging.UserEventDispatcher;
import com.android.launcher3.model.WidgetsModel;
import com.android.launcher3.userevent.nano.LauncherLogProto;
import com.android.launcher3.util.ComponentKey;
@@ -360,7 +360,7 @@
int appWidgetId;
}
- private UserEventLogger mUserEventLogger;
+ private UserEventDispatcher mUserEventDispatcher;
public FocusIndicatorView mFocusHandler;
private boolean mRotationEnabled = false;
@@ -419,8 +419,6 @@
mDragController = new DragController(this);
mStateTransitionAnimation = new LauncherStateTransitionAnimation(this);
- initLogger();
-
mAppWidgetManager = AppWidgetManagerCompat.getInstance(this);
mAppWidgetHost = new LauncherAppWidgetHost(this, APPWIDGET_HOST_ID);
@@ -636,31 +634,36 @@
* Since most user event logging is done on the UI, the object is retrieved from the
* callback for convenience.
*/
- private void initLogger() {
- if (mLauncherCallbacks != null) {
- mUserEventLogger = mLauncherCallbacks.getLogger();
- }
- if (mUserEventLogger == null) {
- mUserEventLogger = new UserEventLogger() {
- @Override
- public void processEvent(LauncherLogProto.LauncherEvent ev) {
- if (!DEBUG_LOGGING) {
- return;
- }
- Log.d("UserEvent", String.format(Locale.US,
- "action:%s\nchild:%s\nparent:%s\nelapsed container %d ms session %d ms",
- LoggerUtils.getActionStr(ev.action),
- LoggerUtils.getTargetStr(ev.srcTarget[0]),
- LoggerUtils.getTargetStr(ev.srcTarget[1]),
- ev.elapsedContainerMillis,
- ev.elapsedSessionMillis));
+ private UserEventDispatcher createUserEventDispatcher() {
+ return new UserEventDispatcher() {
+ @Override
+ public void dispatchUserEvent(LauncherLogProto.LauncherEvent ev, Intent intent) {
+ if (!DEBUG_LOGGING) {
+ return;
}
- };
- }
+ Log.d("UserEvent", String.format(Locale.US,
+ "action:%s\nchild:%s\nparent:%s\nelapsed container %d ms session %d ms",
+ LoggerUtils.getActionStr(ev.action),
+ LoggerUtils.getTargetStr(ev.srcTarget[0]),
+ LoggerUtils.getTargetStr(ev.srcTarget[1]),
+ ev.elapsedContainerMillis,
+ ev.elapsedSessionMillis));
+ }
+ };
}
- public UserEventLogger getLogger() {
- return mUserEventLogger;
+ public UserEventDispatcher getUserEventDispatcher() {
+ if (mLauncherCallbacks != null) {
+ UserEventDispatcher dispatcher = mLauncherCallbacks.getUserEventDispatcher();
+ if (dispatcher != null) {
+ return dispatcher;
+ }
+ }
+
+ if (mUserEventDispatcher == null) {
+ mUserEventDispatcher = createUserEventDispatcher();
+ }
+ return mUserEventDispatcher;
}
public boolean isDraggingEnabled() {
@@ -990,7 +993,7 @@
}
super.onResume();
- mUserEventLogger.resetElapsedSessionMillis();
+ getUserEventDispatcher().resetElapsedSessionMillis();
// Restore the previous launcher state
if (mOnResumeState == State.WORKSPACE) {
@@ -2688,7 +2691,7 @@
}
boolean success = startActivitySafely(v, intent, tag);
- mUserEventLogger.logLaunch(v, intent);
+ getUserEventDispatcher().logAppLaunch(v, intent);
if (success && v instanceof BubbleTextView) {
mWaitingForResume = (BubbleTextView) v;
@@ -3460,7 +3463,7 @@
List<ComponentKey> apps = mLauncherCallbacks.getPredictedApps();
if (apps != null) {
mAppsView.setPredictedApps(apps);
- mUserEventLogger.setPredictedApps(apps);
+ getUserEventDispatcher().setPredictedApps(apps);
}
}
}