Log folder open event into WW.

Bug: 158597506

Sample Log: https://paste.googleplex.com/5351626992779264

Change-Id: Ifb2f061924035abc84472a9a03d1b4212588428b
This commit is contained in:
thiruram
2020-06-09 14:24:49 -07:00
parent c936fe1146
commit ba0a6b61a3
3 changed files with 45 additions and 6 deletions
@@ -94,6 +94,11 @@ public class StatsLogCompatManager extends StatsLogManager {
log(event, DEFAULT_INSTANCE_ID, info);
}
@Override
public void log(EventEnum event, ItemInfo itemInfo) {
logInternal(event, DEFAULT_INSTANCE_ID, itemInfo);
}
/**
* Logs an event and accompanying {@link InstanceId} and {@link LauncherAtom.ItemInfo}.
*/
@@ -135,6 +140,27 @@ public class StatsLogCompatManager extends StatsLogManager {
logInternal(event, DEFAULT_INSTANCE_ID, info, srcState, dstState);
}
private void logInternal(EventEnum event, InstanceId instanceId, @Nullable ItemInfo info) {
LauncherAppState.getInstance(sContext).getModel().enqueueModelUpdateTask(
new BaseModelUpdateTask() {
@Override
public void execute(LauncherAppState app, BgDataModel dataModel,
AllAppsList apps) {
LauncherAtom.ItemInfo atomInfo = LauncherAtom.ItemInfo.getDefaultInstance();
if (info != null) {
if (info.container >= 0) {
atomInfo = info.buildProto(dataModel.folders.get(info.container));
} else {
atomInfo = info.buildProto();
}
}
logInternal(event, instanceId, atomInfo,
LAUNCHER_UICHANGED__DST_STATE__HOME,
LAUNCHER_UICHANGED__DST_STATE__BACKGROUND);
}
});
}
/**
* Logs an event and accompanying {@link InstanceId} and {@link LauncherAtom.ItemInfo}.
*/
@@ -143,14 +169,14 @@ public class StatsLogCompatManager extends StatsLogManager {
info = info == null ? LauncherAtom.ItemInfo.getDefaultInstance() : info;
if (IS_VERBOSE) {
String name = (event instanceof LauncherEvent) ? ((LauncherEvent) event).name() :
String name = (event instanceof Enum) ? ((Enum) event).name() :
event.getId() + "";
Log.d(TAG, instanceId == DEFAULT_INSTANCE_ID
? String.format("\n%s (State:%s->%s) \n%s", name, getStateString(srcState),
getStateString(dstState), info)
: String.format("\n%s (State:%s->%s) (InstanceId:%s)\n%s", name, instanceId,
getStateString(srcState), getStateString(dstState), info));
getStateString(dstState), info)
: String.format("\n%s (State:%s->%s) (InstanceId:%s)\n%s", name,
getStateString(srcState), getStateString(dstState), instanceId, info));
}
if (!Utilities.ATLEAST_R) {
@@ -333,7 +359,7 @@ public class StatsLogCompatManager extends StatsLogManager {
}
private static String getStateString(int state) {
switch(state) {
switch (state) {
case LAUNCHER_UICHANGED__DST_STATE__BACKGROUND:
return "BACKGROUND";
case LAUNCHER_UICHANGED__DST_STATE__HOME:
@@ -127,7 +127,10 @@ public class StatsLogManager implements ResourceBasedOverride {
LAUNCHER_SYSTEM_SHORTCUT_PIN_TAP(522),
@UiEvent(doc = "User is shown All Apps education view.")
LAUNCHER_ALL_APPS_EDU_SHOWN(523);
LAUNCHER_ALL_APPS_EDU_SHOWN(523),
@UiEvent(doc = "User opened a folder.")
LAUNCHER_FOLDER_OPEN(551);
// ADD MORE
private final int mId;
@@ -194,6 +197,13 @@ public class StatsLogManager implements ResourceBasedOverride {
public void log(EventEnum event, @Nullable ItemInfo itemInfo) {
}
/**
* Logs an event and accompanying {@link com.android.launcher3.model.data.ItemInfo}.
*/
public void log(EventEnum event,
com.android.launcher3.model.data.ItemInfo itemInfo) {
}
/**
* Logs an event and accompanying {@link InstanceId} and {@link ItemInfo}.
*/
@@ -17,6 +17,7 @@ package com.android.launcher3.touch;
import static com.android.launcher3.Launcher.REQUEST_BIND_PENDING_APPWIDGET;
import static com.android.launcher3.Launcher.REQUEST_RECONFIGURE_APPWIDGET;
import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_FOLDER_OPEN;
import static com.android.launcher3.model.AppLaunchTracker.CONTAINER_ALL_APPS;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_BY_PUBLISHER;
import static com.android.launcher3.model.data.ItemInfoWithIcon.FLAG_DISABLED_LOCKED_USER;
@@ -45,6 +46,7 @@ import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.folder.Folder;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.logging.StatsLogManager;
import com.android.launcher3.model.data.AppInfo;
import com.android.launcher3.model.data.FolderInfo;
import com.android.launcher3.model.data.ItemInfo;
@@ -111,6 +113,7 @@ public class ItemClickHandler {
if (!folder.isOpen() && !folder.isDestroyed()) {
// Open the requested folder
folder.animateOpen();
StatsLogManager.newInstance(v.getContext()).log(LAUNCHER_FOLDER_OPEN, folder.mInfo);
}
}