Merge "Add unit tests for AttentionManagerService. Make sure it won't crash when OnSwitchUser() is invoked while the bound service is null." into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
a8853fe282
@@ -309,7 +309,8 @@ public class AttentionManagerService extends SystemService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GuardedBy("mLock")
|
@GuardedBy("mLock")
|
||||||
private UserState getOrCreateUserStateLocked(int userId) {
|
@VisibleForTesting
|
||||||
|
protected UserState getOrCreateUserStateLocked(int userId) {
|
||||||
UserState result = mUserStates.get(userId);
|
UserState result = mUserStates.get(userId);
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
result = new UserState(userId, mContext, mLock, mComponentName);
|
result = new UserState(userId, mContext, mLock, mComponentName);
|
||||||
|
|||||||
@@ -132,6 +132,13 @@ public class AttentionManagerServiceTest {
|
|||||||
verify(callback).onSuccess(anyInt(), anyLong());
|
verify(callback).onSuccess(anyInt(), anyLong());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testOnSwitchUser_noCrashCurrentServiceIsNull() {
|
||||||
|
final int userId = 10;
|
||||||
|
mSpyAttentionManager.getOrCreateUserStateLocked(userId);
|
||||||
|
mSpyAttentionManager.onSwitchUser(userId);
|
||||||
|
}
|
||||||
|
|
||||||
private class MockIAttentionService implements IAttentionService {
|
private class MockIAttentionService implements IAttentionService {
|
||||||
public void checkAttention(IAttentionCallback callback) throws RemoteException {
|
public void checkAttention(IAttentionCallback callback) throws RemoteException {
|
||||||
callback.onSuccess(0, 0);
|
callback.onSuccess(0, 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user