1 /*
2  * Copyright (C) 2012 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 package com.android.keyguard;
17 
18 public interface KeyguardSecurityCallback {
19 
20     /**
21      * Dismiss the given security screen.
22      * @param securityVerified true if the user correctly entered credentials for the given screen.
23      * @param targetUserId a user that needs to be the foreground user at the dismissal completion.
24      */
dismiss(boolean securityVerified, int targetUserId)25     void dismiss(boolean securityVerified, int targetUserId);
26 
27     /**
28      * Manually report user activity to keep the device awake.
29      */
userActivity()30     void userActivity();
31 
32     /**
33      * Checks if keyguard is in "verify credentials" mode.
34      * @return true if user has been asked to verify security.
35      */
isVerifyUnlockOnly()36     boolean isVerifyUnlockOnly();
37 
38     /**
39      * Call to report an unlock attempt.
40      * @param userId id of the user whose unlock attempt is recorded.
41      * @param success set to 'true' if user correctly entered security credentials.
42      * @param timeoutMs timeout in milliseconds to wait before reattempting an unlock.
43      *                  Only nonzero if 'success' is false
44      */
reportUnlockAttempt(int userId, boolean success, int timeoutMs)45     void reportUnlockAttempt(int userId, boolean success, int timeoutMs);
46 
47     /**
48      * Resets the keyguard view.
49      */
reset()50     void reset();
51 
52     /**
53      * Call when cancel button is pressed in bouncer.
54      */
onCancelClicked()55     default void onCancelClicked() {
56         // No-op
57     }
58 
59     /**
60      * Invoked whenever users are typing their password or drawing a pattern.
61      */
onUserInput()62     void onUserInput();
63 }
64