Merge "Remove call to Dependency.get() from BatteryControllerImpl."

This commit is contained in:
Lucas Dupin
2019-11-18 17:20:19 +00:00
committed by Android (Google) Code Review
3 changed files with 24 additions and 29 deletions

View File

@@ -103,14 +103,12 @@ public class DependencyProvider {
return Looper.getMainLooper();
}
@Singleton
@Provides
@BgHandler
public Handler provideBgHandler(@BgLooper Looper bgLooper) {
return new Handler(bgLooper);
}
@Singleton
@Provides
@MainHandler
public Handler provideMainHandler(@MainLooper Looper mainLooper) {

View File

@@ -33,13 +33,13 @@ import com.android.internal.annotations.VisibleForTesting;
import com.android.settingslib.fuelgauge.BatterySaverUtils;
import com.android.settingslib.fuelgauge.Estimate;
import com.android.settingslib.utils.PowerUtil;
import com.android.systemui.Dependency;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.BgHandler;
import com.android.systemui.dagger.qualifiers.MainHandler;
import com.android.systemui.power.EnhancedEstimates;
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.text.NumberFormat;
import java.util.ArrayList;
import javax.inject.Inject;
@@ -53,42 +53,39 @@ import javax.inject.Singleton;
public class BatteryControllerImpl extends BroadcastReceiver implements BatteryController {
private static final String TAG = "BatteryController";
public static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST";
private static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST";
private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
private static final int UPDATE_GRANULARITY_MSEC = 1000 * 60;
private final EnhancedEstimates mEstimates;
private final BroadcastDispatcher mBroadcastDispatcher;
private final ArrayList<BatteryController.BatteryStateChangeCallback> mChangeCallbacks = new ArrayList<>();
private final ArrayList<BatteryController.BatteryStateChangeCallback>
mChangeCallbacks = new ArrayList<>();
private final ArrayList<EstimateFetchCompletion> mFetchCallbacks = new ArrayList<>();
private final PowerManager mPowerManager;
private final Handler mHandler;
private final Handler mMainHandler;
private final Handler mBgHandler;
private final Context mContext;
protected int mLevel;
protected boolean mPluggedIn;
protected boolean mCharging;
protected boolean mCharged;
protected boolean mPowerSave;
protected boolean mAodPowerSave;
private int mLevel;
private boolean mPluggedIn;
private boolean mCharging;
private boolean mCharged;
private boolean mPowerSave;
private boolean mAodPowerSave;
private boolean mTestmode = false;
private boolean mHasReceivedBattery = false;
private Estimate mEstimate;
private boolean mFetchingEstimate = false;
@Inject
public BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates,
BroadcastDispatcher broadcastDispatcher) {
this(context, enhancedEstimates, context.getSystemService(PowerManager.class),
broadcastDispatcher);
}
@VisibleForTesting
@Inject
BatteryControllerImpl(Context context, EnhancedEstimates enhancedEstimates,
PowerManager powerManager, BroadcastDispatcher broadcastDispatcher) {
PowerManager powerManager, BroadcastDispatcher broadcastDispatcher,
@MainHandler Handler mainHandler, @BgHandler Handler bgHandler) {
mContext = context;
mHandler = new Handler();
mMainHandler = mainHandler;
mBgHandler = bgHandler;
mPowerManager = powerManager;
mEstimates = enhancedEstimates;
mBroadcastDispatcher = broadcastDispatcher;
@@ -162,7 +159,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
setPowerSave(intent.getBooleanExtra(PowerManager.EXTRA_POWER_SAVE_MODE, false));
} else if (action.equals(ACTION_LEVEL_TEST)) {
mTestmode = true;
mHandler.post(new Runnable() {
mMainHandler.post(new Runnable() {
int curLevel = 0;
int incr = 1;
int saveLevel = mLevel;
@@ -189,7 +186,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
if (curLevel == 100) {
incr *= -1;
}
mHandler.postDelayed(this, 200);
mMainHandler.postDelayed(this, 200);
}
});
}
@@ -222,7 +219,6 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
return null;
}
String percentage = NumberFormat.getPercentInstance().format((double) mLevel / 100.0);
return PowerUtil.getBatteryRemainingShortStringFormatted(
mContext, mEstimate.getEstimateMillis());
}
@@ -235,7 +231,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
}
mFetchingEstimate = true;
Dependency.get(Dependency.BG_HANDLER).post(() -> {
mBgHandler.post(() -> {
// Only fetch the estimate if they are enabled
synchronized (mFetchCallbacks) {
mEstimate = null;
@@ -244,7 +240,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC
}
}
mFetchingEstimate = false;
Dependency.get(Dependency.MAIN_HANDLER).post(this::notifyEstimateFetchCallbacks);
mMainHandler.post(this::notifyEstimateFetchCallbacks);
});
}

View File

@@ -20,6 +20,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import android.content.Intent;
import android.os.Handler;
import android.os.PowerManager;
import android.os.PowerSaveState;
import android.test.suitebuilder.annotation.SmallTest;
@@ -53,7 +54,7 @@ public class BatteryControllerTest extends SysuiTestCase {
public void setUp() {
MockitoAnnotations.initMocks(this);
mBatteryController = new BatteryControllerImpl(getContext(), mock(EnhancedEstimates.class),
mPowerManager, mBroadcastDispatcher);
mPowerManager, mBroadcastDispatcher, new Handler(), new Handler());
}
@Test