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:
Sunny Goyal 2017-02-27 10:07:13 -08:00
parent 54d4e645b3
commit a535ae423b
6 changed files with 31 additions and 31 deletions

View File

@ -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>

View File

@ -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;

View File

@ -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().

View File

@ -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();

View File

@ -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.
*/ */

View File

@ -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;