Merge "Fix notification count showing on 1x1" into sc-dev

This commit is contained in:
Flavio Fiszman
2021-04-08 08:19:39 +00:00
committed by Android (Google) Code Review
4 changed files with 21 additions and 6 deletions

View File

@@ -319,6 +319,7 @@ public class PeopleSpaceUtils {
CharSequence content = (isMissedCall && !hasMessageText) CharSequence content = (isMissedCall && !hasMessageText)
? context.getString(R.string.missed_call) : message.getText(); ? context.getString(R.string.missed_call) : message.getText();
Uri dataUri = message != null ? message.getDataUri() : null; Uri dataUri = message != null ? message.getDataUri() : null;
if (DEBUG) Log.d(TAG, "Notification message has text: " + hasMessageText);
return tile return tile
.toBuilder() .toBuilder()

View File

@@ -391,6 +391,7 @@ class PeopleTileViewHelper {
statusText = getStatusTextByType(status.getActivity()); statusText = getStatusTextByType(status.getActivity());
} }
views.setViewVisibility(R.id.predefined_icon, View.VISIBLE); views.setViewVisibility(R.id.predefined_icon, View.VISIBLE);
views.setViewVisibility(R.id.messages_count, View.GONE);
setMaxLines(views); setMaxLines(views);
// Secondary text color for statuses. // Secondary text color for statuses.
TypedValue typedValue = new TypedValue(); TypedValue typedValue = new TypedValue();
@@ -530,6 +531,7 @@ class PeopleTileViewHelper {
if (mLayoutSize == LAYOUT_SMALL) { if (mLayoutSize == LAYOUT_SMALL) {
views.setViewVisibility(R.id.predefined_icon, View.VISIBLE); views.setViewVisibility(R.id.predefined_icon, View.VISIBLE);
views.setViewVisibility(R.id.name, View.GONE); views.setViewVisibility(R.id.name, View.GONE);
views.setViewVisibility(R.id.messages_count, View.GONE);
} else { } else {
views.setViewVisibility(R.id.predefined_icon, View.GONE); views.setViewVisibility(R.id.predefined_icon, View.GONE);
views.setViewVisibility(R.id.name, View.VISIBLE); views.setViewVisibility(R.id.name, View.VISIBLE);
@@ -544,6 +546,7 @@ class PeopleTileViewHelper {
if (mLayoutSize == LAYOUT_SMALL) { if (mLayoutSize == LAYOUT_SMALL) {
views.setViewVisibility(R.id.name, View.VISIBLE); views.setViewVisibility(R.id.name, View.VISIBLE);
views.setViewVisibility(R.id.predefined_icon, View.GONE); views.setViewVisibility(R.id.predefined_icon, View.GONE);
views.setViewVisibility(R.id.messages_count, View.GONE);
} }
String status = PeopleSpaceUtils.getLastInteractionString(mContext, String status = PeopleSpaceUtils.getLastInteractionString(mContext,
mTile.getLastInteractionTimestamp()); mTile.getLastInteractionTimestamp());

View File

@@ -285,7 +285,7 @@ public class PeopleSpaceWidgetManager {
updateTilesByUri(key, sbn, action); updateTilesByUri(key, sbn, action);
} }
} catch (Exception e) { } catch (Exception e) {
Log.e(TAG, "Exception: " + e); Log.e(TAG, "Throwing exception: " + e);
} }
} }
@@ -498,7 +498,7 @@ public class PeopleSpaceWidgetManager {
if (notificationAction == PeopleSpaceUtils.NotificationAction.POSTED) { if (notificationAction == PeopleSpaceUtils.NotificationAction.POSTED) {
if (DEBUG) Log.i(TAG, "Adding notification to storage, appWidgetId: " + appWidgetId); if (DEBUG) Log.i(TAG, "Adding notification to storage, appWidgetId: " + appWidgetId);
storedTile = augmentTileFromNotification(mContext, storedTile, sbn); storedTile = augmentTileFromNotification(mContext, storedTile, sbn);
} else if (storedTile.getNotificationKey().equals(sbn.getKey())) { } else if (Objects.equals(storedTile.getNotificationKey(), sbn.getKey())) {
if (DEBUG) { if (DEBUG) {
Log.i(TAG, "Removing notification from storage, appWidgetId: " + appWidgetId); Log.i(TAG, "Removing notification from storage, appWidgetId: " + appWidgetId);
} }

View File

@@ -162,6 +162,9 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
assertEquals(View.GONE, smallResult.findViewById(R.id.predefined_icon).getVisibility()); assertEquals(View.GONE, smallResult.findViewById(R.id.predefined_icon).getVisibility());
// Shows person icon. // Shows person icon.
assertEquals(View.VISIBLE, smallResult.findViewById(R.id.person_icon).getVisibility()); assertEquals(View.VISIBLE, smallResult.findViewById(R.id.person_icon).getVisibility());
// No messages count.
assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -220,6 +223,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
// Has person icon. // Has person icon.
assertEquals(View.VISIBLE, assertEquals(View.VISIBLE,
smallResult.findViewById(R.id.person_icon).getVisibility()); smallResult.findViewById(R.id.person_icon).getVisibility());
// No messages count.
assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -281,6 +286,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
// Has person icon. // Has person icon.
assertEquals(View.VISIBLE, assertEquals(View.VISIBLE,
smallResult.findViewById(R.id.person_icon).getVisibility()); smallResult.findViewById(R.id.person_icon).getVisibility());
// No messages count.
assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -342,6 +349,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
// Has person icon. // Has person icon.
assertEquals(View.VISIBLE, assertEquals(View.VISIBLE,
smallResult.findViewById(R.id.person_icon).getVisibility()); smallResult.findViewById(R.id.person_icon).getVisibility());
// No messages count.
assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -404,6 +413,8 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
smallResult.findViewById(R.id.predefined_icon).getVisibility()); smallResult.findViewById(R.id.predefined_icon).getVisibility());
// Has person icon. // Has person icon.
assertEquals(View.VISIBLE, smallResult.findViewById(R.id.person_icon).getVisibility()); assertEquals(View.VISIBLE, smallResult.findViewById(R.id.person_icon).getVisibility());
// No messages count.
assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -471,7 +482,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
smallResult.findViewById(R.id.person_icon).getVisibility()); smallResult.findViewById(R.id.person_icon).getVisibility());
// Has a single message, no count shown. // Has a single message, no count shown.
assertEquals(View.GONE, result.findViewById(R.id.messages_count).getVisibility()); assertEquals(View.GONE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -497,7 +508,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
assertThat(statusContent.getMaxLines()).isEqualTo(3); assertThat(statusContent.getMaxLines()).isEqualTo(3);
// Has a single message, no count shown. // Has a single message, no count shown.
assertEquals(View.GONE, result.findViewById(R.id.messages_count).getVisibility()); assertEquals(View.GONE, largeResult.findViewById(R.id.messages_count).getVisibility());
} }
@@ -544,7 +555,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
smallResult.findViewById(R.id.person_icon).getVisibility()); smallResult.findViewById(R.id.person_icon).getVisibility());
// Has two messages, show count. // Has two messages, show count.
assertEquals(View.VISIBLE, result.findViewById(R.id.messages_count).getVisibility()); assertEquals(View.VISIBLE, smallResult.findViewById(R.id.messages_count).getVisibility());
mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH, mOptions.putInt(OPTION_APPWIDGET_MIN_WIDTH,
getSizeInDp(R.dimen.required_width_for_large)); getSizeInDp(R.dimen.required_width_for_large));
@@ -570,7 +581,7 @@ public class PeopleTileViewHelperTest extends SysuiTestCase {
assertThat(statusContent.getMaxLines()).isEqualTo(3); assertThat(statusContent.getMaxLines()).isEqualTo(3);
// Has two messages, show count. // Has two messages, show count.
assertEquals(View.VISIBLE, result.findViewById(R.id.messages_count).getVisibility()); assertEquals(View.VISIBLE, largeResult.findViewById(R.id.messages_count).getVisibility());
} }