| /* |
| * Copyright (C) 2014 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License |
| */ |
| |
| package com.android.keyguard; |
| |
| /** |
| * The callback used by the keyguard view to tell the {@link KeyguardViewMediator} |
| * various things. |
| */ |
| public interface ViewMediatorCallback { |
| /** |
| * Reports user activity and requests that the screen stay on. |
| */ |
| void userActivity(); |
| |
| /** |
| * Report that the keyguard is done. |
| * |
| * @param strongAuth whether the user has authenticated with strong authentication like |
| * pattern, password or PIN but not by trust agents or fingerprint |
| * @param targetUserId a user that needs to be the foreground user at the completion. |
| */ |
| void keyguardDone(boolean strongAuth, int targetUserId); |
| |
| /** |
| * Report that the keyguard is done drawing. |
| */ |
| void keyguardDoneDrawing(); |
| |
| /** |
| * Tell ViewMediator that the current view needs IME input |
| * @param needsInput |
| */ |
| void setNeedsInput(boolean needsInput); |
| |
| /** |
| * Report that the keyguard is dismissable, pending the next keyguardDone call. |
| * |
| * @param strongAuth whether the user has authenticated with strong authentication like |
| * pattern, password or PIN but not by trust agents or fingerprint |
| * @param targetUserId a user that needs to be the foreground user at the completion. |
| */ |
| void keyguardDonePending(boolean strongAuth, int targetUserId); |
| |
| /** |
| * Report when keyguard is actually gone |
| */ |
| void keyguardGone(); |
| |
| /** |
| * Report when the UI is ready for dismissing the whole Keyguard. |
| */ |
| void readyForKeyguardDone(); |
| |
| /** |
| * Reset the keyguard and bouncer. |
| */ |
| void resetKeyguard(); |
| |
| /** |
| * Play the "device trusted" sound. |
| */ |
| void playTrustedSound(); |
| |
| /** |
| * When the bouncer is shown or hides |
| * @param shown |
| */ |
| void onBouncerVisiblityChanged(boolean shown); |
| |
| /** |
| * @return true if the screen is on |
| */ |
| boolean isScreenOn(); |
| |
| /** |
| * @return one of the reasons why the bouncer needs to be shown right now and the user can't use |
| * his normal unlock method like fingerprint or trust agents. See |
| * {@link KeyguardSecurityView#PROMPT_REASON_NONE}, |
| * {@link KeyguardSecurityView#PROMPT_REASON_RESTART} and |
| * {@link KeyguardSecurityView#PROMPT_REASON_TIMEOUT}. |
| */ |
| int getBouncerPromptReason(); |
| |
| /** |
| * Invoked when the secondary display showing a keyguard window changes. |
| */ |
| void onSecondaryDisplayShowingChanged(int displayId); |
| |
| /** |
| * Consumes a message that was enqueued to be displayed on the next time the bouncer shows up. |
| * @return Message that should be displayed above the challenge. |
| */ |
| CharSequence consumeCustomMessage(); |
| |
| /** |
| * Call when cancel button is pressed in bouncer. |
| */ |
| void onCancelClicked(); |
| } |