Add isBatteryManagerSupported() to control adaptive preferences page

Add isBatteryManagerSupported() in the PowerUsageFeatureProvider to
support controlling the adaptive preferences page dynamically

Bug: 229558366
Test: presubmit
Change-Id: Iffb552feb9e08ca72f2970eb778cd3fcd18f0b7e
This commit is contained in:
ykhung
2022-12-27 14:34:12 +08:00
parent fec083b2cd
commit b875752307
5 changed files with 34 additions and 46 deletions

View File

@@ -39,21 +39,11 @@ public interface PowerUsageFeatureProvider {
*/
boolean isLocationSettingEnabled(String[] packages);
/**
* Check whether additional battery info feature is enabled.
*/
boolean isAdditionalBatteryInfoEnabled();
/**
* Gets an {@link Intent} to show additional battery info.
*/
Intent getAdditionalBatteryInfoIntent();
/**
* Check whether advanced ui is enabled
*/
boolean isAdvancedUiEnabled();
/**
* Check whether it is type service
*/
@@ -64,11 +54,6 @@ public interface PowerUsageFeatureProvider {
*/
boolean isTypeSystem(int uid, String[] packages);
/**
* Check whether the toggle for power accounting is enabled
*/
boolean isPowerAccountingToggleEnabled();
/**
* Returns an improved prediction for battery time remaining.
*/
@@ -130,6 +115,11 @@ public interface PowerUsageFeatureProvider {
*/
boolean isAdaptiveChargingSupported();
/**
* Checks whether battery manager feature is supported in this device
*/
boolean isBatteryManagerSupported();
/**
* Returns {@code true} if current defender mode is extra defend
*/

View File

@@ -75,26 +75,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return false;
}
@Override
public boolean isAdditionalBatteryInfoEnabled() {
return false;
}
@Override
public Intent getAdditionalBatteryInfoIntent() {
return null;
}
@Override
public boolean isAdvancedUiEnabled() {
return true;
}
@Override
public boolean isPowerAccountingToggleEnabled() {
return true;
}
@Override
public Estimate getEnhancedBatteryPrediction(Context context) {
return null;
@@ -146,6 +131,11 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return false;
}
@Override
public boolean isBatteryManagerSupported() {
return true;
}
@Override
public Intent getResumeChargeIntent(boolean isDockDefender) {
return null;

View File

@@ -28,11 +28,10 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
/**
* Preference controller to control the battery manager
*/
/** Preference controller to control the battery manager */
public class BatteryManagerPreferenceController extends BasePreferenceController {
private static final String KEY_BATTERY_MANAGER = "smart_battery_manager";
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private AppOpsManager mAppOpsManager;
private UserManager mUserManager;
@@ -50,7 +49,8 @@ public class BatteryManagerPreferenceController extends BasePreferenceController
@Override
public int getAvailabilityStatus() {
return AVAILABLE_UNSEARCHABLE;
return mPowerUsageFeatureProvider.isBatteryManagerSupported()
? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
}
@Override
@@ -59,7 +59,6 @@ public class BatteryManagerPreferenceController extends BasePreferenceController
if (!mEnableAppBatteryUsagePage) {
final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager,
mUserManager).size();
updateSummary(preference, num);
}
}