Loading packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +0 −2 Original line number Diff line number Diff line Loading @@ -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) { Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +22 −26 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading @@ -189,7 +186,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC if (curLevel == 100) { incr *= -1; } mHandler.postDelayed(this, 200); mMainHandler.postDelayed(this, 200); } }); } Loading Loading @@ -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()); } Loading @@ -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; Loading @@ -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); }); } Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading
packages/SystemUI/src/com/android/systemui/dagger/DependencyProvider.java +0 −2 Original line number Diff line number Diff line Loading @@ -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) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java +22 −26 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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; Loading @@ -189,7 +186,7 @@ public class BatteryControllerImpl extends BroadcastReceiver implements BatteryC if (curLevel == 100) { incr *= -1; } mHandler.postDelayed(this, 200); mMainHandler.postDelayed(this, 200); } }); } Loading Loading @@ -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()); } Loading @@ -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; Loading @@ -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); }); } Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/BatteryControllerTest.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading