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

Commit 7c135205 authored by Daniel Sandler's avatar Daniel Sandler
Browse files

Remove dock home support.

We still have dock apps and dock mode, just not home-key
capture.

Bug: 7163049
Change-Id: I8234ebf066798071517b4a586b06708b6ec0bc71
parent 0dc2b81c
Loading
Loading
Loading
Loading
+2 −85
Original line number Original line Diff line number Diff line
@@ -169,11 +169,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    static final boolean SHOW_STARTING_ANIMATIONS = true;
    static final boolean SHOW_STARTING_ANIMATIONS = true;
    static final boolean SHOW_PROCESSES_ON_ALT_MENU = false;
    static final boolean SHOW_PROCESSES_ON_ALT_MENU = false;


    // Whether to allow dock apps with METADATA_DOCK_HOME to temporarily take over the Home key.
    // No longer recommended for desk docks; still useful in car docks.
    static final boolean ENABLE_CAR_DOCK_HOME_CAPTURE = true;
    static final boolean ENABLE_DESK_DOCK_HOME_CAPTURE = false;

    static final int LONG_PRESS_POWER_NOTHING = 0;
    static final int LONG_PRESS_POWER_NOTHING = 0;
    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
    static final int LONG_PRESS_POWER_GLOBAL_ACTIONS = 1;
    static final int LONG_PRESS_POWER_SHUT_OFF = 2;
    static final int LONG_PRESS_POWER_SHUT_OFF = 2;
@@ -347,7 +342,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    boolean mSystemReady;
    boolean mSystemReady;
    boolean mSystemBooted;
    boolean mSystemBooted;
    boolean mHdmiPlugged;
    boolean mHdmiPlugged;
    int mUiMode;
    int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED;
    int mDockMode = Intent.EXTRA_DOCK_STATE_UNDOCKED;
    int mLidOpenRotation;
    int mLidOpenRotation;
    int mCarDockRotation;
    int mCarDockRotation;
@@ -892,8 +886,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        mSettingsObserver.observe();
        mSettingsObserver.observe();
        mShortcutManager = new ShortcutManager(context, mHandler);
        mShortcutManager = new ShortcutManager(context, mHandler);
        mShortcutManager.observe();
        mShortcutManager.observe();
        mUiMode = context.getResources().getInteger(
                com.android.internal.R.integer.config_defaultUiModeType);
        mHomeIntent =  new Intent(Intent.ACTION_MAIN, null);
        mHomeIntent =  new Intent(Intent.ACTION_MAIN, null);
        mHomeIntent.addCategory(Intent.CATEGORY_HOME);
        mHomeIntent.addCategory(Intent.CATEGORY_HOME);
        mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
        mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
@@ -3563,13 +3555,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) {
            if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())) {
                mDockMode = intent.getIntExtra(Intent.EXTRA_DOCK_STATE,
                mDockMode = intent.getIntExtra(Intent.EXTRA_DOCK_STATE,
                        Intent.EXTRA_DOCK_STATE_UNDOCKED);
                        Intent.EXTRA_DOCK_STATE_UNDOCKED);
            } else {
                try {
                    IUiModeManager uiModeService = IUiModeManager.Stub.asInterface(
                            ServiceManager.getService(Context.UI_MODE_SERVICE));
                    mUiMode = uiModeService.getCurrentModeType();
                } catch (RemoteException e) {
                }
            }
            }
            updateRotation(true);
            updateRotation(true);
            updateOrientationListenerLp();
            updateOrientationListenerLp();
@@ -4122,63 +4107,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        }
        }
    }
    }


    /**
     * Return an Intent to launch the currently active dock app as home.  Returns
     * null if the standard home should be launched, which is the case if any of the following is
     * true:
     * <ul>
     *  <li>The device is not in either car mode or desk mode
     *  <li>The device is in car mode but ENABLE_CAR_DOCK_HOME_CAPTURE is false
     *  <li>The device is in desk mode but ENABLE_DESK_DOCK_HOME_CAPTURE is false
     *  <li>The device is in car mode but there's no CAR_DOCK app with METADATA_DOCK_HOME
     *  <li>The device is in desk mode but there's no DESK_DOCK app with METADATA_DOCK_HOME
     * </ul>
     * @return
     */
    Intent createHomeDockIntent() {
        Intent intent = null;
        
        // What home does is based on the mode, not the dock state.  That
        // is, when in car mode you should be taken to car home regardless
        // of whether we are actually in a car dock.
        if (mUiMode == Configuration.UI_MODE_TYPE_CAR) {
            if (ENABLE_CAR_DOCK_HOME_CAPTURE) {
                intent = mCarDockIntent;
            }
        } else if (mUiMode == Configuration.UI_MODE_TYPE_DESK) {
            if (ENABLE_DESK_DOCK_HOME_CAPTURE) {
                intent = mDeskDockIntent;
            }
        }

        if (intent == null) {
            return null;
        }
        
        ActivityInfo ai = intent.resolveActivityInfo(
                mContext.getPackageManager(), PackageManager.GET_META_DATA);
        if (ai == null) {
            return null;
        }
        
        if (ai.metaData != null && ai.metaData.getBoolean(Intent.METADATA_DOCK_HOME)) {
            intent = new Intent(intent);
            intent.setClassName(ai.packageName, ai.name);
            return intent;
        }
        
        return null;
    }
    
    void startDockOrHome() {
    void startDockOrHome() {
        Intent dock = createHomeDockIntent();
        // We don't have dock home anymore. Home is home. If you lived here, you'd be home by now.
        if (dock != null) {
            try {
                mContext.startActivity(dock);
                return;
            } catch (ActivityNotFoundException e) {
            }
        }
        mContext.startActivityAsUser(mHomeIntent, UserHandle.CURRENT);
        mContext.startActivityAsUser(mHomeIntent, UserHandle.CURRENT);
    }
    }
    
    
@@ -4205,18 +4135,6 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                } else {
                } else {
                    ActivityManagerNative.getDefault().stopAppSwitches();
                    ActivityManagerNative.getDefault().stopAppSwitches();
                    sendCloseSystemWindows();
                    sendCloseSystemWindows();
                    Intent dock = createHomeDockIntent();
                    if (dock != null) {
                        int result = ActivityManagerNative.getDefault()
                                .startActivityAsUser(null, dock,
                                        dock.resolveTypeIfNeeded(mContext.getContentResolver()),
                                        null, null, 0,
                                        ActivityManager.START_FLAG_ONLY_IF_NEEDED,
                                        null, null, null, UserHandle.USER_CURRENT);
                        if (result == ActivityManager.START_RETURN_INTENT_TO_CALLER) {
                            return false;
                        }
                    }
                }
                }
                int result = ActivityManagerNative.getDefault()
                int result = ActivityManagerNative.getDefault()
                        .startActivityAsUser(null, mHomeIntent,
                        .startActivityAsUser(null, mHomeIntent,
@@ -4403,8 +4321,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            pw.print(prefix); pw.print("mLastFocusNeedsMenu=");
            pw.print(prefix); pw.print("mLastFocusNeedsMenu=");
                    pw.println(mLastFocusNeedsMenu);
                    pw.println(mLastFocusNeedsMenu);
        }
        }
        pw.print(prefix); pw.print("mUiMode="); pw.print(mUiMode);
        pw.print(prefix); pw.print("mDockMode="); pw.print(mDockMode);
                pw.print(" mDockMode="); pw.print(mDockMode);
                pw.print(" mCarDockRotation="); pw.print(mCarDockRotation);
                pw.print(" mCarDockRotation="); pw.print(mCarDockRotation);
                pw.print(" mDeskDockRotation="); pw.println(mDeskDockRotation);
                pw.print(" mDeskDockRotation="); pw.println(mDeskDockRotation);
        pw.print(prefix); pw.print("mUserRotationMode="); pw.print(mUserRotationMode);
        pw.print(prefix); pw.print("mUserRotationMode="); pw.print(mUserRotationMode);