diff options
author | chillger <alexander.loskutov@gmail.com> | 2020-05-22 13:16:00 +0200 |
---|---|---|
committer | Sam Mortimer <sam@mortimer.me.uk> | 2020-06-08 22:14:22 +0200 |
commit | ac2040adcbf3ae05058d204cd1001297e065034f (patch) | |
tree | f841d179b70164d4ced1d24cd03822ba74b77ff5 | |
parent | 1e64ed2b6aa91080be86a2d85a2e206aab52b853 (diff) | |
download | frameworks_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.java | 15 |
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 |