Moving Event dispatcher definition from LAuncher to BaseActivity so that
it can be used in other activities as well. Bug: 34766840 Change-Id: Ie4b723483792bee93fb75e63146ebea7dfeebeda
This commit is contained in:
parent
54d4e645b3
commit
a535ae423b
|
@ -72,16 +72,15 @@
|
||||||
filter the activities shown in the launcher. Can be empty. -->
|
filter the activities shown in the launcher. Can be empty. -->
|
||||||
<string name="app_filter_class" translatable="false"></string>
|
<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. -->
|
<!-- Name of an icon provider class. -->
|
||||||
<string name="icon_provider_class" translatable="false"></string>
|
<string name="icon_provider_class" translatable="false"></string>
|
||||||
|
|
||||||
<!-- Name of a drawable factory class. -->
|
<!-- Name of a drawable factory class. -->
|
||||||
<string name="drawable_factory_class" translatable="false"></string>
|
<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. -->
|
<!-- Package name of the default wallpaper picker. -->
|
||||||
<string name="wallpaper_picker_package" translatable="false"></string>
|
<string name="wallpaper_picker_package" translatable="false"></string>
|
||||||
|
|
||||||
|
|
|
@ -21,9 +21,12 @@ import android.content.Context;
|
||||||
import android.content.ContextWrapper;
|
import android.content.ContextWrapper;
|
||||||
import android.view.View.AccessibilityDelegate;
|
import android.view.View.AccessibilityDelegate;
|
||||||
|
|
||||||
|
import com.android.launcher3.logging.UserEventDispatcher;
|
||||||
|
|
||||||
public abstract class BaseActivity extends Activity {
|
public abstract class BaseActivity extends Activity {
|
||||||
|
|
||||||
protected DeviceProfile mDeviceProfile;
|
protected DeviceProfile mDeviceProfile;
|
||||||
|
protected UserEventDispatcher mUserEventDispatcher;
|
||||||
|
|
||||||
public DeviceProfile getDeviceProfile() {
|
public DeviceProfile getDeviceProfile() {
|
||||||
return mDeviceProfile;
|
return mDeviceProfile;
|
||||||
|
@ -33,6 +36,13 @@ public abstract class BaseActivity extends Activity {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public final UserEventDispatcher getUserEventDispatcher() {
|
||||||
|
if (mUserEventDispatcher == null) {
|
||||||
|
mUserEventDispatcher = UserEventDispatcher.get(this);
|
||||||
|
}
|
||||||
|
return mUserEventDispatcher;
|
||||||
|
}
|
||||||
|
|
||||||
public static BaseActivity fromContext(Context context) {
|
public static BaseActivity fromContext(Context context) {
|
||||||
if (context instanceof BaseActivity) {
|
if (context instanceof BaseActivity) {
|
||||||
return (BaseActivity) context;
|
return (BaseActivity) context;
|
||||||
|
|
|
@ -85,9 +85,6 @@ import com.android.launcher3.allapps.AllAppsContainerView;
|
||||||
import com.android.launcher3.allapps.AllAppsTransitionController;
|
import com.android.launcher3.allapps.AllAppsTransitionController;
|
||||||
import com.android.launcher3.allapps.DefaultAppSearchController;
|
import com.android.launcher3.allapps.DefaultAppSearchController;
|
||||||
import com.android.launcher3.anim.AnimationLayerSet;
|
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.AppWidgetManagerCompat;
|
||||||
import com.android.launcher3.compat.LauncherAppsCompat;
|
import com.android.launcher3.compat.LauncherAppsCompat;
|
||||||
import com.android.launcher3.compat.PinItemRequestCompat;
|
import com.android.launcher3.compat.PinItemRequestCompat;
|
||||||
|
@ -106,10 +103,13 @@ import com.android.launcher3.keyboard.CustomActionsPopup;
|
||||||
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
|
import com.android.launcher3.keyboard.ViewGroupFocusHelper;
|
||||||
import com.android.launcher3.logging.FileLog;
|
import com.android.launcher3.logging.FileLog;
|
||||||
import com.android.launcher3.logging.UserEventDispatcher;
|
import com.android.launcher3.logging.UserEventDispatcher;
|
||||||
|
import com.android.launcher3.model.ModelWriter;
|
||||||
import com.android.launcher3.model.PackageItemInfo;
|
import com.android.launcher3.model.PackageItemInfo;
|
||||||
import com.android.launcher3.model.WidgetItem;
|
import com.android.launcher3.model.WidgetItem;
|
||||||
|
import com.android.launcher3.notification.NotificationListener;
|
||||||
import com.android.launcher3.pageindicators.PageIndicator;
|
import com.android.launcher3.pageindicators.PageIndicator;
|
||||||
import com.android.launcher3.popup.PopupContainerWithArrow;
|
import com.android.launcher3.popup.PopupContainerWithArrow;
|
||||||
|
import com.android.launcher3.popup.PopupDataProvider;
|
||||||
import com.android.launcher3.shortcuts.DeepShortcutManager;
|
import com.android.launcher3.shortcuts.DeepShortcutManager;
|
||||||
import com.android.launcher3.shortcuts.ShortcutKey;
|
import com.android.launcher3.shortcuts.ShortcutKey;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
||||||
|
@ -119,7 +119,6 @@ import com.android.launcher3.userevent.nano.LauncherLogProto.ControlType;
|
||||||
import com.android.launcher3.util.ActivityResultInfo;
|
import com.android.launcher3.util.ActivityResultInfo;
|
||||||
import com.android.launcher3.util.ComponentKey;
|
import com.android.launcher3.util.ComponentKey;
|
||||||
import com.android.launcher3.util.ItemInfoMatcher;
|
import com.android.launcher3.util.ItemInfoMatcher;
|
||||||
import com.android.launcher3.util.LogConfig;
|
|
||||||
import com.android.launcher3.util.MultiHashMap;
|
import com.android.launcher3.util.MultiHashMap;
|
||||||
import com.android.launcher3.util.PackageManagerHelper;
|
import com.android.launcher3.util.PackageManagerHelper;
|
||||||
import com.android.launcher3.util.PackageUserKey;
|
import com.android.launcher3.util.PackageUserKey;
|
||||||
|
@ -315,8 +314,6 @@ public class Launcher extends BaseActivity
|
||||||
*/
|
*/
|
||||||
private PendingRequestArgs mPendingRequestArgs;
|
private PendingRequestArgs mPendingRequestArgs;
|
||||||
|
|
||||||
private UserEventDispatcher mUserEventDispatcher;
|
|
||||||
|
|
||||||
private float mLastDispatchTouchEventX = 0.0f;
|
private float mLastDispatchTouchEventX = 0.0f;
|
||||||
|
|
||||||
public ViewGroupFocusHelper mFocusHandler;
|
public ViewGroupFocusHelper mFocusHandler;
|
||||||
|
@ -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() {
|
public boolean isDraggingEnabled() {
|
||||||
// We prevent dragging when we are loading the workspace as it is possible to pick up a view
|
// 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().
|
// that is subsequently removed from the workspace in startBinding().
|
||||||
|
|
|
@ -92,7 +92,6 @@ public interface LauncherCallbacks {
|
||||||
/*
|
/*
|
||||||
* Extensions points for adding / replacing some other aspects of the Launcher experience.
|
* Extensions points for adding / replacing some other aspects of the Launcher experience.
|
||||||
*/
|
*/
|
||||||
public UserEventDispatcher getUserEventDispatcher();
|
|
||||||
public boolean shouldMoveToDefaultScreenOnHomeIntent();
|
public boolean shouldMoveToDefaultScreenOnHomeIntent();
|
||||||
public boolean hasSettings();
|
public boolean hasSettings();
|
||||||
public AllAppsSearchBarController getAllAppsSearchBarController();
|
public AllAppsSearchBarController getAllAppsSearchBarController();
|
||||||
|
|
|
@ -18,6 +18,7 @@ package com.android.launcher3.logging;
|
||||||
|
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.SystemClock;
|
import android.os.SystemClock;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
@ -26,6 +27,7 @@ import android.view.ViewParent;
|
||||||
|
|
||||||
import com.android.launcher3.DropTarget;
|
import com.android.launcher3.DropTarget;
|
||||||
import com.android.launcher3.ItemInfo;
|
import com.android.launcher3.ItemInfo;
|
||||||
|
import com.android.launcher3.R;
|
||||||
import com.android.launcher3.Utilities;
|
import com.android.launcher3.Utilities;
|
||||||
import com.android.launcher3.config.ProviderConfig;
|
import com.android.launcher3.config.ProviderConfig;
|
||||||
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
import com.android.launcher3.userevent.nano.LauncherLogProto;
|
||||||
|
@ -61,6 +63,19 @@ public class UserEventDispatcher {
|
||||||
private static final boolean IS_VERBOSE =
|
private static final boolean IS_VERBOSE =
|
||||||
ProviderConfig.IS_DOGFOOD_BUILD && Utilities.isPropertyEnabled(LogConfig.USEREVENT);
|
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.
|
* Implemented by containers to provide a container source for a given child.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -179,9 +179,6 @@ public class LauncherExtension extends Launcher {
|
||||||
addToCustomContentPage(customContent, mCustomContentCallbacks, "");
|
addToCustomContentPage(customContent, mCustomContentCallbacks, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public UserEventDispatcher getUserEventDispatcher() { return null; }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getQsbBar() {
|
public View getQsbBar() {
|
||||||
return null;
|
return null;
|
||||||
|
|
Loading…
Reference in New Issue