OSDN Git Service

Add multi-window entry points logging
authorJorim Jaggi <jjaggi@google.com>
Wed, 9 Dec 2015 23:32:30 +0000 (15:32 -0800)
committerJorim Jaggi <jjaggi@google.com>
Fri, 11 Dec 2015 23:15:11 +0000 (15:15 -0800)
Bug: 26116313
Change-Id: I159ca53857d382cb74ef8e49f7955946ccea93ca

core/java/com/android/internal/logging/MetricsLogger.java
packages/SystemUI/src/com/android/systemui/recents/views/RecentsView.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarGestureHelper.java
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

index cc677cc..e276bc6 100644 (file)
@@ -36,6 +36,24 @@ public class MetricsLogger implements MetricsConstants {
     public static final int NOTIFICATION_TOPIC_NOTIFICATION = 263;
     public static final int ACTION_DEFAULT_SMS_APP_CHANGED = 264;
 
+    /**
+     * Logged when the user docks a window from recents by longpressing a task and dragging it to
+     * the dock area.
+     */
+    public static final int ACTION_WINDOW_DOCK_DRAG_DROP = 265;
+
+    /**
+     * Logged when the user docks a fullscreen window by long pressing recents which also opens
+     * recents on the lower/right side.
+     */
+    public static final int ACTION_WINDOW_DOCK_LONGPRESS = 266;
+
+    /**
+     * Logged when the user docks a window by dragging from the navbar which also opens recents on
+     * the lower/right side.
+     */
+    public static final int ACTION_WINDOW_DOCK_SWIPE = 267;
+
     public static void visible(Context context, int category) throws IllegalArgumentException {
         if (Build.IS_DEBUGGABLE && category == VIEW_UNKNOWN) {
             throw new IllegalArgumentException("Must define metric category");
index 7ae686e..c5525bd 100644 (file)
@@ -16,8 +16,6 @@
 
 package com.android.systemui.recents.views;
 
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Canvas;
@@ -29,12 +27,13 @@ import android.util.AttributeSet;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
-import android.view.ViewConfiguration;
 import android.view.ViewPropertyAnimator;
 import android.view.WindowInsets;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 import android.widget.FrameLayout;
+
+import com.android.internal.logging.MetricsLogger;
 import com.android.systemui.R;
 import com.android.systemui.recents.Recents;
 import com.android.systemui.recents.RecentsActivity;
@@ -512,6 +511,9 @@ public class RecentsView extends FrameLayout implements TaskStackView.TaskStackV
             SystemServicesProxy ssp = Recents.getSystemServices();
             ssp.startTaskInDockedMode(event.task.key.id, dockState.createMode);
             launchTask(event.task, null, INVALID_STACK_ID);
+
+            MetricsLogger.action(mContext,
+                    MetricsLogger.ACTION_WINDOW_DOCK_DRAG_DROP);
         }
     }
 
index d35e57b..a7ed505 100644 (file)
@@ -25,6 +25,7 @@ import android.view.MotionEvent;
 import android.view.VelocityTracker;
 import android.view.ViewConfiguration;
 
+import com.android.internal.logging.MetricsLogger;
 import com.android.systemui.R;
 import com.android.systemui.RecentsComponent;
 import com.android.systemui.stackdivider.Divider;
@@ -193,6 +194,8 @@ public class NavigationBarGestureHelper extends GestureDetector.SimpleOnGestureL
                     mDivider.getView().startDragging();
                 }
                 mDockWindowTouchSlopExceeded = true;
+                MetricsLogger.action(mContext,
+                        MetricsLogger.ACTION_WINDOW_DOCK_SWIPE);
                 return true;
             }
         } else {
index 181e6aa..3be0d8e 100644 (file)
@@ -1136,6 +1136,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode,
                 mRecents.dockTopTask(false /* draggingInRecents */,
                         ActivityManager.DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT,
                         null /* initialBounds */);
+                MetricsLogger.action(mContext,
+                        MetricsLogger.ACTION_WINDOW_DOCK_LONGPRESS);
                 return true;
             }
             return false;