summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/people_space_tile_view.xml11
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java16
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java44
4 files changed, 40 insertions, 42 deletions
diff --git a/packages/SystemUI/res/layout/people_space_tile_view.xml b/packages/SystemUI/res/layout/people_space_tile_view.xml
index 8f64ddf7011d..3e901808e66a 100644
--- a/packages/SystemUI/res/layout/people_space_tile_view.xml
+++ b/packages/SystemUI/res/layout/people_space_tile_view.xml
@@ -35,15 +35,8 @@
<ImageView
android:id="@+id/tile_view_person_icon"
- android:layout_width="48dp"
- android:layout_height="48dp" />
-
- <ImageView
- android:id="@+id/tile_view_package_icon"
- android:layout_width="16dp"
- android:layout_marginStart="-8dp"
- android:layout_marginTop="32dp"
- android:layout_height="16dp" />
+ android:layout_width="52dp"
+ android:layout_height="52dp" />
<LinearLayout
android:orientation="horizontal"
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
index ba41d33bab92..02c12f6d51e5 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
@@ -19,6 +19,9 @@ package com.android.systemui.people;
import static android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_ID;
import static android.appwidget.AppWidgetManager.INVALID_APPWIDGET_ID;
+import static com.android.systemui.people.PeopleTileViewHelper.getPersonIconBitmap;
+import static com.android.systemui.people.PeopleTileViewHelper.getSizeInDp;
+
import android.app.Activity;
import android.app.INotificationManager;
import android.app.people.IPeopleManager;
@@ -149,11 +152,11 @@ public class PeopleSpaceActivity extends Activity {
/** Sets {@code tileView} with the data in {@code conversation}. */
private void setTileView(PeopleSpaceTileView tileView, PeopleSpaceTile tile) {
try {
- String pkg = tile.getPackageName();
-
tileView.setName(tile.getUserName().toString());
- tileView.setPackageIcon(mPackageManager.getApplicationIcon(pkg));
- tileView.setPersonIcon(tile.getUserIcon());
+ tileView.setPersonIcon(getPersonIconBitmap(mContext, tile,
+ getSizeInDp(mContext, R.dimen.avatar_size_for_medium,
+ mContext.getResources().getDisplayMetrics().density)));
+
tileView.setOnClickListener(v -> storeWidgetConfiguration(tile));
} catch (Exception e) {
Log.e(TAG, "Couldn't retrieve shortcut information", e);
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
index e30ad80be3f6..36b435b04fd6 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
@@ -19,8 +19,7 @@ package com.android.systemui.people;
import android.app.people.PeopleSpaceTile;
import android.content.Context;
import android.content.pm.LauncherApps;
-import android.graphics.drawable.Drawable;
-import android.graphics.drawable.Icon;
+import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -37,7 +36,6 @@ public class PeopleSpaceTileView extends LinearLayout {
private View mTileView;
private TextView mNameView;
- private ImageView mPackageIconView;
private ImageView mPersonIconView;
public PeopleSpaceTileView(Context context, ViewGroup view, String shortcutId, boolean isLast) {
@@ -56,7 +54,6 @@ public class PeopleSpaceTileView extends LinearLayout {
}
}
mNameView = mTileView.findViewById(R.id.tile_view_name);
- mPackageIconView = mTileView.findViewById(R.id.tile_view_package_icon);
mPersonIconView = mTileView.findViewById(R.id.tile_view_person_icon);
}
@@ -65,14 +62,9 @@ public class PeopleSpaceTileView extends LinearLayout {
mNameView.setText(name);
}
- /** Sets the package drawable on the tile. */
- public void setPackageIcon(Drawable drawable) {
- mPackageIconView.setImageDrawable(drawable);
- }
-
- /** Sets the person bitmap on the tile. */
- public void setPersonIcon(Icon icon) {
- mPersonIconView.setImageIcon(icon);
+ /** Sets the person and package drawable on the tile. */
+ public void setPersonIcon(Bitmap bitmap) {
+ mPersonIconView.setImageBitmap(bitmap);
}
/** Sets the click listener of the tile. */
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java b/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java
index 8d1b712e0807..96fbe6987562 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleTileViewHelper.java
@@ -192,7 +192,11 @@ class PeopleTileViewHelper {
}
private int getSizeInDp(int dimenResourceId) {
- return (int) (mContext.getResources().getDimension(dimenResourceId) / mDensity);
+ return getSizeInDp(mContext, dimenResourceId, mDensity);
+ }
+
+ public static int getSizeInDp(Context context, int dimenResourceId, float density) {
+ return (int) (context.getResources().getDimension(dimenResourceId) / density);
}
private int getContentHeightForLayout(int lineHeight) {
@@ -278,24 +282,11 @@ class PeopleTileViewHelper {
} else {
views.setViewVisibility(R.id.availability, View.GONE);
}
- boolean hasNewStory =
- mTile.getStatuses() != null && mTile.getStatuses().stream().anyMatch(
- c -> c.getActivity() == ACTIVITY_NEW_STORY);
+
views.setTextViewText(R.id.name, mTile.getUserName().toString());
views.setBoolean(R.id.image, "setClipToOutline", true);
-
- Icon icon = mTile.getUserIcon();
- PeopleStoryIconFactory storyIcon = new PeopleStoryIconFactory(mContext,
- mContext.getPackageManager(),
- IconDrawableFactory.newInstance(mContext, false),
- maxAvatarSize);
- Drawable drawable = icon.loadDrawable(mContext);
- Drawable personDrawable = storyIcon.getPeopleTileDrawable(drawable,
- mTile.getPackageName(), getUserId(mTile), mTile.isImportantConversation(),
- hasNewStory);
- Bitmap bitmap = convertDrawableToBitmap(personDrawable);
- views.setImageViewBitmap(R.id.person_icon, bitmap);
-
+ views.setImageViewBitmap(R.id.person_icon,
+ getPersonIconBitmap(mContext, mTile, maxAvatarSize));
return views;
} catch (Exception e) {
Log.e(TAG, "Failed to set common fields: " + e);
@@ -583,4 +574,23 @@ class PeopleTileViewHelper {
return R.layout.people_tile_small;
}
}
+
+ /** Returns a bitmap with the user icon and package icon. */
+ public static Bitmap getPersonIconBitmap(
+ Context context, PeopleSpaceTile tile, int maxAvatarSize) {
+ boolean hasNewStory =
+ tile.getStatuses() != null && tile.getStatuses().stream().anyMatch(
+ c -> c.getActivity() == ACTIVITY_NEW_STORY);
+
+ Icon icon = tile.getUserIcon();
+ PeopleStoryIconFactory storyIcon = new PeopleStoryIconFactory(context,
+ context.getPackageManager(),
+ IconDrawableFactory.newInstance(context, false),
+ maxAvatarSize);
+ Drawable drawable = icon.loadDrawable(context);
+ Drawable personDrawable = storyIcon.getPeopleTileDrawable(drawable,
+ tile.getPackageName(), getUserId(tile), tile.isImportantConversation(),
+ hasNewStory);
+ return convertDrawableToBitmap(personDrawable);
+ }
}