1 /*
2  * Copyright (C) 2013 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.internal.policy;
17 
18 import com.android.internal.policy.IKeyguardDrawnCallback;
19 import com.android.internal.policy.IKeyguardDismissCallback;
20 import com.android.internal.policy.IKeyguardStateCallback;
21 import com.android.internal.policy.IKeyguardExitCallback;
22 
23 import android.os.Bundle;
24 
25 oneway interface IKeyguardService {
26 
27     /**
28      * Sets the Keyguard as occluded when a window dismisses the Keyguard with flag
29      * FLAG_SHOW_ON_LOCK_SCREEN.
30      *
31      * @param isOccluded Whether the Keyguard is occluded by another window.
32      * @param animate Whether to play an animation for the state change.
33      */
setOccluded(boolean isOccluded, boolean animate)34     void setOccluded(boolean isOccluded, boolean animate);
35 
addStateMonitorCallback(IKeyguardStateCallback callback)36     void addStateMonitorCallback(IKeyguardStateCallback callback);
verifyUnlock(IKeyguardExitCallback callback)37     void verifyUnlock(IKeyguardExitCallback callback);
dismiss(IKeyguardDismissCallback callback, CharSequence message)38     void dismiss(IKeyguardDismissCallback callback, CharSequence message);
onDreamingStarted()39     void onDreamingStarted();
onDreamingStopped()40     void onDreamingStopped();
41 
42     /**
43      * Called when the device has started going to sleep.
44      *
45      * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN},
46      * or {@link #OFF_BECAUSE_OF_TIMEOUT}.
47      */
onStartedGoingToSleep(int reason)48     void onStartedGoingToSleep(int reason);
49 
50     /**
51      * Called when the device has finished going to sleep.
52      *
53      * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN},
54      *            or {@link #OFF_BECAUSE_OF_TIMEOUT}.
55      * @param cameraGestureTriggered whether the camera gesture was triggered between
56      *                               {@link #onStartedGoingToSleep} and this method; if it's been
57      *                               triggered, we shouldn't lock the device.
58      */
onFinishedGoingToSleep(int reason, boolean cameraGestureTriggered)59     void onFinishedGoingToSleep(int reason, boolean cameraGestureTriggered);
60 
61     /**
62      * Called when the device has started waking up.
63      */
onStartedWakingUp()64     void onStartedWakingUp();
65 
66     /**
67      * Called when the device has finished waking up.
68      */
onFinishedWakingUp()69     void onFinishedWakingUp();
70 
71     /**
72      * Called when the device screen is turning on.
73      */
onScreenTurningOn(IKeyguardDrawnCallback callback)74     void onScreenTurningOn(IKeyguardDrawnCallback callback);
75 
76     /**
77      * Called when the screen has actually turned on.
78      */
onScreenTurnedOn()79     void onScreenTurnedOn();
80 
81     /**
82      * Called when the screen starts turning off.
83      */
onScreenTurningOff()84     void onScreenTurningOff();
85 
86     /**
87      * Called when the screen has turned off.
88      */
onScreenTurnedOff()89     void onScreenTurnedOff();
90 
91     @UnsupportedAppUsage
setKeyguardEnabled(boolean enabled)92     void setKeyguardEnabled(boolean enabled);
onSystemReady()93     void onSystemReady();
94     @UnsupportedAppUsage
doKeyguardTimeout(in Bundle options)95     void doKeyguardTimeout(in Bundle options);
setSwitchingUser(boolean switching)96     void setSwitchingUser(boolean switching);
setCurrentUser(int userId)97     void setCurrentUser(int userId);
onBootCompleted()98     void onBootCompleted();
99 
100     /**
101      * Notifies that the activity behind has now been drawn and it's safe to remove the wallpaper
102      * and keyguard flag.
103      *
104      * @param startTime the start time of the animation in uptime milliseconds
105      * @param fadeoutDuration the duration of the exit animation, in milliseconds
106      */
startKeyguardExitAnimation(long startTime, long fadeoutDuration)107     void startKeyguardExitAnimation(long startTime, long fadeoutDuration);
108 
109     /**
110      * Notifies the Keyguard that the power key was pressed while locked and launched Home rather
111      * than putting the device to sleep or waking up.
112      */
onShortPowerPressedGoHome()113     void onShortPowerPressedGoHome();
114 }
115