summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-03-08 03:51:17 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-03-08 03:51:17 +0000
commit8b4b86981c4b19ad5ed064a75c749bfbcdf03e1c (patch)
tree1a94c7bfcb5daa32537b16564f25bc5691374fc1
parent284bccf702c98d1a01f5682215e523b08873c69d (diff)
parent8a8c89ce402b46ede6ec4cb2fbd9d7a40e2a2e7f (diff)
Merge "Tapping overview button when quickstep enabled shows overview" into pi-dev
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl15
-rw-r--r--packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/recents/Recents.java31
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java5
4 files changed, 44 insertions, 10 deletions
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
index e200a7fee4e6..ef36610b48c6 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
@@ -65,4 +65,19 @@ oneway interface IOverviewProxy {
* Sent for each movement over the nav bar while the user is scrubbing it to switch tasks.
*/
void onQuickScrubProgress(float progress);
+
+ /**
+ * Sent when overview button is pressed to toggle show/hide of overview.
+ */
+ void onOverviewToggle();
+
+ /**
+ * Sent when overview is to be shown.
+ */
+ void onOverviewShown(boolean triggeredFromAltTab);
+
+ /**
+ * Sent when overview is to be hidden.
+ */
+ void onOverviewHidden(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
}
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java
index 171918682099..b8193a896292 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/NavigationBarCompat.java
@@ -22,12 +22,13 @@ import java.lang.annotation.RetentionPolicy;
public class NavigationBarCompat {
@Retention(RetentionPolicy.SOURCE)
- @IntDef({HIT_TARGET_NONE, HIT_TARGET_BACK, HIT_TARGET_HOME})
+ @IntDef({HIT_TARGET_NONE, HIT_TARGET_BACK, HIT_TARGET_HOME, HIT_TARGET_OVERVIEW})
public @interface HitTarget{}
public static final int HIT_TARGET_NONE = 0;
public static final int HIT_TARGET_BACK = 1;
public static final int HIT_TARGET_HOME = 2;
+ public static final int HIT_TARGET_OVERVIEW = 3;
@Retention(RetentionPolicy.SOURCE)
@IntDef({FLAG_DISABLE_SWIPE_UP,
diff --git a/packages/SystemUI/src/com/android/systemui/recents/Recents.java b/packages/SystemUI/src/com/android/systemui/recents/Recents.java
index df4a975cb0a8..674ccd8c3471 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/Recents.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/Recents.java
@@ -51,6 +51,7 @@ import com.android.systemui.EventLogTags;
import com.android.systemui.OverviewProxyService;
import com.android.systemui.R;
import com.android.systemui.RecentsComponent;
+import com.android.systemui.shared.recents.IOverviewProxy;
import com.android.systemui.SystemUI;
import com.android.systemui.recents.events.EventBus;
import com.android.systemui.recents.events.activity.ConfigurationChangedEvent;
@@ -252,10 +253,13 @@ public class Recents extends SystemUI
return;
}
- if (mOverviewProxyService.getProxy() != null) {
- // TODO: Proxy to Launcher
- if (!triggeredFromAltTab) {
+ IOverviewProxy overviewProxy = mOverviewProxyService.getProxy();
+ if (overviewProxy != null) {
+ try {
+ overviewProxy.onOverviewShown(triggeredFromAltTab);
return;
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to send overview show event to launcher.", e);
}
}
@@ -294,10 +298,13 @@ public class Recents extends SystemUI
return;
}
- if (mOverviewProxyService.getProxy() != null) {
- // TODO: Proxy to Launcher
- if (!triggeredFromAltTab) {
+ IOverviewProxy overviewProxy = mOverviewProxyService.getProxy();
+ if (overviewProxy != null) {
+ try {
+ overviewProxy.onOverviewHidden(triggeredFromAltTab, triggeredFromHomeKey);
return;
+ } catch (RemoteException e) {
+ Log.e(TAG, "Failed to send overview hide event to launcher.", e);
}
}
@@ -332,9 +339,15 @@ public class Recents extends SystemUI
return;
}
- if (mOverviewProxyService.getProxy() != null) {
- // TODO: Proxy to Launcher
- return;
+ // If connected to launcher service, let it handle the toggle logic
+ IOverviewProxy overviewProxy = mOverviewProxyService.getProxy();
+ if (overviewProxy != null) {
+ try {
+ overviewProxy.onOverviewToggle();
+ return;
+ } catch (RemoteException e) {
+ Log.e(TAG, "Cannot send toggle recents through proxy service.", e);
+ }
}
int growTarget = getComponent(Divider.class).getView().growsRecents();
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index e1117f5ca116..056874fd1dcb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -79,6 +79,7 @@ import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABL
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_HIDE_BACK_BUTTON;
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
+import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_OVERVIEW;
public class NavigationBarView extends FrameLayout implements PluginListener<NavGesture> {
final static boolean DEBUG = false;
@@ -106,6 +107,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
private @NavigationBarCompat.HitTarget int mDownHitTarget = HIT_TARGET_NONE;
private Rect mHomeButtonBounds = new Rect();
private Rect mBackButtonBounds = new Rect();
+ private Rect mRecentsButtonBounds = new Rect();
private int[] mTmpPosition = new int[2];
private KeyButtonDrawable mBackIcon, mBackLandIcon, mBackAltIcon, mBackAltLandIcon;
@@ -306,6 +308,8 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
mDownHitTarget = HIT_TARGET_BACK;
} else if (mHomeButtonBounds.contains(x, y)) {
mDownHitTarget = HIT_TARGET_HOME;
+ } else if (mRecentsButtonBounds.contains(x, y)) {
+ mDownHitTarget = HIT_TARGET_OVERVIEW;
}
break;
}
@@ -823,6 +827,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
super.onLayout(changed, left, top, right, bottom);
updateButtonLocationOnScreen(getBackButton(), mBackButtonBounds);
updateButtonLocationOnScreen(getHomeButton(), mHomeButtonBounds);
+ updateButtonLocationOnScreen(getRecentsButton(), mRecentsButtonBounds);
mGestureHelper.onLayout(changed, left, top, right, bottom);
}