Merge "Log tap on dot-notifications on both app icon and deep shortcuts." into ub-launcher3-rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
5a15fab419
@@ -43,6 +43,9 @@ public class StatsLogManager implements ResourceBasedOverride {
|
||||
@UiEvent(doc = "Task launched from overview using TAP")
|
||||
LAUNCHER_TASK_LAUNCH_TAP(339),
|
||||
|
||||
@UiEvent(doc = "User tapped on notification inside popup context menu.")
|
||||
LAUNCHER_NOTIFICATION_LAUNCH_TAP(516),
|
||||
|
||||
@UiEvent(doc = "Task launched from overview using SWIPE DOWN")
|
||||
LAUNCHER_TASK_LAUNCH_SWIPE_DOWN(340),
|
||||
|
||||
@@ -101,7 +104,7 @@ public class StatsLogManager implements ResourceBasedOverride {
|
||||
LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS(517),
|
||||
|
||||
@UiEvent(doc = "User opened package specific widgets list by tapping on widgets system "
|
||||
+ "shortcut within longpress popup window.")
|
||||
+ "shortcut inside popup context menu.")
|
||||
LAUNCHER_SYSTEM_SHORTCUT_WIDGETS_TAP(514),
|
||||
|
||||
@UiEvent(doc = "User tapped on app info system shortcut.")
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package com.android.launcher3.notification;
|
||||
|
||||
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_NOTIFICATION_LAUNCH_TAP;
|
||||
|
||||
import android.app.ActivityOptions;
|
||||
import android.app.Notification;
|
||||
import android.app.PendingIntent;
|
||||
@@ -32,6 +34,7 @@ import com.android.launcher3.Launcher;
|
||||
import com.android.launcher3.LauncherAppState;
|
||||
import com.android.launcher3.dot.DotInfo;
|
||||
import com.android.launcher3.graphics.IconPalette;
|
||||
import com.android.launcher3.model.data.ItemInfo;
|
||||
import com.android.launcher3.util.PackageUserKey;
|
||||
|
||||
/**
|
||||
@@ -51,6 +54,7 @@ public class NotificationInfo implements View.OnClickListener {
|
||||
public final boolean autoCancel;
|
||||
public final boolean dismissable;
|
||||
|
||||
private final ItemInfo mItemInfo;
|
||||
private Drawable mIconDrawable;
|
||||
private int mIconColor;
|
||||
private boolean mIsIconLarge;
|
||||
@@ -58,7 +62,8 @@ public class NotificationInfo implements View.OnClickListener {
|
||||
/**
|
||||
* Extracts the data that we need from the StatusBarNotification.
|
||||
*/
|
||||
public NotificationInfo(Context context, StatusBarNotification statusBarNotification) {
|
||||
public NotificationInfo(Context context, StatusBarNotification statusBarNotification,
|
||||
ItemInfo itemInfo) {
|
||||
packageUserKey = PackageUserKey.fromNotification(statusBarNotification);
|
||||
notificationKey = statusBarNotification.getKey();
|
||||
Notification notification = statusBarNotification.getNotification();
|
||||
@@ -88,6 +93,7 @@ public class NotificationInfo implements View.OnClickListener {
|
||||
intent = notification.contentIntent;
|
||||
autoCancel = (notification.flags & Notification.FLAG_AUTO_CANCEL) != 0;
|
||||
dismissable = (notification.flags & Notification.FLAG_ONGOING_EVENT) == 0;
|
||||
this.mItemInfo = itemInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -101,6 +107,8 @@ public class NotificationInfo implements View.OnClickListener {
|
||||
try {
|
||||
intent.send(null, 0, null, null, null, null, activityOptions);
|
||||
launcher.getUserEventDispatcher().logNotificationLaunch(view, intent);
|
||||
launcher.getStatsLogManager()
|
||||
.log(LAUNCHER_NOTIFICATION_LAUNCH_TAP, mItemInfo.buildProto());
|
||||
} catch (PendingIntent.CanceledException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -144,7 +144,7 @@ public class PopupPopulator {
|
||||
infos = Collections.emptyList();
|
||||
} else {
|
||||
infos = notificationListener.getNotificationsForKeys(notificationKeys).stream()
|
||||
.map(sbn -> new NotificationInfo(launcher, sbn))
|
||||
.map(sbn -> new NotificationInfo(launcher, sbn, originalInfo))
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
uiHandler.post(() -> container.applyNotificationInfos(infos));
|
||||
|
||||
Reference in New Issue
Block a user