1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
|
/*
* 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 audio client attaches or detaches from AudioManager.
*/
public void onMusicClientIdChanged(int clientGeneration, boolean clearing, PendingIntent intent) { }
/**
* Called when the audio playback state changes.
* @param playbackState
* @param eventTime
*/
public void onMusicPlaybackStateChanged(int playbackState, long eventTime) { }
/**
* Called when the emergency call button is pressed.
*/
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) { }
}
|