Disable ignore battery optimization items that can't change

Bug: 22507803
Change-Id: Ia33746dc569f4d9f96242a502e54bcc8eb47bf12
This commit is contained in:
Jason Monk
2015-07-15 15:22:38 -04:00
parent d7fb46de59
commit 443513cc0d
3 changed files with 23 additions and 6 deletions

View File

@@ -66,6 +66,7 @@ import com.android.settings.Utils;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateUsageBridge.UsageState;
import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.fuelgauge.PowerWhitelistBackend;
import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow;
@@ -1011,6 +1012,15 @@ public class ManageApplications extends InstrumentedFragment
return false;
}
@Override
public boolean isEnabled(int position) {
if (mManageApplications.mListType != LIST_TYPE_HIGH_POWER) {
return true;
}
ApplicationsState.AppEntry entry = mEntries.get(position);
return !PowerWhitelistBackend.getInstance().isSysWhitelisted(entry.info.packageName);
}
public View getView(int position, View convertView, ViewGroup parent) {
// A ViewHolder keeps references to children views to avoid unnecessary calls
// to findViewById() on each row.
@@ -1042,6 +1052,7 @@ public class ManageApplications extends InstrumentedFragment
}
mActive.remove(convertView);
mActive.add(convertView);
convertView.setEnabled(isEnabled(position));
return convertView;
}