Merge "Convert InstantAppRequestInfo to getters and add @MainThread" into rvc-dev am: 5051748f22

Change-Id: I0064d163537e8711296b8c8b56b0d8c468552ba7
This commit is contained in:
Winson Chiu
2020-03-19 21:08:34 +00:00
committed by Automerger Merge Worker
4 changed files with 105 additions and 60 deletions

View File

@@ -615,11 +615,11 @@ package android.app {
method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
}
public static final class InstantAppResolverService.InstantAppResolutionCallback {
@@ -2041,13 +2041,13 @@ package android.content.pm {
public final class InstantAppRequestInfo implements android.os.Parcelable {
ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
method public int describeContents();
method @Nullable public int[] getHostDigestPrefix();
method @NonNull public android.content.Intent getIntent();
method @NonNull public String getToken();
method @NonNull public android.os.UserHandle getUserHandle();
method public boolean isRequesterInstantApp();
method public void writeToParcel(@NonNull android.os.Parcel, int);
field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
field @Nullable public final int[] hostDigestPrefix;
field @NonNull public final android.content.Intent intent;
field public final boolean isRequesterInstantApp;
field @NonNull public final String token;
field @NonNull public final android.os.UserHandle userHandle;
}
public final class InstantAppResolveInfo implements android.os.Parcelable {

View File

@@ -16,6 +16,7 @@
package android.app;
import android.annotation.MainThread;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
@@ -225,11 +226,12 @@ public abstract class InstantAppResolverService extends Service {
*
* @see InstantAppResolveInfo
*/
@MainThread
public void onGetInstantAppResolveInfo(@NonNull InstantAppRequestInfo request,
@NonNull InstantAppResolutionCallback callback) {
// If not overridden, forward to the old method.
onGetInstantAppResolveInfo(request.intent, request.hostDigestPrefix, request.userHandle,
request.token, callback);
onGetInstantAppResolveInfo(request.getIntent(), request.getHostDigestPrefix(),
request.getUserHandle(), request.getToken(), callback);
}
/**
@@ -241,11 +243,12 @@ public abstract class InstantAppResolverService extends Service {
* @param request The parameters for this resolution request
* @param callback The {@link InstantAppResolutionCallback} to provide results to.
*/
@MainThread
public void onGetInstantAppIntentFilter(@NonNull InstantAppRequestInfo request,
@NonNull InstantAppResolutionCallback callback) {
// If not overridden, forward to the old method.
onGetInstantAppIntentFilter(request.intent, request.hostDigestPrefix, request.userHandle,
request.token, callback);
onGetInstantAppIntentFilter(request.getIntent(), request.getHostDigestPrefix(),
request.getUserHandle(), request.getToken(), callback);
}
/**
@@ -268,7 +271,7 @@ public abstract class InstantAppResolverService extends Service {
public void getInstantAppResolveInfoList(InstantAppRequestInfo request, int sequence,
IRemoteCallback callback) {
if (DEBUG_INSTANT) {
Slog.v(TAG, "[" + request.token + "] Phase1 called; posting");
Slog.v(TAG, "[" + request.getToken() + "] Phase1 called; posting");
}
final SomeArgs args = SomeArgs.obtain();
args.arg1 = request;
@@ -281,7 +284,7 @@ public abstract class InstantAppResolverService extends Service {
public void getInstantAppIntentFilterList(InstantAppRequestInfo request,
IRemoteCallback callback) {
if (DEBUG_INSTANT) {
Slog.v(TAG, "[" + request.token + "] Phase2 called; posting");
Slog.v(TAG, "[" + request.getToken() + "] Phase2 called; posting");
}
final SomeArgs args = SomeArgs.obtain();
args.arg1 = request;
@@ -336,9 +339,9 @@ public abstract class InstantAppResolverService extends Service {
args.recycle();
final int sequence = message.arg1;
if (DEBUG_INSTANT) {
Slog.d(TAG, "[" + request.token + "] Phase1 request;"
+ " prefix: " + Arrays.toString(request.hostDigestPrefix)
+ ", userId: " + request.userHandle.getIdentifier());
Slog.d(TAG, "[" + request.getToken() + "] Phase1 request;"
+ " prefix: " + Arrays.toString(request.getHostDigestPrefix())
+ ", userId: " + request.getUserHandle().getIdentifier());
}
onGetInstantAppResolveInfo(request,
new InstantAppResolutionCallback(sequence, callback));
@@ -350,9 +353,9 @@ public abstract class InstantAppResolverService extends Service {
final IRemoteCallback callback = (IRemoteCallback) args.arg2;
args.recycle();
if (DEBUG_INSTANT) {
Slog.d(TAG, "[" + request.token + "] Phase2 request;"
+ " prefix: " + Arrays.toString(request.hostDigestPrefix)
+ ", userId: " + request.userHandle.getIdentifier());
Slog.d(TAG, "[" + request.getToken() + "] Phase2 request;"
+ " prefix: " + Arrays.toString(request.getHostDigestPrefix())
+ ", userId: " + request.getUserHandle().getIdentifier());
}
onGetInstantAppIntentFilter(request,
new InstantAppResolutionCallback(-1 /*sequence*/, callback));

View File

@@ -31,7 +31,7 @@ import com.android.internal.util.DataClass;
* @hide
*/
@SystemApi
@DataClass(genParcelable = true, genConstructor = true, genAidl = true)
@DataClass(genParcelable = true, genConstructor = true, genAidl = true, genGetters = true)
public final class InstantAppRequestInfo implements Parcelable {
/**
@@ -40,26 +40,26 @@ public final class InstantAppRequestInfo implements Parcelable {
* host + path of the data, if defined.
*/
@NonNull
public final Intent intent;
private final Intent mIntent;
/** The hash prefix of the instant app's domain or null if no host is defined. */
@Nullable
public final int[] hostDigestPrefix;
private final int[] mHostDigestPrefix;
/** The user requesting the instant application */
@NonNull
public final UserHandle userHandle;
private final UserHandle mUserHandle;
/** Whether or not the requesting package was an instant app itself */
public final boolean isRequesterInstantApp;
private final boolean mRequesterInstantApp;
/** A unique identifier */
@NonNull
public final String token;
private final String mToken;
// Code below generated by codegen v1.0.13.
// Code below generated by codegen v1.0.15.
//
// DO NOT MODIFY!
// CHECKSTYLE:OFF Generated code
@@ -83,7 +83,7 @@ public final class InstantAppRequestInfo implements Parcelable {
* The hash prefix of the instant app's domain or null if no host is defined.
* @param userHandle
* The user requesting the instant application
* @param isRequesterInstantApp
* @param requesterInstantApp
* Whether or not the requesting package was an instant app itself
* @param token
* A unique identifier
@@ -93,23 +93,65 @@ public final class InstantAppRequestInfo implements Parcelable {
@NonNull Intent intent,
@Nullable int[] hostDigestPrefix,
@NonNull UserHandle userHandle,
boolean isRequesterInstantApp,
boolean requesterInstantApp,
@NonNull String token) {
this.intent = intent;
this.mIntent = intent;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, intent);
this.hostDigestPrefix = hostDigestPrefix;
this.userHandle = userHandle;
NonNull.class, null, mIntent);
this.mHostDigestPrefix = hostDigestPrefix;
this.mUserHandle = userHandle;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, userHandle);
this.isRequesterInstantApp = isRequesterInstantApp;
this.token = token;
NonNull.class, null, mUserHandle);
this.mRequesterInstantApp = requesterInstantApp;
this.mToken = token;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, token);
NonNull.class, null, mToken);
// onConstructed(); // You can define this method to get a callback
}
/**
* The sanitized {@link Intent} used for resolution. A sanitized Intent is an intent with
* potential PII removed from the original intent. Fields removed include extras and the
* host + path of the data, if defined.
*/
@DataClass.Generated.Member
public @NonNull Intent getIntent() {
return mIntent;
}
/**
* The hash prefix of the instant app's domain or null if no host is defined.
*/
@DataClass.Generated.Member
public @Nullable int[] getHostDigestPrefix() {
return mHostDigestPrefix;
}
/**
* The user requesting the instant application
*/
@DataClass.Generated.Member
public @NonNull UserHandle getUserHandle() {
return mUserHandle;
}
/**
* Whether or not the requesting package was an instant app itself
*/
@DataClass.Generated.Member
public boolean isRequesterInstantApp() {
return mRequesterInstantApp;
}
/**
* A unique identifier
*/
@DataClass.Generated.Member
public @NonNull String getToken() {
return mToken;
}
@Override
@DataClass.Generated.Member
public void writeToParcel(@NonNull android.os.Parcel dest, int flags) {
@@ -117,13 +159,13 @@ public final class InstantAppRequestInfo implements Parcelable {
// void parcelFieldName(Parcel dest, int flags) { ... }
byte flg = 0;
if (isRequesterInstantApp) flg |= 0x8;
if (hostDigestPrefix != null) flg |= 0x2;
if (mRequesterInstantApp) flg |= 0x8;
if (mHostDigestPrefix != null) flg |= 0x2;
dest.writeByte(flg);
dest.writeTypedObject(intent, flags);
if (hostDigestPrefix != null) dest.writeIntArray(hostDigestPrefix);
dest.writeTypedObject(userHandle, flags);
dest.writeString(token);
dest.writeTypedObject(mIntent, flags);
if (mHostDigestPrefix != null) dest.writeIntArray(mHostDigestPrefix);
dest.writeTypedObject(mUserHandle, flags);
dest.writeString(mToken);
}
@Override
@@ -138,23 +180,23 @@ public final class InstantAppRequestInfo implements Parcelable {
// static FieldType unparcelFieldName(Parcel in) { ... }
byte flg = in.readByte();
boolean _isRequesterInstantApp = (flg & 0x8) != 0;
Intent _intent = (Intent) in.readTypedObject(Intent.CREATOR);
int[] _hostDigestPrefix = (flg & 0x2) == 0 ? null : in.createIntArray();
UserHandle _userHandle = (UserHandle) in.readTypedObject(UserHandle.CREATOR);
String _token = in.readString();
boolean requesterInstantApp = (flg & 0x8) != 0;
Intent intent = (Intent) in.readTypedObject(Intent.CREATOR);
int[] hostDigestPrefix = (flg & 0x2) == 0 ? null : in.createIntArray();
UserHandle userHandle = (UserHandle) in.readTypedObject(UserHandle.CREATOR);
String token = in.readString();
this.intent = _intent;
this.mIntent = intent;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, intent);
this.hostDigestPrefix = _hostDigestPrefix;
this.userHandle = _userHandle;
NonNull.class, null, mIntent);
this.mHostDigestPrefix = hostDigestPrefix;
this.mUserHandle = userHandle;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, userHandle);
this.isRequesterInstantApp = _isRequesterInstantApp;
this.token = _token;
NonNull.class, null, mUserHandle);
this.mRequesterInstantApp = requesterInstantApp;
this.mToken = token;
com.android.internal.util.AnnotationValidations.validate(
NonNull.class, null, token);
NonNull.class, null, mToken);
// onConstructed(); // You can define this method to get a callback
}
@@ -174,10 +216,10 @@ public final class InstantAppRequestInfo implements Parcelable {
};
@DataClass.Generated(
time = 1574373347443L,
codegenVersion = "1.0.13",
time = 1583964236162L,
codegenVersion = "1.0.15",
sourceFile = "frameworks/base/core/java/android/content/pm/InstantAppRequestInfo.java",
inputSignatures = "public final @android.annotation.NonNull android.content.Intent intent\npublic final @android.annotation.Nullable int[] hostDigestPrefix\npublic final @android.annotation.NonNull android.os.UserHandle userHandle\npublic final boolean isRequesterInstantApp\npublic final @android.annotation.NonNull java.lang.String token\nclass InstantAppRequestInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=true, genAidl=true)")
inputSignatures = "private final @android.annotation.NonNull android.content.Intent mIntent\nprivate final @android.annotation.Nullable int[] mHostDigestPrefix\nprivate final @android.annotation.NonNull android.os.UserHandle mUserHandle\nprivate final boolean mRequesterInstantApp\nprivate final @android.annotation.NonNull java.lang.String mToken\nclass InstantAppRequestInfo extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genParcelable=true, genConstructor=true, genAidl=true, genGetters=true)")
@Deprecated
private void __metadata() {}

View File

@@ -92,7 +92,7 @@ final class InstantAppResolverConnection implements DeathRecipient {
IInstantAppResolver target = null;
try {
try {
target = getRemoteInstanceLazy(request.token);
target = getRemoteInstanceLazy(request.getToken());
} catch (TimeoutException e) {
throw new ConnectionException(ConnectionException.FAILURE_BIND);
} catch (InterruptedException e) {
@@ -126,7 +126,7 @@ final class InstantAppResolverConnection implements DeathRecipient {
}
};
try {
getRemoteInstanceLazy(request.token)
getRemoteInstanceLazy(request.getToken())
.getInstantAppIntentFilterList(request, remoteCallback);
} catch (TimeoutException e) {
throw new ConnectionException(ConnectionException.FAILURE_BIND);