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

@@ -21,7 +21,8 @@
android:paddingTop="16dp" android:paddingTop="16dp"
android:paddingBottom="16dp" android:paddingBottom="16dp"
android:gravity="top" android:gravity="top"
android:columnCount="3"> android:columnCount="3"
android:duplicateParentState="true">
<ImageView <ImageView
android:id="@android:id/icon" android:id="@android:id/icon"
@@ -30,7 +31,8 @@
android:layout_gravity="center" android:layout_gravity="center"
android:scaleType="fitXY" android:scaleType="fitXY"
android:layout_marginEnd="16dip" android:layout_marginEnd="16dip"
android:contentDescription="@null" /> android:contentDescription="@null"
android:duplicateParentState="true" />
<TextView <TextView
android:id="@android:id/title" android:id="@android:id/title"
@@ -41,7 +43,8 @@
android:ellipsize="marquee" android:ellipsize="marquee"
android:textAppearance="@android:style/TextAppearance.Material.Subhead" android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary" android:textColor="?android:attr/textColorPrimary"
android:textAlignment="viewStart" /> android:textAlignment="viewStart"
android:duplicateParentState="true" />
<TextView <TextView
android:id="@android:id/summary" android:id="@android:id/summary"
@@ -54,7 +57,8 @@
android:singleLine="true" android:singleLine="true"
android:ellipsize="marquee" android:ellipsize="marquee"
android:textAppearance="@android:style/TextAppearance.Material.Subhead" android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorSecondary" /> android:textColor="?android:attr/textColorSecondary"
android:duplicateParentState="true" />
<FrameLayout <FrameLayout
android:id="@android:id/widget_frame" android:id="@android:id/widget_frame"
@@ -63,6 +67,7 @@
android:layout_toEndOf="@android:id/icon" android:layout_toEndOf="@android:id/icon"
android:layout_below="@android:id/title" android:layout_below="@android:id/title"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_gravity="fill_horizontal|top" /> android:layout_gravity="fill_horizontal|top"
android:duplicateParentState="true" />
</RelativeLayout> </RelativeLayout>

View File

@@ -17,7 +17,8 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal"> android:orientation="horizontal"
android:duplicateParentState="true">
<TextView <TextView
android:id="@+id/widget_text1" android:id="@+id/widget_text1"

View File

@@ -66,6 +66,7 @@ import com.android.settings.Utils;
import com.android.settings.applications.AppStateAppOpsBridge.PermissionState; import com.android.settings.applications.AppStateAppOpsBridge.PermissionState;
import com.android.settings.applications.AppStateUsageBridge.UsageState; import com.android.settings.applications.AppStateUsageBridge.UsageState;
import com.android.settings.fuelgauge.HighPowerDetail; import com.android.settings.fuelgauge.HighPowerDetail;
import com.android.settings.fuelgauge.PowerWhitelistBackend;
import com.android.settings.notification.AppNotificationSettings; import com.android.settings.notification.AppNotificationSettings;
import com.android.settings.notification.NotificationBackend; import com.android.settings.notification.NotificationBackend;
import com.android.settings.notification.NotificationBackend.AppRow; import com.android.settings.notification.NotificationBackend.AppRow;
@@ -1011,6 +1012,15 @@ public class ManageApplications extends InstrumentedFragment
return false; 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) { public View getView(int position, View convertView, ViewGroup parent) {
// A ViewHolder keeps references to children views to avoid unnecessary calls // A ViewHolder keeps references to children views to avoid unnecessary calls
// to findViewById() on each row. // to findViewById() on each row.
@@ -1042,6 +1052,7 @@ public class ManageApplications extends InstrumentedFragment
} }
mActive.remove(convertView); mActive.remove(convertView);
mActive.add(convertView); mActive.add(convertView);
convertView.setEnabled(isEnabled(position));
return convertView; return convertView;
} }