Changed the work profile appearance
Change-Id: I0545ee9b18572b93f73b4cf54126cf03085b61b5
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index 9832805..a3610a3 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -3016,24 +3016,13 @@
return bitmap;
}
- private boolean addProfileBadge(RemoteViews contentView, int resId) {
+ private void bindProfileBadge(RemoteViews contentView) {
Bitmap profileBadge = getProfileBadge();
- contentView.setViewVisibility(R.id.profile_badge_large_template, View.GONE);
- contentView.setViewVisibility(R.id.profile_badge_line3, View.GONE);
-
if (profileBadge != null) {
- contentView.setImageViewBitmap(resId, profileBadge);
- contentView.setViewVisibility(resId, View.VISIBLE);
-
- // Make sure Line 3 is visible. As badge will be here if there
- // is no text to display.
- if (resId == R.id.profile_badge_line3) {
- contentView.setViewVisibility(R.id.line3, View.VISIBLE);
- }
- return true;
+ contentView.setImageViewBitmap(R.id.profile_badge, profileBadge);
+ contentView.setViewVisibility(R.id.profile_badge, View.VISIBLE);
}
- return false;
}
private void resetStandardTemplate(RemoteViews contentView) {
@@ -3044,7 +3033,6 @@
contentView.setTextViewText(R.id.title, null);
contentView.setViewVisibility(R.id.text, View.GONE);
contentView.setTextViewText(R.id.text, null);
- contentView.setViewVisibility(R.id.line3, View.GONE);
contentView.setViewVisibility(R.id.text_line_1, View.GONE);
contentView.setTextViewText(R.id.text_line_1, null);
contentView.setViewVisibility(R.id.progress, View.GONE);
@@ -3064,11 +3052,13 @@
contentView.setViewVisibility(R.id.sub_text_divider, View.GONE);
contentView.setViewVisibility(R.id.content_info_divider, View.GONE);
contentView.setViewVisibility(R.id.time_divider, View.GONE);
+ contentView.setImageViewIcon(R.id.profile_badge, null);
+ contentView.setViewVisibility(R.id.profile_badge, View.GONE);
}
private void resetContentMargins(RemoteViews contentView) {
contentView.setViewLayoutMarginEnd(R.id.line1, 0);
- contentView.setViewLayoutMarginEnd(R.id.line3, 0);
+ contentView.setViewLayoutMarginEnd(R.id.text, 0);
}
private RemoteViews applyStandardTemplate(int resId) {
@@ -3083,7 +3073,6 @@
resetStandardTemplate(contentView);
- boolean showLine3 = false;
final Bundle ex = mN.extras;
bindNotificationHeader(contentView);
@@ -3100,14 +3089,8 @@
contentView.setTextViewText(textId, processLegacyText(
ex.getCharSequence(EXTRA_TEXT)));
contentView.setViewVisibility(textId, View.VISIBLE);
- showLine3 = !showProgress;
}
- // We want to add badge to first line of text.
- if (addProfileBadge(contentView, R.id.profile_badge_line3)) {
- showLine3 = true;
- }
- // Note getStandardView may hide line 3 again.
- contentView.setViewVisibility(R.id.line3, showLine3 ? View.VISIBLE : View.GONE);
+
setContentMinHeight(contentView, showProgress || mN.mLargeIcon != null);
return contentView;
@@ -3159,7 +3142,7 @@
int endMargin = mContext.getResources().getDimensionPixelSize(
R.dimen.notification_content_picture_margin);
contentView.setViewLayoutMarginEnd(R.id.line1, endMargin);
- contentView.setViewLayoutMarginEnd(R.id.line3, endMargin);
+ contentView.setViewLayoutMarginEnd(R.id.text, endMargin);
contentView.setViewLayoutMarginEnd(R.id.progress, endMargin);
}
}
@@ -3172,6 +3155,7 @@
bindContentInfo(contentView);
bindHeaderChronometerAndTime(contentView);
bindExpandButton(contentView);
+ bindProfileBadge(contentView);
}
private void bindChildCountColor(RemoteViews contentView) {
@@ -3731,10 +3715,6 @@
contentView.setViewVisibility(R.id.line1, View.VISIBLE);
}
- // Clear text in case we use the line to show the profile badge.
- contentView.setTextViewText(com.android.internal.R.id.text, "");
- contentView.setViewVisibility(com.android.internal.R.id.line3, View.GONE);
-
return contentView;
}
@@ -3941,7 +3921,7 @@
RemoteViews contentView = getStandardView(mBuilder.getBigPictureLayoutResource());
if (mSummaryTextSet) {
contentView.setTextViewText(R.id.text, mBuilder.processLegacyText(mSummaryText));
- contentView.setViewVisibility(R.id.line3, View.VISIBLE);
+ contentView.setViewVisibility(R.id.text, View.VISIBLE);
}
mBuilder.setContentMinHeight(contentView, mBuilder.mN.mLargeIcon != null);
@@ -3950,8 +3930,6 @@
}
contentView.setImageViewBitmap(R.id.big_picture, mPicture);
-
- mBuilder.addProfileBadge(contentView, R.id.profile_badge_line3);
return contentView;
}
@@ -4085,9 +4063,6 @@
contentView.setViewVisibility(R.id.big_text,
TextUtils.isEmpty(bigTextText) ? View.GONE : View.VISIBLE);
contentView.setInt(R.id.big_text, "setMaxLines", calculateMaxLines());
-
- mBuilder.addProfileBadge(contentView, R.id.profile_badge_large_template);
-
contentView.setBoolean(R.id.big_text, "setHasImage", mBuilder.mN.mLargeIcon != null);
return contentView;
@@ -4185,7 +4160,7 @@
* @hide
*/
public RemoteViews makeBigContentView() {
- // Remove the content text so line3 disappears unless you have a summary
+ // Remove the content text so it disappears unless you have a summary
// Nasty
CharSequence oldBuilderContentText = mBuilder.mN.extras.getCharSequence(EXTRA_TEXT);
mBuilder.getAllExtras().putCharSequence(EXTRA_TEXT, null);
@@ -4224,7 +4199,6 @@
}
i++;
}
- mBuilder.addProfileBadge(contentView, R.id.profile_badge_large_template);
handleInboxImageMargin(contentView, rowIds[0]);
@@ -4435,7 +4409,7 @@
private void handleImage(RemoteViews contentView) {
if (mBuilder.mN.mLargeIcon != null) {
contentView.setViewLayoutMarginEnd(R.id.line1, 0);
- contentView.setViewLayoutMarginEnd(R.id.line3, 0);
+ contentView.setViewLayoutMarginEnd(R.id.text, 0);
}
}
diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java
index f125b0e..6fd0e67 100644
--- a/core/java/android/view/NotificationHeaderView.java
+++ b/core/java/android/view/NotificationHeaderView.java
@@ -25,6 +25,8 @@
import android.widget.RemoteViews;
import android.widget.TextView;
+import com.android.internal.R;
+
import java.util.ArrayList;
/**
@@ -44,6 +46,7 @@
private ImageView mExpandButton;
private View mIcon;
private TextView mChildCount;
+ private View mProfileBadge;
private int mIconColor;
private int mOriginalNotificationColor;
private boolean mGroupHeader;
@@ -76,6 +79,7 @@
mExpandButton = (ImageView) findViewById(com.android.internal.R.id.expand_button);
mIcon = findViewById(com.android.internal.R.id.icon);
mChildCount = (TextView) findViewById(com.android.internal.R.id.number_of_children);
+ mProfileBadge = findViewById(com.android.internal.R.id.profile_badge);
}
@Override
@@ -120,12 +124,29 @@
}
totalWidth = givenWidth;
}
+ if (mProfileBadge.getVisibility() != View.GONE) {
+ totalWidth = givenWidth;
+ }
setMeasuredDimension(totalWidth, givenHeight);
}
@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
super.onLayout(changed, l, t, r, b);
+ if (mProfileBadge.getVisibility() != View.GONE) {
+ int paddingEnd = getPaddingEnd();
+ if (getLayoutDirection() == LAYOUT_DIRECTION_RTL) {
+ mProfileBadge.layout(paddingEnd,
+ mProfileBadge.getTop(),
+ paddingEnd + mProfileBadge.getMeasuredWidth(),
+ mProfileBadge.getBottom());
+ } else {
+ mProfileBadge.layout(getWidth() - paddingEnd - mProfileBadge.getMeasuredWidth(),
+ mProfileBadge.getTop(),
+ getWidth() - paddingEnd,
+ mProfileBadge.getBottom());
+ }
+ }
updateTouchListener();
}
diff --git a/core/res/res/layout/notification_template_header.xml b/core/res/res/layout/notification_template_header.xml
index e45f52b..595d084 100644
--- a/core/res/res/layout/notification_template_header.xml
+++ b/core/res/res/layout/notification_template_header.xml
@@ -127,5 +127,14 @@
android:paddingTop="1dp"
android:visibility="gone"
/>
+ <ImageView android:id="@+id/profile_badge"
+ android:layout_width="@dimen/notification_badge_size"
+ android:layout_height="@dimen/notification_badge_size"
+ android:layout_gravity="center"
+ android:layout_marginStart="4dp"
+ android:scaleType="fitCenter"
+ android:visibility="gone"
+ android:contentDescription="@string/notification_work_profile_content_description"
+ />
</NotificationHeaderView>
diff --git a/core/res/res/layout/notification_template_material_base.xml b/core/res/res/layout/notification_template_material_base.xml
index fdbbbd6..a37bfa9 100644
--- a/core/res/res/layout/notification_template_material_base.xml
+++ b/core/res/res/layout/notification_template_material_base.xml
@@ -34,7 +34,7 @@
android:orientation="vertical"
>
<include layout="@layout/notification_template_part_line1" />
- <include layout="@layout/notification_template_part_line3" />
+ <include layout="@layout/notification_template_text" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
diff --git a/core/res/res/layout/notification_template_material_big_base.xml b/core/res/res/layout/notification_template_material_big_base.xml
index dfd72c0..f302087 100644
--- a/core/res/res/layout/notification_template_material_big_base.xml
+++ b/core/res/res/layout/notification_template_material_big_base.xml
@@ -42,7 +42,7 @@
android:orientation="vertical"
>
<include layout="@layout/notification_template_part_line1" />
- <include layout="@layout/notification_template_part_line3" />
+ <include layout="@layout/notification_template_text" />
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
diff --git a/core/res/res/layout/notification_template_material_big_media.xml b/core/res/res/layout/notification_template_material_big_media.xml
index c3db7c5..e8ff186 100644
--- a/core/res/res/layout/notification_template_material_big_media.xml
+++ b/core/res/res/layout/notification_template_material_big_media.xml
@@ -40,7 +40,7 @@
android:orientation="vertical"
>
<include layout="@layout/notification_template_part_line1" />
- <include layout="@layout/notification_template_part_line3" />
+ <include layout="@layout/notification_template_text" />
</LinearLayout>
<LinearLayout
android:id="@+id/media_actions"
diff --git a/core/res/res/layout/notification_template_material_big_picture.xml b/core/res/res/layout/notification_template_material_big_picture.xml
index 5c07b9b..50aec6b 100644
--- a/core/res/res/layout/notification_template_material_big_picture.xml
+++ b/core/res/res/layout/notification_template_material_big_picture.xml
@@ -40,7 +40,7 @@
android:orientation="vertical">
<include layout="@layout/notification_template_part_line1"/>
<include layout="@layout/notification_template_progress"/>
- <include layout="@layout/notification_template_part_line3"/>
+ <include layout="@layout/notification_template_text"/>
</LinearLayout>
<ImageView
android:id="@+id/big_picture"
diff --git a/core/res/res/layout/notification_template_material_big_text.xml b/core/res/res/layout/notification_template_material_big_text.xml
index ebaffc3..9a4b28c 100644
--- a/core/res/res/layout/notification_template_material_big_text.xml
+++ b/core/res/res/layout/notification_template_material_big_text.xml
@@ -36,33 +36,17 @@
>
<include layout="@layout/notification_template_part_line1" />
<include layout="@layout/notification_template_progress" />
- <LinearLayout
+ <com.android.internal.widget.ImageFloatingTextView android:id="@+id/big_text"
android:layout_width="match_parent"
android:layout_height="0dp"
- android:paddingBottom="@dimen/notification_content_margin_bottom"
- android:orientation="horizontal"
- android:gravity="top"
- android:layout_weight="1"
android:layout_marginTop="1.5dp"
- >
- <com.android.internal.widget.ImageFloatingTextView android:id="@+id/big_text"
- android:textAppearance="@style/TextAppearance.Material.Notification"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:singleLine="false"
- android:visibility="gone"
- />
- <ImageView android:id="@+id/profile_badge_large_template"
- android:layout_width="@dimen/notification_badge_size"
- android:layout_height="@dimen/notification_badge_size"
- android:layout_weight="0"
- android:layout_marginStart="4dp"
- android:scaleType="fitCenter"
- android:visibility="gone"
- android:contentDescription="@string/notification_work_profile_content_description"
- />
- </LinearLayout>
+ android:paddingBottom="@dimen/notification_content_margin_bottom"
+ android:textAppearance="@style/TextAppearance.Material.Notification"
+ android:singleLine="false"
+ android:layout_weight="1"
+ android:gravity="top"
+ android:visibility="gone"
+ />
<ViewStub android:layout="@layout/notification_material_reply_text"
android:id="@+id/notification_material_reply_container"
android:layout_width="match_parent"
diff --git a/core/res/res/layout/notification_template_material_inbox.xml b/core/res/res/layout/notification_template_material_inbox.xml
index 14bf899..86902db 100644
--- a/core/res/res/layout/notification_template_material_inbox.xml
+++ b/core/res/res/layout/notification_template_material_inbox.xml
@@ -41,34 +41,15 @@
android:layout_width="match_parent"
android:layout_height="15dp"
android:layout_marginTop="4dp"/>
-
- <!-- We can't have another vertical linear layout here with weight != 0 so this forces us to
- put the badge on the first line. -->
- <LinearLayout
+ <TextView android:id="@+id/inbox_text0"
+ android:textAppearance="@style/TextAppearance.Material.Notification"
android:layout_width="match_parent"
- android:layout_weight="1"
android:layout_height="0dp"
- android:orientation="horizontal"
- >
- <TextView android:id="@+id/inbox_text0"
- android:textAppearance="@style/TextAppearance.Material.Notification"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:ellipsize="end"
- android:visibility="gone"
- android:layout_weight="1"
- />
- <ImageView android:id="@+id/profile_badge_large_template"
- android:layout_width="@dimen/notification_badge_size"
- android:layout_height="@dimen/notification_badge_size"
- android:layout_weight="0"
- android:layout_marginStart="4dp"
- android:scaleType="fitCenter"
- android:visibility="gone"
- android:contentDescription="@string/notification_work_profile_content_description"
- />
- </LinearLayout>
+ android:singleLine="true"
+ android:ellipsize="end"
+ android:visibility="gone"
+ android:layout_weight="1"
+ />
<TextView android:id="@+id/inbox_text1"
android:textAppearance="@style/TextAppearance.Material.Notification"
android:layout_width="match_parent"
diff --git a/core/res/res/layout/notification_template_material_media.xml b/core/res/res/layout/notification_template_material_media.xml
index f0ced5f..9fcd356 100644
--- a/core/res/res/layout/notification_template_material_media.xml
+++ b/core/res/res/layout/notification_template_material_media.xml
@@ -48,7 +48,7 @@
>
<include layout="@layout/notification_template_part_line1"/>
<include layout="@layout/notification_template_progress"/>
- <include layout="@layout/notification_template_part_line3"/>
+ <include layout="@layout/notification_template_text"/>
</LinearLayout>
<LinearLayout
android:id="@+id/media_actions"
diff --git a/core/res/res/layout/notification_template_part_line3.xml b/core/res/res/layout/notification_template_part_line3.xml
deleted file mode 100644
index dc47a48..0000000
--- a/core/res/res/layout/notification_template_part_line3.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2014 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License
- -->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/line3"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:gravity="top"
- >
- <TextView android:id="@+id/text"
- android:textAppearance="@style/TextAppearance.Material.Notification"
- android:layout_width="0dp"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:layout_gravity="top"
- android:singleLine="true"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:layout_marginTop="1.5dp"
- />
- <ImageView android:id="@+id/profile_badge_line3"
- android:layout_width="@dimen/notification_badge_size"
- android:layout_height="@dimen/notification_badge_size"
- android:layout_gravity="center"
- android:layout_weight="0"
- android:layout_marginStart="4dp"
- android:scaleType="fitCenter"
- android:visibility="gone"
- android:contentDescription="@string/notification_work_profile_content_description"
- />
-</LinearLayout>
diff --git a/core/res/res/layout/notification_template_text.xml b/core/res/res/layout/notification_template_text.xml
new file mode 100644
index 0000000..38470cd
--- /dev/null
+++ b/core/res/res/layout/notification_template_text.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2016 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License
+ -->
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/text"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="top"
+ android:layout_marginTop="1.5dp"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal"
+ android:gravity="top"
+ android:singleLine="true"
+ android:textAppearance="@style/TextAppearance.Material.Notification"
+ />
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 9023dd4..b46e32f 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -86,7 +86,6 @@
<java-symbol type="id" name="left_icon" />
<java-symbol type="id" name="leftSpacer" />
<java-symbol type="id" name="line1" />
- <java-symbol type="id" name="line3" />
<java-symbol type="id" name="list_footer" />
<java-symbol type="id" name="list_item" />
<java-symbol type="id" name="listContainer" />
@@ -209,8 +208,7 @@
<java-symbol type="id" name="pin_confirm_text" />
<java-symbol type="id" name="pin_error_message" />
<java-symbol type="id" name="timePickerLayout" />
- <java-symbol type="id" name="profile_badge_large_template" />
- <java-symbol type="id" name="profile_badge_line3" />
+ <java-symbol type="id" name="profile_badge" />
<java-symbol type="id" name="transitionPosition" />
<java-symbol type="id" name="selection_start_handle" />
<java-symbol type="id" name="selection_end_handle" />
diff --git a/packages/SystemUI/res/layout/notification_public_default.xml b/packages/SystemUI/res/layout/notification_public_default.xml
deleted file mode 100644
index 044ba09..0000000
--- a/packages/SystemUI/res/layout/notification_public_default.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
- ~ Copyright (C) 2014 The Android Open Source Project
- ~
- ~ Licensed under the Apache License, Version 2.0 (the "License");
- ~ you may not use this file except in compliance with the License.
- ~ You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License
- -->
-
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/status_bar_latest_event_content"
- android:layout_width="match_parent"
- android:layout_height="64dp"
- >
- <ImageView android:id="@+id/icon"
- android:layout_width="40dp"
- android:layout_height="40dp"
- android:layout_marginTop="12dp"
- android:layout_marginStart="12dp"
- android:layout_marginEnd="12dp"
- android:scaleType="centerInside"
- />
- <DateTimeView android:id="@+id/time"
- android:textAppearance="@android:style/TextAppearance.Material.Notification.Time"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginEnd="8dp"
- android:layout_alignParentEnd="true"
- android:layout_alignBaseline="@+id/title"
- android:singleLine="true"
- android:gravity="center"
- android:paddingStart="8dp"
- android:visibility="gone"
- />
- <TextView android:id="@+id/title"
- android:textAppearance="@android:style/TextAppearance.Material.Notification.Title"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:layout_toEndOf="@id/icon"
- android:layout_toStartOf="@id/time"
- android:singleLine="true"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- />
- <ImageView android:id="@+id/profile_badge_line3"
- android:layout_width="@*android:dimen/notification_badge_size"
- android:layout_height="@*android:dimen/notification_badge_size"
- android:layout_below="@id/title"
- android:layout_marginStart="4dp"
- android:layout_marginEnd="8dp"
- android:layout_alignParentEnd="true"
- android:scaleType="fitCenter"
- android:visibility="gone"
- />
- <TextView android:id="@+id/text"
- android:textAppearance="@android:style/TextAppearance.Material.Notification"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignStart="@id/title"
- android:layout_below="@id/title"
- android:layout_toStartOf="@id/profile_badge_line3"
- android:singleLine="true"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- />
-</RelativeLayout>
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
index 859a330..98a37f9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationHeaderUtil.java
@@ -110,6 +110,25 @@
sIconExtractor,
sGreyComparator,
mGreyApplicator));
+ mComparators.add(new HeaderProcessor(mRow,
+ com.android.internal.R.id.profile_badge,
+ null /* Extractor */,
+ new ViewComparator() {
+ @Override
+ public boolean compare(View parent, View child, Object parentData,
+ Object childData) {
+ return parent.getVisibility() == View.VISIBLE;
+ }
+
+ @Override
+ public boolean isEmpty(View view) {
+ if (view instanceof ImageView) {
+ return ((ImageView) view).getDrawable() == null;
+ }
+ return false;
+ }
+ },
+ sVisibilityApplicator));
mComparators.add(HeaderProcessor.forTextView(mRow,
com.android.internal.R.id.app_name_text));
mComparators.add(HeaderProcessor.forTextView(mRow,