summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
authorMehdi Alizadeh <mett@google.com>2019-04-16 00:34:13 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-04-16 00:34:13 +0000
commit6164eb6a8d434466fecc9276d0652d99caeeadf0 (patch)
treecfd5504e45665e3707bb9f3fcca196c6ca8b5bb2 /core/java/android
parent786714e52678565e35f1bd4276bdee9c5a6a5461 (diff)
parent08c5083da30ae36b093113a839321853956af443 (diff)
Merge "Add new constructors for mandatory fields in AppTarget.Builder" into qt-dev
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/prediction/AppTarget.java53
1 files changed, 39 insertions, 14 deletions
diff --git a/core/java/android/app/prediction/AppTarget.java b/core/java/android/app/prediction/AppTarget.java
index ed45b2f45383..4704661c2b24 100644
--- a/core/java/android/app/prediction/AppTarget.java
+++ b/core/java/android/app/prediction/AppTarget.java
@@ -204,24 +204,49 @@ public final class AppTarget implements Parcelable {
private int mRank;
/**
- * @param id A unique id for this launchable target.
+ * @deprecated Use the other Builder constructors.
* @hide
*/
- @SystemApi
- @TestApi
+ @Deprecated
public Builder(@NonNull AppTargetId id) {
mId = id;
}
/**
- * Sets the target to be an app.
- *
- * @param packageName PackageName of the app
+ * @param id A unique id for this launchable target.
+ * @param packageName PackageName of the target.
* @param user The UserHandle of the user which this target belongs to.
- *
- * @throws IllegalArgumentException is the target is already set
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ public Builder(@NonNull AppTargetId id, @NonNull String packageName,
+ @NonNull UserHandle user) {
+ mId = Preconditions.checkNotNull(id);
+ mPackageName = Preconditions.checkNotNull(packageName);
+ mUser = Preconditions.checkNotNull(user);
+ }
+
+ /**
+ * @param id A unique id for this launchable target.
+ * @param info The ShortcutInfo that represents this launchable target.
+ * @hide
+ */
+ @SystemApi
+ @TestApi
+ public Builder(@NonNull AppTargetId id, @NonNull ShortcutInfo info) {
+ mId = Preconditions.checkNotNull(id);
+ mShortcutInfo = Preconditions.checkNotNull(info);
+ mPackageName = info.getPackage();
+ mUser = info.getUserHandle();
+ }
+
+ /**
+ * @deprecated Use the appropriate constructor.
+ * @hide
*/
@NonNull
+ @Deprecated
public Builder setTarget(@NonNull String packageName, @NonNull UserHandle user) {
if (mPackageName != null) {
throw new IllegalArgumentException("Target is already set");
@@ -232,11 +257,11 @@ public final class AppTarget implements Parcelable {
}
/**
- * Sets the target to be a ShortcutInfo.
- *
- * @throws IllegalArgumentException is the target is already set
+ * @deprecated Use the appropriate constructor.
+ * @hide
*/
@NonNull
+ @Deprecated
public Builder setTarget(@NonNull ShortcutInfo info) {
setTarget(info.getPackage(), info.getUserHandle());
mShortcutInfo = Preconditions.checkNotNull(info);
@@ -244,7 +269,7 @@ public final class AppTarget implements Parcelable {
}
/**
- * Sets the className for the target
+ * Sets the className for the target.
*/
@NonNull
public Builder setClassName(@NonNull String className) {
@@ -253,7 +278,7 @@ public final class AppTarget implements Parcelable {
}
/**
- * Sets the rank of the for the target.
+ * Sets the rank of the target.
*/
@NonNull
public Builder setRank(@IntRange(from = 0) int rank) {
@@ -274,7 +299,7 @@ public final class AppTarget implements Parcelable {
@NonNull
public AppTarget build() {
if (mPackageName == null) {
- throw new IllegalStateException("No target set");
+ throw new IllegalStateException("No target is set");
}
return new AppTarget(mId, mPackageName, mUser, mShortcutInfo, mClassName, mRank);
}