Log the parent of the PREDICTION container type (ALLAPPS OR TASKSWITCHER)
Bug: 79423536 Change-Id: I23ff0d4d0aa3fec781e9b6c8792d2d7a738ca6c8
This commit is contained in:
parent
8417a7b514
commit
46d07f7cb0
|
@ -30,7 +30,9 @@ import android.view.View.AccessibilityDelegate;
|
|||
|
||||
import com.android.launcher3.DeviceProfile.OnDeviceProfileChangeListener;
|
||||
import com.android.launcher3.logging.UserEventDispatcher;
|
||||
import com.android.launcher3.logging.UserEventDispatcher.UserEventDelegate;
|
||||
import com.android.launcher3.uioverrides.UiFactory;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
||||
import com.android.launcher3.util.SystemUiController;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
|
@ -38,7 +40,7 @@ import java.io.PrintWriter;
|
|||
import java.lang.annotation.Retention;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public abstract class BaseActivity extends Activity {
|
||||
public abstract class BaseActivity extends Activity implements UserEventDelegate{
|
||||
|
||||
public static final int INVISIBLE_BY_STATE_HANDLER = 1 << 0;
|
||||
public static final int INVISIBLE_BY_APP_TRANSITIONS = 1 << 1;
|
||||
|
@ -89,9 +91,11 @@ public abstract class BaseActivity extends Activity {
|
|||
return null;
|
||||
}
|
||||
|
||||
public void modifyUserEvent(LauncherLogProto.LauncherEvent event) {}
|
||||
|
||||
public final UserEventDispatcher getUserEventDispatcher() {
|
||||
if (mUserEventDispatcher == null) {
|
||||
mUserEventDispatcher = UserEventDispatcher.newInstance(this, mDeviceProfile);
|
||||
mUserEventDispatcher = UserEventDispatcher.newInstance(this, mDeviceProfile, this);
|
||||
}
|
||||
return mUserEventDispatcher;
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@ import static com.android.launcher3.LauncherState.ALL_APPS;
|
|||
import static com.android.launcher3.LauncherState.NORMAL;
|
||||
import static com.android.launcher3.dragndrop.DragLayer.ALPHA_INDEX_LAUNCHER_LOAD;
|
||||
import static com.android.launcher3.logging.LoggerUtils.newContainerTarget;
|
||||
import static com.android.launcher3.logging.LoggerUtils.newTarget;
|
||||
|
||||
import android.animation.Animator;
|
||||
import android.animation.AnimatorListenerAdapter;
|
||||
|
@ -91,6 +92,7 @@ import com.android.launcher3.keyboard.CustomActionsPopup;
|
|||
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
|
||||
import com.android.launcher3.logging.FileLog;
|
||||
import com.android.launcher3.logging.UserEventDispatcher;
|
||||
import com.android.launcher3.logging.UserEventDispatcher.UserEventDelegate;
|
||||
import com.android.launcher3.model.ModelWriter;
|
||||
import com.android.launcher3.notification.NotificationListener;
|
||||
import com.android.launcher3.popup.PopupContainerWithArrow;
|
||||
|
@ -100,6 +102,7 @@ import com.android.launcher3.states.InternalStateHandler;
|
|||
import com.android.launcher3.states.RotationHelper;
|
||||
import com.android.launcher3.touch.ItemClickHandler;
|
||||
import com.android.launcher3.uioverrides.UiFactory;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Action;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
|
||||
import com.android.launcher3.userevent.nano.LauncherLogProto.Target;
|
||||
|
@ -140,8 +143,8 @@ import java.util.Set;
|
|||
/**
|
||||
* Default launcher application.
|
||||
*/
|
||||
public class Launcher extends BaseDraggingActivity
|
||||
implements LauncherExterns, LauncherModel.Callbacks, LauncherProviderChangeListener {
|
||||
public class Launcher extends BaseDraggingActivity implements LauncherExterns,
|
||||
LauncherModel.Callbacks, LauncherProviderChangeListener, UserEventDelegate{
|
||||
public static final String TAG = "Launcher";
|
||||
static final boolean LOGD = false;
|
||||
|
||||
|
@ -1645,6 +1648,24 @@ public class Launcher extends BaseDraggingActivity
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void modifyUserEvent(LauncherLogProto.LauncherEvent event) {
|
||||
if (event.srcTarget != null && event.srcTarget.length > 0 &&
|
||||
event.srcTarget[1].containerType == ContainerType.PREDICTION) {
|
||||
Target[] targets = new Target[3];
|
||||
targets[0] = event.srcTarget[0];
|
||||
targets[1] = event.srcTarget[1];
|
||||
targets[2] = newTarget(Target.Type.CONTAINER);
|
||||
event.srcTarget = targets;
|
||||
LauncherState state = mStateManager.getState();
|
||||
if (state == LauncherState.ALL_APPS) {
|
||||
event.srcTarget[2].containerType = ContainerType.ALLAPPS;
|
||||
} else if (state == LauncherState.OVERVIEW) {
|
||||
event.srcTarget[2].containerType = ContainerType.TASKSWITCHER;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean startActivitySafely(View v, Intent intent, ItemInfo item) {
|
||||
boolean success = super.startActivitySafely(v, intent, item);
|
||||
if (success && v instanceof BubbleTextView) {
|
||||
|
|
|
@ -70,7 +70,8 @@ public class UserEventDispatcher {
|
|||
FeatureFlags.IS_DOGFOOD_BUILD && Utilities.isPropertyEnabled(LogConfig.USEREVENT);
|
||||
private static final String UUID_STORAGE = "uuid";
|
||||
|
||||
public static UserEventDispatcher newInstance(Context context, DeviceProfile dp) {
|
||||
public static UserEventDispatcher newInstance(Context context, DeviceProfile dp,
|
||||
UserEventDelegate delegate) {
|
||||
SharedPreferences sharedPrefs = Utilities.getDevicePrefs(context);
|
||||
String uuidStr = sharedPrefs.getString(UUID_STORAGE, null);
|
||||
if (uuidStr == null) {
|
||||
|
@ -79,6 +80,7 @@ public class UserEventDispatcher {
|
|||
}
|
||||
UserEventDispatcher ued = Utilities.getOverrideObject(UserEventDispatcher.class,
|
||||
context.getApplicationContext(), R.string.user_event_dispatcher_class);
|
||||
ued.mDelegate = delegate;
|
||||
ued.mIsInLandscapeMode = dp.isVerticalBarLayout();
|
||||
ued.mIsInMultiWindowMode = dp.isMultiWindowMode;
|
||||
ued.mUuidStr = uuidStr;
|
||||
|
@ -86,6 +88,14 @@ public class UserEventDispatcher {
|
|||
return ued;
|
||||
}
|
||||
|
||||
public static UserEventDispatcher newInstance(Context context, DeviceProfile dp) {
|
||||
return newInstance(context, dp, null);
|
||||
}
|
||||
|
||||
public interface UserEventDelegate {
|
||||
void modifyUserEvent(LauncherEvent event);
|
||||
}
|
||||
|
||||
/**
|
||||
* Implemented by containers to provide a container source for a given child.
|
||||
*/
|
||||
|
@ -134,6 +144,7 @@ public class UserEventDispatcher {
|
|||
private String mUuidStr;
|
||||
protected InstantAppResolver mInstantAppResolver;
|
||||
private boolean mAppOrTaskLaunch;
|
||||
private UserEventDelegate mDelegate;
|
||||
|
||||
// APP_ICON SHORTCUT WIDGET
|
||||
// --------------------------------------------------------------
|
||||
|
@ -162,6 +173,9 @@ public class UserEventDispatcher {
|
|||
newItemTarget(v, mInstantAppResolver), newTarget(Target.Type.CONTAINER));
|
||||
|
||||
if (fillInLogContainerData(event, v)) {
|
||||
if (mDelegate != null) {
|
||||
mDelegate.modifyUserEvent(event);
|
||||
}
|
||||
fillIntentInfo(event.srcTarget[0], intent);
|
||||
}
|
||||
dispatchUserEvent(event, intent);
|
||||
|
|
Loading…
Reference in New Issue