Home | History | Annotate | Download | only in policy
      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