Merge "Revert usage of ParceledListSlice in UI interface" into udc-dev
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user