android:paddingTop="16dp"
android:paddingBottom="16dp"
android:gravity="top"
- android:columnCount="3">
+ android:columnCount="3"
+ android:duplicateParentState="true">
<ImageView
android:id="@android:id/icon"
android:layout_gravity="center"
android:scaleType="fitXY"
android:layout_marginEnd="16dip"
- android:contentDescription="@null" />
+ android:contentDescription="@null"
+ android:duplicateParentState="true" />
<TextView
android:id="@android:id/title"
android:ellipsize="marquee"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
android:textColor="?android:attr/textColorPrimary"
- android:textAlignment="viewStart" />
+ android:textAlignment="viewStart"
+ android:duplicateParentState="true" />
<TextView
android:id="@android:id/summary"
android:singleLine="true"
android:ellipsize="marquee"
android:textAppearance="@android:style/TextAppearance.Material.Subhead"
- android:textColor="?android:attr/textColorSecondary" />
+ android:textColor="?android:attr/textColorSecondary"
+ android:duplicateParentState="true" />
<FrameLayout
android:id="@android:id/widget_frame"
android:layout_toEndOf="@android:id/icon"
android:layout_below="@android:id/title"
android:layout_alignParentEnd="true"
- android:layout_gravity="fill_horizontal|top" />
+ android:layout_gravity="fill_horizontal|top"
+ android:duplicateParentState="true" />
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal">
+ android:orientation="horizontal"
+ android:duplicateParentState="true">
<TextView
android:id="@+id/widget_text1"
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;
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.
}
mActive.remove(convertView);
mActive.add(convertView);
+ convertView.setEnabled(isEnabled(position));
return convertView;
}