1package com.xtremelabs.robolectric.shadows;
2
3import android.app.Activity;
4import android.app.KeyguardManager;
5import com.xtremelabs.robolectric.WithTestDefaultsRunner;
6import org.junit.Test;
7import org.junit.runner.RunWith;
8
9import static android.content.Context.KEYGUARD_SERVICE;
10import static com.xtremelabs.robolectric.Robolectric.shadowOf;
11import static org.hamcrest.CoreMatchers.equalTo;
12import static org.junit.Assert.assertFalse;
13import static org.junit.Assert.assertThat;
14import static org.junit.Assert.assertTrue;
15
16@RunWith(WithTestDefaultsRunner.class)
17public class KeyguardManagerTest {
18
19	@Test
20	public void testIsInRestrcitedInputMode() {
21		Activity activity = new Activity();
22		KeyguardManager mgr = ( KeyguardManager ) activity.getSystemService( KEYGUARD_SERVICE );
23		assertThat( mgr.inKeyguardRestrictedInputMode(), equalTo( false ) );
24		ShadowKeyguardManager shadowMgr = shadowOf(mgr);
25		shadowMgr.setinRestrictedInputMode( true );
26		assertThat( mgr.inKeyguardRestrictedInputMode(), equalTo( true ) );
27	}
28
29    @Test
30    public void testShouldBeAbleToDisableTheKeyguardLock() throws Exception {
31        Activity activity = new Activity();
32        KeyguardManager mgr = ( KeyguardManager ) activity.getSystemService( KEYGUARD_SERVICE );
33        KeyguardManager.KeyguardLock lock = mgr.newKeyguardLock(KEYGUARD_SERVICE);
34        assertTrue(shadowOf(lock).isEnabled());
35
36        lock.disableKeyguard();
37        assertFalse(shadowOf(lock).isEnabled());
38
39        lock.reenableKeyguard();
40        assertTrue(shadowOf(lock).isEnabled());
41    }
42}
43