summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThecrazyskull <anaskarbila@gmail.com>2017-12-02 16:37:04 +0100
committerArne Coucheron <arco68@gmail.com>2018-01-19 00:27:13 +0100
commit8ec1c9f48a145f4a3a532ce89bf4a7aba9ad924e (patch)
treee74019978d473df1ff9657d20d4cdd879b5d4863 /src
parent28158a1bee42809a064d08864301489b933c2b6b (diff)
downloadandroid_packages_apps_Trebuchet-8ec1c9f48a145f4a3a532ce89bf4a7aba9ad924e.tar.gz
android_packages_apps_Trebuchet-8ec1c9f48a145f4a3a532ce89bf4a7aba9ad924e.tar.bz2
android_packages_apps_Trebuchet-8ec1c9f48a145f4a3a532ce89bf4a7aba9ad924e.zip
Trebuchet expand statusbar on swipe down
Change-Id: I5e75b7e1c6806dae9ac2a000e377873319a5f787 Signed-off-by: Joey Rizzoli <joey@lineageos.org>
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher3/PinchToOverviewListener.java38
1 files changed, 37 insertions, 1 deletions
diff --git a/src/com/android/launcher3/PinchToOverviewListener.java b/src/com/android/launcher3/PinchToOverviewListener.java
index 42515d1fc..e8ea7d764 100644
--- a/src/com/android/launcher3/PinchToOverviewListener.java
+++ b/src/com/android/launcher3/PinchToOverviewListener.java
@@ -18,11 +18,17 @@ package com.android.launcher3;
import android.animation.TimeInterpolator;
import android.content.Context;
+import android.content.SharedPreferences;
+import android.util.Log;
+import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import com.android.launcher3.util.TouchController;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
/**
* Detects pinches and animates the Workspace to/from overview mode.
*
@@ -42,6 +48,8 @@ public class PinchToOverviewListener extends ScaleGestureDetector.SimpleOnScaleG
*/
private static final float FLING_VELOCITY = 0.003f;
+ private static final String PREF_STATUSBAR_EXPAND = "pref_expand_statusbar";
+
private ScaleGestureDetector mPinchDetector;
private Launcher mLauncher;
private Workspace mWorkspace = null;
@@ -56,13 +64,28 @@ public class PinchToOverviewListener extends ScaleGestureDetector.SimpleOnScaleG
private PinchThresholdManager mThresholdManager;
private PinchAnimationManager mAnimationManager;
+ private GestureDetector mGestureDetector;
+
public PinchToOverviewListener(Launcher launcher) {
+ SharedPreferences prefs = Utilities.getPrefs(launcher.getApplicationContext());
+
mLauncher = launcher;
- mPinchDetector = new ScaleGestureDetector((Context) mLauncher, this);
+ mPinchDetector = new ScaleGestureDetector(launcher, this);
+ mGestureDetector = new GestureDetector(launcher,
+ new GestureDetector.SimpleOnGestureListener() {
+ @Override
+ public boolean onFling(MotionEvent e1, MotionEvent e2, float vX, float vy) {
+ if (prefs.getBoolean(PREF_STATUSBAR_EXPAND, true) && e1.getY() < e2.getY()) {
+ expandStatusBar(launcher);
+ }
+ return true;
+ }
+ });
}
public boolean onControllerInterceptTouchEvent(MotionEvent ev) {
mPinchDetector.onTouchEvent(ev);
+ mGestureDetector.onTouchEvent(ev);
return mPinchStarted;
}
@@ -212,4 +235,17 @@ public class PinchToOverviewListener extends ScaleGestureDetector.SimpleOnScaleG
mPreviousTimeMillis = System.currentTimeMillis();
return false;
}
+
+ private void expandStatusBar(Context context) {
+ try {
+ Object service = context.getSystemService("statusbar");
+ Class<?> manager = Class.forName("android.app.StatusBarManager");
+ Method expand = manager.getMethod("expandNotificationsPanel");
+ expand.invoke(service);
+ } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException |
+ InvocationTargetException e) {
+ Log.w("Reflection",
+ "Can't to invoke android.app.StatusBarManager$expandNotificationsPanel");
+ }
+ }
} \ No newline at end of file