lineage-sdk: Update getLowPower* calls to use the new android 8.0.0 API

AOSP change:
455e90add2

Change-Id: I7aba0f8732fc6e0f974bd6ded9dc712f27ff4c75
This commit is contained in:
Sam Mortimer
2017-10-01 16:45:49 -07:00
parent d68052b829
commit 7659e2f4c4
2 changed files with 29 additions and 3 deletions

View File

@@ -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() {

View File

@@ -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