Disable the optimization mode preference if the app is not settable
https://screenshot.googleplex.com/BbQyEv6YCjPVwUF (allowlist) https://screenshot.googleplex.com/3hTb8TQwGMQqcwS https://screenshot.googleplex.com/6hdTAT2yNFucD9N (system app) https://screenshot.googleplex.com/77T5JyAD5nZJpDT (normal app) Fix: 281566984 Test: make test RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.fuelgauge.* Change-Id: If7aa4b61bc806daa570187da24b7f454cd069dec
This commit is contained in:
@@ -343,7 +343,7 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
final String stateString;
|
||||
final String footerString;
|
||||
|
||||
if (!mBatteryOptimizeUtils.isValidPackageName()) {
|
||||
if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
|
||||
// Present optimized only string when the package name is invalid.
|
||||
stateString = context.getString(R.string.manager_battery_usage_optimized_only);
|
||||
footerString = context.getString(
|
||||
|
||||
@@ -128,11 +128,10 @@ public class BatteryOptimizeUtils {
|
||||
mContext, mode, mUid, mPackageName, mBatteryUtils, mPowerAllowListBackend, action);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return {@code true} if package name is valid (can get an uid).
|
||||
*/
|
||||
public boolean isValidPackageName() {
|
||||
return mBatteryUtils.getPackageUid(mPackageName) != BatteryUtils.UID_NULL;
|
||||
/** Return {@code true} if it is disabled for default optimized mode only. */
|
||||
public boolean isDisabledForOptimizeModeOnly() {
|
||||
return getAllowList(mContext).contains(mPackageName)
|
||||
|| mBatteryUtils.getPackageUid(mPackageName) == BatteryUtils.UID_NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -46,8 +46,8 @@ public class OptimizedPreferenceController extends AbstractPreferenceController
|
||||
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
if (!mBatteryOptimizeUtils.isValidPackageName()) {
|
||||
Log.d(TAG, "invalid package name, optimized states only");
|
||||
if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
|
||||
Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
|
||||
preference.setEnabled(true);
|
||||
((SelectorWithWidgetPreference) preference).setChecked(true);
|
||||
return;
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
|
||||
package com.android.settings.fuelgauge;
|
||||
|
||||
import android.content.Context;
|
||||
@@ -43,8 +42,8 @@ public class RestrictedPreferenceController extends AbstractPreferenceController
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
|
||||
if (!mBatteryOptimizeUtils.isValidPackageName()) {
|
||||
Log.d(TAG, "invalid package name, disable pref");
|
||||
if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
|
||||
Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
|
||||
preference.setEnabled(false);
|
||||
return;
|
||||
} else {
|
||||
|
||||
@@ -42,8 +42,8 @@ public class UnrestrictedPreferenceController extends AbstractPreferenceControll
|
||||
@Override
|
||||
public void updateState(Preference preference) {
|
||||
|
||||
if (!mBatteryOptimizeUtils.isValidPackageName()) {
|
||||
Log.d(TAG, "invalid package name, disable pref");
|
||||
if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
|
||||
Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
|
||||
preference.setEnabled(false);
|
||||
return;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user