summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-05-17 02:12:23 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-05-17 02:12:23 +0000
commit8b49b9f736673f3e7ba4d9ce4bf02c21d0466f0c (patch)
treebffbca184d86d7250d44ab338a056e09b923e2a4
parentdb712bec4a5fc4c33e22f53e1a7842ba0314016c (diff)
parent60cd1d96a914d4c4d76937de42b3ea5444a4ed11 (diff)
Merge "Count app launch correctly." into pi-dev
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java2
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java23
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java19
3 files changed, 37 insertions, 7 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
index 7db3ac6e3889..f9aa8da5e11e 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
@@ -17,6 +17,7 @@
package com.android.systemui.shared.system;
import android.app.ActivityManager.TaskSnapshot;
+import android.content.ComponentName;
import android.os.UserHandle;
import android.util.Log;
@@ -43,6 +44,7 @@ public abstract class TaskStackChangeListener {
public void onActivityDismissingDockedStack() { }
public void onActivityLaunchOnSecondaryDisplayFailed() { }
public void onTaskProfileLocked(int taskId, int userId) { }
+ public void onTaskCreated(int taskId, ComponentName componentName) { }
public void onTaskRemoved(int taskId) { }
public void onTaskMovedToFront(int taskId) { }
public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
index 857e0eadb1bc..5e293c61c35a 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
@@ -19,6 +19,7 @@ package com.android.systemui.shared.system;
import android.app.ActivityManager.TaskSnapshot;
import android.app.IActivityManager;
import android.app.TaskStackListener;
+import android.content.ComponentName;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
@@ -140,12 +141,16 @@ public class TaskStackChangeListeners extends TaskStackListener {
}
@Override
- public void onTaskSnapshotChanged(int taskId, TaskSnapshot snapshot)
- throws RemoteException {
+ public void onTaskSnapshotChanged(int taskId, TaskSnapshot snapshot) throws RemoteException {
mHandler.obtainMessage(H.ON_TASK_SNAPSHOT_CHANGED, taskId, 0, snapshot).sendToTarget();
}
@Override
+ public void onTaskCreated(int taskId, ComponentName componentName) throws RemoteException {
+ mHandler.obtainMessage(H.ON_TASK_CREATED, taskId, 0, componentName).sendToTarget();
+ }
+
+ @Override
public void onTaskRemoved(int taskId) throws RemoteException {
mHandler.obtainMessage(H.ON_TASK_REMOVED, taskId, 0).sendToTarget();
}
@@ -174,9 +179,10 @@ public class TaskStackChangeListeners extends TaskStackListener {
private static final int ON_PINNED_STACK_ANIMATION_STARTED = 9;
private static final int ON_ACTIVITY_UNPINNED = 10;
private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED = 11;
- private static final int ON_TASK_REMOVED = 12;
- private static final int ON_TASK_MOVED_TO_FRONT = 13;
- private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 14;
+ private static final int ON_TASK_CREATED = 12;
+ private static final int ON_TASK_REMOVED = 13;
+ private static final int ON_TASK_MOVED_TO_FRONT = 14;
+ private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 15;
public H(Looper looper) {
@@ -262,6 +268,13 @@ public class TaskStackChangeListeners extends TaskStackListener {
}
break;
}
+ case ON_TASK_CREATED: {
+ for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
+ mTaskStackListeners.get(i).onTaskCreated(msg.arg1,
+ (ComponentName) msg.obj);
+ }
+ break;
+ }
case ON_TASK_REMOVED: {
for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
mTaskStackListeners.get(i).onTaskRemoved(msg.arg1);
diff --git a/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java b/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
index 69b0f311d64f..368fa67d2b89 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/RecentsOnboarding.java
@@ -33,6 +33,7 @@ import android.annotation.StringRes;
import android.annotation.TargetApi;
import android.app.ActivityManager;
import android.content.BroadcastReceiver;
+import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
@@ -63,7 +64,6 @@ import com.android.systemui.R;
import com.android.systemui.recents.misc.SysUiTaskStackChangeListener;
import com.android.systemui.shared.recents.IOverviewProxy;
import com.android.systemui.shared.system.ActivityManagerWrapper;
-import com.android.systemui.shared.system.LauncherEventUtil;
import java.util.Collections;
import java.util.HashSet;
@@ -110,8 +110,19 @@ public class RecentsOnboarding {
private int mOverviewOpenedCountSinceQuickScrubTipDismiss;
private final SysUiTaskStackChangeListener mTaskListener = new SysUiTaskStackChangeListener() {
+ private String mLastPackageName;
+
+ @Override
+ public void onTaskCreated(int taskId, ComponentName componentName) {
+ onAppLaunch();
+ }
+
@Override
- public void onTaskStackChanged() {
+ public void onTaskMovedToFront(int taskId) {
+ onAppLaunch();
+ }
+
+ private void onAppLaunch() {
ActivityManager.RunningTaskInfo info = ActivityManagerWrapper.getInstance()
.getRunningTask(ACTIVITY_TYPE_UNDEFINED /* ignoreActivityType */);
if (info == null) {
@@ -121,6 +132,10 @@ public class RecentsOnboarding {
hide(true);
return;
}
+ if (info.baseActivity.getPackageName().equals(mLastPackageName)) {
+ return;
+ }
+ mLastPackageName = info.baseActivity.getPackageName();
int activityType = info.configuration.windowConfiguration.getActivityType();
if (activityType == ACTIVITY_TYPE_STANDARD) {
boolean alreadySeenSwipeUpOnboarding = hasSeenSwipeUpOnboarding();