1 /*
2  * Copyright (C) 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.service.quickaccesswallet;
18 
19 import android.annotation.NonNull;
20 
21 /**
22  * Handles response from the {@link QuickAccessWalletService} for {@link GetWalletCardsRequest}
23  */
24 public interface GetWalletCardsCallback {
25 
26     /**
27      * Notifies the Android System that an {@link QuickAccessWalletService#onWalletCardsRequested}
28      * was successfully handled by the service.
29      *
30      * @param response The response contains the list of {@link WalletCard walletCards} to be shown
31      *                 to the user as well as the index of the card that should initially be
32      *                 presented as the selected card. The list should not contain more than the
33      *                 maximum number of cards requested.
34      */
onSuccess(@onNull GetWalletCardsResponse response)35     void onSuccess(@NonNull GetWalletCardsResponse response);
36 
37     /**
38      * Notifies the Android System that an {@link QuickAccessWalletService#onWalletCardsRequested}
39      * could not be handled by the service.
40      *
41      * @param error The error message. <b>Note: </b> this message should <b>not</b> contain PII
42      *              (Personally Identifiable Information, such as username or email address).
43      * @throws IllegalStateException if this method or {@link #onSuccess} was already called.
44      */
onFailure(@onNull GetWalletCardsError error)45     void onFailure(@NonNull GetWalletCardsError error);
46 }
47