diff options
3 files changed, 24 insertions, 29 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java b/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java index 741c95f4b566..87fe3a21186d 100644 --- a/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +++ b/packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java @@ -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) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java index f0f94201f3af..dc809066524f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java @@ -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); }); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java index 48ed4ba2224c..05a48678c8d7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java @@ -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 |