Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ab22ab0b authored by Reema Bajwa's avatar Reema Bajwa Committed by Automerger Merge Worker
Browse files

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

parents bfc66574 a24961f0
Loading
Loading
Loading
Loading
+7 −6
Original line number Original line Diff line number Diff line
@@ -19,7 +19,6 @@ package android.credentials.ui;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.annotation.TestApi;
import android.content.pm.ParceledListSlice;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


@@ -36,7 +35,7 @@ import java.util.List;
@TestApi
@TestApi
public final class CreateCredentialProviderData extends ProviderData implements Parcelable {
public final class CreateCredentialProviderData extends ProviderData implements Parcelable {
    @NonNull
    @NonNull
    private final ParceledListSlice<Entry> mSaveEntries;
    private final List<Entry> mSaveEntries;
    @Nullable
    @Nullable
    private final Entry mRemoteEntry;
    private final Entry mRemoteEntry;


@@ -44,13 +43,13 @@ public final class CreateCredentialProviderData extends ProviderData implements
            @NonNull String providerFlattenedComponentName, @NonNull List<Entry> saveEntries,
            @NonNull String providerFlattenedComponentName, @NonNull List<Entry> saveEntries,
            @Nullable Entry remoteEntry) {
            @Nullable Entry remoteEntry) {
        super(providerFlattenedComponentName);
        super(providerFlattenedComponentName);
        mSaveEntries = new ParceledListSlice<>(saveEntries);
        mSaveEntries = new ArrayList<>(saveEntries);
        mRemoteEntry = remoteEntry;
        mRemoteEntry = remoteEntry;
    }
    }


    @NonNull
    @NonNull
    public List<Entry> getSaveEntries() {
    public List<Entry> getSaveEntries() {
        return mSaveEntries.getList();
        return mSaveEntries;
    }
    }


    @Nullable
    @Nullable
@@ -61,7 +60,9 @@ public final class CreateCredentialProviderData extends ProviderData implements
    private CreateCredentialProviderData(@NonNull Parcel in) {
    private CreateCredentialProviderData(@NonNull Parcel in) {
        super(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);
        AnnotationValidations.validate(NonNull.class, null, mSaveEntries);


        Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
        Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
@@ -71,7 +72,7 @@ public final class CreateCredentialProviderData extends ProviderData implements
    @Override
    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        super.writeToParcel(dest, flags);
        super.writeToParcel(dest, flags);
        dest.writeParcelable(mSaveEntries, flags);
        dest.writeTypedList(mSaveEntries);
        dest.writeTypedObject(mRemoteEntry, flags);
        dest.writeTypedObject(mRemoteEntry, flags);
    }
    }


+22 −19
Original line number Original line Diff line number Diff line
@@ -19,7 +19,6 @@ package android.credentials.ui;
import android.annotation.NonNull;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.annotation.TestApi;
import android.annotation.TestApi;
import android.content.pm.ParceledListSlice;
import android.os.Parcel;
import android.os.Parcel;
import android.os.Parcelable;
import android.os.Parcelable;


@@ -36,11 +35,11 @@ import java.util.List;
@TestApi
@TestApi
public final class GetCredentialProviderData extends ProviderData implements Parcelable {
public final class GetCredentialProviderData extends ProviderData implements Parcelable {
    @NonNull
    @NonNull
    private final ParceledListSlice<Entry> mCredentialEntries;
    private final List<Entry> mCredentialEntries;
    @NonNull
    @NonNull
    private final ParceledListSlice<Entry> mActionChips;
    private final List<Entry> mActionChips;
    @NonNull
    @NonNull
    private final ParceledListSlice<AuthenticationEntry> mAuthenticationEntries;
    private final List<AuthenticationEntry> mAuthenticationEntries;
    @Nullable
    @Nullable
    private final Entry mRemoteEntry;
    private final Entry mRemoteEntry;


@@ -50,25 +49,25 @@ public final class GetCredentialProviderData extends ProviderData implements Par
            @NonNull List<AuthenticationEntry> authenticationEntries,
            @NonNull List<AuthenticationEntry> authenticationEntries,
            @Nullable Entry remoteEntry) {
            @Nullable Entry remoteEntry) {
        super(providerFlattenedComponentName);
        super(providerFlattenedComponentName);
        mCredentialEntries = new ParceledListSlice<>(credentialEntries);
        mCredentialEntries = new ArrayList<>(credentialEntries);
        mActionChips = new ParceledListSlice<>(actionChips);
        mActionChips = new ArrayList<>(actionChips);
        mAuthenticationEntries = new ParceledListSlice<>(authenticationEntries);
        mAuthenticationEntries = new ArrayList<>(authenticationEntries);
        mRemoteEntry = remoteEntry;
        mRemoteEntry = remoteEntry;
    }
    }


    @NonNull
    @NonNull
    public List<Entry> getCredentialEntries() {
    public List<Entry> getCredentialEntries() {
        return mCredentialEntries.getList();
        return mCredentialEntries;
    }
    }


    @NonNull
    @NonNull
    public List<Entry> getActionChips() {
    public List<Entry> getActionChips() {
        return mActionChips.getList();
        return mActionChips;
    }
    }


    @NonNull
    @NonNull
    public List<AuthenticationEntry> getAuthenticationEntries() {
    public List<AuthenticationEntry> getAuthenticationEntries() {
        return mAuthenticationEntries.getList();
        return mAuthenticationEntries;
    }
    }


    @Nullable
    @Nullable
@@ -78,16 +77,20 @@ public final class GetCredentialProviderData extends ProviderData implements Par


    private GetCredentialProviderData(@NonNull Parcel in) {
    private GetCredentialProviderData(@NonNull Parcel in) {
        super(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);
        AnnotationValidations.validate(NonNull.class, null, mCredentialEntries);


        mActionChips = in.readParcelable(null,
        List<Entry> actionChips  = new ArrayList<>();
                android.content.pm.ParceledListSlice.class);
        in.readTypedList(actionChips, Entry.CREATOR);
        mActionChips = actionChips;
        AnnotationValidations.validate(NonNull.class, null, mActionChips);
        AnnotationValidations.validate(NonNull.class, null, mActionChips);


        mAuthenticationEntries = in.readParcelable(null,
        List<AuthenticationEntry> authenticationEntries  = new ArrayList<>();
                android.content.pm.ParceledListSlice.class);
        in.readTypedList(authenticationEntries, AuthenticationEntry.CREATOR);
        mAuthenticationEntries = authenticationEntries;
        AnnotationValidations.validate(NonNull.class, null, mAuthenticationEntries);
        AnnotationValidations.validate(NonNull.class, null, mAuthenticationEntries);


        Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
        Entry remoteEntry = in.readTypedObject(Entry.CREATOR);
@@ -97,9 +100,9 @@ public final class GetCredentialProviderData extends ProviderData implements Par
    @Override
    @Override
    public void writeToParcel(@NonNull Parcel dest, int flags) {
    public void writeToParcel(@NonNull Parcel dest, int flags) {
        super.writeToParcel(dest, flags);
        super.writeToParcel(dest, flags);
        dest.writeParcelable(mCredentialEntries, flags);
        dest.writeTypedList(mCredentialEntries);
        dest.writeParcelable(mActionChips, flags);
        dest.writeTypedList(mActionChips);
        dest.writeParcelable(mAuthenticationEntries, flags);
        dest.writeTypedList(mAuthenticationEntries);
        dest.writeTypedObject(mRemoteEntry, flags);
        dest.writeTypedObject(mRemoteEntry, flags);
    }
    }


+8 −1
Original line number Original line Diff line number Diff line
@@ -33,6 +33,7 @@ import android.os.IBinder;
import android.os.Looper;
import android.os.Looper;
import android.os.ResultReceiver;
import android.os.ResultReceiver;
import android.service.credentials.CredentialProviderInfoFactory;
import android.service.credentials.CredentialProviderInfoFactory;
import android.util.Log;
import android.util.Slog;
import android.util.Slog;


import java.util.ArrayList;
import java.util.ArrayList;
@@ -71,6 +72,8 @@ public class CredentialManagerUi {
    };
    };


    private void handleUiResult(int resultCode, Bundle resultData) {
    private void handleUiResult(int resultCode, Bundle resultData) {
        Log.i("reemademo", "handleUiResult with resultCOde: " + resultCode);

        switch (resultCode) {
        switch (resultCode) {
            case UserSelectionDialogResult.RESULT_CODE_DIALOG_COMPLETE_WITH_SELECTION:
            case UserSelectionDialogResult.RESULT_CODE_DIALOG_COMPLETE_WITH_SELECTION:
                mStatus = UiStatus.IN_PROGRESS;
                mStatus = UiStatus.IN_PROGRESS;
@@ -83,10 +86,14 @@ public class CredentialManagerUi {
                }
                }
                break;
                break;
            case UserSelectionDialogResult.RESULT_CODE_DIALOG_USER_CANCELED:
            case UserSelectionDialogResult.RESULT_CODE_DIALOG_USER_CANCELED:
                Log.i("reemademo", "RESULT_CODE_DIALOG_USER_CANCELED");

                mStatus = UiStatus.TERMINATED;
                mStatus = UiStatus.TERMINATED;
                mCallbacks.onUiCancellation(/* isUserCancellation= */ true);
                mCallbacks.onUiCancellation(/* isUserCancellation= */ true);
                break;
                break;
            case UserSelectionDialogResult.RESULT_CODE_CANCELED_AND_LAUNCHED_SETTINGS:
            case UserSelectionDialogResult.RESULT_CODE_CANCELED_AND_LAUNCHED_SETTINGS:
                Log.i("reemademo", "RESULT_CODE_CANCELED_AND_LAUNCHED_SETTINGS");

                mStatus = UiStatus.TERMINATED;
                mStatus = UiStatus.TERMINATED;
                mCallbacks.onUiCancellation(/* isUserCancellation= */ false);
                mCallbacks.onUiCancellation(/* isUserCancellation= */ false);
                break;
                break;
@@ -95,7 +102,7 @@ public class CredentialManagerUi {
                mCallbacks.onUiSelectorInvocationFailure();
                mCallbacks.onUiSelectorInvocationFailure();
                break;
                break;
            default:
            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;
                mStatus = UiStatus.IN_PROGRESS;
                mCallbacks.onUiSelectorInvocationFailure();
                mCallbacks.onUiSelectorInvocationFailure();
                break;
                break;