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

Commit 1b58561f authored by Winson's avatar Winson
Browse files

Fixing up some more focus edge cases.

- Disallow touch while alt-tabbing
- Allow keyboard to focus tab while scrolling
- Cleaning up some old classes that aren’t really being used

Change-Id: Ibabea093afb711b07f398677d25735421b7c7e53
parent 6e924540
Loading
Loading
Loading
Loading
+0 −10
Original line number Original line Diff line number Diff line
@@ -57,14 +57,4 @@ public class Constants {
            public static final int SystemServicesProxyMockTaskCount = 100;
            public static final int SystemServicesProxyMockTaskCount = 100;
        }
        }
    }
    }

    public static class Values {
        public static class App {
            public static int AppWidgetHostId = 1024;
        }

        public static class TaskStackView {
            public static final int FilterStartDelay = 25;
        }
    }
}
}
+10 −10
Original line number Original line Diff line number Diff line
@@ -32,19 +32,19 @@ import android.os.Bundle;
import android.os.SystemClock;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserHandle;
import android.provider.Settings;
import android.provider.Settings;
import android.util.Log;
import android.view.KeyEvent;
import android.view.KeyEvent;
import android.view.View;
import android.view.View;
import android.view.ViewStub;
import android.view.ViewStub;
import android.view.ViewTreeObserver;
import android.view.ViewTreeObserver;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.recents.events.EventBus;
import com.android.systemui.recents.events.EventBus;
import com.android.systemui.recents.events.activity.AppWidgetProviderChangedEvent;
import com.android.systemui.recents.events.activity.AppWidgetProviderChangedEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowAnimationStartedEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowAnimationStartedEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowLastAnimationFrameEvent;
import com.android.systemui.recents.events.activity.HideRecentsEvent;
import com.android.systemui.recents.events.activity.HideRecentsEvent;
import com.android.systemui.recents.events.activity.IterateRecentsEvent;
import com.android.systemui.recents.events.activity.IterateRecentsEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowLastAnimationFrameEvent;
import com.android.systemui.recents.events.activity.ToggleRecentsEvent;
import com.android.systemui.recents.events.activity.ToggleRecentsEvent;
import com.android.systemui.recents.events.component.RecentsVisibilityChangedEvent;
import com.android.systemui.recents.events.component.RecentsVisibilityChangedEvent;
import com.android.systemui.recents.events.component.ScreenPinningRequestEvent;
import com.android.systemui.recents.events.component.ScreenPinningRequestEvent;
@@ -57,7 +57,6 @@ import com.android.systemui.recents.events.ui.dragndrop.DragStartEvent;
import com.android.systemui.recents.events.ui.focus.DismissFocusedTaskViewEvent;
import com.android.systemui.recents.events.ui.focus.DismissFocusedTaskViewEvent;
import com.android.systemui.recents.events.ui.focus.FocusNextTaskViewEvent;
import com.android.systemui.recents.events.ui.focus.FocusNextTaskViewEvent;
import com.android.systemui.recents.events.ui.focus.FocusPreviousTaskViewEvent;
import com.android.systemui.recents.events.ui.focus.FocusPreviousTaskViewEvent;
import com.android.systemui.recents.misc.Console;
import com.android.systemui.recents.misc.DozeTrigger;
import com.android.systemui.recents.misc.DozeTrigger;
import com.android.systemui.recents.misc.ReferenceCountedTrigger;
import com.android.systemui.recents.misc.ReferenceCountedTrigger;
import com.android.systemui.recents.misc.SystemServicesProxy;
import com.android.systemui.recents.misc.SystemServicesProxy;
@@ -137,8 +136,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
            try {
            try {
                startActivityAsUser(mLaunchIntent, mLaunchOpts.toBundle(), UserHandle.CURRENT);
                startActivityAsUser(mLaunchIntent, mLaunchOpts.toBundle(), UserHandle.CURRENT);
            } catch (Exception e) {
            } catch (Exception e) {
                Console.logError(RecentsActivity.this,
                Log.e(TAG, getString(R.string.recents_launch_error_message, "Home"), e);
                        getString(R.string.recents_launch_error_message, "Home"));
            }
            }
        }
        }
    }
    }
@@ -345,7 +343,7 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView


        // Initialize the widget host (the host id is static and does not change)
        // Initialize the widget host (the host id is static and does not change)
        if (!Constants.DebugFlags.App.DisableSearchBar) {
        if (!Constants.DebugFlags.App.DisableSearchBar) {
            mAppWidgetHost = new RecentsAppWidgetHost(this, Constants.Values.App.AppWidgetHostId);
            mAppWidgetHost = new RecentsAppWidgetHost(this, RecentsAppWidgetHost.HOST_ID);
        }
        }
        mPackageMonitor = new RecentsPackageMonitor();
        mPackageMonitor = new RecentsPackageMonitor();
        mPackageMonitor.register(this);
        mPackageMonitor.register(this);
@@ -357,6 +355,12 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView
        mRecentsView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
        mRecentsView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
                View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
                View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
        mRecentsView.getViewTreeObserver().addOnEnterAnimationCompleteListener(new ViewTreeObserver.OnEnterAnimationCompleteListener() {
            @Override
            public void onEnterAnimationComplete() {
                System.out.println("ENTER ANIMATION COMPLETE");
            }
        });
        mEmptyViewStub = (ViewStub) findViewById(R.id.empty_view_stub);
        mEmptyViewStub = (ViewStub) findViewById(R.id.empty_view_stub);
        mScrimViews = new SystemBarScrimViews(this);
        mScrimViews = new SystemBarScrimViews(this);


@@ -574,10 +578,6 @@ public class RecentsActivity extends Activity implements RecentsView.RecentsView


    /**** RecentsView.RecentsViewCallbacks Implementation ****/
    /**** RecentsView.RecentsViewCallbacks Implementation ****/


    @Override
    public void onTaskViewClicked() {
    }

    @Override
    @Override
    public void onTaskLaunchFailed() {
    public void onTaskLaunchFailed() {
        // Return to Home
        // Return to Home
+0 −1
Original line number Original line Diff line number Diff line
@@ -19,7 +19,6 @@ package com.android.systemui.recents;
/**
/**
 * The launch state of the RecentsActivity.
 * The launch state of the RecentsActivity.
 *
 *
 * TODO: We will be refactoring this out RecentsConfiguration.
 * Current Constraints:
 * Current Constraints:
 *  - needed in onStart() before onNewIntent()
 *  - needed in onStart() before onNewIntent()
 *  - needs to be reset when Recents is hidden
 *  - needs to be reset when Recents is hidden
+2 −0
Original line number Original line Diff line number Diff line
@@ -26,6 +26,8 @@ import com.android.systemui.recents.events.activity.AppWidgetProviderChangedEven
/** Our special app widget host for the Search widget */
/** Our special app widget host for the Search widget */
public class RecentsAppWidgetHost extends AppWidgetHost {
public class RecentsAppWidgetHost extends AppWidgetHost {


    public static final int HOST_ID = 1024;

    boolean mIsListening;
    boolean mIsListening;


    public RecentsAppWidgetHost(Context context, int hostId) {
    public RecentsAppWidgetHost(Context context, int hostId) {
+8 −9
Original line number Original line Diff line number Diff line
@@ -16,8 +16,6 @@


package com.android.systemui.recents;
package com.android.systemui.recents;


import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;

import android.app.ActivityManager;
import android.app.ActivityManager;
import android.app.ActivityOptions;
import android.app.ActivityOptions;
import android.app.ITaskStackListener;
import android.app.ITaskStackListener;
@@ -32,24 +30,23 @@ import android.graphics.RectF;
import android.os.Handler;
import android.os.Handler;
import android.os.SystemClock;
import android.os.SystemClock;
import android.os.UserHandle;
import android.os.UserHandle;
import android.util.Log;
import android.util.MutableBoolean;
import android.util.MutableBoolean;
import android.view.AppTransitionAnimationSpec;
import android.view.AppTransitionAnimationSpec;
import android.view.LayoutInflater;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View;

import com.android.internal.logging.MetricsLogger;
import com.android.internal.logging.MetricsLogger;
import com.android.systemui.Prefs;
import com.android.systemui.Prefs;
import com.android.systemui.R;
import com.android.systemui.R;
import com.android.systemui.SystemUIApplication;
import com.android.systemui.SystemUIApplication;
import com.android.systemui.recents.events.EventBus;
import com.android.systemui.recents.events.EventBus;
import com.android.systemui.recents.events.activity.EnterRecentsWindowAnimationStartedEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowAnimationStartedEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowLastAnimationFrameEvent;
import com.android.systemui.recents.events.activity.HideRecentsEvent;
import com.android.systemui.recents.events.activity.HideRecentsEvent;
import com.android.systemui.recents.events.activity.IterateRecentsEvent;
import com.android.systemui.recents.events.activity.IterateRecentsEvent;
import com.android.systemui.recents.events.activity.EnterRecentsWindowLastAnimationFrameEvent;
import com.android.systemui.recents.events.activity.ToggleRecentsEvent;
import com.android.systemui.recents.events.activity.ToggleRecentsEvent;
import com.android.systemui.recents.events.component.RecentsVisibilityChangedEvent;
import com.android.systemui.recents.events.component.RecentsVisibilityChangedEvent;
import com.android.systemui.recents.events.component.ScreenPinningRequestEvent;
import com.android.systemui.recents.events.component.ScreenPinningRequestEvent;
import com.android.systemui.recents.misc.Console;
import com.android.systemui.recents.misc.ForegroundThread;
import com.android.systemui.recents.misc.ForegroundThread;
import com.android.systemui.recents.misc.SystemServicesProxy;
import com.android.systemui.recents.misc.SystemServicesProxy;
import com.android.systemui.recents.model.RecentsTaskLoadPlan;
import com.android.systemui.recents.model.RecentsTaskLoadPlan;
@@ -57,14 +54,16 @@ import com.android.systemui.recents.model.RecentsTaskLoader;
import com.android.systemui.recents.model.Task;
import com.android.systemui.recents.model.Task;
import com.android.systemui.recents.model.TaskGrouping;
import com.android.systemui.recents.model.TaskGrouping;
import com.android.systemui.recents.model.TaskStack;
import com.android.systemui.recents.model.TaskStack;
import com.android.systemui.recents.views.TaskStackView;
import com.android.systemui.recents.views.TaskStackLayoutAlgorithm;
import com.android.systemui.recents.views.TaskStackLayoutAlgorithm;
import com.android.systemui.recents.views.TaskStackView;
import com.android.systemui.recents.views.TaskViewHeader;
import com.android.systemui.recents.views.TaskViewHeader;
import com.android.systemui.recents.views.TaskViewTransform;
import com.android.systemui.recents.views.TaskViewTransform;
import com.android.systemui.statusbar.phone.PhoneStatusBar;
import com.android.systemui.statusbar.phone.PhoneStatusBar;


import java.util.ArrayList;
import java.util.ArrayList;


import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;

/**
/**
 * An implementation of the Recents component for the current user.  For secondary users, this can
 * An implementation of the Recents component for the current user.  For secondary users, this can
 * be called remotely from the system user.
 * be called remotely from the system user.
@@ -164,7 +163,7 @@ public class RecentsImpl extends IRecentsNonSystemUserCallbacks.Stub
    public RecentsImpl(Context context) {
    public RecentsImpl(Context context) {
        mContext = context;
        mContext = context;
        mHandler = new Handler();
        mHandler = new Handler();
        mAppWidgetHost = new RecentsAppWidgetHost(mContext, Constants.Values.App.AppWidgetHostId);
        mAppWidgetHost = new RecentsAppWidgetHost(mContext, RecentsAppWidgetHost.HOST_ID);
        Resources res = mContext.getResources();
        Resources res = mContext.getResources();
        LayoutInflater inflater = LayoutInflater.from(mContext);
        LayoutInflater inflater = LayoutInflater.from(mContext);


@@ -249,7 +248,7 @@ public class RecentsImpl extends IRecentsNonSystemUserCallbacks.Stub
                startRecentsActivity(topTask, isTopTaskHome.value);
                startRecentsActivity(topTask, isTopTaskHome.value);
            }
            }
        } catch (ActivityNotFoundException e) {
        } catch (ActivityNotFoundException e) {
            Console.logRawError("Failed to launch RecentAppsIntent", e);
            Log.e(TAG, "Failed to launch RecentsActivity", e);
        }
        }
    }
    }


@@ -305,7 +304,7 @@ public class RecentsImpl extends IRecentsNonSystemUserCallbacks.Stub
                mLastToggleTime = SystemClock.elapsedRealtime();
                mLastToggleTime = SystemClock.elapsedRealtime();
            }
            }
        } catch (ActivityNotFoundException e) {
        } catch (ActivityNotFoundException e) {
            Console.logRawError("Failed to launch RecentAppsIntent", e);
            Log.e(TAG, "Failed to launch RecentsActivity", e);
        }
        }
    }
    }


Loading