Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ff3457e authored by Sunny Goyal's avatar Sunny Goyal Committed by Android (Google) Code Review
Browse files

Merge "Moving Event dispatcher definition from LAuncher to BaseActivity so...

Merge "Moving Event dispatcher definition from LAuncher to BaseActivity so that it can be used in other activities as well." into ub-launcher3-dorval
parents 12584781 a535ae42
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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>

+10 −0
Original line number Diff line number Diff line
@@ -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;
+3 −23
Original line number Diff line number Diff line
@@ -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().
+0 −1
Original line number Diff line number Diff line
@@ -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();
+15 −0
Original line number Diff line number Diff line
@@ -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.
     */
Loading