diff options
| author | 2016-01-13 15:27:30 -0800 | |
|---|---|---|
| committer | 2016-01-21 19:42:49 -0800 | |
| commit | c848c3a1b4e3b365fb42ad7e418f90def054ed5f (patch) | |
| tree | 58969f497f83c113d86238a4a47495e79c44cd8f | |
| parent | da6f1d605b86207de53f9889229e092a542ed95e (diff) | |
Changed the work profile appearance
Change-Id: I0545ee9b18572b93f73b4cf54126cf03085b61b5
15 files changed, 109 insertions, 215 deletions
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 9832805f7178..a3610a3ffb63 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -3016,24 +3016,13 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable resetStandardTemplate(contentView); - boolean showLine3 = false; final Bundle ex = mN.extras; bindNotificationHeader(contentView); @@ -3100,14 +3089,8 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable bindContentInfo(contentView); bindHeaderChronometerAndTime(contentView); bindExpandButton(contentView); + bindProfileBadge(contentView); } private void bindChildCountColor(RemoteViews contentView) { @@ -3731,10 +3715,6 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable } contentView.setImageViewBitmap(R.id.big_picture, mPicture); - - mBuilder.addProfileBadge(contentView, R.id.profile_badge_line3); return contentView; } @@ -4085,9 +4063,6 @@ public class Notification implements Parcelable 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 @@ public class Notification implements Parcelable * @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 @@ public class Notification implements Parcelable } i++; } - mBuilder.addProfileBadge(contentView, R.id.profile_badge_large_template); handleInboxImageMargin(contentView, rowIds[0]); @@ -4435,7 +4409,7 @@ public class Notification implements Parcelable 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 f125b0e60a66..6fd0e6711545 100644 --- a/core/java/android/view/NotificationHeaderView.java +++ b/core/java/android/view/NotificationHeaderView.java @@ -25,6 +25,8 @@ import android.widget.LinearLayout; import android.widget.RemoteViews; import android.widget.TextView; +import com.android.internal.R; + import java.util.ArrayList; /** @@ -44,6 +46,7 @@ public class NotificationHeaderView extends LinearLayout { 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 @@ public class NotificationHeaderView extends LinearLayout { 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 @@ public class NotificationHeaderView extends LinearLayout { } 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 e45f52b12132..595d08405d20 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 fdbbbd6ee357..a37bfa9afc00 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 dfd72c08a8c6..f302087ec398 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 c3db7c5150b2..e8ff186248f6 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 5c07b9bf5a0c..50aec6bc704a 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 ebaffc30e28a..9a4b28c1298c 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:layout_marginTop="1.5dp" android:paddingBottom="@dimen/notification_content_margin_bottom" - android:orientation="horizontal" - android:gravity="top" + android:textAppearance="@style/TextAppearance.Material.Notification" + android:singleLine="false" 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: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 14bf8994f52b..86902db81426 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 f0ced5f686e2..9fcd3569b7ef 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 dc47a48f4676..000000000000 --- 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 000000000000..38470cd52c8b --- /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 9023dd420e62..b46e32f24081 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 044ba09e18c2..000000000000 --- 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 859a33060c09..98a37f9bbb6d 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 @@ public class NotificationHeaderUtil { 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, |