11f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project/*
21f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
31f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project *
41f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
51f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * you may not use this file except in compliance with the License.
61f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * You may obtain a copy of the License at
71f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project *
81f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
91f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project *
101f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
111f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
121f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
131f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * See the License for the specific language governing permissions and
141f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * limitations under the License.
151f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project */
161f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
17dcb3d84b82cc2448d04e73359a716581bfb657dbJim Millerpackage com.android.internal.policy.impl.keyguard_obsolete;
181f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
195475906f53e2d79807548932dfabbf9945143740Jim Millerimport android.content.res.Configuration;
205475906f53e2d79807548932dfabbf9945143740Jim Miller
211f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project/**
221f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * Within a keyguard, there may be several screens that need a callback
231f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project * to the host keyguard view.
241f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project */
251f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Projectpublic interface KeyguardScreenCallback extends KeyguardViewCallback {
261f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
271f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
281f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * Transition to the lock screen.
291f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
301f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    void goToLockScreen();
311f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
321f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
3384999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     * Transition to the unlock screen.
341f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
351f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    void goToUnlockScreen();
361f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
371f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
3884999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     * The user reported that they forgot their pattern (or not, when they want to back out of the
3984999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     * forgot pattern screen).
4084999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     *
4184999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     * @param isForgotten True if the user hit the forgot pattern, false if they want to back out
4284999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     *        of the account screen.
4384999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen     */
4484999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen    void forgotPattern(boolean isForgotten);
4584999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen
4684999d69e0a70f5e510577b09ea1e788142252a8Karl Rosaen    /**
471f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * @return Whether the keyguard requires some sort of PIN.
481f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
491f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    boolean isSecure();
501f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
511f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
521f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * @return Whether we are in a mode where we only want to verify the
531f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     *   user can get past the keyguard.
541f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
551f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    boolean isVerifyUnlockOnly();
561f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
571f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
581f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * Stay on me, but recreate me (so I can use a different layout).
591f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
605475906f53e2d79807548932dfabbf9945143740Jim Miller    void recreateMe(Configuration config);
611f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
621f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
631f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * Take action to send an emergency call.
641f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
651f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    void takeEmergencyCallAction();
661f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
671f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
686fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller     * Report that the user had a failed attempt to unlock with password or pattern.
691f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
706fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller    void reportFailedUnlockAttempt();
716fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller
726fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller    /**
736fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller     * Report that the user successfully entered their password or pattern.
746fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller     */
756fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller    void reportSuccessfulUnlockAttempt();
761f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project
771f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    /**
781f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     * Report whether we there's another way to unlock the device.
796fe0f0e46d7863bd75f6bd23b2fa805df84b5a4dJim Miller     * @return true
801f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project     */
811f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project    boolean doesFallbackUnlockScreenExist();
821f838aaece3cd61d07ab9e41c5c6af761d643324The Android Open Source Project}
83