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. -->
|
||||
<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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -315,8 +314,6 @@ public class Launcher extends BaseActivity
|
|||
*/
|
||||
private PendingRequestArgs mPendingRequestArgs;
|
||||
|
||||
private UserEventDispatcher mUserEventDispatcher;
|
||||
|
||||
private float mLastDispatchTouchEventX = 0.0f;
|
||||
|
||||
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() {
|
||||
// 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().
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
*/
|
||||
|
|
|
@ -179,9 +179,6 @@ public class LauncherExtension extends Launcher {
|
|||
addToCustomContentPage(customContent, mCustomContentCallbacks, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserEventDispatcher getUserEventDispatcher() { return null; }
|
||||
|
||||
@Override
|
||||
public View getQsbBar() {
|
||||
return null;
|
||||
|
|
Loading…
Reference in New Issue