aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Mortimer <sam@mortimer.me.uk>2017-10-01 16:45:49 -0700
committerSam Mortimer <sam@mortimer.me.uk>2017-10-09 16:52:05 +0000
commit7659e2f4c423544210fc180fd4455fe4a60ade24 (patch)
treed97014a8afed258e87468b57b482b4b55622e4cb
parentd68052b82977b2e3e16b07db7dfec2d00d10e575 (diff)
downloadlineage-sdk-7659e2f4c423544210fc180fd4455fe4a60ade24.tar.gz
lineage-sdk-7659e2f4c423544210fc180fd4455fe4a60ade24.tar.bz2
lineage-sdk-7659e2f4c423544210fc180fd4455fe4a60ade24.zip
lineage-sdk: Update getLowPower* calls to use the new android 8.0.0 API
AOSP change: https://android.googlesource.com/platform/frameworks/base/+/455e90add22835d0744fc0f5c2feb5fcaf03b28f Change-Id: I7aba0f8732fc6e0f974bd6ded9dc712f27ff4c75
-rw-r--r--lineage/lib/main/java/org/lineageos/platform/internal/PerformanceManagerService.java14
-rw-r--r--lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java18
2 files changed, 29 insertions, 3 deletions
diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/PerformanceManagerService.java b/lineage/lib/main/java/org/lineageos/platform/internal/PerformanceManagerService.java
index 68a27452..8726f9ed 100644
--- a/lineage/lib/main/java/org/lineageos/platform/internal/PerformanceManagerService.java
+++ b/lineage/lib/main/java/org/lineageos/platform/internal/PerformanceManagerService.java
@@ -31,12 +31,14 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.os.PowerManagerInternal;
+import android.os.PowerSaveState;
import android.os.Process;
import android.os.RemoteException;
import android.util.ArrayMap;
import android.util.Slog;
import com.android.server.ServiceThread;
+import com.android.server.power.BatterySaverPolicy.ServiceType;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -118,6 +120,10 @@ public class PerformanceManagerService extends LineageSystemService {
private static final int MSG_CPU_BOOST = 1;
private static final int MSG_SET_PROFILE = 2;
+ // PowerManager ServiceType to use when we're only
+ // interested in gleaning global battery saver state.
+ private static final int SERVICE_TYPE_DUMMY = ServiceType.GPS;
+
public PerformanceManagerService(Context context) {
super(context);
@@ -562,7 +568,8 @@ public class PerformanceManagerService extends LineageSystemService {
PowerManagerInternal.LowPowerModeListener() {
@Override
- public void onLowPowerModeChanged(boolean enabled) {
+ public void onLowPowerModeChanged(PowerSaveState state) {
+ final boolean enabled = state.globalBatterySaverEnabled;
synchronized (mLock) {
if (enabled == mLowPowerModeEnabled) {
return;
@@ -574,6 +581,11 @@ public class PerformanceManagerService extends LineageSystemService {
applyAppProfileLocked();
}
}
+
+ @Override
+ public int getServiceType() {
+ return SERVICE_TYPE_DUMMY;
+ }
};
private final BroadcastReceiver mLocaleChangedReceiver = new BroadcastReceiver() {
diff --git a/lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java b/lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java
index 0e18700e..8492ec03 100644
--- a/lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java
+++ b/lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java
@@ -31,6 +31,7 @@ import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
import android.os.PowerManagerInternal;
+import android.os.PowerSaveState;
import android.os.Process;
import android.os.UserHandle;
import android.view.Display;
@@ -38,6 +39,7 @@ import android.view.Display;
import com.android.internal.util.ArrayUtils;
import com.android.server.LocalServices;
import com.android.server.ServiceThread;
+import com.android.server.power.BatterySaverPolicy.ServiceType;
import org.lineageos.internal.util.QSConstants;
import org.lineageos.internal.util.QSUtils;
@@ -117,6 +119,10 @@ public class LiveDisplayService extends LineageSystemService {
static int TWILIGHT_CHANGED = 4;
static int ALL_CHANGED = 255;
+ // PowerManager ServiceType to use when we're only
+ // interested in gleaning global battery saver state.
+ private static final int SERVICE_TYPE_DUMMY = ServiceType.GPS;
+
static class State {
public boolean mLowPowerMode = false;
public boolean mScreenOn = false;
@@ -213,7 +219,9 @@ public class LiveDisplayService extends LineageSystemService {
PowerManagerInternal pmi = LocalServices.getService(PowerManagerInternal.class);
pmi.registerLowPowerModeObserver(mLowPowerModeListener);
- mState.mLowPowerMode = pmi.getLowPowerModeEnabled();
+ // ServiceType does not matter when retrieving global saver mode.
+ mState.mLowPowerMode =
+ pmi.getLowPowerState(SERVICE_TYPE_DUMMY).globalBatterySaverEnabled;
mTwilightTracker.registerListener(mTwilightListener, mHandler);
mState.mTwilight = mTwilightTracker.getCurrentState();
@@ -530,12 +538,18 @@ public class LiveDisplayService extends LineageSystemService {
private PowerManagerInternal.LowPowerModeListener mLowPowerModeListener =
new PowerManagerInternal.LowPowerModeListener() {
@Override
- public void onLowPowerModeChanged(boolean lowPowerMode) {
+ public void onLowPowerModeChanged(PowerSaveState state) {
+ final boolean lowPowerMode = state.globalBatterySaverEnabled;
if (lowPowerMode != mState.mLowPowerMode) {
mState.mLowPowerMode = lowPowerMode;
updateFeatures(MODE_CHANGED);
}
}
+
+ @Override
+ public int getServiceType() {
+ return SERVICE_TYPE_DUMMY;
+ }
};
// Watch for mode changes