diff options
author | Sam Mortimer <sam@mortimer.me.uk> | 2017-10-01 16:45:49 -0700 |
---|---|---|
committer | Sam Mortimer <sam@mortimer.me.uk> | 2017-10-09 16:52:05 +0000 |
commit | 7659e2f4c423544210fc180fd4455fe4a60ade24 (patch) | |
tree | d97014a8afed258e87468b57b482b4b55622e4cb | |
parent | d68052b82977b2e3e16b07db7dfec2d00d10e575 (diff) | |
download | lineage-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.java | 14 | ||||
-rw-r--r-- | lineage/lib/main/java/org/lineageos/platform/internal/display/LiveDisplayService.java | 18 |
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 |