Skip to content

Commit dcb3d84

Browse files
author
Jim Miller
committed
Replace keyguard with new implementation
This change refactors keyguard to be more modular and maintainable. More specifically, it replaces the top-level view with just one device-dependent view that contains two views: a widget area and a security area. The widget area can be populated with custom widgets. The security area contains the current security method as dictated by the stored password quality. This change contains both the old and the new keyguard with the old keyguard still enabled. The new keyguard will be enabled in a subsequent change. Change-Id: Id75286113771ca1407e9db182172b580f870b612
1 parent 0d43c56 commit dcb3d84

File tree

66 files changed

+9731
-33
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+9731
-33
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Copyright (C) 2012 The Android Open Source Project
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
18+
19+
<scale
20+
android:interpolator="@android:anim/decelerate_interpolator"
21+
android:fromXScale="0.0"
22+
android:toXScale="1.0"
23+
android:fromYScale="1.0"
24+
android:toYScale="1.0"
25+
android:pivotX="50%"
26+
android:pivotY="50%"
27+
android:fillEnabled="true"
28+
android:fillAfter="true"
29+
android:duration="@integer/flip_duration"
30+
android:startOffset="@integer/flip_duration" />
31+
32+
</set>
33+
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!-- Copyright (C) 2012 The Android Open Source Project
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
-->
16+
17+
<set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false">
18+
19+
<scale
20+
android:interpolator="@android:anim/accelerate_interpolator"
21+
android:fromXScale="1.0"
22+
android:toXScale="0.0"
23+
android:fromYScale="1.0"
24+
android:toYScale="1.0"
25+
android:pivotX="50%"
26+
android:pivotY="50%"
27+
android:fillEnabled="true"
28+
android:fillAfter="true"
29+
android:duration="@integer/flip_duration" />
30+
31+
</set>
32+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
**
4+
** Copyright 2012, The Android Open Source Project
5+
**
6+
** Licensed under the Apache License, Version 2.0 (the "License")
7+
** you may not use this file except in compliance with the License.
8+
** You may obtain a copy of the License at
9+
**
10+
** http://www.apache.org/licenses/LICENSE-2.0
11+
**
12+
** Unless required by applicable law or agreed to in writing, software
13+
** distributed under the License is distributed on an "AS IS" BASIS,
14+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
** See the License for the specific language governing permissions and
16+
** limitations under the License.
17+
*/
18+
-->
19+
20+
<!-- This is the host view that generally contains two sub views: the widget view
21+
and the security view. -->
22+
<com.android.internal.policy.impl.keyguard.KeyguardHostView
23+
xmlns:android="http://schemas.android.com/apk/res/android"
24+
android:id="@+id/keyguard_host_view"
25+
android:layout_width="match_parent"
26+
android:layout_height="match_parent"
27+
android:orientation="horizontal">
28+
29+
<com.android.internal.policy.impl.keyguard.KeyguardWidgetView
30+
android:id="@+id/app_widget_container"
31+
android:layout_width="0dip"
32+
android:layout_height="match_parent"
33+
android:layout_weight="1"
34+
android:visibility="gone">
35+
36+
<!-- TODO: Remove this once supported as a widget -->
37+
<include layout="@layout/keyguard_status_view"/>
38+
39+
</com.android.internal.policy.impl.keyguard.KeyguardWidgetView>
40+
41+
<ViewFlipper
42+
android:id="@+id/view_flipper"
43+
android:layout_width="0dip"
44+
android:layout_height="match_parent"
45+
android:layout_weight="1"
46+
android:gravity="center">
47+
48+
<include layout="@layout/keyguard_selector_view"/>
49+
<include layout="@layout/keyguard_account_view"/>
50+
<include layout="@layout/keyguard_pattern_view"/>
51+
<include layout="@layout/keyguard_password_view"/>
52+
<include layout="@layout/keyguard_sim_pin_view"/>
53+
<include layout="@layout/keyguard_sim_puk_view"/>
54+
<include layout="@layout/keyguard_face_unlock_view"/>
55+
56+
</ViewFlipper>
57+
58+
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
**
4+
** Copyright 2012, The Android Open Source Project
5+
**
6+
** Licensed under the Apache License, Version 2.0 (the "License")
7+
** you may not use this file except in compliance with the License.
8+
** You may obtain a copy of the License at
9+
**
10+
** http://www.apache.org/licenses/LICENSE-2.0
11+
**
12+
** Unless required by applicable law or agreed to in writing, software
13+
** distributed under the License is distributed on an "AS IS" BASIS,
14+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
** See the License for the specific language governing permissions and
16+
** limitations under the License.
17+
*/
18+
-->
19+
20+
<!-- This is the host view that generally contains two sub views: the widget view
21+
and the security view. -->
22+
<com.android.internal.policy.impl.keyguard.KeyguardHostView
23+
xmlns:android="http://schemas.android.com/apk/res/android"
24+
android:id="@+id/keyguard_host_view"
25+
android:orientation="vertical"
26+
android:layout_width="match_parent"
27+
android:layout_height="match_parent"
28+
android:gravity="center_horizontal"
29+
android:clipChildren="false">
30+
31+
<ViewFlipper
32+
android:id="@+id/view_flipper"
33+
android:layout_height="match_parent"
34+
android:gravity="center">
35+
36+
<include layout="@layout/keyguard_selector_view"/>
37+
<include layout="@layout/keyguard_account_view"/>
38+
<include layout="@layout/keyguard_pattern_view"/>
39+
<include layout="@layout/keyguard_password_view"/>
40+
<include layout="@layout/keyguard_sim_pin_view"/>
41+
<include layout="@layout/keyguard_sim_puk_view"/>
42+
<include layout="@layout/keyguard_face_unlock_view"/>
43+
44+
</ViewFlipper>
45+
46+
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
47+
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
**
4+
** Copyright 2012, The Android Open Source Project
5+
**
6+
** Licensed under the Apache License, Version 2.0 (the "License")
7+
** you may not use this file except in compliance with the License.
8+
** You may obtain a copy of the License at
9+
**
10+
** http://www.apache.org/licenses/LICENSE-2.0
11+
**
12+
** Unless required by applicable law or agreed to in writing, software
13+
** distributed under the License is distributed on an "AS IS" BASIS,
14+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
** See the License for the specific language governing permissions and
16+
** limitations under the License.
17+
*/
18+
-->
19+
20+
<!-- This is the host view that generally contains two sub views: the widget view
21+
and the security view. -->
22+
<com.android.internal.policy.impl.keyguard.KeyguardHostView
23+
xmlns:android="http://schemas.android.com/apk/res/android"
24+
android:id="@+id/keyguard_host_view"
25+
android:layout_width="match_parent"
26+
android:layout_height="match_parent"
27+
android:orientation="horizontal">
28+
29+
<com.android.internal.policy.impl.keyguard.KeyguardWidgetView
30+
android:id="@+id/app_widget_container"
31+
android:layout_width="0dip"
32+
android:layout_height="match_parent"
33+
android:layout_weight="1"
34+
android:visibility="gone">
35+
36+
<!-- TODO: Remove this once supported as a widget -->
37+
<include layout="@layout/keyguard_status_view"/>
38+
39+
</com.android.internal.policy.impl.keyguard.KeyguardWidgetView>
40+
41+
<FrameLayout
42+
android:layout_width="0dip"
43+
android:layout_height="match_parent"
44+
android:layout_weight="1"
45+
android:gravity="center">
46+
47+
<ViewFlipper
48+
android:id="@+id/view_flipper"
49+
android:layout_width="@dimen/kg_security_view_width"
50+
android:layout_height="match_parent"
51+
android:layout_gravity="center"
52+
android:layout_weight="1"
53+
android:gravity="center">
54+
55+
<include layout="@layout/keyguard_selector_view"/>
56+
<include layout="@layout/keyguard_account_view"/>
57+
<include layout="@layout/keyguard_pattern_view"/>
58+
<include layout="@layout/keyguard_password_view"/>
59+
<include layout="@layout/keyguard_sim_pin_view"/>
60+
<include layout="@layout/keyguard_sim_puk_view"/>
61+
<include layout="@layout/keyguard_face_unlock_view"/>
62+
63+
</ViewFlipper>
64+
65+
</FrameLayout>
66+
67+
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
**
4+
** Copyright 2012, The Android Open Source Project
5+
**
6+
** Licensed under the Apache License, Version 2.0 (the "License")
7+
** you may not use this file except in compliance with the License.
8+
** You may obtain a copy of the License at
9+
**
10+
** http://www.apache.org/licenses/LICENSE-2.0
11+
**
12+
** Unless required by applicable law or agreed to in writing, software
13+
** distributed under the License is distributed on an "AS IS" BASIS,
14+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
** See the License for the specific language governing permissions and
16+
** limitations under the License.
17+
*/
18+
-->
19+
20+
<!-- This is the host view that generally contains two sub views: the widget view
21+
and the security view. -->
22+
<com.android.internal.policy.impl.keyguard.KeyguardHostView
23+
xmlns:android="http://schemas.android.com/apk/res/android"
24+
android:id="@+id/keyguard_host_view"
25+
android:orientation="vertical"
26+
android:layout_width="match_parent"
27+
android:layout_height="match_parent"
28+
android:gravity="center_horizontal"
29+
android:clipChildren="false">
30+
31+
<com.android.internal.policy.impl.keyguard.KeyguardWidgetView
32+
android:id="@+id/app_widget_container"
33+
android:layout_width="match_parent"
34+
android:layout_height="0dip"
35+
android:layout_weight="1"
36+
android:visibility="gone">
37+
38+
<!-- TODO: Remove this once supported as a widget -->
39+
<include layout="@layout/keyguard_status_view"/>
40+
41+
</com.android.internal.policy.impl.keyguard.KeyguardWidgetView>
42+
43+
<ViewFlipper
44+
android:id="@+id/view_flipper"
45+
android:layout_width="@dimen/kg_security_view_width"
46+
android:layout_height="0dip"
47+
android:layout_weight="1"
48+
android:layout_gravity="center">
49+
50+
<include layout="@layout/keyguard_selector_view"/>
51+
<include layout="@layout/keyguard_account_view"/>
52+
<include layout="@layout/keyguard_pattern_view"/>
53+
<include layout="@layout/keyguard_password_view"/>
54+
<include layout="@layout/keyguard_sim_pin_view"/>
55+
<include layout="@layout/keyguard_sim_puk_view"/>
56+
<include layout="@layout/keyguard_face_unlock_view"/>
57+
58+
</ViewFlipper>
59+
60+
</com.android.internal.policy.impl.keyguard.KeyguardHostView>
61+
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
**
4+
** Copyright 2012, The Android Open Source Project
5+
**
6+
** Licensed under the Apache License, Version 2.0 (the "License")
7+
** you may not use this file except in compliance with the License.
8+
** You may obtain a copy of the License at
9+
**
10+
** http://www.apache.org/licenses/LICENSE-2.0
11+
**
12+
** Unless required by applicable law or agreed to in writing, software
13+
** distributed under the License is distributed on an "AS IS" BASIS,
14+
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
** See the License for the specific language governing permissions and
16+
** limitations under the License.
17+
*/
18+
-->
19+
<com.android.internal.policy.impl.keyguard.KeyguardAccountView
20+
xmlns:android="http://schemas.android.com/apk/res/android"
21+
android:id="@+id/keyguard_account_view"
22+
android:layout_width="match_parent"
23+
android:layout_height="match_parent"
24+
android:orientation="vertical">
25+
26+
<include layout="@layout/keyguard_navigation"/>
27+
28+
<RelativeLayout
29+
android:layout_width="match_parent"
30+
android:layout_height="0dip"
31+
android:layout_weight="1">
32+
33+
<EditText
34+
android:id="@+id/login"
35+
android:layout_width="match_parent"
36+
android:layout_height="wrap_content"
37+
android:layout_marginTop="8dip"
38+
android:layout_marginStart="7dip"
39+
android:layout_marginEnd="7dip"
40+
android:layout_alignParentTop="true"
41+
android:hint="@string/kg_login_username_hint"
42+
android:inputType="textEmailAddress"
43+
/>
44+
45+
<EditText
46+
android:id="@+id/password"
47+
android:layout_width="match_parent"
48+
android:layout_height="wrap_content"
49+
android:layout_below="@id/login"
50+
android:layout_marginTop="15dip"
51+
android:layout_marginStart="7dip"
52+
android:layout_marginEnd="7dip"
53+
android:inputType="textPassword"
54+
android:hint="@string/kg_login_password_hint"
55+
android:nextFocusRight="@+id/ok"
56+
android:nextFocusDown="@+id/ok"
57+
/>
58+
59+
<!-- ok below password, aligned to right of screen -->
60+
<Button
61+
android:id="@+id/ok"
62+
android:layout_width="wrap_content"
63+
android:layout_height="wrap_content"
64+
android:layout_margin="7dip"
65+
android:layout_alignParentEnd="true"
66+
android:layout_alignParentBottom="true"
67+
android:text="@string/kg_login_submit_button"
68+
/>
69+
70+
</RelativeLayout>
71+
72+
</com.android.internal.policy.impl.keyguard.KeyguardAccountView>

0 commit comments

Comments
 (0)