Merge "Revert usage of ParceledListSlice in UI interface" into udc-dev

This commit is contained in:
Reema Bajwa
2023-05-09 19:57:23 +00:00
committed by Android (Google) Code Review
3 changed files with 37 additions and 26 deletions

View File

@@ -19,7 +19,6 @@ package android.credentials.ui;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.content.pm.ParceledListSlice;
import android.os.Parcel;
import android.os.Parcelable;
@@ -36,7 +35,7 @@ import java.util.List;
@TestApi
public final class CreateCredentialProviderData extends ProviderData implements Parcelable {
@NonNull
private final ParceledListSlice<Entry> mSaveEntries;
private final List<Entry> mSaveEntries;
@Nullable
private final Entry mRemoteEntry;
@@ -44,13 +43,13 @@ public final class CreateCredentialProviderData extends ProviderData implements
@NonNull String providerFlattenedComponentName, @NonNull List<Entry> saveEntries,
@Nullable Entry remoteEntry) {
super(providerFlattenedComponentName);
mSaveEntries = new ParceledListSlice<>(saveEntries);
mSaveEntries = new ArrayList<>(saveEntries);
mRemoteEntry = remoteEntry;
}
@NonNull
public List<Entry> getSaveEntries() {
return mSaveEntries.getList();
return mSaveEntries;
}
@Nullable
@@ -61,7 +60,9 @@ public final class CreateCredentialProviderData extends ProviderData implements
private CreateCredentialProviderData(@NonNull Parcel in) {
super(in);
mSaveEntries = in.readParcelable(null, android.content.pm.ParceledListSlice.class);
List<Entry> credentialEntries = new ArrayList<>();
in.readTypedList(credentialEntries, Entry.CREATOR);
mSaveEntries = credentialEntries;
AnnotationValidations.validate(NonNull.class, null, mSaveEntries);
Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
@@ -71,7 +72,7 @@ public final class CreateCredentialProviderData extends ProviderData implements
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeParcelable(mSaveEntries, flags);
dest.writeTypedList(mSaveEntries);
dest.writeTypedObject(mRemoteEntry, flags);
}

View File

@@ -19,7 +19,6 @@ package android.credentials.ui;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.content.pm.ParceledListSlice;
import android.os.Parcel;
import android.os.Parcelable;
@@ -36,11 +35,11 @@ import java.util.List;
@TestApi
public final class GetCredentialProviderData extends ProviderData implements Parcelable {
@NonNull
private final ParceledListSlice<Entry> mCredentialEntries;
private final List<Entry> mCredentialEntries;
@NonNull
private final ParceledListSlice<Entry> mActionChips;
private final List<Entry> mActionChips;
@NonNull
private final ParceledListSlice<AuthenticationEntry> mAuthenticationEntries;
private final List<AuthenticationEntry> mAuthenticationEntries;
@Nullable
private final Entry mRemoteEntry;
@@ -50,25 +49,25 @@ public final class GetCredentialProviderData extends ProviderData implements Par
@NonNull List<AuthenticationEntry> authenticationEntries,
@Nullable Entry remoteEntry) {
super(providerFlattenedComponentName);
mCredentialEntries = new ParceledListSlice<>(credentialEntries);
mActionChips = new ParceledListSlice<>(actionChips);
mAuthenticationEntries = new ParceledListSlice<>(authenticationEntries);
mCredentialEntries = new ArrayList<>(credentialEntries);
mActionChips = new ArrayList<>(actionChips);
mAuthenticationEntries = new ArrayList<>(authenticationEntries);
mRemoteEntry = remoteEntry;
}
@NonNull
public List<Entry> getCredentialEntries() {
return mCredentialEntries.getList();
return mCredentialEntries;
}
@NonNull
public List<Entry> getActionChips() {
return mActionChips.getList();
return mActionChips;
}
@NonNull
public List<AuthenticationEntry> getAuthenticationEntries() {
return mAuthenticationEntries.getList();
return mAuthenticationEntries;
}
@Nullable
@@ -78,16 +77,20 @@ public final class GetCredentialProviderData extends ProviderData implements Par
private GetCredentialProviderData(@NonNull Parcel in) {
super(in);
mCredentialEntries = in.readParcelable(null,
android.content.pm.ParceledListSlice.class);
List<Entry> credentialEntries = new ArrayList<>();
in.readTypedList(credentialEntries, Entry.CREATOR);
mCredentialEntries = credentialEntries;
AnnotationValidations.validate(NonNull.class, null, mCredentialEntries);
mActionChips = in.readParcelable(null,
android.content.pm.ParceledListSlice.class);
List<Entry> actionChips = new ArrayList<>();
in.readTypedList(actionChips, Entry.CREATOR);
mActionChips = actionChips;
AnnotationValidations.validate(NonNull.class, null, mActionChips);
mAuthenticationEntries = in.readParcelable(null,
android.content.pm.ParceledListSlice.class);
List<AuthenticationEntry> authenticationEntries = new ArrayList<>();
in.readTypedList(authenticationEntries, AuthenticationEntry.CREATOR);
mAuthenticationEntries = authenticationEntries;
AnnotationValidations.validate(NonNull.class, null, mAuthenticationEntries);
Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
@@ -97,9 +100,9 @@ public final class GetCredentialProviderData extends ProviderData implements Par
@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
super.writeToParcel(dest, flags);
dest.writeParcelable(mCredentialEntries, flags);
dest.writeParcelable(mActionChips, flags);
dest.writeParcelable(mAuthenticationEntries, flags);
dest.writeTypedList(mCredentialEntries);
dest.writeTypedList(mActionChips);
dest.writeTypedList(mAuthenticationEntries);
dest.writeTypedObject(mRemoteEntry, flags);
}

View File

@@ -33,6 +33,7 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.ResultReceiver;
import android.service.credentials.CredentialProviderInfoFactory;
import android.util.Log;
import android.util.Slog;
import java.util.ArrayList;
@@ -71,6 +72,8 @@ public class CredentialManagerUi {
};
private void handleUiResult(int resultCode, Bundle resultData) {
Log.i("reemademo", "handleUiResult with resultCOde: " + resultCode);
switch (resultCode) {
case UserSelectionDialogResult.RESULT_CODE_DIALOG_COMPLETE_WITH_SELECTION:
mStatus = UiStatus.IN_PROGRESS;
@@ -83,10 +86,14 @@ public class CredentialManagerUi {
}
break;
case UserSelectionDialogResult.RESULT_CODE_DIALOG_USER_CANCELED:
Log.i("reemademo", "RESULT_CODE_DIALOG_USER_CANCELED");
mStatus = UiStatus.TERMINATED;
mCallbacks.onUiCancellation(/* isUserCancellation= */ true);
break;
case UserSelectionDialogResult.RESULT_CODE_CANCELED_AND_LAUNCHED_SETTINGS:
Log.i("reemademo", "RESULT_CODE_CANCELED_AND_LAUNCHED_SETTINGS");
mStatus = UiStatus.TERMINATED;
mCallbacks.onUiCancellation(/* isUserCancellation= */ false);
break;
@@ -95,7 +102,7 @@ public class CredentialManagerUi {
mCallbacks.onUiSelectorInvocationFailure();
break;
default:
Slog.i(TAG, "Unknown error code returned from the UI");
Log.i("reemademo", "Unknown error code returned from the UI");
mStatus = UiStatus.IN_PROGRESS;
mCallbacks.onUiSelectorInvocationFailure();
break;