Package com.android.identity
Class DeviceRetrievalHelper.Builder
- java.lang.Object
-
- com.android.identity.DeviceRetrievalHelper.Builder
-
- Enclosing class:
- DeviceRetrievalHelper
public static class DeviceRetrievalHelper.Builder extends java.lang.Object
Builder forDeviceRetrievalHelper
.
-
-
Constructor Summary
Constructors Constructor Description Builder(android.content.Context context, DeviceRetrievalHelper.Listener listener, java.util.concurrent.Executor executor, PresentationSession session)
Create a new Builder forDeviceRetrievalHelper
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description DeviceRetrievalHelper.Builder
addAlternateForwardEngagement(byte[] deviceEngagement, byte[] handover)
Tells the helper about secondary/alternate engagement mechanisms.DeviceRetrievalHelper
build()
Builds theDeviceRetrievalHelper
and starts presentation.DeviceRetrievalHelper.Builder
useForwardEngagement(DataTransport transport, byte[] deviceEngagement, byte[] handover)
Configures the helper to use normal engagement.DeviceRetrievalHelper.Builder
useReverseEngagement(DataTransport transport, byte[] readerEngagement, java.util.List<OriginInfo> originInfos)
Configures the helper to use reverse engagement.
-
-
-
Constructor Detail
-
Builder
public Builder(@NonNull android.content.Context context, @Nullable DeviceRetrievalHelper.Listener listener, @Nullable java.util.concurrent.Executor executor, @NonNull PresentationSession session)
Create a new Builder forDeviceRetrievalHelper
.Use
useForwardEngagement(DataTransport, byte[], byte[])
oruseReverseEngagement(DataTransport, byte[], List)
to specifiy which kind of engagement will be used. At least one of these must be used.- Parameters:
context
- The context.listener
- the listener ornull
to stop listening.executor
- aExecutor
to do the call in ornull
iflistener
isnull
.session
- aPresentationSession
.- Throws:
java.lang.IllegalStateException
- ifExecutor
isnull
for a non-null
listener.
-
-
Method Detail
-
useForwardEngagement
@NonNull public DeviceRetrievalHelper.Builder useForwardEngagement(@NonNull DataTransport transport, @NonNull byte[] deviceEngagement, @NonNull byte[] handover)
Configures the helper to use normal engagement.Applications can use this together with
QrEngagementHelper
andNfcEngagementHelper
.- Parameters:
transport
- the transport the mdoc reader used to connect with.deviceEngagement
- the bytes of theDeviceEngagement
CBOR.handover
- the bytes of theHandover
CBOR.- Returns:
- the builder.
-
addAlternateForwardEngagement
@NonNull public DeviceRetrievalHelper.Builder addAlternateForwardEngagement(@Nullable byte[] deviceEngagement, @Nullable byte[] handover)
Tells the helper about secondary/alternate engagement mechanisms.This is useful if using multiple forward engagement mechanisms at the same time, for example QR and NFC.
- Parameters:
deviceEngagement
- the bytes of theDeviceEngagement
CBOR.handover
- the bytes of theHandover
CBOR.- Returns:
- the builder
-
useReverseEngagement
@NonNull public DeviceRetrievalHelper.Builder useReverseEngagement(@NonNull DataTransport transport, @Nullable byte[] readerEngagement, java.util.List<OriginInfo> originInfos)
Configures the helper to use reverse engagement.- Parameters:
transport
- the transport to use.readerEngagement
- the bytes of theReaderEngagement
CBOR.originInfos
- a set of origin infos describing how reader engagement was obtained.- Returns:
- the builder.
-
build
@NonNull public DeviceRetrievalHelper build()
Builds theDeviceRetrievalHelper
and starts presentation.- Returns:
- the helper, ready to be used.
-
-