Merge "Switch the activity parameter to context." into udc-dev
diff --git a/core/api/current.txt b/core/api/current.txt
index 51c6f6a..e7d139d 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -13655,9 +13655,9 @@
public final class CredentialManager {
method public void clearCredentialState(@NonNull android.credentials.ClearCredentialStateRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.credentials.ClearCredentialStateException>);
- method public void createCredential(@NonNull android.credentials.CreateCredentialRequest, @NonNull android.app.Activity, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.CreateCredentialResponse,android.credentials.CreateCredentialException>);
- method public void getCredential(@NonNull android.credentials.GetCredentialRequest, @NonNull android.app.Activity, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
- method public void getCredential(@NonNull android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle, @NonNull android.app.Activity, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
+ method public void createCredential(@NonNull android.content.Context, @NonNull android.credentials.CreateCredentialRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.CreateCredentialResponse,android.credentials.CreateCredentialException>);
+ method public void getCredential(@NonNull android.content.Context, @NonNull android.credentials.GetCredentialRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
+ method public void getCredential(@NonNull android.content.Context, @NonNull android.credentials.PrepareGetCredentialResponse.PendingGetCredentialHandle, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.GetCredentialResponse,android.credentials.GetCredentialException>);
method public boolean isEnabledCredentialProviderService(@NonNull android.content.ComponentName);
method public void prepareGetCredential(@NonNull android.credentials.GetCredentialRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.credentials.PrepareGetCredentialResponse,android.credentials.GetCredentialException>);
method public void registerCredentialDescription(@NonNull android.credentials.RegisterCredentialDescriptionRequest);
diff --git a/core/java/android/credentials/CredentialManager.java b/core/java/android/credentials/CredentialManager.java
index 5579d22..00ce17a 100644
--- a/core/java/android/credentials/CredentialManager.java
+++ b/core/java/android/credentials/CredentialManager.java
@@ -25,11 +25,11 @@
import android.annotation.RequiresPermission;
import android.annotation.SystemService;
import android.annotation.TestApi;
-import android.app.Activity;
import android.app.PendingIntent;
import android.content.ComponentName;
import android.content.Context;
import android.content.IntentSender;
+import android.os.Binder;
import android.os.CancellationSignal;
import android.os.ICancellationSignal;
import android.os.OutcomeReceiver;
@@ -126,20 +126,21 @@
* need additional permission {@link CREDENTIAL_MANAGER_SET_ORIGIN}
* to use this functionality
*
+ * @param context the context used to launch any UI needed; use an activity context to make sure
+ * the UI will be launched within the same task stack
* @param request the request specifying type(s) of credentials to get from the user
- * @param activity the activity used to launch any UI needed
* @param cancellationSignal an optional signal that allows for cancelling this call
* @param executor the callback will take place on this {@link Executor}
* @param callback the callback invoked when the request succeeds or fails
*/
public void getCredential(
+ @NonNull Context context,
@NonNull GetCredentialRequest request,
- @NonNull Activity activity,
@Nullable CancellationSignal cancellationSignal,
@CallbackExecutor @NonNull Executor executor,
@NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
requireNonNull(request, "request must not be null");
- requireNonNull(activity, "activity must not be null");
+ requireNonNull(context, "context must not be null");
requireNonNull(executor, "executor must not be null");
requireNonNull(callback, "callback must not be null");
@@ -153,7 +154,7 @@
cancelRemote =
mService.executeGetCredential(
request,
- new GetCredentialTransport(activity, executor, callback),
+ new GetCredentialTransport(context, executor, callback),
mContext.getOpPackageName());
} catch (RemoteException e) {
e.rethrowFromSystemServer();
@@ -175,21 +176,22 @@
* request through the {@link #prepareGetCredential(
* GetCredentialRequest, CancellationSignal, Executor, OutcomeReceiver)} API.
*
+ * @param context the context used to launch any UI needed; use an activity context to make sure
+ * the UI will be launched within the same task stack
* @param pendingGetCredentialHandle the handle representing the pending operation to resume
- * @param activity the activity used to launch any UI needed
* @param cancellationSignal an optional signal that allows for cancelling this call
* @param executor the callback will take place on this {@link Executor}
* @param callback the callback invoked when the request succeeds or fails
*/
public void getCredential(
+ @NonNull Context context,
@NonNull PrepareGetCredentialResponse.PendingGetCredentialHandle
- pendingGetCredentialHandle,
- @NonNull Activity activity,
+ pendingGetCredentialHandle,
@Nullable CancellationSignal cancellationSignal,
@CallbackExecutor @NonNull Executor executor,
@NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
requireNonNull(pendingGetCredentialHandle, "pendingGetCredentialHandle must not be null");
- requireNonNull(activity, "activity must not be null");
+ requireNonNull(context, "context must not be null");
requireNonNull(executor, "executor must not be null");
requireNonNull(callback, "callback must not be null");
@@ -198,7 +200,7 @@
return;
}
- pendingGetCredentialHandle.show(activity, cancellationSignal, executor, callback);
+ pendingGetCredentialHandle.show(context, cancellationSignal, executor, callback);
}
/**
@@ -207,9 +209,9 @@
*
* <p>This API doesn't invoke any UI. It only performs the preparation work so that you can
* later launch the remaining get-credential operation (involves UIs) through the {@link
- * #getCredential(PrepareGetCredentialResponse.PendingGetCredentialHandle, Activity,
+ * #getCredential(PrepareGetCredentialResponse.PendingGetCredentialHandle, Context,
* CancellationSignal, Executor, OutcomeReceiver)} API which incurs less latency compared to
- * the {@link #getCredential(GetCredentialRequest, Activity, CancellationSignal, Executor,
+ * the {@link #getCredential(GetCredentialRequest, Context, CancellationSignal, Executor,
* OutcomeReceiver)} API that executes the whole operation in one call.
*
* @param request the request specifying type(s) of credentials to get from the user
@@ -262,21 +264,22 @@
* need additional permission {@link CREDENTIAL_MANAGER_SET_ORIGIN}
* to use this functionality
*
+ * @param context the context used to launch any UI needed; use an activity context to make sure
+ * the UI will be launched within the same task stack
* @param request the request specifying type(s) of credentials to get from the user
- * @param activity the activity used to launch any UI needed
* @param cancellationSignal an optional signal that allows for cancelling this call
* @param executor the callback will take place on this {@link Executor}
* @param callback the callback invoked when the request succeeds or fails
*/
public void createCredential(
+ @NonNull Context context,
@NonNull CreateCredentialRequest request,
- @NonNull Activity activity,
@Nullable CancellationSignal cancellationSignal,
@CallbackExecutor @NonNull Executor executor,
@NonNull
OutcomeReceiver<CreateCredentialResponse, CreateCredentialException> callback) {
requireNonNull(request, "request must not be null");
- requireNonNull(activity, "activity must not be null");
+ requireNonNull(context, "context must not be null");
requireNonNull(executor, "executor must not be null");
requireNonNull(callback, "callback must not be null");
@@ -290,7 +293,7 @@
cancelRemote =
mService.executeCreateCredential(
request,
- new CreateCredentialTransport(activity, executor, callback),
+ new CreateCredentialTransport(context, executor, callback),
mContext.getOpPackageName());
} catch (RemoteException e) {
e.rethrowFromSystemServer();
@@ -547,14 +550,24 @@
@Override
public void onResponse(PrepareGetCredentialResponseInternal response) {
- mExecutor.execute(() -> mCallback.onResult(
- new PrepareGetCredentialResponse(response, mGetCredentialTransport)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onResult(
+ new PrepareGetCredentialResponse(response, mGetCredentialTransport)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onError(String errorType, String message) {
- mExecutor.execute(
- () -> mCallback.onError(new GetCredentialException(errorType, message)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(
+ () -> mCallback.onError(new GetCredentialException(errorType, message)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@@ -587,7 +600,12 @@
@Override
public void onResponse(GetCredentialResponse response) {
if (mCallback != null) {
- mCallback.onResponse(response);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mCallback.onResponse(response);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
} else {
Log.d(TAG, "Unexpected onResponse call before the show invocation");
}
@@ -596,7 +614,12 @@
@Override
public void onError(String errorType, String message) {
if (mCallback != null) {
- mCallback.onError(errorType, message);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mCallback.onError(errorType, message);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
} else {
Log.d(TAG, "Unexpected onError call before the show invocation");
}
@@ -606,15 +629,15 @@
private static class GetCredentialTransport extends IGetCredentialCallback.Stub {
// TODO: listen for cancellation to release callback.
- private final Activity mActivity;
+ private final Context mContext;
private final Executor mExecutor;
private final OutcomeReceiver<GetCredentialResponse, GetCredentialException> mCallback;
private GetCredentialTransport(
- Activity activity,
+ Context context,
Executor executor,
OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
- mActivity = activity;
+ mContext = context;
mExecutor = executor;
mCallback = callback;
}
@@ -622,42 +645,57 @@
@Override
public void onPendingIntent(PendingIntent pendingIntent) {
try {
- mActivity.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
+ mContext.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(
TAG,
"startIntentSender() failed for intent:" + pendingIntent.getIntentSender(),
e);
- mExecutor.execute(() -> mCallback.onError(
- new GetCredentialException(GetCredentialException.TYPE_UNKNOWN)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onError(
+ new GetCredentialException(GetCredentialException.TYPE_UNKNOWN)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@Override
public void onResponse(GetCredentialResponse response) {
- mExecutor.execute(() -> mCallback.onResult(response));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onResult(response));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onError(String errorType, String message) {
- mExecutor.execute(
- () -> mCallback.onError(new GetCredentialException(errorType, message)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(
+ () -> mCallback.onError(new GetCredentialException(errorType, message)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
private static class CreateCredentialTransport extends ICreateCredentialCallback.Stub {
// TODO: listen for cancellation to release callback.
- private final Activity mActivity;
+ private final Context mContext;
private final Executor mExecutor;
private final OutcomeReceiver<CreateCredentialResponse, CreateCredentialException>
mCallback;
private CreateCredentialTransport(
- Activity activity,
+ Context context,
Executor executor,
OutcomeReceiver<CreateCredentialResponse, CreateCredentialException> callback) {
- mActivity = activity;
+ mContext = context;
mExecutor = executor;
mCallback = callback;
}
@@ -665,26 +703,41 @@
@Override
public void onPendingIntent(PendingIntent pendingIntent) {
try {
- mActivity.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
+ mContext.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(
TAG,
"startIntentSender() failed for intent:" + pendingIntent.getIntentSender(),
e);
- mExecutor.execute(() -> mCallback.onError(
- new CreateCredentialException(CreateCredentialException.TYPE_UNKNOWN)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onError(
+ new CreateCredentialException(CreateCredentialException.TYPE_UNKNOWN)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@Override
public void onResponse(CreateCredentialResponse response) {
- mExecutor.execute(() -> mCallback.onResult(response));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onResult(response));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onError(String errorType, String message) {
- mExecutor.execute(
- () -> mCallback.onError(new CreateCredentialException(errorType, message)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(
+ () -> mCallback.onError(new CreateCredentialException(errorType, message)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@@ -702,13 +755,24 @@
@Override
public void onSuccess() {
- mCallback.onResult(null);
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mCallback.onResult(null);
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onError(String errorType, String message) {
- mExecutor.execute(
- () -> mCallback.onError(new ClearCredentialStateException(errorType, message)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(
+ () -> mCallback.onError(
+ new ClearCredentialStateException(errorType, message)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
@@ -725,18 +789,34 @@
}
public void onResponse(Void result) {
- mExecutor.execute(() -> mCallback.onResult(result));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onResult(result));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onResponse() {
- mExecutor.execute(() -> mCallback.onResult(null));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(() -> mCallback.onResult(null));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
@Override
public void onError(String errorType, String message) {
- mExecutor.execute(
- () -> mCallback.onError(new SetEnabledProvidersException(errorType, message)));
+ final long identity = Binder.clearCallingIdentity();
+ try {
+ mExecutor.execute(
+ () -> mCallback.onError(
+ new SetEnabledProvidersException(errorType, message)));
+ } finally {
+ Binder.restoreCallingIdentity(identity);
+ }
}
}
}
diff --git a/core/java/android/credentials/PrepareGetCredentialResponse.java b/core/java/android/credentials/PrepareGetCredentialResponse.java
index 81e9068..056b18a 100644
--- a/core/java/android/credentials/PrepareGetCredentialResponse.java
+++ b/core/java/android/credentials/PrepareGetCredentialResponse.java
@@ -24,6 +24,7 @@
import android.annotation.RequiresPermission;
import android.app.Activity;
import android.app.PendingIntent;
+import android.content.Context;
import android.content.IntentSender;
import android.os.CancellationSignal;
import android.os.OutcomeReceiver;
@@ -67,7 +68,7 @@
}
/** @hide */
- void show(@NonNull Activity activity, @Nullable CancellationSignal cancellationSignal,
+ void show(@NonNull Context context, @Nullable CancellationSignal cancellationSignal,
@CallbackExecutor @NonNull Executor executor,
@NonNull OutcomeReceiver<GetCredentialResponse, GetCredentialException> callback) {
if (mPendingIntent == null) {
@@ -80,7 +81,7 @@
@Override
public void onPendingIntent(PendingIntent pendingIntent) {
try {
- activity.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
+ context.startIntentSender(pendingIntent.getIntentSender(), null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(TAG, "startIntentSender() failed for intent for show()", e);
executor.execute(() -> callback.onError(
@@ -101,7 +102,7 @@
});
try {
- activity.startIntentSender(mPendingIntent.getIntentSender(), null, 0, 0, 0);
+ context.startIntentSender(mPendingIntent.getIntentSender(), null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.e(TAG, "startIntentSender() failed for intent for show()", e);
executor.execute(() -> callback.onError(
diff --git a/core/tests/coretests/src/android/credentials/CredentialManagerTest.java b/core/tests/coretests/src/android/credentials/CredentialManagerTest.java
index c7e0261..b0d5240 100644
--- a/core/tests/coretests/src/android/credentials/CredentialManagerTest.java
+++ b/core/tests/coretests/src/android/credentials/CredentialManagerTest.java
@@ -144,7 +144,7 @@
public void testGetCredential_nullRequest() {
GetCredentialRequest nullRequest = null;
assertThrows(NullPointerException.class,
- () -> mCredentialManager.getCredential(nullRequest, mMockActivity, null, mExecutor,
+ () -> mCredentialManager.getCredential(mMockActivity, nullRequest, null, mExecutor,
result -> {
}));
}
@@ -152,7 +152,7 @@
@Test
public void testGetCredential_nullActivity() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.getCredential(mGetRequest, null, null, mExecutor,
+ () -> mCredentialManager.getCredential(null, mGetRequest, null, mExecutor,
result -> {
}));
}
@@ -160,7 +160,7 @@
@Test
public void testGetCredential_nullExecutor() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.getCredential(mGetRequest, mMockActivity, null, null,
+ () -> mCredentialManager.getCredential(mMockActivity, mGetRequest, null, null,
result -> {
}));
}
@@ -168,7 +168,7 @@
@Test
public void testGetCredential_nullCallback() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.getCredential(mGetRequest, mMockActivity, null, null,
+ () -> mCredentialManager.getCredential(mMockActivity, mGetRequest, null, null,
null));
}
@@ -184,7 +184,7 @@
when(mMockCredentialManagerService.executeGetCredential(any(), callbackCaptor.capture(),
any())).thenReturn(mock(ICancellationSignal.class));
- mCredentialManager.getCredential(mGetRequest, mMockActivity, null, mExecutor, callback);
+ mCredentialManager.getCredential(mMockActivity, mGetRequest, null, mExecutor, callback);
verify(mMockCredentialManagerService).executeGetCredential(any(), any(), eq(mPackageName));
callbackCaptor.getValue().onError(GetCredentialException.TYPE_NO_CREDENTIAL,
@@ -200,7 +200,7 @@
final CancellationSignal cancellation = new CancellationSignal();
cancellation.cancel();
- mCredentialManager.getCredential(mGetRequest, mMockActivity, cancellation, mExecutor,
+ mCredentialManager.getCredential(mMockActivity, mGetRequest, cancellation, mExecutor,
result -> {
});
@@ -218,7 +218,7 @@
when(mMockCredentialManagerService.executeGetCredential(any(), any(), any())).thenReturn(
serviceSignal);
- mCredentialManager.getCredential(mGetRequest, mMockActivity, cancellation, mExecutor,
+ mCredentialManager.getCredential(mMockActivity, mGetRequest, cancellation, mExecutor,
callback);
verify(mMockCredentialManagerService).executeGetCredential(any(), any(), eq(mPackageName));
@@ -241,7 +241,7 @@
when(mMockCredentialManagerService.executeGetCredential(any(), callbackCaptor.capture(),
any())).thenReturn(mock(ICancellationSignal.class));
- mCredentialManager.getCredential(mGetRequest, mMockActivity, null, mExecutor, callback);
+ mCredentialManager.getCredential(mMockActivity, mGetRequest, null, mExecutor, callback);
verify(mMockCredentialManagerService).executeGetCredential(any(), any(), eq(mPackageName));
callbackCaptor.getValue().onResponse(new GetCredentialResponse(cred));
@@ -253,7 +253,7 @@
@Test
public void testCreateCredential_nullRequest() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.createCredential(null, mMockActivity, null, mExecutor,
+ () -> mCredentialManager.createCredential(mMockActivity, null, null, mExecutor,
result -> {
}));
}
@@ -261,7 +261,7 @@
@Test
public void testCreateCredential_nullActivity() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.createCredential(mCreateRequest, null, null, mExecutor,
+ () -> mCredentialManager.createCredential(null, mCreateRequest, null, mExecutor,
result -> {
}));
}
@@ -269,7 +269,7 @@
@Test
public void testCreateCredential_nullExecutor() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.createCredential(mCreateRequest, mMockActivity, null, null,
+ () -> mCredentialManager.createCredential(mMockActivity, mCreateRequest, null, null,
result -> {
}));
}
@@ -277,7 +277,7 @@
@Test
public void testCreateCredential_nullCallback() {
assertThrows(NullPointerException.class,
- () -> mCredentialManager.createCredential(mCreateRequest, mMockActivity, null,
+ () -> mCredentialManager.createCredential(mMockActivity, mCreateRequest, null,
mExecutor, null));
}
@@ -286,7 +286,7 @@
final CancellationSignal cancellation = new CancellationSignal();
cancellation.cancel();
- mCredentialManager.createCredential(mCreateRequest, mMockActivity, cancellation, mExecutor,
+ mCredentialManager.createCredential(mMockActivity, mCreateRequest, cancellation, mExecutor,
result -> {
});
@@ -304,7 +304,7 @@
when(mMockCredentialManagerService.executeCreateCredential(any(), any(), any())).thenReturn(
serviceSignal);
- mCredentialManager.createCredential(mCreateRequest, mMockActivity, cancellation, mExecutor,
+ mCredentialManager.createCredential(mMockActivity, mCreateRequest, cancellation, mExecutor,
callback);
verify(mMockCredentialManagerService).executeCreateCredential(any(), any(),
@@ -326,7 +326,7 @@
when(mMockCredentialManagerService.executeCreateCredential(any(), callbackCaptor.capture(),
any())).thenReturn(mock(ICancellationSignal.class));
- mCredentialManager.createCredential(mCreateRequest, mMockActivity, null, mExecutor,
+ mCredentialManager.createCredential(mMockActivity, mCreateRequest, null, mExecutor,
callback);
verify(mMockCredentialManagerService).executeCreateCredential(any(), any(),
eq(mPackageName));
@@ -353,7 +353,7 @@
when(mMockCredentialManagerService.executeCreateCredential(any(), callbackCaptor.capture(),
any())).thenReturn(mock(ICancellationSignal.class));
- mCredentialManager.createCredential(mCreateRequest, mMockActivity, null, mExecutor,
+ mCredentialManager.createCredential(mMockActivity, mCreateRequest, null, mExecutor,
callback);
verify(mMockCredentialManagerService).executeCreateCredential(any(), any(),
eq(mPackageName));