Loading res/values/config.xml +3 −4 Original line number Diff line number Diff line Loading @@ -72,16 +72,15 @@ filter the activities shown in the launcher. Can be empty. --> <string name="app_filter_class" translatable="false"></string> <!-- List of package names that com.android.launcher3.action.LAUNCH should be targeting. Can be empty. --> <array name="launch_broadcast_targets" translatable="false"></array> <!-- Name of an icon provider class. --> <string name="icon_provider_class" translatable="false"></string> <!-- Name of a drawable factory class. --> <string name="drawable_factory_class" translatable="false"></string> <!-- Name of a user event dispatcher class. --> <string name="user_event_dispatcher_class" translatable="false"></string> <!-- Package name of the default wallpaper picker. --> <string name="wallpaper_picker_package" translatable="false"></string> Loading src/com/android/launcher3/BaseActivity.java +10 −0 Original line number Diff line number Diff line Loading @@ -21,9 +21,12 @@ import android.content.Context; import android.content.ContextWrapper; import android.view.View.AccessibilityDelegate; import com.android.launcher3.logging.UserEventDispatcher; public abstract class BaseActivity extends Activity { protected DeviceProfile mDeviceProfile; protected UserEventDispatcher mUserEventDispatcher; public DeviceProfile getDeviceProfile() { return mDeviceProfile; Loading @@ -33,6 +36,13 @@ public abstract class BaseActivity extends Activity { return null; } public final UserEventDispatcher getUserEventDispatcher() { if (mUserEventDispatcher == null) { mUserEventDispatcher = UserEventDispatcher.get(this); } return mUserEventDispatcher; } public static BaseActivity fromContext(Context context) { if (context instanceof BaseActivity) { return (BaseActivity) context; Loading src/com/android/launcher3/Launcher.java +3 −23 Original line number Diff line number Diff line Loading @@ -85,9 +85,6 @@ import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DefaultAppSearchController; import com.android.launcher3.anim.AnimationLayerSet; import com.android.launcher3.model.ModelWriter; import com.android.launcher3.notification.NotificationListener; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.PinItemRequestCompat; Loading @@ -106,10 +103,13 @@ 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.model.ModelWriter; import com.android.launcher3.model.PackageItemInfo; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.notification.NotificationListener; import com.android.launcher3.pageindicators.PageIndicator; import com.android.launcher3.popup.PopupContainerWithArrow; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.shortcuts.ShortcutKey; import com.android.launcher3.userevent.nano.LauncherLogProto; Loading @@ -119,7 +119,6 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ControlType; import com.android.launcher3.util.ActivityResultInfo; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.LogConfig; import com.android.launcher3.util.MultiHashMap; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.PackageUserKey; Loading Loading @@ -315,8 +314,6 @@ public class Launcher extends BaseActivity */ private PendingRequestArgs mPendingRequestArgs; private UserEventDispatcher mUserEventDispatcher; private float mLastDispatchTouchEventX = 0.0f; public ViewGroupFocusHelper mFocusHandler; Loading Loading @@ -627,23 +624,6 @@ public class Launcher extends BaseActivity } } public UserEventDispatcher getUserEventDispatcher() { if (mLauncherCallbacks != null) { UserEventDispatcher dispatcher = mLauncherCallbacks.getUserEventDispatcher(); if (dispatcher != null) { return dispatcher; } } // Logger object is a singleton and does not have to be coupled with the foreground // activity. Since most user event logging is done on the UI, the object is retrieved // from the callback for convenience. if (mUserEventDispatcher == null) { mUserEventDispatcher = new UserEventDispatcher(); } return mUserEventDispatcher; } public boolean isDraggingEnabled() { // We prevent dragging when we are loading the workspace as it is possible to pick up a view // that is subsequently removed from the workspace in startBinding(). Loading src/com/android/launcher3/LauncherCallbacks.java +0 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,6 @@ public interface LauncherCallbacks { /* * Extensions points for adding / replacing some other aspects of the Launcher experience. */ public UserEventDispatcher getUserEventDispatcher(); public boolean shouldMoveToDefaultScreenOnHomeIntent(); public boolean hasSettings(); public AllAppsSearchBarController getAllAppsSearchBarController(); Loading src/com/android/launcher3/logging/UserEventDispatcher.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.launcher3.logging; import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.SystemClock; import android.util.Log; Loading @@ -26,6 +27,7 @@ import android.view.ViewParent; import com.android.launcher3.DropTarget; import com.android.launcher3.ItemInfo; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.config.ProviderConfig; import com.android.launcher3.userevent.nano.LauncherLogProto; Loading Loading @@ -61,6 +63,19 @@ public class UserEventDispatcher { private static final boolean IS_VERBOSE = ProviderConfig.IS_DOGFOOD_BUILD && Utilities.isPropertyEnabled(LogConfig.USEREVENT); private static UserEventDispatcher sInstance; private static final Object LOCK = new Object(); public static UserEventDispatcher get(Context context) { synchronized (LOCK) { if (sInstance == null) { sInstance = Utilities.getOverrideObject(UserEventDispatcher.class, context.getApplicationContext(), R.string.user_event_dispatcher_class); } return sInstance; } } /** * Implemented by containers to provide a container source for a given child. */ Loading Loading
res/values/config.xml +3 −4 Original line number Diff line number Diff line Loading @@ -72,16 +72,15 @@ filter the activities shown in the launcher. Can be empty. --> <string name="app_filter_class" translatable="false"></string> <!-- List of package names that com.android.launcher3.action.LAUNCH should be targeting. Can be empty. --> <array name="launch_broadcast_targets" translatable="false"></array> <!-- Name of an icon provider class. --> <string name="icon_provider_class" translatable="false"></string> <!-- Name of a drawable factory class. --> <string name="drawable_factory_class" translatable="false"></string> <!-- Name of a user event dispatcher class. --> <string name="user_event_dispatcher_class" translatable="false"></string> <!-- Package name of the default wallpaper picker. --> <string name="wallpaper_picker_package" translatable="false"></string> Loading
src/com/android/launcher3/BaseActivity.java +10 −0 Original line number Diff line number Diff line Loading @@ -21,9 +21,12 @@ import android.content.Context; import android.content.ContextWrapper; import android.view.View.AccessibilityDelegate; import com.android.launcher3.logging.UserEventDispatcher; public abstract class BaseActivity extends Activity { protected DeviceProfile mDeviceProfile; protected UserEventDispatcher mUserEventDispatcher; public DeviceProfile getDeviceProfile() { return mDeviceProfile; Loading @@ -33,6 +36,13 @@ public abstract class BaseActivity extends Activity { return null; } public final UserEventDispatcher getUserEventDispatcher() { if (mUserEventDispatcher == null) { mUserEventDispatcher = UserEventDispatcher.get(this); } return mUserEventDispatcher; } public static BaseActivity fromContext(Context context) { if (context instanceof BaseActivity) { return (BaseActivity) context; Loading
src/com/android/launcher3/Launcher.java +3 −23 Original line number Diff line number Diff line Loading @@ -85,9 +85,6 @@ import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DefaultAppSearchController; import com.android.launcher3.anim.AnimationLayerSet; import com.android.launcher3.model.ModelWriter; import com.android.launcher3.notification.NotificationListener; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.compat.AppWidgetManagerCompat; import com.android.launcher3.compat.LauncherAppsCompat; import com.android.launcher3.compat.PinItemRequestCompat; Loading @@ -106,10 +103,13 @@ 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.model.ModelWriter; import com.android.launcher3.model.PackageItemInfo; import com.android.launcher3.model.WidgetItem; import com.android.launcher3.notification.NotificationListener; import com.android.launcher3.pageindicators.PageIndicator; import com.android.launcher3.popup.PopupContainerWithArrow; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.shortcuts.DeepShortcutManager; import com.android.launcher3.shortcuts.ShortcutKey; import com.android.launcher3.userevent.nano.LauncherLogProto; Loading @@ -119,7 +119,6 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ControlType; import com.android.launcher3.util.ActivityResultInfo; import com.android.launcher3.util.ComponentKey; import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.LogConfig; import com.android.launcher3.util.MultiHashMap; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.PackageUserKey; Loading Loading @@ -315,8 +314,6 @@ public class Launcher extends BaseActivity */ private PendingRequestArgs mPendingRequestArgs; private UserEventDispatcher mUserEventDispatcher; private float mLastDispatchTouchEventX = 0.0f; public ViewGroupFocusHelper mFocusHandler; Loading Loading @@ -627,23 +624,6 @@ public class Launcher extends BaseActivity } } public UserEventDispatcher getUserEventDispatcher() { if (mLauncherCallbacks != null) { UserEventDispatcher dispatcher = mLauncherCallbacks.getUserEventDispatcher(); if (dispatcher != null) { return dispatcher; } } // Logger object is a singleton and does not have to be coupled with the foreground // activity. Since most user event logging is done on the UI, the object is retrieved // from the callback for convenience. if (mUserEventDispatcher == null) { mUserEventDispatcher = new UserEventDispatcher(); } return mUserEventDispatcher; } public boolean isDraggingEnabled() { // We prevent dragging when we are loading the workspace as it is possible to pick up a view // that is subsequently removed from the workspace in startBinding(). Loading
src/com/android/launcher3/LauncherCallbacks.java +0 −1 Original line number Diff line number Diff line Loading @@ -92,7 +92,6 @@ public interface LauncherCallbacks { /* * Extensions points for adding / replacing some other aspects of the Launcher experience. */ public UserEventDispatcher getUserEventDispatcher(); public boolean shouldMoveToDefaultScreenOnHomeIntent(); public boolean hasSettings(); public AllAppsSearchBarController getAllAppsSearchBarController(); Loading
src/com/android/launcher3/logging/UserEventDispatcher.java +15 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.launcher3.logging; import android.app.PendingIntent; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.SystemClock; import android.util.Log; Loading @@ -26,6 +27,7 @@ import android.view.ViewParent; import com.android.launcher3.DropTarget; import com.android.launcher3.ItemInfo; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.config.ProviderConfig; import com.android.launcher3.userevent.nano.LauncherLogProto; Loading Loading @@ -61,6 +63,19 @@ public class UserEventDispatcher { private static final boolean IS_VERBOSE = ProviderConfig.IS_DOGFOOD_BUILD && Utilities.isPropertyEnabled(LogConfig.USEREVENT); private static UserEventDispatcher sInstance; private static final Object LOCK = new Object(); public static UserEventDispatcher get(Context context) { synchronized (LOCK) { if (sInstance == null) { sInstance = Utilities.getOverrideObject(UserEventDispatcher.class, context.getApplicationContext(), R.string.user_event_dispatcher_class); } return sInstance; } } /** * Implemented by containers to provide a container source for a given child. */ Loading