/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.keyguard; import android.app.PendingIntent; import android.app.admin.DevicePolicyManager; import android.graphics.Bitmap; import android.media.AudioManager; import android.os.SystemClock; import android.telephony.TelephonyManager; import android.view.WindowManagerPolicy; import com.android.internal.telephony.IccCardConstants; /** * Callback for general information relevant to lock screen. */ public class KeyguardUpdateMonitorCallback { private static final long VISIBILITY_CHANGED_COLLAPSE_MS = 1000; private long mVisibilityChangedCalled; private boolean mShowing; /** * Called when the battery status changes, e.g. when plugged in or unplugged, charge * level, etc. changes. * * @param status current battery status */ public void onRefreshBatteryInfo(KeyguardUpdateMonitor.BatteryStatus status) { } /** * Called once per minute or when the time changes. */ public void onTimeChanged() { } /** * Called when the carrier PLMN or SPN changes. * * @param plmn The operator name of the registered network. May be null if it shouldn't * be displayed. * @param spn The service provider name. May be null if it shouldn't be displayed. */ public void onRefreshCarrierInfo(CharSequence plmn, CharSequence spn) { } /** * Called when the ringer mode changes. * @param state the current ringer state, as defined in * {@link AudioManager#RINGER_MODE_CHANGED_ACTION} */ public void onRingerModeChanged(int state) { } /** * Called when the phone state changes. String will be one of: * {@link TelephonyManager#EXTRA_STATE_IDLE} * {@link TelephonyManager@EXTRA_STATE_RINGING} * {@link TelephonyManager#EXTRA_STATE_OFFHOOK */ public void onPhoneStateChanged(int phoneState) { } /** * Called when the visibility of the keyguard changes. * @param showing Indicates if the keyguard is now visible. */ public void onKeyguardVisibilityChanged(boolean showing) { } public void onKeyguardVisibilityChangedRaw(boolean showing) { final long now = SystemClock.elapsedRealtime(); if (showing == mShowing && (now - mVisibilityChangedCalled) < VISIBILITY_CHANGED_COLLAPSE_MS) return; onKeyguardVisibilityChanged(showing); mVisibilityChangedCalled = now; mShowing = showing; } /** * Called when the keyguard enters or leaves bouncer mode. * @param bouncer if true, keyguard is now in bouncer mode. */ public void onKeyguardBouncerChanged(boolean bouncer) { } /** * Called when visibility of lockscreen clock changes, such as when * obscured by a widget. */ public void onClockVisibilityChanged() { } /** * Called when the device becomes provisioned */ public void onDeviceProvisioned() { } /** * Called when the device policy changes. * See {@link DevicePolicyManager#ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED} */ public void onDevicePolicyManagerStateChanged() { } /** * Called when the user change begins. */ public void onUserSwitching(int userId) { } /** * Called when the user change is complete. */ public void onUserSwitchComplete(int userId) { } /** * Called when the SIM state changes. * @param simState */ public void onSimStateChanged(IccCardConstants.State simState) { } /** * Called when a user is removed. */ public void onUserRemoved(int userId) { } /** * Called when the user's info changed. */ public void onUserInfoChanged(int userId) { } /** * Called when boot completed. * * Note, this callback will only be received if boot complete occurs after registering with * KeyguardUpdateMonitor. */ public void onBootCompleted() { } /** * Called when the emergency call button is pressed. */ public void onEmergencyCallAction() { } /** * Called when the transport background changes. * @param bitmap */ public void onSetBackground(Bitmap bitmap) { } /** * Called when the screen turns on */ public void onScreenTurnedOn() { } /** * Called when the screen turns off * @param why either {@link WindowManagerPolicy#OFF_BECAUSE_OF_ADMIN}, * {@link WindowManagerPolicy#OFF_BECAUSE_OF_USER}, or * {@link WindowManagerPolicy#OFF_BECAUSE_OF_TIMEOUT}. */ public void onScreenTurnedOff(int why) { } /** * Called when trust changes for a user. */ public void onTrustChanged(int userId) { } /** * Called when trust being managed changes for a user. */ public void onTrustManagedChanged(int userId) { } /** * Called when the user has proved to a trust agent that they want to use the device. */ public void onTrustInitiatedByUser(int userId) { } /** * Called when a fingerprint is recognized. * @param userId */ public void onFingerprintRecognized(int userId) { } /** * Called when fingerprint is acquired but not yet recognized */ public void onFingerprintAcquired(int info) { } /** * Called when the state of face unlock changed. */ public void onFaceUnlockStateChanged(boolean running, int userId) { } }