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.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      */
     34     void setOccluded(boolean isOccluded, boolean animate);
     35 
     36     void addStateMonitorCallback(IKeyguardStateCallback callback);
     37     void verifyUnlock(IKeyguardExitCallback callback);
     38     void dismiss(IKeyguardDismissCallback callback, CharSequence message);
     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 has finished waking up.
     68      */
     69     void onFinishedWakingUp();
     70 
     71     /**
     72      * Called when the device screen is turning on.
     73      */
     74     void onScreenTurningOn(IKeyguardDrawnCallback callback);
     75 
     76     /**
     77      * Called when the screen has actually turned on.
     78      */
     79     void onScreenTurnedOn();
     80 
     81     /**
     82      * Called when the screen starts turning off.
     83      */
     84     void onScreenTurningOff();
     85 
     86     /**
     87      * Called when the screen has turned off.
     88      */
     89     void onScreenTurnedOff();
     90 
     91     void setKeyguardEnabled(boolean enabled);
     92     void onSystemReady();
     93     void doKeyguardTimeout(in Bundle options);
     94     void setSwitchingUser(boolean switching);
     95     void setCurrentUser(int userId);
     96     void onBootCompleted();
     97 
     98     /**
     99      * Notifies that the activity behind has now been drawn and it's safe to remove the wallpaper
    100      * and keyguard flag.
    101      *
    102      * @param startTime the start time of the animation in uptime milliseconds
    103      * @param fadeoutDuration the duration of the exit animation, in milliseconds
    104      */
    105     void startKeyguardExitAnimation(long startTime, long fadeoutDuration);
    106 
    107     /**
    108      * Notifies the Keyguard that the power key was pressed while locked and launched Home rather
    109      * than putting the device to sleep or waking up.
    110      */
    111     void onShortPowerPressedGoHome();
    112 }
    113