diff --git a/packages/SystemUI/res/drawable/ic_conversation_icon.xml b/packages/SystemUI/res/drawable/ic_conversation_icon.xml new file mode 100644 index 0000000000000..0e3533b4be105 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_conversation_icon.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_corp_badge_off.xml b/packages/SystemUI/res/drawable/ic_corp_badge_off.xml new file mode 100644 index 0000000000000..a441fb202f6c9 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_corp_badge_off.xml @@ -0,0 +1,28 @@ + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/people_tile_empty_background.xml b/packages/SystemUI/res/drawable/people_tile_empty_background.xml new file mode 100644 index 0000000000000..2dac74077106e --- /dev/null +++ b/packages/SystemUI/res/drawable/people_tile_empty_background.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/people_tile_status_scrim.xml b/packages/SystemUI/res/drawable/people_tile_status_scrim.xml new file mode 100644 index 0000000000000..cf16f1c55bc6c --- /dev/null +++ b/packages/SystemUI/res/drawable/people_tile_status_scrim.xml @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/people_tile_suppressed_background.xml b/packages/SystemUI/res/drawable/people_tile_suppressed_background.xml new file mode 100644 index 0000000000000..e0c111d4ecf62 --- /dev/null +++ b/packages/SystemUI/res/drawable/people_tile_suppressed_background.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/people_status_scrim_layout.xml b/packages/SystemUI/res/layout/people_status_scrim_layout.xml new file mode 100644 index 0000000000000..9808f74324fe8 --- /dev/null +++ b/packages/SystemUI/res/layout/people_status_scrim_layout.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout/people_tile_empty_layout.xml b/packages/SystemUI/res/layout/people_tile_empty_layout.xml index 7d3b919ce0409..8e9ebc69c54cd 100644 --- a/packages/SystemUI/res/layout/people_tile_empty_layout.xml +++ b/packages/SystemUI/res/layout/people_tile_empty_layout.xml @@ -14,16 +14,17 @@ ~ limitations under the License. --> + android:layout_width="48dp" + android:layout_height="48dp"/> \ No newline at end of file diff --git a/packages/SystemUI/res/layout/people_tile_large_with_content.xml b/packages/SystemUI/res/layout/people_tile_large_with_content.xml index 6f8de3b68589d..b77670e3795b8 100644 --- a/packages/SystemUI/res/layout/people_tile_large_with_content.xml +++ b/packages/SystemUI/res/layout/people_tile_large_with_content.xml @@ -1,145 +1,159 @@ - + + android:layout_width="match_parent" + android:layout_height="match_parent"> - + + + android:layout_height="match_parent" + android:layout_gravity="center" + android:padding="16dp" + android:orientation="vertical"> - + android:gravity="start|top"> - + android:layout_alignParentStart="true" + android:gravity="start|top" + android:orientation="horizontal"> - - + - - - - - - - - - - - - + + - + android:textColor="?android:attr/textColorPrimary" + android:background="@drawable/people_space_messages_count_background" + android:textSize="14sp" + android:maxLines="1" + android:ellipsize="end" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:visibility="gone" /> + - + android:layout_height="match_parent"> - - - - + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/people_tile_medium_with_content.xml b/packages/SystemUI/res/layout/people_tile_medium_with_content.xml index a8c15abc8459d..8df0bf87efd22 100644 --- a/packages/SystemUI/res/layout/people_tile_medium_with_content.xml +++ b/packages/SystemUI/res/layout/people_tile_medium_with_content.xml @@ -17,18 +17,20 @@ - + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/people_tile_work_profile_quiet_layout.xml b/packages/SystemUI/res/layout/people_tile_work_profile_quiet_layout.xml new file mode 100644 index 0000000000000..25ab5a61ffee0 --- /dev/null +++ b/packages/SystemUI/res/layout/people_tile_work_profile_quiet_layout.xml @@ -0,0 +1,39 @@ + + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java index 29685a4c628b8..7b5ab0df1e5e1 100644 --- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java +++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java @@ -416,9 +416,8 @@ public class PeopleSpaceUtils { && birthdayString == null; boolean addBirthdayStatus = !hasBirthdayStatus(storedTile, context) && birthdayString != null; - boolean shouldUpdate = - storedTile.getContactAffinity() != affinity || outdatedBirthdayStatus - || addBirthdayStatus; + boolean shouldUpdate = storedTile.getContactAffinity() != affinity || outdatedBirthdayStatus + || addBirthdayStatus; if (shouldUpdate) { if (DEBUG) Log.d(TAG, "Update " + storedTile.getUserName() + " from contacts"); manager.updateAppWidgetOptionsAndView(appWidgetId, diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java b/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java index 06f8a60dd0158..9fc9cad0a690e 100644 --- a/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java +++ b/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java @@ -41,8 +41,6 @@ import android.app.people.ConversationStatus; import android.app.people.PeopleSpaceTile; import android.content.Context; import android.content.Intent; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; import android.content.res.Configuration; import android.graphics.Bitmap; import android.graphics.drawable.Drawable; @@ -57,13 +55,13 @@ import android.text.TextUtils; import android.util.IconDrawableFactory; import android.util.Log; import android.util.Pair; +import android.view.Gravity; import android.view.View; import android.widget.RemoteViews; import android.widget.TextView; import com.android.internal.annotations.VisibleForTesting; import com.android.launcher3.icons.FastBitmapDrawable; -import com.android.settingslib.Utils; import com.android.systemui.R; import com.android.systemui.people.widget.LaunchConversationActivity; import com.android.systemui.people.widget.PeopleSpaceWidgetProvider; @@ -195,16 +193,10 @@ public class PeopleTileViewHelper { */ private RemoteViews getViewForTile() { if (DEBUG) Log.d(TAG, "Creating view for tile key: " + mKey.toString()); - if (mTile == null || mTile.isPackageSuspended() || mTile.isUserQuieted()) { - if (DEBUG) Log.d(TAG, "Create empty view: " + mTile); - return createEmptyView(); - } - - boolean dndBlockingTileData = isDndBlockingTileData(mTile); - if (dndBlockingTileData) { - if (DEBUG) Log.d(TAG, "Create DND view: " + mTile.getNotificationPolicyState()); - // TODO: Create DND view. - return createEmptyView(); + if (mTile == null || mTile.isPackageSuspended() || mTile.isUserQuieted() + || isDndBlockingTileData(mTile)) { + if (DEBUG) Log.d(TAG, "Create suppressed view: " + mTile); + return createSuppressedView(); } if (Objects.equals(mTile.getNotificationCategory(), CATEGORY_MISSED_CALL)) { @@ -265,34 +257,27 @@ public class PeopleTileViewHelper { return !tile.canBypassDnd(); } - private RemoteViews createEmptyView() { - RemoteViews views = new RemoteViews(mContext.getPackageName(), - R.layout.people_tile_empty_layout); - Drawable appIcon = getAppBadge(mKey.getPackageName(), mKey.getUserId()); + private RemoteViews createSuppressedView() { + RemoteViews views; + if (mTile.isUserQuieted()) { + views = new RemoteViews(mContext.getPackageName(), + R.layout.people_tile_work_profile_quiet_layout); + } else { + views = new RemoteViews(mContext.getPackageName(), + R.layout.people_tile_suppressed_layout); + } + Drawable appIcon = mContext.getDrawable(R.drawable.ic_conversation_icon); Bitmap appIconAsBitmap = convertDrawableToBitmap(appIcon); - FastBitmapDrawable drawable = new FastBitmapDrawable( - appIconAsBitmap); + FastBitmapDrawable drawable = new FastBitmapDrawable(appIconAsBitmap); drawable.setIsDisabled(true); Bitmap convertedBitmap = convertDrawableToBitmap(drawable); - views.setImageViewBitmap(R.id.item, convertedBitmap); + views.setImageViewBitmap(R.id.icon, convertedBitmap); return views; } - private Drawable getAppBadge(String packageName, int userId) { - Drawable badge = null; - try { - final ApplicationInfo appInfo = mContext.getPackageManager().getApplicationInfoAsUser( - packageName, PackageManager.GET_META_DATA, userId); - badge = Utils.getBadgedIcon(mContext, appInfo); - } catch (PackageManager.NameNotFoundException e) { - badge = mContext.getPackageManager().getDefaultActivityIcon(); - } - return badge; - } - private void setMaxLines(RemoteViews views, boolean showSender) { int textSize = mLayoutSize == LAYOUT_LARGE ? getSizeInDp( - R.dimen.content_text_size_for_medium) + R.dimen.content_text_size_for_large) : getSizeInDp(R.dimen.content_text_size_for_medium); int lineHeight = getLineHeight(textSize); int notificationContentHeight = getContentHeightForLayout(lineHeight); @@ -422,9 +407,6 @@ public class PeopleTileViewHelper { views.setViewVisibility(R.id.availability, View.GONE); } - if (mTile.getUserName() != null) { - views.setTextViewText(R.id.name, mTile.getUserName().toString()); - } views.setBoolean(R.id.image, "setClipToOutline", true); views.setImageViewBitmap(R.id.person_icon, getPersonIconBitmap(mContext, mTile, maxAvatarSize)); @@ -537,25 +519,31 @@ public class PeopleTileViewHelper { statusText = getStatusTextByType(status.getActivity()); } views.setViewVisibility(R.id.predefined_icon, View.VISIBLE); - views.setViewVisibility(R.id.messages_count, View.GONE); - setMaxLines(views, false); - // Secondary text color for statuses. - views.setColorAttr(R.id.text_content, "setTextColor", android.R.attr.textColorSecondary); views.setTextViewText(R.id.text_content, statusText); + if (mLayoutSize == LAYOUT_LARGE) { + views.setInt(R.id.content, "setGravity", Gravity.BOTTOM); + } Icon statusIcon = status.getIcon(); if (statusIcon != null) { - // No multi-line text with status images on medium layout. - views.setViewVisibility(R.id.text_content, View.GONE); + // No text content styled text on medium or large. + views.setViewVisibility(R.id.scrim_layout, View.VISIBLE); + views.setImageViewIcon(R.id.status_icon, statusIcon); // Show 1-line subtext on large layout with status images. if (mLayoutSize == LAYOUT_LARGE) { - views.setViewVisibility(R.id.subtext, View.VISIBLE); - views.setTextViewText(R.id.subtext, statusText); + if (DEBUG) Log.d(TAG, "Remove name for large"); + views.setViewVisibility(R.id.name, View.GONE); + views.setColorAttr(R.id.text_content, "setTextColor", + android.R.attr.textColorPrimary); + } else if (mLayoutSize == LAYOUT_MEDIUM) { + views.setViewVisibility(R.id.text_content, View.GONE); + views.setTextViewText(R.id.name, statusText); } - views.setViewVisibility(R.id.image, View.VISIBLE); - views.setImageViewIcon(R.id.image, statusIcon); } else { - views.setViewVisibility(R.id.image, View.GONE); + // Secondary text color for statuses without icons. + views.setColorAttr(R.id.text_content, "setTextColor", + android.R.attr.textColorSecondary); + setMaxLines(views, false); } // TODO: Set status pre-defined icons views.setImageViewResource(R.id.predefined_icon, R.drawable.ic_person); @@ -741,16 +729,23 @@ public class PeopleTileViewHelper { views.setViewVisibility(R.id.name, View.VISIBLE); views.setViewVisibility(R.id.text_content, View.VISIBLE); views.setViewVisibility(R.id.subtext, View.GONE); + views.setViewVisibility(R.id.image, View.GONE); + views.setViewVisibility(R.id.scrim_layout, View.GONE); } if (mLayoutSize == LAYOUT_MEDIUM) { if (DEBUG) Log.d(TAG, "Set vertical padding: " + mMediumVerticalPadding); int horizontalPadding = (int) Math.floor(MAX_MEDIUM_PADDING * mDensity); int verticalPadding = (int) Math.floor(mMediumVerticalPadding * mDensity); - views.setViewPadding(R.id.item, horizontalPadding, verticalPadding, horizontalPadding, + views.setViewPadding(R.id.content, horizontalPadding, verticalPadding, + horizontalPadding, verticalPadding); } views.setViewVisibility(R.id.messages_count, View.GONE); + if (mTile.getUserName() != null) { + views.setTextViewText(R.id.name, mTile.getUserName()); + } + return views; } @@ -761,6 +756,9 @@ public class PeopleTileViewHelper { views.setViewVisibility(R.id.predefined_icon, View.GONE); views.setViewVisibility(R.id.messages_count, View.GONE); } + if (mTile.getUserName() != null) { + views.setTextViewText(R.id.name, mTile.getUserName()); + } String status = getLastInteractionString(mContext, mTile.getLastInteractionTimestamp()); if (status != null) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/people/PeopleTileViewHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/people/PeopleTileViewHelperTest.java index 5c70a4ef2076d..71723075dda37 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/people/PeopleTileViewHelperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/people/PeopleTileViewHelperTest.java @@ -17,6 +17,7 @@ package com.android.systemui.people; import static android.app.Notification.CATEGORY_MISSED_CALL; +import static android.app.people.ConversationStatus.ACTIVITY_ANNIVERSARY; import static android.app.people.ConversationStatus.ACTIVITY_BIRTHDAY; import static android.app.people.ConversationStatus.ACTIVITY_GAME; import static android.app.people.ConversationStatus.ACTIVITY_NEW_STORY; @@ -25,6 +26,7 @@ import static android.app.people.PeopleSpaceTile.BLOCK_CONVERSATIONS; import static android.app.people.PeopleSpaceTile.SHOW_CONTACTS; import static android.app.people.PeopleSpaceTile.SHOW_IMPORTANT_CONVERSATIONS; import static android.app.people.PeopleSpaceTile.SHOW_STARRED_CONTACTS; +import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT; import static android.appwidget.AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH; import static com.android.systemui.people.PeopleSpaceUtils.STARRED_CONTACT; @@ -126,6 +128,9 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { .setAvailability(AVAILABILITY_AVAILABLE) .build(); + @Mock + private Icon mIcon; + @Mock private Context mMockContext; @Mock @@ -169,7 +174,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( PERSON_TILE_WITHOUT_NOTIFICATION, mOptions).getViews(); @@ -218,7 +223,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithLastInteraction, mOptions).getViews(); @@ -278,7 +283,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithAvailabilityAndNewStory, mOptions).getViews(); @@ -340,7 +345,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithStatusTemplate, mOptions).getViews(); @@ -376,6 +381,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { assertEquals(name.getText(), NAME); assertEquals(View.GONE, result.findViewById(R.id.subtext).getVisibility()); assertEquals(View.VISIBLE, result.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.GONE, result.findViewById(R.id.scrim_layout).getVisibility()); + assertEquals(View.GONE, result.findViewById(R.id.image).getVisibility()); // Has availability. assertEquals(View.VISIBLE, result.findViewById(R.id.availability).getVisibility()); // Has person icon. @@ -403,7 +410,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithStatusTemplate, mOptions).getViews(); @@ -413,6 +420,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { assertEquals(name.getText(), NAME); assertEquals(View.GONE, largeResult.findViewById(R.id.subtext).getVisibility()); assertEquals(View.VISIBLE, largeResult.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.GONE, largeResult.findViewById(R.id.scrim_layout).getVisibility()); + assertEquals(View.GONE, largeResult.findViewById(R.id.image).getVisibility()); // Has availability. assertEquals(View.VISIBLE, largeResult.findViewById(R.id.availability).getVisibility()); // Has person icon. @@ -425,6 +434,55 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { assertThat(statusContent.getMaxLines()).isEqualTo(3); } + @Test + public void testCreateRemoteViewsWithStatusTemplateWithImageOnMediumAndLarge() { + PeopleSpaceTile tileWithIconInStatusTemplate = + PERSON_TILE_WITHOUT_NOTIFICATION.toBuilder().setStatuses( + Arrays.asList(new ConversationStatus.Builder(PERSON_TILE.getId(), + ACTIVITY_ANNIVERSARY).setDescription("Anniversary").setAvailability( + AVAILABILITY_AVAILABLE).setIcon(mIcon).build())).build(); + RemoteViews views = getPeopleTileViewHelper( + tileWithIconInStatusTemplate, mOptions).getViews(); + View result = views.apply(mContext, null); + + assertEquals(View.GONE, result.findViewById(R.id.subtext).getVisibility()); + assertEquals(View.VISIBLE, result.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.VISIBLE, result.findViewById(R.id.scrim_layout).getVisibility()); + assertEquals(View.GONE, result.findViewById(R.id.image).getVisibility()); + // Has availability. + assertEquals(View.VISIBLE, result.findViewById(R.id.availability).getVisibility()); + // Has person icon. + assertEquals(View.VISIBLE, result.findViewById(R.id.person_icon).getVisibility()); + // Has status. + TextView statusContent = (TextView) result.findViewById(R.id.name); + assertEquals(statusContent.getText(), "Anniversary"); + assertThat(statusContent.getMaxLines()).isEqualTo(1); + + mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + getSizeInDp(R.dimen.required_width_for_large)); + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, + getSizeInDp(R.dimen.required_height_for_large)); + RemoteViews largeView = getPeopleTileViewHelper( + tileWithIconInStatusTemplate, mOptions).getViews(); + View largeResult = largeView.apply(mContext, null); + + assertEquals(View.GONE, largeResult.findViewById(R.id.subtext).getVisibility()); + assertEquals(View.GONE, largeResult.findViewById(R.id.name).getVisibility()); + assertEquals(View.VISIBLE, largeResult.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.VISIBLE, largeResult.findViewById(R.id.scrim_layout).getVisibility()); + assertEquals(View.GONE, largeResult.findViewById(R.id.image).getVisibility()); + // Has availability. + assertEquals(View.VISIBLE, largeResult.findViewById(R.id.availability).getVisibility()); + // Has person icon. + View personIcon = largeResult.findViewById(R.id.person_icon); + assertEquals(View.VISIBLE, personIcon.getVisibility()); + // Has status content. + statusContent = (TextView) largeResult.findViewById(R.id.text_content); + assertEquals(View.VISIBLE, statusContent.getVisibility()); + assertEquals(statusContent.getText(), "Anniversary"); + assertThat(statusContent.getMaxLines()).isEqualTo(2); + } + @Test public void testCreateRemoteViewsWithPackageSuspended() { PeopleSpaceTile tile = PERSON_TILE.toBuilder() @@ -434,7 +492,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tile, mOptions).getViews(); View result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); } @Test @@ -446,7 +504,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tile, mOptions).getViews(); View result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_work_profile_quiet_layout); } @Test @@ -458,7 +516,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); View result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(BLOCK_CONVERSATIONS) @@ -468,7 +526,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_IMPORTANT_CONVERSATIONS) @@ -477,7 +535,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_IMPORTANT_CONVERSATIONS) @@ -487,7 +545,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_STARRED_CONTACTS) @@ -497,7 +555,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_STARRED_CONTACTS) @@ -507,7 +565,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_CONTACTS) @@ -517,7 +575,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_CONTACTS) @@ -527,7 +585,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertNotEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); tileWithDndBlocking = PERSON_TILE.toBuilder() .setNotificationPolicyState(SHOW_CONTACTS) @@ -536,7 +594,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { tileWithDndBlocking, mOptions).getViews(); result = views.apply(mContext, null); - assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_empty_layout); + assertEquals(result.getSourceLayoutResId(), R.layout.people_tile_suppressed_layout); } @Test @@ -581,7 +639,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithMissedCallNotification, mOptions).getViews(); @@ -617,6 +675,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { assertEquals(name.getText(), NAME); assertEquals(View.GONE, result.findViewById(R.id.subtext).getVisibility()); assertEquals(View.GONE, result.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.GONE, result.findViewById(R.id.scrim_layout).getVisibility()); // Has availability. assertEquals(View.VISIBLE, result.findViewById(R.id.availability).getVisibility()); // Has person icon. @@ -649,7 +708,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithStatusAndNotification, mOptions).getViews(); @@ -659,6 +718,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { assertEquals(name.getText(), NAME); assertEquals(View.GONE, largeResult.findViewById(R.id.subtext).getVisibility()); assertEquals(View.GONE, largeResult.findViewById(R.id.predefined_icon).getVisibility()); + assertEquals(View.GONE, largeResult.findViewById(R.id.scrim_layout).getVisibility()); // Has availability. assertEquals(View.VISIBLE, largeResult.findViewById(R.id.availability).getVisibility()); // Has person icon. @@ -725,7 +785,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithStatusAndNotification, mOptions).getViews(); @@ -802,7 +862,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase { mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, getSizeInDp(R.dimen.required_width_for_large)); - mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, + mOptions.putInt(OPTION_APPWIDGET_MAX_HEIGHT, getSizeInDp(R.dimen.required_height_for_large)); RemoteViews largeView = getPeopleTileViewHelper( tileWithStatusAndNotification, mOptions).getViews();