summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/app/people/PeopleSpaceTile.java27
-rw-r--r--core/tests/coretests/src/android/app/people/PeopleSpaceTileTest.java11
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java21
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/widget/LaunchConversationActivity.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetProvider.java2
-rw-r--r--packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetRemoteViewsFactory.java3
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/people/PeopleSpaceUtilsTest.java14
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/people/widget/PeopleSpaceWidgetManagerTest.java2
10 files changed, 45 insertions, 47 deletions
diff --git a/core/java/android/app/people/PeopleSpaceTile.java b/core/java/android/app/people/PeopleSpaceTile.java
index 132af4b2f67b..dd2ba7db03ae 100644
--- a/core/java/android/app/people/PeopleSpaceTile.java
+++ b/core/java/android/app/people/PeopleSpaceTile.java
@@ -29,6 +29,7 @@ import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Parcel;
import android.os.Parcelable;
+import android.os.UserHandle;
import java.util.ArrayList;
import java.util.List;
@@ -45,7 +46,7 @@ public class PeopleSpaceTile implements Parcelable {
private String mId;
private CharSequence mUserName;
private Icon mUserIcon;
- private int mUid;
+ private UserHandle mUserHandle;
private Uri mContactUri;
private String mPackageName;
private String mBirthdayText;
@@ -64,7 +65,7 @@ public class PeopleSpaceTile implements Parcelable {
mUserName = b.mUserName;
mUserIcon = b.mUserIcon;
mContactUri = b.mContactUri;
- mUid = b.mUid;
+ mUserHandle = b.mUserHandle;
mPackageName = b.mPackageName;
mBirthdayText = b.mBirthdayText;
mLastInteractionTimestamp = b.mLastInteractionTimestamp;
@@ -95,8 +96,8 @@ public class PeopleSpaceTile implements Parcelable {
return mContactUri;
}
- public int getUid() {
- return mUid;
+ public UserHandle getUserHandle() {
+ return mUserHandle;
}
public String getPackageName() {
@@ -165,7 +166,7 @@ public class PeopleSpaceTile implements Parcelable {
Builder builder =
new Builder(mId, mUserName.toString(), mUserIcon, mIntent);
builder.setContactUri(mContactUri);
- builder.setUid(mUid);
+ builder.setUserHandle(mUserHandle);
builder.setPackageName(mPackageName);
builder.setBirthdayText(mBirthdayText);
builder.setLastInteractionTimestamp(mLastInteractionTimestamp);
@@ -186,7 +187,7 @@ public class PeopleSpaceTile implements Parcelable {
private CharSequence mUserName;
private Icon mUserIcon;
private Uri mContactUri;
- private int mUid;
+ private UserHandle mUserHandle;
private String mPackageName;
private String mBirthdayText;
private long mLastInteractionTimestamp;
@@ -212,7 +213,7 @@ public class PeopleSpaceTile implements Parcelable {
mId = info.getId();
mUserName = info.getLabel();
mUserIcon = convertDrawableToIcon(launcherApps.getShortcutIconDrawable(info, 0));
- mUid = info.getUserId();
+ mUserHandle = info.getUserHandle();
mPackageName = info.getPackage();
mContactUri = getContactUri(info);
}
@@ -222,7 +223,7 @@ public class PeopleSpaceTile implements Parcelable {
mId = info.getId();
mUserName = info.getLabel();
mUserIcon = convertDrawableToIcon(launcherApps.getShortcutIconDrawable(info, 0));
- mUid = info.getUserId();
+ mUserHandle = info.getUserHandle();
mPackageName = info.getPackage();
mContactUri = getContactUri(info);
mStatuses = channel.getStatuses();
@@ -265,9 +266,9 @@ public class PeopleSpaceTile implements Parcelable {
return this;
}
- /** Sets the associated uid. */
- public Builder setUid(int uid) {
- mUid = uid;
+ /** Sets the associated {@code userHandle}. */
+ public Builder setUserHandle(UserHandle userHandle) {
+ mUserHandle = userHandle;
return this;
}
@@ -349,7 +350,7 @@ public class PeopleSpaceTile implements Parcelable {
mUserName = in.readCharSequence();
mUserIcon = in.readParcelable(Icon.class.getClassLoader());
mContactUri = in.readParcelable(Uri.class.getClassLoader());
- mUid = in.readInt();
+ mUserHandle = in.readParcelable(UserHandle.class.getClassLoader());
mPackageName = in.readString();
mBirthdayText = in.readString();
mLastInteractionTimestamp = in.readLong();
@@ -375,7 +376,7 @@ public class PeopleSpaceTile implements Parcelable {
dest.writeCharSequence(mUserName);
dest.writeParcelable(mUserIcon, flags);
dest.writeParcelable(mContactUri, flags);
- dest.writeInt(mUid);
+ dest.writeParcelable(mUserHandle, flags);
dest.writeString(mPackageName);
dest.writeString(mBirthdayText);
dest.writeLong(mLastInteractionTimestamp);
diff --git a/core/tests/coretests/src/android/app/people/PeopleSpaceTileTest.java b/core/tests/coretests/src/android/app/people/PeopleSpaceTileTest.java
index 1573c19b89a3..7cb680499d98 100644
--- a/core/tests/coretests/src/android/app/people/PeopleSpaceTileTest.java
+++ b/core/tests/coretests/src/android/app/people/PeopleSpaceTileTest.java
@@ -37,6 +37,7 @@ import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Parcel;
+import android.os.UserHandle;
import androidx.test.InstrumentationRegistry;
import androidx.test.filters.SmallTest;
@@ -124,13 +125,13 @@ public class PeopleSpaceTileTest {
}
@Test
- public void testUid() {
+ public void testUserHandle() {
PeopleSpaceTile tile = new PeopleSpaceTile
.Builder(new ShortcutInfo.Builder(mContext, "123").build(), mLauncherApps)
- .setUid(42)
+ .setUserHandle(new UserHandle(0))
.build();
- assertThat(tile.getUid()).isEqualTo(42);
+ assertThat(tile.getUserHandle()).isEqualTo(new UserHandle(0));
}
@Test
@@ -227,7 +228,7 @@ public class PeopleSpaceTileTest {
.setUserName("name")
.setUserIcon(mIcon)
.setContactUri(Uri.parse("contact"))
- .setUid(42)
+ .setUserHandle(new UserHandle(1))
.setPackageName("package.name")
.setLastInteractionTimestamp(7L)
.setIsImportantConversation(true)
@@ -246,7 +247,7 @@ public class PeopleSpaceTileTest {
assertThat(readTile.getUserName()).isEqualTo(tile.getUserName());
assertThat(readTile.getUserIcon().toString()).isEqualTo(tile.getUserIcon().toString());
assertThat(readTile.getContactUri()).isEqualTo(tile.getContactUri());
- assertThat(readTile.getUid()).isEqualTo(tile.getUid());
+ assertThat(readTile.getUserHandle()).isEqualTo(tile.getUserHandle());
assertThat(readTile.getPackageName()).isEqualTo(tile.getPackageName());
assertThat(readTile.getLastInteractionTimestamp()).isEqualTo(
tile.getLastInteractionTimestamp());
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
index 2f9b17aece8e..2ea8657f88e5 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceActivity.java
@@ -19,8 +19,6 @@ 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.PeopleSpaceUtils.getUserHandle;
-
import android.app.Activity;
import android.app.INotificationManager;
import android.app.people.IPeopleManager;
@@ -155,7 +153,7 @@ public class PeopleSpaceActivity extends Activity {
if (DEBUG) Log.d(TAG, "Caching shortcut for PeopleTile: " + tile.getId());
mLauncherApps.cacheShortcuts(tile.getPackageName(),
Collections.singletonList(tile.getId()),
- getUserHandle(tile), LauncherApps.FLAG_CACHE_PEOPLE_TILE_SHORTCUTS);
+ tile.getUserHandle(), LauncherApps.FLAG_CACHE_PEOPLE_TILE_SHORTCUTS);
} catch (Exception e) {
Log.w(TAG, "Exception caching shortcut:" + e);
}
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
index 9ae7847031aa..6f89332e66a9 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceTileView.java
@@ -21,7 +21,6 @@ import android.content.Context;
import android.content.pm.LauncherApps;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Icon;
-import android.os.UserHandle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -82,7 +81,7 @@ public class PeopleSpaceTileView extends LinearLayout {
public void setOnClickListener(LauncherApps launcherApps, PeopleSpaceTile tile) {
mTileView.setOnClickListener(v ->
launcherApps.startShortcut(tile.getPackageName(), tile.getId(), null, null,
- UserHandle.getUserHandleForUid(tile.getUid())));
+ tile.getUserHandle()));
}
/** Sets the click listener of the tile directly. */
diff --git a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java
index 5dda23e4a47e..41080afb3604 100644
--- a/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/people/PeopleSpaceUtils.java
@@ -55,7 +55,6 @@ import android.net.Uri;
import android.os.Bundle;
import android.os.Parcelable;
import android.os.ServiceManager;
-import android.os.UserHandle;
import android.provider.ContactsContract;
import android.provider.Settings;
import android.service.notification.ConversationChannelWrapper;
@@ -160,7 +159,6 @@ public class PeopleSpaceUtils {
List<ConversationChannelWrapper> conversations =
notificationManager.getConversations(
false).getList();
-
// Add priority conversations to tiles list.
Stream<ShortcutInfo> priorityConversations = conversations.stream()
.filter(c -> c.getNotificationChannel() != null
@@ -252,7 +250,11 @@ public class PeopleSpaceUtils {
}
// If tile is null, we need to retrieve from persisted storage.
- if (DEBUG) Log.d(TAG, "Retrieving from storage after reboots");
+ if (DEBUG) {
+ Log.d(TAG,
+ "Retrieving from storage after reboots: " + shortcutId + " user: " + userId
+ + " pkg: " + pkg);
+ }
LauncherApps launcherApps = context.getSystemService(LauncherApps.class);
ConversationChannel channel = peopleManager.getConversation(pkg, userId, shortcutId);
if (channel == null) {
@@ -384,7 +386,7 @@ public class PeopleSpaceUtils {
PeopleSpaceTile tile, Map<String, NotificationEntry> visibleNotifications) {
String shortcutId = tile.getId();
String packageName = tile.getPackageName();
- int userId = UserHandle.getUserHandleForUid(tile.getUid()).getIdentifier();
+ int userId = getUserId(tile);
String key = getKey(shortcutId, packageName, userId);
if (!visibleNotifications.containsKey(key)) {
if (DEBUG) Log.d(TAG, "No existing notifications for key:" + key);
@@ -641,7 +643,8 @@ public class PeopleSpaceUtils {
activityIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_TILE_ID, tile.getId());
activityIntent.putExtra(
PeopleSpaceWidgetProvider.EXTRA_PACKAGE_NAME, tile.getPackageName());
- activityIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_UID, tile.getUid());
+ activityIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_USER_HANDLE,
+ tile.getUserHandle());
views.setOnClickPendingIntent(R.id.item, PendingIntent.getActivity(
context,
appWidgetId,
@@ -788,7 +791,6 @@ public class PeopleSpaceUtils {
Log.i(TAG, "ConversationChannel is null");
return null;
}
-
PeopleSpaceTile tile = new PeopleSpaceTile.Builder(channel, launcherApps).build();
if (!PeopleSpaceUtils.shouldKeepConversation(tile)) {
Log.i(TAG, "PeopleSpaceTile is not valid");
@@ -1069,11 +1071,6 @@ public class PeopleSpaceUtils {
/** Returns the userId associated with a {@link PeopleSpaceTile} */
public static int getUserId(PeopleSpaceTile tile) {
- return getUserHandle(tile).getIdentifier();
- }
-
- /** Returns the {@link UserHandle} associated with a {@link PeopleSpaceTile} */
- public static UserHandle getUserHandle(PeopleSpaceTile tile) {
- return UserHandle.getUserHandleForUid(tile.getUid());
+ return tile.getUserHandle().getIdentifier();
}
} \ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/people/widget/LaunchConversationActivity.java b/packages/SystemUI/src/com/android/systemui/people/widget/LaunchConversationActivity.java
index 358f3113ef88..13e30f920f42 100644
--- a/packages/SystemUI/src/com/android/systemui/people/widget/LaunchConversationActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/people/widget/LaunchConversationActivity.java
@@ -41,7 +41,8 @@ public class LaunchConversationActivity extends Activity {
Intent intent = getIntent();
String tileId = intent.getStringExtra(PeopleSpaceWidgetProvider.EXTRA_TILE_ID);
String packageName = intent.getStringExtra(PeopleSpaceWidgetProvider.EXTRA_PACKAGE_NAME);
- int uid = intent.getIntExtra(PeopleSpaceWidgetProvider.EXTRA_UID, 0);
+ UserHandle userHandle = intent.getParcelableExtra(
+ PeopleSpaceWidgetProvider.EXTRA_USER_HANDLE);
if (tileId != null && !tileId.isEmpty()) {
if (DEBUG) {
@@ -52,7 +53,7 @@ public class LaunchConversationActivity extends Activity {
LauncherApps launcherApps =
getApplicationContext().getSystemService(LauncherApps.class);
launcherApps.startShortcut(
- packageName, tileId, null, null, UserHandle.getUserHandleForUid(uid));
+ packageName, tileId, null, null, userHandle);
} catch (Exception e) {
Log.e(TAG, "Exception starting shortcut:" + e);
}
diff --git a/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetProvider.java b/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetProvider.java
index 3d1055fdece2..90baf56e0137 100644
--- a/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetProvider.java
@@ -48,7 +48,7 @@ public class PeopleSpaceWidgetProvider extends AppWidgetProvider {
public static final String EXTRA_TILE_ID = "extra_tile_id";
public static final String EXTRA_PACKAGE_NAME = "extra_package_name";
- public static final String EXTRA_UID = "extra_uid";
+ public static final String EXTRA_USER_HANDLE = "extra_user_handle";
public UiEventLogger mUiEventLogger = new UiEventLoggerImpl();
diff --git a/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetRemoteViewsFactory.java b/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetRemoteViewsFactory.java
index 80794cb64883..050352292b38 100644
--- a/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetRemoteViewsFactory.java
+++ b/packages/SystemUI/src/com/android/systemui/people/widget/PeopleSpaceWidgetRemoteViewsFactory.java
@@ -123,7 +123,8 @@ public class PeopleSpaceWidgetRemoteViewsFactory implements RemoteViewsService.R
fillInIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_TILE_ID, tile.getId());
fillInIntent.putExtra(
PeopleSpaceWidgetProvider.EXTRA_PACKAGE_NAME, tile.getPackageName());
- fillInIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_UID, tile.getUid());
+ fillInIntent.putExtra(PeopleSpaceWidgetProvider.EXTRA_USER_HANDLE,
+ tile.getUserHandle());
personView.setOnClickFillInIntent(R.id.item, fillInIntent);
} catch (Exception e) {
Log.e(TAG, "Couldn't retrieve shortcut information", e);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/people/PeopleSpaceUtilsTest.java b/packages/SystemUI/tests/src/com/android/systemui/people/PeopleSpaceUtilsTest.java
index c8e939609e87..2a4b41cbfe32 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/people/PeopleSpaceUtilsTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/people/PeopleSpaceUtilsTest.java
@@ -464,7 +464,7 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_1, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
PeopleSpaceTile actual = PeopleSpaceUtils
.augmentTileFromNotification(mContext, tile, sbn);
@@ -482,7 +482,7 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_3, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
PeopleSpaceTile actual = PeopleSpaceUtils
.augmentTileFromNotification(mContext, tile, sbn);
@@ -496,7 +496,7 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_1, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
PeopleSpaceTile actual = PeopleSpaceUtils
.augmentTileFromVisibleNotifications(mContext, tile,
@@ -511,7 +511,7 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_4, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
PeopleSpaceTile actual = PeopleSpaceUtils
.augmentTileFromVisibleNotifications(mContext, tile,
@@ -526,7 +526,7 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_1, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
List<PeopleSpaceTile> actualList = PeopleSpaceUtils
.augmentTilesFromVisibleNotifications(
@@ -545,13 +545,13 @@ public class PeopleSpaceUtilsTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID_1, "userName", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(1)
+ .setUserHandle(new UserHandle(0))
.build();
PeopleSpaceTile tile2 =
new PeopleSpaceTile
.Builder(SHORTCUT_ID_2, "userName2", ICON, new Intent())
.setPackageName(PACKAGE_NAME)
- .setUid(0)
+ .setUserHandle(new UserHandle(0))
.build();
List<PeopleSpaceTile> actualList = PeopleSpaceUtils
.augmentTilesFromVisibleNotifications(mContext, List.of(tile1, tile2),
diff --git a/packages/SystemUI/tests/src/com/android/systemui/people/widget/PeopleSpaceWidgetManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/people/widget/PeopleSpaceWidgetManagerTest.java
index 1c8324c524f4..800d8593035d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/people/widget/PeopleSpaceWidgetManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/people/widget/PeopleSpaceWidgetManagerTest.java
@@ -109,7 +109,7 @@ public class PeopleSpaceWidgetManagerTest extends SysuiTestCase {
new PeopleSpaceTile
.Builder(SHORTCUT_ID, "username", ICON, new Intent())
.setPackageName(TEST_PACKAGE_A)
- .setUid(0)
+ .setUserHandle(new UserHandle(1))
.setNotificationKey(NOTIFICATION_KEY + "1")
.setNotificationContent(NOTIFICATION_CONTENT)
.setNotificationDataUri(URI)