Merge "Remove context from powerUsageFeatureProvider" into main
This commit is contained in:
@@ -32,12 +32,12 @@ public class AutoRestrictionPreferenceController extends BasePreferenceControlle
|
||||
private static final String KEY_SMART_BATTERY = "auto_restriction";
|
||||
private static final int ON = 1;
|
||||
private static final int OFF = 0;
|
||||
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
||||
private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
||||
|
||||
public AutoRestrictionPreferenceController(Context context) {
|
||||
super(context, KEY_SMART_BATTERY);
|
||||
mPowerUsageFeatureProvider = FeatureFactory.getFactory(
|
||||
context).getPowerUsageFeatureProvider(context);
|
||||
mPowerUsageFeatureProvider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -111,8 +111,8 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
writeBackupData(data, KEY_BUILD_MANUFACTURER, Build.MANUFACTURER);
|
||||
writeBackupData(data, KEY_BUILD_FINGERPRINT, Build.FINGERPRINT);
|
||||
// Add customized device build metadata fields.
|
||||
final PowerUsageFeatureProvider provider = FeatureFactory.getFactory(mContext)
|
||||
.getPowerUsageFeatureProvider(mContext);
|
||||
final PowerUsageFeatureProvider provider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
writeBackupData(data, KEY_BUILD_METADATA_1, provider.getBuildMetadata1(mContext));
|
||||
writeBackupData(data, KEY_BUILD_METADATA_2, provider.getBuildMetadata2(mContext));
|
||||
|
||||
@@ -260,8 +260,8 @@ public final class BatteryBackupHelper implements BackupHelper {
|
||||
if (mOptimizationModeBytes == null || mOptimizationModeBytes.length == 0) {
|
||||
return;
|
||||
}
|
||||
final PowerUsageFeatureProvider provider = FeatureFactory.getFactory(mContext)
|
||||
.getPowerUsageFeatureProvider(mContext);
|
||||
final PowerUsageFeatureProvider provider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
if (!provider.isValidToRestoreOptimizationMode(mDeviceBuildInfoMap)) {
|
||||
return;
|
||||
}
|
||||
|
@@ -104,8 +104,8 @@ public class BatteryInfo {
|
||||
|
||||
// Add projection if we have an estimate.
|
||||
if (remainingTimeUs != 0) {
|
||||
PowerUsageFeatureProvider provider = FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context);
|
||||
PowerUsageFeatureProvider provider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
if (!mCharging && provider.isEnhancedBatteryPredictionEnabled(context)) {
|
||||
points = provider.getEnhancedBatteryPredictionCurve(context, startTime);
|
||||
} else {
|
||||
@@ -201,7 +201,7 @@ public class BatteryInfo {
|
||||
|
||||
final long startTime = System.currentTimeMillis();
|
||||
PowerUsageFeatureProvider provider =
|
||||
FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
final long elapsedRealtimeUs =
|
||||
PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
|
||||
|
||||
@@ -211,8 +211,7 @@ public class BatteryInfo {
|
||||
final boolean discharging =
|
||||
batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) == 0;
|
||||
|
||||
if (discharging && provider != null
|
||||
&& provider.isEnhancedBatteryPredictionEnabled(context)) {
|
||||
if (discharging && provider.isEnhancedBatteryPredictionEnabled(context)) {
|
||||
Estimate estimate = provider.getEnhancedBatteryPrediction(context);
|
||||
if (estimate != null) {
|
||||
Estimate.storeCachedEstimate(context, estimate);
|
||||
|
@@ -135,8 +135,8 @@ public class BatteryUtils {
|
||||
mContext = context;
|
||||
mPackageManager = context.getPackageManager();
|
||||
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
|
||||
mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context);
|
||||
mPowerUsageFeatureProvider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
}
|
||||
|
||||
public long getProcessTimeMs(@StatusType int type, @Nullable BatteryStats.Uid uid,
|
||||
@@ -626,8 +626,8 @@ public class BatteryUtils {
|
||||
if (Settings.Global.getInt(context.getContentResolver(),
|
||||
SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0) == 1) {
|
||||
return DockDefenderMode.TEMPORARILY_BYPASSED;
|
||||
} else if (batteryInfo.isBatteryDefender && FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
} else if (batteryInfo.isBatteryDefender && FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.isExtraDefend()) {
|
||||
return DockDefenderMode.ACTIVE;
|
||||
} else if (!batteryInfo.isBatteryDefender) {
|
||||
|
@@ -48,7 +48,7 @@ public class DebugEstimatesLoader extends AsyncLoaderCompat<List<BatteryInfo>> {
|
||||
public List<BatteryInfo> loadInBackground() {
|
||||
Context context = getContext();
|
||||
PowerUsageFeatureProvider powerUsageFeatureProvider =
|
||||
FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
|
||||
// get stuff we'll need for both BatteryInfo
|
||||
final long elapsedRealtimeUs = PowerUtil.convertMsToUs(
|
||||
|
@@ -37,12 +37,12 @@ public class SmartBatteryPreferenceController extends BasePreferenceController i
|
||||
private static final String KEY_SMART_BATTERY = "smart_battery";
|
||||
private static final int ON = 1;
|
||||
private static final int OFF = 0;
|
||||
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
||||
private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
|
||||
|
||||
public SmartBatteryPreferenceController(Context context) {
|
||||
super(context, KEY_SMART_BATTERY);
|
||||
mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context);
|
||||
mPowerUsageFeatureProvider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -98,10 +98,10 @@ public class AnomalyDetectionJobService extends JobService {
|
||||
final UserManager userManager = getSystemService(UserManager.class);
|
||||
final PowerAllowlistBackend powerAllowlistBackend =
|
||||
PowerAllowlistBackend.getInstance(context);
|
||||
final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory
|
||||
.getFactory(this).getPowerUsageFeatureProvider(this);
|
||||
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory
|
||||
.getFactory(this).getMetricsFeatureProvider();
|
||||
final PowerUsageFeatureProvider powerUsageFeatureProvider =
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
final MetricsFeatureProvider metricsFeatureProvider =
|
||||
FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
|
||||
|
||||
for (JobWorkItem item = dequeueWork(params); item != null; item = dequeueWork(params)) {
|
||||
saveAnomalyToDatabase(context, userManager,
|
||||
|
@@ -38,7 +38,7 @@ public class BatteryDefenderDetector implements BatteryTipDetector {
|
||||
@Override
|
||||
public BatteryTip detect() {
|
||||
final boolean isBasicBatteryDefend = mBatteryInfo.isBatteryDefender
|
||||
&& !FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext)
|
||||
&& !FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider()
|
||||
.isExtraDefend();
|
||||
final int state = isBasicBatteryDefend
|
||||
? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
|
||||
|
@@ -109,8 +109,8 @@ public class BatteryDefenderTip extends BatteryTip {
|
||||
|
||||
private void resumeCharging(Context context) {
|
||||
final Intent intent =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.getResumeChargeIntent(false);
|
||||
if (intent != null) {
|
||||
context.sendBroadcast(intent);
|
||||
|
@@ -153,8 +153,8 @@ public class DockDefenderTip extends BatteryTip {
|
||||
|
||||
private void resumeCharging(Context context) {
|
||||
final Intent intent =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.getResumeChargeIntent(true);
|
||||
if (intent != null) {
|
||||
context.sendBroadcast(intent);
|
||||
|
@@ -53,7 +53,7 @@ public class BatteryDiffData {
|
||||
|
||||
if (!isAccumulated) {
|
||||
final PowerUsageFeatureProvider featureProvider =
|
||||
FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
|
||||
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
purgeBatteryDiffData(featureProvider);
|
||||
combineBatteryDiffEntry(
|
||||
context, featureProvider, systemAppsPackageNames, systemAppsUids);
|
||||
|
@@ -64,8 +64,8 @@ public final class BatteryUsageBroadcastReceiver extends BroadcastReceiver {
|
||||
final String action = intent.getAction();
|
||||
Log.d(TAG, "onReceive:" + action);
|
||||
DatabaseUtils.recordDateTime(context, action);
|
||||
final String fullChargeIntentAction = FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
final String fullChargeIntentAction = FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.getFullChargeIntentAction();
|
||||
switch (action) {
|
||||
case Intent.ACTION_BATTERY_LEVEL_CHANGED:
|
||||
@@ -107,8 +107,8 @@ public final class BatteryUsageBroadcastReceiver extends BroadcastReceiver {
|
||||
}
|
||||
|
||||
final boolean delayHourlyJobWhenBooting =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.delayHourlyJobWhenBooting();
|
||||
final long broadcastDelay = sBroadcastDelayFromBoot - SystemClock.elapsedRealtime();
|
||||
// If current boot time is smaller than expected delay, cancel sending the broadcast.
|
||||
|
@@ -91,8 +91,8 @@ public final class BootBroadcastReceiver extends BroadcastReceiver {
|
||||
|
||||
private long getRescheduleTimeForBootAction(Context context) {
|
||||
final boolean delayHourlyJobWhenBooting =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.delayHourlyJobWhenBooting();
|
||||
return delayHourlyJobWhenBooting
|
||||
? RESCHEDULE_FOR_BOOT_ACTION_WITH_DELAY
|
||||
|
@@ -321,8 +321,8 @@ public final class DataProcessor {
|
||||
long numEventsFetched = 0;
|
||||
long numAllEventsFetched = 0;
|
||||
final Set<String> ignoreScreenOnTimeTaskRootSet =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.getIgnoreScreenOnTimeTaskRootSet();
|
||||
for (final long userId : usageEventsMap.keySet()) {
|
||||
final UsageEvents usageEvents = usageEventsMap.get(userId);
|
||||
|
@@ -97,8 +97,8 @@ public final class PeriodicJobManager {
|
||||
static long getTriggerAtMillis(Context context, Clock clock, final boolean fromBoot) {
|
||||
long currentTimeMillis = clock.millis();
|
||||
final boolean delayHourlyJobWhenBooting =
|
||||
FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context)
|
||||
FeatureFactory.getFeatureFactory()
|
||||
.getPowerUsageFeatureProvider()
|
||||
.delayHourlyJobWhenBooting();
|
||||
// Rounds to the previous nearest time slot and shifts to the next one.
|
||||
long timeSlotUnit = Duration.ofMinutes(DATA_FETCH_INTERVAL_MINUTE).toMillis();
|
||||
|
@@ -246,9 +246,7 @@ public class PowerUsageSummary extends PowerUsageBase implements
|
||||
|
||||
@VisibleForTesting
|
||||
void initFeatureProvider() {
|
||||
final Context context = getContext();
|
||||
mPowerFeatureProvider = FeatureFactory.getFactory(context)
|
||||
.getPowerUsageFeatureProvider(context);
|
||||
mPowerFeatureProvider = FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
@@ -68,7 +68,7 @@ abstract class FeatureFactory {
|
||||
|
||||
abstract val metricsFeatureProvider: MetricsFeatureProvider
|
||||
|
||||
abstract fun getPowerUsageFeatureProvider(context: Context): PowerUsageFeatureProvider
|
||||
abstract val powerUsageFeatureProvider: PowerUsageFeatureProvider
|
||||
|
||||
/**
|
||||
* Retrieves implementation for Battery Status feature.
|
||||
|
@@ -79,8 +79,6 @@ open class FeatureFactoryImpl : FeatureFactory() {
|
||||
)
|
||||
}
|
||||
|
||||
private val powerUsageFeatureProvider by lazy { PowerUsageFeatureProviderImpl(appContext) }
|
||||
|
||||
private val userFeatureProvider by lazy { UserFeatureProviderImpl(appContext) }
|
||||
|
||||
private val contextualCardFeatureProvider by lazy {
|
||||
@@ -92,7 +90,7 @@ open class FeatureFactoryImpl : FeatureFactory() {
|
||||
|
||||
override val metricsFeatureProvider by lazy { SettingsMetricsFeatureProvider() }
|
||||
|
||||
override fun getPowerUsageFeatureProvider(context: Context) = powerUsageFeatureProvider
|
||||
override val powerUsageFeatureProvider by lazy { PowerUsageFeatureProviderImpl(appContext) }
|
||||
|
||||
override val batteryStatusFeatureProvider by lazy {
|
||||
BatteryStatusFeatureProviderImpl(appContext)
|
||||
|
@@ -57,7 +57,7 @@ public class BatteryInfoLoaderTest {
|
||||
public void setUp() {
|
||||
MockitoAnnotations.initMocks(this);
|
||||
mContext = spy(RuntimeEnvironment.application);
|
||||
FakeFeatureFactory.setupForTest().getPowerUsageFeatureProvider(mContext);
|
||||
FakeFeatureFactory.setupForTest().getPowerUsageFeatureProvider();
|
||||
|
||||
doReturn(mContext).when(mContext).getApplicationContext();
|
||||
when(mContext.getSystemService(eq(Context.BATTERY_STATS_SERVICE)))
|
||||
|
@@ -162,8 +162,9 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
return batterySettingsFeatureProvider;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context) {
|
||||
public PowerUsageFeatureProvider getPowerUsageFeatureProvider() {
|
||||
return powerUsageFeatureProvider;
|
||||
}
|
||||
|
||||
|
@@ -67,9 +67,8 @@ class FakeFeatureFactory : FeatureFactory() {
|
||||
|
||||
override val metricsFeatureProvider = mockMetricsFeatureProvider
|
||||
|
||||
override fun getPowerUsageFeatureProvider(context: Context): PowerUsageFeatureProvider {
|
||||
TODO("Not yet implemented")
|
||||
}
|
||||
override val powerUsageFeatureProvider: PowerUsageFeatureProvider
|
||||
get() = TODO("Not yet implemented")
|
||||
|
||||
override val batteryStatusFeatureProvider: BatteryStatusFeatureProvider
|
||||
get() = TODO("Not yet implemented")
|
||||
|
@@ -161,8 +161,9 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
return batterySettingsFeatureProvider;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
public PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context) {
|
||||
public PowerUsageFeatureProvider getPowerUsageFeatureProvider() {
|
||||
return powerUsageFeatureProvider;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user