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.IKeyguardStateCallback; 20 import com.android.internal.policy.IKeyguardExitCallback; 21 22 import android.os.Bundle; 23 24 oneway interface IKeyguardService { 25 26 /** 27 * Sets the Keyguard as occluded when a window dismisses the Keyguard with flag 28 * FLAG_SHOW_ON_LOCK_SCREEN. 29 * 30 * @param isOccluded Whether the Keyguard is occluded by another window. 31 * @param animate Whether to play an animation for the state change. 32 */ 33 void setOccluded(boolean isOccluded, boolean animate); 34 35 void addStateMonitorCallback(IKeyguardStateCallback callback); 36 void verifyUnlock(IKeyguardExitCallback callback); 37 void keyguardDone(boolean authenticated, boolean wakeup); 38 void dismiss(boolean allowWhileOccluded); 39 void onDreamingStarted(); 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 */ 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 */ 59 void onFinishedGoingToSleep(int reason, boolean cameraGestureTriggered); 60 61 /** 62 * Called when the device has started waking up. 63 */ 64 void onStartedWakingUp(); 65 66 /** 67 * Called when the device screen is turning on. 68 */ 69 void onScreenTurningOn(IKeyguardDrawnCallback callback); 70 71 /** 72 * Called when the screen has actually turned on. 73 */ 74 void onScreenTurnedOn(); 75 76 /** 77 * Called when the screen has turned off. 78 */ 79 void onScreenTurnedOff(); 80 81 void setKeyguardEnabled(boolean enabled); 82 void onSystemReady(); 83 void doKeyguardTimeout(in Bundle options); 84 void setCurrentUser(int userId); 85 void onBootCompleted(); 86 87 /** 88 * Notifies that the activity behind has now been drawn and it's safe to remove the wallpaper 89 * and keyguard flag. 90 * 91 * @param startTime the start time of the animation in uptime milliseconds 92 * @param fadeoutDuration the duration of the exit animation, in milliseconds 93 */ 94 void startKeyguardExitAnimation(long startTime, long fadeoutDuration); 95 96 /** 97 * Notifies the Keyguard that the activity that was starting has now been drawn and it's safe 98 * to start the keyguard dismiss sequence. 99 */ 100 void onActivityDrawn(); 101 } 102