summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Muyuan Li <muyuanli@google.com> 2016-07-25 17:56:53 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2016-07-25 17:56:54 +0000
commitdbe193a97d4f959b05fd20033e106a1a4d45f3b6 (patch)
tree2178c4eb29b8a37cdbd94805960d96b7d0ebafdb
parent4312b2dbab27e130a33c1fd9ca4435a4758f5354 (diff)
parent5ef619fc2505045b988e2d2f6bb6b37ee3aae644 (diff)
Merge "sysui: changed split screen shortcut key behavior."
-rw-r--r--packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java23
1 files changed, 17 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java b/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
index 0aeb7b423ca4..15d26f9a7a0c 100644
--- a/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
+++ b/packages/SystemUI/src/com/android/systemui/shortcut/ShortcutKeyDispatcher.java
@@ -25,6 +25,8 @@ import android.content.Context;
import android.content.pm.ServiceInfo;
import android.content.res.Configuration;
import android.os.RemoteException;
+import android.os.UserHandle;
+import android.util.ArraySet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.IWindowManager;
@@ -39,6 +41,7 @@ import com.android.settingslib.accessibility.AccessibilityUtils;
import com.android.systemui.R;
import com.android.systemui.SystemUI;
import com.android.systemui.recents.Recents;
+import com.android.systemui.recents.misc.SystemServicesProxy;
import com.android.systemui.stackdivider.Divider;
import com.android.systemui.stackdivider.DividerView;
import com.android.systemui.statusbar.phone.NavigationBarGestureHelper;
@@ -102,8 +105,16 @@ public class ShortcutKeyDispatcher extends SystemUI
int dockMode = (shortcutCode == SC_DOCK_LEFT)
? ActivityManager.DOCKED_STACK_CREATE_MODE_TOP_OR_LEFT
: ActivityManager.DOCKED_STACK_CREATE_MODE_BOTTOM_OR_RIGHT;
- recents.dockTopTask(NavigationBarGestureHelper.DRAG_MODE_NONE, dockMode, null,
- MetricsEvent.WINDOW_DOCK_SHORTCUTS);
+ List<ActivityManager.RecentTaskInfo> taskList =
+ SystemServicesProxy.getInstance(mContext).getRecentTasks(1,
+ UserHandle.USER_CURRENT, false, new ArraySet<>());
+ recents.showRecents(
+ false /* triggeredFromAltTab */,
+ false /* fromHome */);
+ if (!taskList.isEmpty()) {
+ SystemServicesProxy.getInstance(mContext).startTaskInDockedMode(
+ taskList.get(0).id, dockMode);
+ }
} else {
// If there is already a docked window, we respond by resizing the docking pane.
DividerView dividerView = getComponent(Divider.class).getView();
@@ -111,11 +122,11 @@ public class ShortcutKeyDispatcher extends SystemUI
int dividerPosition = dividerView.getCurrentPosition();
DividerSnapAlgorithm.SnapTarget currentTarget =
snapAlgorithm.calculateNonDismissingSnapTarget(dividerPosition);
- int increment = (shortcutCode == SC_DOCK_LEFT) ? -1 : 1;
- DividerSnapAlgorithm.SnapTarget target = snapAlgorithm.cycleNonDismissTarget(
- currentTarget, increment);
+ DividerSnapAlgorithm.SnapTarget target = (shortcutCode == SC_DOCK_LEFT)
+ ? snapAlgorithm.getPreviousTarget(currentTarget)
+ : snapAlgorithm.getNextTarget(currentTarget);
dividerView.startDragging(true /* animate */, false /* touching */);
- dividerView.stopDragging(target.position, 0f, true /* avoidDismissStart */,
+ dividerView.stopDragging(target.position, 0f, false /* avoidDismissStart */,
true /* logMetrics */);
}
} catch (RemoteException e) {