summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchillger <alexander.loskutov@gmail.com>2020-05-22 13:16:00 +0200
committerSam Mortimer <sam@mortimer.me.uk>2020-06-08 22:14:22 +0200
commitac2040adcbf3ae05058d204cd1001297e065034f (patch)
treef841d179b70164d4ced1d24cd03822ba74b77ff5
parent1e64ed2b6aa91080be86a2d85a2e206aab52b853 (diff)
downloadframeworks_base-ac2040adcbf3ae05058d204cd1001297e065034f.tar.gz
frameworks_base-ac2040adcbf3ae05058d204cd1001297e065034f.tar.bz2
frameworks_base-ac2040adcbf3ae05058d204cd1001297e065034f.zip
SystemUI: Long press Caffeine for infinite duration
Change-Id: Ic49539dcda6d7d6b1dab362eb8ec168d2ec65b07
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/tiles/CaffeineTile.java15
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CaffeineTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CaffeineTile.java
index 67cbea82aac..164bfe4f731 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CaffeineTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CaffeineTile.java
@@ -26,10 +26,10 @@ import android.os.PowerManager;
import android.os.SystemClock;
import android.service.quicksettings.Tile;
+import com.android.systemui.R;
+import com.android.systemui.plugins.qs.QSTile.BooleanState;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.tileimpl.QSTileImpl;
-import com.android.systemui.plugins.qs.QSTile.BooleanState;
-import com.android.systemui.R;
import org.lineageos.internal.logging.LineageMetricsLogger;
@@ -49,6 +49,7 @@ public class CaffeineTile extends QSTileImpl<BooleanState> {
30 * 60, // 30 min
-1, // infinity
};
+ private static final int INFINITE_DURATION_INDEX = DURATIONS.length - 1;
private CountDownTimer mCountdownTimer = null;
public long mLastClickTime = -1;
private final Receiver mReceiver = new Receiver();
@@ -120,6 +121,16 @@ public class CaffeineTile extends QSTileImpl<BooleanState> {
@Override
protected void handleLongClick() {
+ if (mWakeLock.isHeld()) {
+ if (mDuration == INFINITE_DURATION_INDEX) {
+ return;
+ }
+ } else {
+ mWakeLock.acquire();
+ }
+ mDuration = INFINITE_DURATION_INDEX;
+ startCountDown(DURATIONS[INFINITE_DURATION_INDEX]);
+ refreshState();
}
@Override