/*
|
* 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.admin.DevicePolicyManager;
|
import android.graphics.Bitmap;
|
import android.hardware.biometrics.BiometricSourceType;
|
import android.media.AudioManager;
|
import android.os.SystemClock;
|
import android.telephony.TelephonyManager;
|
import android.view.WindowManagerPolicyConstants;
|
|
import com.android.internal.telephony.IccCardConstants;
|
import com.android.systemui.statusbar.KeyguardIndicationController;
|
|
import java.util.TimeZone;
|
|
/**
|
* 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 time zone changes.
|
*
|
* @note When time zone changes, onTimeChanged will be called too.
|
*/
|
public void onTimeZoneChanged(TimeZone timeZone) { }
|
|
/**
|
* Called when the carrier PLMN or SPN changes.
|
*/
|
public void onRefreshCarrierInfo() { }
|
|
/**
|
* 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 Telephony capable
|
* @param capable
|
*/
|
public void onTelephonyCapable(boolean capable) { }
|
|
/**
|
* Called when the SIM state changes.
|
* @param slotId
|
* @param simState
|
*/
|
public void onSimStateChanged(int subId, int slotId, IccCardConstants.State simState) { }
|
|
/**
|
* Called when the user's info changed.
|
*/
|
public void onUserInfoChanged(int userId) { }
|
|
/**
|
* Called when a user got unlocked.
|
*/
|
public void onUserUnlocked() { }
|
|
/**
|
* 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 device has started waking up.
|
*
|
* @deprecated use {@link com.android.systemui.keyguard.WakefulnessLifecycle}.
|
*/
|
@Deprecated
|
public void onStartedWakingUp() { }
|
|
/**
|
* Called when the device has started going to sleep.
|
* @param why see {@link #onFinishedGoingToSleep(int)}
|
*
|
* @deprecated use {@link com.android.systemui.keyguard.WakefulnessLifecycle}.
|
*/
|
@Deprecated
|
public void onStartedGoingToSleep(int why) { }
|
|
/**
|
* Called when the device has finished going to sleep.
|
* @param why either {@link WindowManagerPolicyConstants#OFF_BECAUSE_OF_ADMIN},
|
* {@link WindowManagerPolicyConstants#OFF_BECAUSE_OF_USER}, or
|
* {@link WindowManagerPolicyConstants#OFF_BECAUSE_OF_TIMEOUT}.
|
*
|
* @deprecated use {@link com.android.systemui.keyguard.WakefulnessLifecycle}.
|
*/
|
@Deprecated
|
public void onFinishedGoingToSleep(int why) { }
|
|
/**
|
* Called when the screen has been turned on.
|
*
|
* @deprecated use {@link com.android.systemui.keyguard.ScreenLifecycle}.
|
*/
|
@Deprecated
|
public void onScreenTurnedOn() { }
|
|
/**
|
* Called when the screen has been turned off.
|
*
|
* @deprecated use {@link com.android.systemui.keyguard.ScreenLifecycle}.
|
*/
|
@Deprecated
|
public void onScreenTurnedOff() { }
|
|
/**
|
* 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 after trust was granted with non-zero flags.
|
*/
|
public void onTrustGrantedWithFlags(int flags, int userId) { }
|
|
/**
|
* Called when a biometric has been acquired.
|
* <p>
|
* It is guaranteed that either {@link #onBiometricAuthenticated} or
|
* {@link #onBiometricAuthFailed(BiometricSourceType)} is called after this method eventually.
|
* @param biometricSourceType
|
*/
|
public void onBiometricAcquired(BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when a biometric couldn't be authenticated.
|
* @param biometricSourceType
|
*/
|
public void onBiometricAuthFailed(BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when a biometric is recognized.
|
* @param userId the user id for which the biometric sample was authenticated
|
* @param biometricSourceType
|
*/
|
public void onBiometricAuthenticated(int userId, BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when biometric authentication provides help string (e.g. "Try again")
|
* @param msgId
|
* @param helpString
|
* @param biometricSourceType
|
*/
|
public void onBiometricHelp(int msgId, String helpString,
|
BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when biometric authentication method provides a semi-permanent
|
* error message (e.g. "Hardware not available").
|
* @param msgId one of the error messages listed in
|
* {@link android.hardware.biometrics.BiometricConstants}
|
* @param errString
|
* @param biometricSourceType
|
*/
|
public void onBiometricError(int msgId, String errString,
|
BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when the state of face unlock changed.
|
*/
|
public void onFaceUnlockStateChanged(boolean running, int userId) { }
|
|
/**
|
* Called when biometric running state changed.
|
*/
|
public void onBiometricRunningStateChanged(boolean running,
|
BiometricSourceType biometricSourceType) { }
|
|
/**
|
* Called when the state that the user hasn't used strong authentication since quite some time
|
* has changed.
|
*/
|
public void onStrongAuthStateChanged(int userId) { }
|
|
/**
|
* Called when the state whether we have a lockscreen wallpaper has changed.
|
*/
|
public void onHasLockscreenWallpaperChanged(boolean hasLockscreenWallpaper) { }
|
|
/**
|
* Called when the dream's window state is changed.
|
* @param dreaming true if the dream's window has been created and is visible
|
*/
|
public void onDreamingStateChanged(boolean dreaming) { }
|
|
/**
|
* Called when an error message needs to be presented on the keyguard.
|
* Message will be visible briefly, and might be overridden by other keyguard events,
|
* like fingerprint authentication errors.
|
*
|
* @param message Message that indicates an error.
|
* @see KeyguardIndicationController.BaseKeyguardCallback#HIDE_DELAY_MS
|
* @see KeyguardIndicationController#showTransientIndication(CharSequence)
|
*/
|
public void onTrustAgentErrorMessage(CharSequence message) { }
|
|
|
/**
|
* Called when a value of logout enabled is change.
|
*/
|
public void onLogoutEnabledChanged() { }
|
|
}
|