diff options
Diffstat (limited to 'packages/SystemUI')
138 files changed, 1075 insertions, 2129 deletions
diff --git a/packages/SystemUI/res/anim/fp_to_unlock.xml b/packages/SystemUI/res/anim/fp_to_unlock.xml index a348208f48c7..a5f75b6726c8 100644 --- a/packages/SystemUI/res/anim/fp_to_unlock.xml +++ b/packages/SystemUI/res/anim/fp_to_unlock.xml @@ -19,10 +19,10 @@ <group android:name="_R_G"> <group android:name="_R_G_L_1_G_N_7_T_0" android:translateX="-27" android:translateY="-17.5"> <group android:name="_R_G_L_1_G" android:translateX="30.75" android:translateY="25.75"> - <path android:name="_R_G_L_1_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M27.52 38.98 C26.49,39.95 25.29,40.73 23.98,41.29 C23.17,41.65 22.31,41.91 21.41,42.07 C20.74,42.19 20.05,42.25 19.34,42.25 C18.44,42.25 17.56,42.15 16.72,41.96 C15.93,41.77 15.16,41.51 14.43,41.18 C13.23,40.63 12.13,39.88 11.16,38.98 " /> - <path android:name="_R_G_L_1_G_D_1_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M8.64 34.07 C7.89,31.97 7.89,29.85 7.89,29.85 C7.89,24.05 12.81,19.34 19.34,19.34 C25.87,19.34 30.8,24.05 30.8,29.85 C30.8,29.85 30.8,30.16 30.8,30.16 C30.8,32.32 29.04,34.07 26.89,34.07 C25.28,34.07 23.86,33.1 23.27,31.61 C23.27,31.61 21.96,28.34 21.96,28.34 C21.37,26.85 19.93,25.89 18.34,25.89 C16.18,25.89 14.43,27.64 14.43,29.8 C14.43,31.42 14.87,32.99 15.68,34.36 C16.22,35.26 16.93,36.08 17.77,36.75 C17.77,36.75 18.52,37.34 18.52,37.34 " /> - <path android:name="_R_G_L_1_G_D_2_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M6.25 19.34 C7.48,17.3 9.46,15.58 11.9,14.42 C12.93,13.94 14.03,13.55 15.2,13.27 C16.51,12.96 17.9,12.8 19.34,12.8 C20.77,12.8 22.14,12.96 23.45,13.26 C24.9,13.6 26.26,14.12 27.48,14.78 C29.6,15.92 31.32,17.5 32.43,19.34 " /> - <path android:name="_R_G_L_1_G_D_3_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M9.52 8.7 C10.98,7.91 12.58,7.28 14.28,6.86 C15.89,6.46 17.58,6.25 19.34,6.25 C21.06,6.25 22.72,6.45 24.3,6.83 C26.04,7.25 27.67,7.89 29.16,8.7 " /> + <path android:name="_R_G_L_1_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M27.52 38.98 C26.49,39.95 25.29,40.73 23.98,41.29 C23.17,41.65 22.31,41.91 21.41,42.07 C20.74,42.19 20.05,42.25 19.34,42.25 C18.44,42.25 17.56,42.15 16.72,41.96 C15.93,41.77 15.16,41.51 14.43,41.18 C13.23,40.63 12.13,39.88 11.16,38.98 " /> + <path android:name="_R_G_L_1_G_D_1_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M8.64 34.07 C7.89,31.97 7.89,29.85 7.89,29.85 C7.89,24.05 12.81,19.34 19.34,19.34 C25.87,19.34 30.8,24.05 30.8,29.85 C30.8,29.85 30.8,30.16 30.8,30.16 C30.8,32.32 29.04,34.07 26.89,34.07 C25.28,34.07 23.86,33.1 23.27,31.61 C23.27,31.61 21.96,28.34 21.96,28.34 C21.37,26.85 19.93,25.89 18.34,25.89 C16.18,25.89 14.43,27.64 14.43,29.8 C14.43,31.42 14.87,32.99 15.68,34.36 C16.22,35.26 16.93,36.08 17.77,36.75 C17.77,36.75 18.52,37.34 18.52,37.34 " /> + <path android:name="_R_G_L_1_G_D_2_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M6.25 19.34 C7.48,17.3 9.46,15.58 11.9,14.42 C12.93,13.94 14.03,13.55 15.2,13.27 C16.51,12.96 17.9,12.8 19.34,12.8 C20.77,12.8 22.14,12.96 23.45,13.26 C24.9,13.6 26.26,14.12 27.48,14.78 C29.6,15.92 31.32,17.5 32.43,19.34 " /> + <path android:name="_R_G_L_1_G_D_3_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M9.52 8.7 C10.98,7.91 12.58,7.28 14.28,6.86 C15.89,6.46 17.58,6.25 19.34,6.25 C21.06,6.25 22.72,6.45 24.3,6.83 C26.04,7.25 27.67,7.89 29.16,8.7 " /> </group> </group> <group android:name="_R_G_L_0_G_N_7_T_0" android:translateX="-27" android:translateY="-17.5"> diff --git a/packages/SystemUI/res/anim/lock_to_unlock.xml b/packages/SystemUI/res/anim/lock_to_unlock.xml index ec51c0171709..76f7a05866d9 100644 --- a/packages/SystemUI/res/anim/lock_to_unlock.xml +++ b/packages/SystemUI/res/anim/lock_to_unlock.xml @@ -21,7 +21,7 @@ <group android:name="_R_G_L_2_G_N_10_T_1" android:translateX="50.25" android:translateY="61"> <group android:name="_R_G_L_2_G_N_10_T_0" android:translateX="-13.75" android:translateY="-7.5"> <group android:name="_R_G_L_2_G" android:translateX="-0.375" android:translateY="-22.375"> - <path android:name="_R_G_L_2_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M4.75 15 C4.75,15 23.25,15 23.25,15 C24.35,15 25.25,15.9 25.25,17 C25.25,17 25.25,33 25.25,33 C25.25,34.1 24.35,35 23.25,35 C23.25,35 4.75,35 4.75,35 C3.65,35 2.75,34.1 2.75,33 C2.75,33 2.75,17 2.75,17 C2.75,15.9 3.65,15 4.75,15c " /> + <path android:name="_R_G_L_2_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M4.75 15 C4.75,15 23.25,15 23.25,15 C24.35,15 25.25,15.9 25.25,17 C25.25,17 25.25,33 25.25,33 C25.25,34.1 24.35,35 23.25,35 C23.25,35 4.75,35 4.75,35 C3.65,35 2.75,34.1 2.75,33 C2.75,33 2.75,17 2.75,17 C2.75,15.9 3.65,15 4.75,15c " /> </group> </group> </group> @@ -30,7 +30,7 @@ <group android:name="_R_G_L_1_G_N_10_T_1" android:translateX="50.25" android:translateY="61"> <group android:name="_R_G_L_1_G_N_10_T_0" android:translateX="-13.75" android:translateY="-7.5"> <group android:name="_R_G_L_1_G" android:translateX="5" android:translateY="-22.5"> - <path android:name="_R_G_L_1_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2.5" android:strokeAlpha="1" android:pathData=" M2.5 15 C2.5,15 2.5,8.61 2.5,8.61 C2.5,5.24 5.3,2.5 8.75,2.5 C12.2,2.5 15,5.24 15,8.61 C15,8.61 15,15 15,15 " /> + <path android:name="_R_G_L_1_G_D_0_P_0" android:strokeColor="#b7f29f" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="2" android:strokeAlpha="1" android:pathData=" M2.5 15 C2.5,15 2.5,8.61 2.5,8.61 C2.5,5.24 5.3,2.5 8.75,2.5 C12.2,2.5 15,5.24 15,8.61 C15,8.61 15,15 15,15 " /> </group> </group> </group> diff --git a/packages/SystemUI/res/drawable/ic_unlock.xml b/packages/SystemUI/res/drawable/ic_unlock.xml index c3b34699e8e2..46023e6160f5 100644 --- a/packages/SystemUI/res/drawable/ic_unlock.xml +++ b/packages/SystemUI/res/drawable/ic_unlock.xml @@ -21,7 +21,7 @@ android:strokeColor="#FF000000" android:strokeLineCap="round" android:strokeLineJoin="round" - android:strokeWidth="2.5" + android:strokeWidth="2" android:pathData="M4.75 15 C4.75,15 23.25,15 23.25,15 C24.35,15 25.25,15.9 25.25,17 C25.25,17 25.25,33 25.25,33 C25.25,34.1 24.35,35 23.25,35 C23.25,35 4.75,35 4.75,35 C3.65,35 2.75,34.1 2.75,33 C2.75,33 2.75,17 2.75,17 C2.75,15.9 3.65,15 4.75,15c " /> </group> <group android:translateX="14" android:translateY="13.5"> @@ -29,7 +29,7 @@ android:strokeColor="#FF000000" android:strokeLineCap="round" android:strokeLineJoin="round" - android:strokeWidth="2.5" + android:strokeWidth="2" android:pathData="M27.19 14.81 C27.19,14.81 27.19,8.3 27.19,8.3 C27.19,4.92 24.44,2.88 21.19,2.75 C17.74,2.62 15,4.74 15,8.11 C15,8.11 15,15 15,15 " /> </group> <group android:translateX="20" android:translateY="35.75"> diff --git a/packages/SystemUI/res/layout/keyguard_status_bar.xml b/packages/SystemUI/res/layout/keyguard_status_bar.xml index 2789ed125b09..eb7638233efd 100644 --- a/packages/SystemUI/res/layout/keyguard_status_bar.xml +++ b/packages/SystemUI/res/layout/keyguard_status_bar.xml @@ -30,6 +30,7 @@ android:id="@+id/status_icon_area" android:layout_width="wrap_content" android:layout_height="match_parent" + android:paddingEnd="@dimen/system_icons_keyguard_padding_end" android:paddingTop="@dimen/status_bar_padding_top" android:layout_alignParentEnd="true" android:gravity="center_vertical|end" > @@ -38,12 +39,10 @@ android:layout_height="match_parent" android:layout_weight="1" android:layout_marginStart="@dimen/system_icons_super_container_margin_start" - android:gravity="center_vertical|end" - android:paddingEnd="@dimen/system_icons_keyguard_padding_end" > + android:gravity="center_vertical|end"> <include layout="@layout/system_icons" /> </FrameLayout> - <ImageView android:id="@+id/multi_user_avatar" android:layout_width="@dimen/multi_user_avatar_keyguard_size" android:layout_height="@dimen/multi_user_avatar_keyguard_size" diff --git a/packages/SystemUI/res/layout/media_view.xml b/packages/SystemUI/res/layout/media_view.xml index c0d353bf8f56..075473aef9ac 100644 --- a/packages/SystemUI/res/layout/media_view.xml +++ b/packages/SystemUI/res/layout/media_view.xml @@ -185,7 +185,7 @@ android:maxHeight="@dimen/qs_media_enabled_seekbar_height" android:paddingTop="@dimen/qs_media_enabled_seekbar_vertical_padding" android:layout_marginTop="-22dp" - android:paddingBottom="0dp" + android:paddingBottom="2dp" android:splitTrack="false" /> <!-- Song name --> diff --git a/packages/SystemUI/res/layout/status_bar_expanded.xml b/packages/SystemUI/res/layout/status_bar_expanded.xml index b0f1f487b260..6d5be301a82d 100644 --- a/packages/SystemUI/res/layout/status_bar_expanded.xml +++ b/packages/SystemUI/res/layout/status_bar_expanded.xml @@ -68,7 +68,7 @@ android:id="@+id/lock_icon" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="48px" + android:padding="@dimen/lock_icon_padding" android:layout_gravity="center" android:scaleType="centerCrop"/> </com.android.keyguard.LockIconView> diff --git a/packages/SystemUI/res/layout/udfps_keyguard_view.xml b/packages/SystemUI/res/layout/udfps_keyguard_view.xml index 1851790673e3..a9eb27ad3b02 100644 --- a/packages/SystemUI/res/layout/udfps_keyguard_view.xml +++ b/packages/SystemUI/res/layout/udfps_keyguard_view.xml @@ -34,7 +34,7 @@ android:id="@+id/udfps_aod_fp" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="48px" + android:padding="@dimen/lock_icon_padding" android:layout_gravity="center" android:scaleType="centerCrop" app:lottie_autoPlay="false" @@ -46,7 +46,7 @@ android:id="@+id/udfps_lockscreen_fp" android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="48px" + android:padding="@dimen/lock_icon_padding" android:layout_gravity="center" android:scaleType="centerCrop" app:lottie_autoPlay="false" diff --git a/packages/SystemUI/res/raw/udfps_aod_fp.json b/packages/SystemUI/res/raw/udfps_aod_fp.json index 3247fe74fcfe..51d9058f4dd2 100644 --- a/packages/SystemUI/res/raw/udfps_aod_fp.json +++ b/packages/SystemUI/res/raw/udfps_aod_fp.json @@ -5,7 +5,7 @@ "op":361, "w":46, "h":65, - "nm":"fingerprint_burn_in_Loop_02", + "nm":"fingerprint_burn_in_loop", "ddd":0, "assets":[ @@ -15,7 +15,7 @@ "ddd":0, "ind":2, "ty":4, - "nm":"Fingerprint_20210701 Outlines 9", + "nm":"Fingerprint_20210701 Outlines 8", "sr":1, "ks":{ "o":{ @@ -164,13 +164,62 @@ }, "w":{ "a":0, - "k":1, + "k":1.3, "ix":5 }, "lc":2, "lj":1, "ml":10, "bm":0, + "d":[ + { + "n":"d", + "nm":"dash", + "v":{ + "a":0, + "k":3, + "ix":1 + } + }, + { + "n":"o", + "nm":"offset", + "v":{ + "a":1, + "k":[ + { + "i":{ + "x":[ + 0.833 + ], + "y":[ + 0.833 + ] + }, + "o":{ + "x":[ + 0.167 + ], + "y":[ + 0.167 + ] + }, + "t":0, + "s":[ + 0 + ] + }, + { + "t":360, + "s":[ + -6 + ] + } + ], + "ix":7 + } + } + ], "nm":"Stroke 1", "mn":"ADBE Vector Graphic - Stroke", "hd":false @@ -241,403 +290,12 @@ }, "e":{ "a":0, - "k":17, + "k":100, "ix":2 }, "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 246 - ] - }, - { - "t":360, - "s":[ - 1326 - ] - } - ], - "ix":3 - }, - "m":1, - "ix":2, - "nm":"Trim Paths 1", - "mn":"ADBE Vector Filter - Trim", - "hd":false - }, - { - "ty":"gr", - "it":[ - { - "ty":"tm", - "s":{ - "a":0, - "k":0, - "ix":1 - }, - "e":{ - "a":0, - "k":17, - "ix":2 - }, - "o":{ - "a":0, - "k":0, - "ix":3 - }, - "m":1, - "ix":1, - "nm":"Trim Paths 1", - "mn":"ADBE Vector Filter - Trim", - "hd":false - }, - { - "ty":"tr", - "p":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":2 - }, - "a":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":1 - }, - "s":{ - "a":0, - "k":[ - 100, - 100 - ], - "ix":3 - }, - "r":{ - "a":0, - "k":0, - "ix":6 - }, - "o":{ - "a":0, - "k":100, - "ix":7 - }, - "sk":{ - "a":0, - "k":0, - "ix":4 - }, - "sa":{ - "a":0, - "k":0, - "ix":5 - }, - "nm":"Transform" - } - ], - "nm":"Group 1", - "np":1, - "cix":2, - "bm":0, - "ix":3, - "mn":"ADBE Vector Group", - "hd":false - } - ], - "ip":0, - "op":600, - "st":0, - "bm":0 - }, - { - "ddd":0, - "ind":3, - "ty":4, - "nm":"Fingerprint_20210701 Outlines 8", - "sr":1, - "ks":{ - "o":{ - "a":0, - "k":100, - "ix":11 - }, - "r":{ - "a":0, - "k":0, - "ix":10 - }, - "p":{ - "a":0, - "k":[ - 23.091, - 32.5, - 0 - ], - "ix":2, - "l":2 - }, - "a":{ - "a":0, - "k":[ - 19.341, - 24.25, - 0 - ], - "ix":1, - "l":2 - }, - "s":{ - "a":0, - "k":[ - 100, - 100, - 100 - ], - "ix":6, - "l":2 - } - }, - "ao":0, - "shapes":[ - { - "ty":"gr", - "it":[ - { - "ind":0, - "ty":"sh", - "ix":1, - "ks":{ - "a":0, - "k":{ - "i":[ - [ - 0, - 0 - ], - [ - -1.701, - 0.42 - ], - [ - -1.757, - 0 - ], - [ - -1.577, - -0.381 - ], - [ - -1.485, - -0.816 - ] - ], - "o":[ - [ - 1.455, - -0.799 - ], - [ - 1.608, - -0.397 - ], - [ - 1.719, - 0 - ], - [ - 1.739, - 0.42 - ], - [ - 0, - 0 - ] - ], - "v":[ - [ - -9.818, - 1.227 - ], - [ - -5.064, - -0.618 - ], - [ - 0, - -1.227 - ], - [ - 4.96, - -0.643 - ], - [ - 9.818, - 1.227 - ] - ], - "c":false - }, - "ix":2 - }, - "nm":"Path 1", - "mn":"ADBE Vector Shape - Group", - "hd":false - }, - { - "ty":"st", - "c":{ - "a":0, - "k":[ - 1, - 1, - 1, - 1 - ], - "ix":3 - }, - "o":{ - "a":0, - "k":100, - "ix":4 - }, - "w":{ - "a":0, - "k":1, - "ix":5 - }, - "lc":2, - "lj":1, - "ml":10, - "bm":0, - "nm":"Stroke 1", - "mn":"ADBE Vector Graphic - Stroke", - "hd":false - }, - { - "ty":"tr", - "p":{ - "a":0, - "k":[ - 19.341, - 7.477 - ], - "ix":2 - }, - "a":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":1 - }, - "s":{ - "a":0, - "k":[ - 100, - 100 - ], - "ix":3 - }, - "r":{ - "a":0, - "k":0, - "ix":6 - }, - "o":{ - "a":0, - "k":100, - "ix":7 - }, - "sk":{ - "a":0, - "k":0, - "ix":4 - }, - "sa":{ - "a":0, - "k":0, - "ix":5 - }, - "nm":"Transform" - } - ], - "nm":"Top", - "np":2, - "cix":2, - "bm":0, - "ix":1, - "mn":"ADBE Vector Group", - "hd":false - }, - { - "ty":"tm", - "s":{ "a":0, "k":0, - "ix":1 - }, - "e":{ - "a":0, - "k":54, - "ix":2 - }, - "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 0 - ] - }, - { - "t":360, - "s":[ - 1080 - ] - } - ], "ix":3 }, "m":1, @@ -645,257 +303,6 @@ "nm":"Trim Paths 1", "mn":"ADBE Vector Filter - Trim", "hd":false - } - ], - "ip":0, - "op":600, - "st":0, - "bm":0 - }, - { - "ddd":0, - "ind":4, - "ty":4, - "nm":"Fingerprint_20210701 Outlines 7", - "sr":1, - "ks":{ - "o":{ - "a":0, - "k":100, - "ix":11 - }, - "r":{ - "a":0, - "k":0, - "ix":10 - }, - "p":{ - "a":0, - "k":[ - 23.091, - 32.5, - 0 - ], - "ix":2, - "l":2 - }, - "a":{ - "a":0, - "k":[ - 19.341, - 24.25, - 0 - ], - "ix":1, - "l":2 - }, - "s":{ - "a":0, - "k":[ - 100, - 100, - 100 - ], - "ix":6, - "l":2 - } - }, - "ao":0, - "shapes":[ - { - "ty":"gr", - "it":[ - { - "ind":0, - "ty":"sh", - "ix":1, - "ks":{ - "a":0, - "k":{ - "i":[ - [ - 0, - 0 - ], - [ - -2.446, - 1.161 - ], - [ - -1.168, - 0.275 - ], - [ - -1.439, - 0 - ], - [ - -1.301, - -0.304 - ], - [ - -1.225, - -0.66 - ], - [ - -1.11, - -1.844 - ] - ], - "o":[ - [ - 1.23, - -2.044 - ], - [ - 1.024, - -0.486 - ], - [ - 1.312, - -0.31 - ], - [ - 1.425, - 0 - ], - [ - 1.454, - 0.34 - ], - [ - 2.122, - 1.143 - ], - [ - 0, - 0 - ] - ], - "v":[ - [ - -13.091, - 3.273 - ], - [ - -7.438, - -1.646 - ], - [ - -4.14, - -2.797 - ], - [ - 0, - -3.273 - ], - [ - 4.104, - -2.805 - ], - [ - 8.141, - -1.29 - ], - [ - 13.091, - 3.273 - ] - ], - "c":false - }, - "ix":2 - }, - "nm":"Path 1", - "mn":"ADBE Vector Shape - Group", - "hd":false - }, - { - "ty":"st", - "c":{ - "a":0, - "k":[ - 1, - 1, - 1, - 1 - ], - "ix":3 - }, - "o":{ - "a":0, - "k":100, - "ix":4 - }, - "w":{ - "a":0, - "k":1, - "ix":5 - }, - "lc":2, - "lj":1, - "ml":10, - "bm":0, - "nm":"Stroke 1", - "mn":"ADBE Vector Graphic - Stroke", - "hd":false - }, - { - "ty":"tr", - "p":{ - "a":0, - "k":[ - 19.341, - 16.069 - ], - "ix":2 - }, - "a":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":1 - }, - "s":{ - "a":0, - "k":[ - 100, - 100 - ], - "ix":3 - }, - "r":{ - "a":0, - "k":0, - "ix":6 - }, - "o":{ - "a":0, - "k":100, - "ix":7 - }, - "sk":{ - "a":0, - "k":0, - "ix":4 - }, - "sa":{ - "a":0, - "k":0, - "ix":5 - }, - "nm":"Transform" - } - ], - "nm":"Mid Top", - "np":2, - "cix":2, - "bm":0, - "ix":1, - "mn":"ADBE Vector Group", - "hd":false }, { "ty":"tm", @@ -906,46 +313,17 @@ }, "e":{ "a":0, - "k":38.2, + "k":100, "ix":2 }, "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 170 - ] - }, - { - "t":360, - "s":[ - 890 - ] - } - ], + "a":0, + "k":0, "ix":3 }, "m":1, - "ix":2, - "nm":"Trim Paths 1", + "ix":3, + "nm":"Trim Paths 2", "mn":"ADBE Vector Filter - Trim", "hd":false } @@ -957,7 +335,7 @@ }, { "ddd":0, - "ind":5, + "ind":3, "ty":4, "nm":"Fingerprint_20210701 Outlines 6", "sr":1, @@ -1132,13 +510,62 @@ }, "w":{ "a":0, - "k":1, + "k":1.3, "ix":5 }, "lc":2, "lj":1, "ml":10, "bm":0, + "d":[ + { + "n":"d", + "nm":"dash", + "v":{ + "a":0, + "k":3, + "ix":1 + } + }, + { + "n":"o", + "nm":"offset", + "v":{ + "a":1, + "k":[ + { + "i":{ + "x":[ + 0.833 + ], + "y":[ + 0.833 + ] + }, + "o":{ + "x":[ + 0.167 + ], + "y":[ + 0.167 + ] + }, + "t":0, + "s":[ + 0 + ] + }, + { + "t":360, + "s":[ + -6 + ] + } + ], + "ix":7 + } + } + ], "nm":"Stroke 1", "mn":"ADBE Vector Graphic - Stroke", "hd":false @@ -1209,416 +636,12 @@ }, "e":{ "a":0, - "k":34.2, + "k":100, "ix":2 }, "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 0 - ] - }, - { - "t":360, - "s":[ - 720 - ] - } - ], - "ix":3 - }, - "m":1, - "ix":2, - "nm":"Trim Paths 1", - "mn":"ADBE Vector Filter - Trim", - "hd":false - } - ], - "ip":0, - "op":600, - "st":0, - "bm":0 - }, - { - "ddd":0, - "ind":6, - "ty":4, - "nm":"Fingerprint_20210701 Outlines 5", - "sr":1, - "ks":{ - "o":{ - "a":0, - "k":100, - "ix":11 - }, - "r":{ - "a":0, - "k":0, - "ix":10 - }, - "p":{ - "a":0, - "k":[ - 23.091, - 32.5, - 0 - ], - "ix":2, - "l":2 - }, - "a":{ - "a":0, - "k":[ - 19.341, - 24.25, - 0 - ], - "ix":1, - "l":2 - }, - "s":{ - "a":0, - "k":[ - 100, - 100, - 100 - ], - "ix":6, - "l":2 - } - }, - "ao":0, - "shapes":[ - { - "ty":"gr", - "it":[ - { - "ind":0, - "ty":"sh", - "ix":1, - "ks":{ - "a":0, - "k":{ - "i":[ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -6.53, - 0 - ], - [ - 0, - -5.793 - ], - [ - 0, - 0 - ], - [ - 2.159, - 0 - ], - [ - 0.59, - 1.489 - ], - [ - 0, - 0 - ], - [ - 1.587, - 0 - ], - [ - 0, - -2.16 - ], - [ - -0.81, - -1.363 - ], - [ - -0.844, - -0.674 - ], - [ - 0, - 0 - ] - ], - "o":[ - [ - -0.753, - -2.095 - ], - [ - 0, - -5.793 - ], - [ - 6.529, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 2.16 - ], - [ - -1.604, - 0 - ], - [ - 0, - 0 - ], - [ - -0.589, - -1.489 - ], - [ - -2.161, - 0 - ], - [ - 0, - 1.62 - ], - [ - 0.54, - 0.909 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v":[ - [ - -10.702, - 5.728 - ], - [ - -11.454, - 1.506 - ], - [ - 0.001, - -9 - ], - [ - 11.454, - 1.506 - ], - [ - 11.454, - 1.817 - ], - [ - 7.544, - 5.728 - ], - [ - 3.926, - 3.273 - ], - [ - 2.618, - 0 - ], - [ - -0.997, - -2.454 - ], - [ - -4.91, - 1.457 - ], - [ - -3.657, - 6.014 - ], - [ - -1.57, - 8.412 - ], - [ - -0.818, - 9 - ] - ], - "c":false - }, - "ix":2 - }, - "nm":"Path 1", - "mn":"ADBE Vector Shape - Group", - "hd":false - }, - { - "ty":"st", - "c":{ - "a":0, - "k":[ - 1, - 1, - 1, - 1 - ], - "ix":3 - }, - "o":{ - "a":0, - "k":100, - "ix":4 - }, - "w":{ - "a":0, - "k":1, - "ix":5 - }, - "lc":2, - "lj":1, - "ml":10, - "bm":0, - "nm":"Stroke 1", - "mn":"ADBE Vector Graphic - Stroke", - "hd":false - }, - { - "ty":"tr", - "p":{ - "a":0, - "k":[ - 19.341, - 28.341 - ], - "ix":2 - }, - "a":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":1 - }, - "s":{ - "a":0, - "k":[ - 100, - 100 - ], - "ix":3 - }, - "r":{ - "a":0, - "k":0, - "ix":6 - }, - "o":{ - "a":0, - "k":100, - "ix":7 - }, - "sk":{ - "a":0, - "k":0, - "ix":4 - }, - "sa":{ - "a":0, - "k":0, - "ix":5 - }, - "nm":"Transform" - } - ], - "nm":"Inside to dot ", - "np":2, - "cix":2, - "bm":0, - "ix":1, - "mn":"ADBE Vector Group", - "hd":false - }, - { - "ty":"tm", - "s":{ "a":0, "k":0, - "ix":1 - }, - "e":{ - "a":0, - "k":35, - "ix":2 - }, - "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - -159 - ] - }, - { - "t":360, - "s":[ - 201 - ] - } - ], "ix":3 }, "m":1, @@ -1635,9 +658,9 @@ }, { "ddd":0, - "ind":7, + "ind":4, "ty":4, - "nm":"Fingerprint_20210701 Outlines 4", + "nm":"Fingerprint_20210701 Outlines 5", "sr":1, "ks":{ "o":{ @@ -1882,13 +905,62 @@ }, "w":{ "a":0, - "k":1, + "k":1.3, "ix":5 }, "lc":2, "lj":1, "ml":10, "bm":0, + "d":[ + { + "n":"d", + "nm":"dash", + "v":{ + "a":0, + "k":3, + "ix":1 + } + }, + { + "n":"o", + "nm":"offset", + "v":{ + "a":1, + "k":[ + { + "i":{ + "x":[ + 0.833 + ], + "y":[ + 0.833 + ] + }, + "o":{ + "x":[ + 0.167 + ], + "y":[ + 0.167 + ] + }, + "t":0, + "s":[ + 0 + ] + }, + { + "t":360, + "s":[ + -6 + ] + } + ], + "ix":7 + } + } + ], "nm":"Stroke 1", "mn":"ADBE Vector Graphic - Stroke", "hd":false @@ -1959,416 +1031,12 @@ }, "e":{ "a":0, - "k":9, + "k":100, "ix":2 }, "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 135 - ] - }, - { - "t":360, - "s":[ - 495 - ] - } - ], - "ix":3 - }, - "m":1, - "ix":2, - "nm":"Trim Paths 1", - "mn":"ADBE Vector Filter - Trim", - "hd":false - } - ], - "ip":0, - "op":600, - "st":0, - "bm":0 - }, - { - "ddd":0, - "ind":8, - "ty":4, - "nm":"Fingerprint_20210701 Outlines 3", - "sr":1, - "ks":{ - "o":{ - "a":0, - "k":100, - "ix":11 - }, - "r":{ - "a":0, - "k":0, - "ix":10 - }, - "p":{ - "a":0, - "k":[ - 23.091, - 32.5, - 0 - ], - "ix":2, - "l":2 - }, - "a":{ - "a":0, - "k":[ - 19.341, - 24.25, - 0 - ], - "ix":1, - "l":2 - }, - "s":{ - "a":0, - "k":[ - 100, - 100, - 100 - ], - "ix":6, - "l":2 - } - }, - "ao":0, - "shapes":[ - { - "ty":"gr", - "it":[ - { - "ind":0, - "ty":"sh", - "ix":1, - "ks":{ - "a":0, - "k":{ - "i":[ - [ - 0, - 0 - ], - [ - 0, - 0 - ], - [ - -6.53, - 0 - ], - [ - 0, - -5.793 - ], - [ - 0, - 0 - ], - [ - 2.159, - 0 - ], - [ - 0.59, - 1.489 - ], - [ - 0, - 0 - ], - [ - 1.587, - 0 - ], - [ - 0, - -2.16 - ], - [ - -0.81, - -1.363 - ], - [ - -0.844, - -0.674 - ], - [ - 0, - 0 - ] - ], - "o":[ - [ - -0.753, - -2.095 - ], - [ - 0, - -5.793 - ], - [ - 6.529, - 0 - ], - [ - 0, - 0 - ], - [ - 0, - 2.16 - ], - [ - -1.604, - 0 - ], - [ - 0, - 0 - ], - [ - -0.589, - -1.489 - ], - [ - -2.161, - 0 - ], - [ - 0, - 1.62 - ], - [ - 0.54, - 0.909 - ], - [ - 0, - 0 - ], - [ - 0, - 0 - ] - ], - "v":[ - [ - -10.702, - 5.728 - ], - [ - -11.454, - 1.506 - ], - [ - 0.001, - -9 - ], - [ - 11.454, - 1.506 - ], - [ - 11.454, - 1.817 - ], - [ - 7.544, - 5.728 - ], - [ - 3.926, - 3.273 - ], - [ - 2.618, - 0 - ], - [ - -0.997, - -2.454 - ], - [ - -4.91, - 1.457 - ], - [ - -3.657, - 6.014 - ], - [ - -1.57, - 8.412 - ], - [ - -0.818, - 9 - ] - ], - "c":false - }, - "ix":2 - }, - "nm":"Path 1", - "mn":"ADBE Vector Shape - Group", - "hd":false - }, - { - "ty":"st", - "c":{ - "a":0, - "k":[ - 1, - 1, - 1, - 1 - ], - "ix":3 - }, - "o":{ - "a":0, - "k":100, - "ix":4 - }, - "w":{ - "a":0, - "k":1, - "ix":5 - }, - "lc":2, - "lj":1, - "ml":10, - "bm":0, - "nm":"Stroke 1", - "mn":"ADBE Vector Graphic - Stroke", - "hd":false - }, - { - "ty":"tr", - "p":{ - "a":0, - "k":[ - 19.341, - 28.341 - ], - "ix":2 - }, - "a":{ - "a":0, - "k":[ - 0, - 0 - ], - "ix":1 - }, - "s":{ - "a":0, - "k":[ - 100, - 100 - ], - "ix":3 - }, - "r":{ - "a":0, - "k":0, - "ix":6 - }, - "o":{ - "a":0, - "k":100, - "ix":7 - }, - "sk":{ - "a":0, - "k":0, - "ix":4 - }, - "sa":{ - "a":0, - "k":0, - "ix":5 - }, - "nm":"Transform" - } - ], - "nm":"Inside to dot ", - "np":2, - "cix":2, - "bm":0, - "ix":1, - "mn":"ADBE Vector Group", - "hd":false - }, - { - "ty":"tm", - "s":{ "a":0, "k":0, - "ix":1 - }, - "e":{ - "a":0, - "k":30, - "ix":2 - }, - "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 0 - ] - }, - { - "t":360, - "s":[ - 360 - ] - } - ], "ix":3 }, "m":1, @@ -2385,7 +1053,7 @@ }, { "ddd":0, - "ind":9, + "ind":5, "ty":4, "nm":"Fingerprint_20210701 Outlines", "sr":1, @@ -2560,13 +1228,62 @@ }, "w":{ "a":0, - "k":1, + "k":1.3, "ix":5 }, "lc":2, "lj":1, "ml":10, "bm":0, + "d":[ + { + "n":"d", + "nm":"dash", + "v":{ + "a":0, + "k":2.5, + "ix":1 + } + }, + { + "n":"o", + "nm":"offset", + "v":{ + "a":1, + "k":[ + { + "i":{ + "x":[ + 0.833 + ], + "y":[ + 0.833 + ] + }, + "o":{ + "x":[ + 0.167 + ], + "y":[ + 0.167 + ] + }, + "t":0, + "s":[ + 0 + ] + }, + { + "t":360, + "s":[ + -5 + ] + } + ], + "ix":7 + } + } + ], "nm":"Stroke 1", "mn":"ADBE Vector Graphic - Stroke", "hd":false @@ -2637,41 +1354,12 @@ }, "e":{ "a":0, - "k":69, + "k":100, "ix":2 }, "o":{ - "a":1, - "k":[ - { - "i":{ - "x":[ - 0.833 - ], - "y":[ - 0.833 - ] - }, - "o":{ - "x":[ - 0.167 - ], - "y":[ - 0.167 - ] - }, - "t":0, - "s":[ - 0 - ] - }, - { - "t":360, - "s":[ - 720 - ] - } - ], + "a":0, + "k":0, "ix":3 }, "m":1, @@ -2699,4 +1387,4 @@ "dr":0 } ] -}
\ No newline at end of file +} diff --git a/packages/SystemUI/res/raw/udfps_lockscreen_fp.json b/packages/SystemUI/res/raw/udfps_lockscreen_fp.json index a25a47595fe7..a30a03a7e608 100644 --- a/packages/SystemUI/res/raw/udfps_lockscreen_fp.json +++ b/packages/SystemUI/res/raw/udfps_lockscreen_fp.json @@ -1 +1 @@ -{"v":"5.7.8","fr":60,"ip":0,"op":46,"w":46,"h":65,"nm":"fingerprint_build_on","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Fingerprint_20210701 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23.091,32.5,0],"ix":2,"l":2},"a":{"a":0,"k":[19.341,24.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.701,0.42],[-1.757,0],[-1.577,-0.381],[-1.485,-0.816]],"o":[[1.455,-0.799],[1.608,-0.397],[1.719,0],[1.739,0.42],[0,0]],"v":[[-9.818,1.227],[-5.064,-0.618],[0,-1.227],[4.96,-0.643],[9.818,1.227]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,7.477],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Top","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.446,1.161],[-1.168,0.275],[-1.439,0],[-1.301,-0.304],[-1.225,-0.66],[-1.11,-1.844]],"o":[[1.23,-2.044],[1.024,-0.486],[1.312,-0.31],[1.425,0],[1.454,0.34],[2.122,1.143],[0,0]],"v":[[-13.091,3.273],[-7.438,-1.646],[-4.14,-2.797],[0,-3.273],[4.104,-2.805],[8.141,-1.29],[13.091,3.273]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,16.069],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Mid Top","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-6.53,0],[0,-5.793],[0,0],[2.159,0],[0.59,1.489],[0,0],[1.587,0],[0,-2.16],[-0.81,-1.363],[-0.844,-0.674],[0,0]],"o":[[-0.753,-2.095],[0,-5.793],[6.529,0],[0,0],[0,2.16],[-1.604,0],[0,0],[-0.589,-1.489],[-2.161,0],[0,1.62],[0.54,0.909],[0,0],[0,0]],"v":[[-10.702,5.728],[-11.454,1.506],[0.001,-9],[11.454,1.506],[11.454,1.817],[7.544,5.728],[3.926,3.273],[2.618,0],[-0.997,-2.454],[-4.91,1.457],[-3.657,6.014],[-1.57,8.412],[-0.818,9]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999994755,0.949000000954,0.624000012875,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,28.341],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Inside to dot ","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.307,-0.561],[0.894,-0.16],[0.706,0],[0.844,0.193],[0.728,0.334],[0.967,0.901]],"o":[[-1.038,0.967],[-0.817,0.351],[-0.673,0.12],[-0.9,0],[-0.794,-0.182],[-1.203,-0.551],[0,0]],"v":[[8.182,-1.636],[4.642,0.681],[2.07,1.453],[-0.001,1.636],[-2.621,1.341],[-4.909,0.563],[-8.182,-1.636]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2.5]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,40.614],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bottom","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}],"markers":[{"tm":210,"cm":"2","dr":0},{"tm":255,"cm":"1","dr":0}]}
\ No newline at end of file +{"v":"5.7.8","fr":60,"ip":0,"op":46,"w":46,"h":65,"nm":"fingerprint_build_on","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Fingerprint_20210701 Outlines","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[23.091,32.5,0],"ix":2,"l":2},"a":{"a":0,"k":[19.341,24.25,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-1.701,0.42],[-1.757,0],[-1.577,-0.381],[-1.485,-0.816]],"o":[[1.455,-0.799],[1.608,-0.397],[1.719,0],[1.739,0.42],[0,0]],"v":[[-9.818,1.227],[-5.064,-0.618],[0,-1.227],[4.96,-0.643],[9.818,1.227]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,7.477],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Top","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-2.446,1.161],[-1.168,0.275],[-1.439,0],[-1.301,-0.304],[-1.225,-0.66],[-1.11,-1.844]],"o":[[1.23,-2.044],[1.024,-0.486],[1.312,-0.31],[1.425,0],[1.454,0.34],[2.122,1.143],[0,0]],"v":[[-13.091,3.273],[-7.438,-1.646],[-4.14,-2.797],[0,-3.273],[4.104,-2.805],[8.141,-1.29],[13.091,3.273]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,16.069],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Mid Top","np":2,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-6.53,0],[0,-5.793],[0,0],[2.159,0],[0.59,1.489],[0,0],[1.587,0],[0,-2.16],[-0.81,-1.363],[-0.844,-0.674],[0,0]],"o":[[-0.753,-2.095],[0,-5.793],[6.529,0],[0,0],[0,2.16],[-1.604,0],[0,0],[-0.589,-1.489],[-2.161,0],[0,1.62],[0.54,0.909],[0,0],[0,0]],"v":[[-10.702,5.728],[-11.454,1.506],[0.001,-9],[11.454,1.506],[11.454,1.817],[7.544,5.728],[3.926,3.273],[2.618,0],[-0.997,-2.454],[-4.91,1.457],[-3.657,6.014],[-1.57,8.412],[-0.818,9]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999994755,0.949000000954,0.624000012875,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,28.341],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Inside to dot ","np":2,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[1.307,-0.561],[0.894,-0.16],[0.706,0],[0.844,0.193],[0.728,0.334],[0.967,0.901]],"o":[[-1.038,0.967],[-0.817,0.351],[-0.673,0.12],[-0.9,0],[-0.794,-0.182],[-1.203,-0.551],[0,0]],"v":[[8.182,-1.636],[4.642,0.681],[2.07,1.453],[-0.001,1.636],[-2.621,1.341],[-4.909,0.563],[-8.182,-1.636]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.717999985639,0.948999980852,0.62400004069,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"t":24,"s":[2]}],"ix":5},"lc":2,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[19.341,40.614],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Bottom","np":2,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}],"markers":[{"tm":210,"cm":"2","dr":0},{"tm":255,"cm":"1","dr":0}]}
\ No newline at end of file diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 5a4a8ea20891..8229661fbc24 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Kan nie gesig herken nie. Gebruik eerder vingerafdruk."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Gebruik jou vingerafdruk om voort te gaan"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Kan nie vingerafdruk herken nie. Gebruik eerder skermslot."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Soek tans vir jou …"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Gesig-ikoon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Versoenbaarheid-zoem se knoppie."</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 3a3938fc16d3..7f101d73b925 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"መልክን መለየት አልተቻለም። በምትኩ የጣት አሻራ ይጠቀሙ።"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ለመቀጠል የእርስዎን የጣት አሻራ ይጠቀሙ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"የጣት አሻራን መለየት አልተቻለም። በምትኩ የማያ ገጽ መቆለፊያ ይጠቀሙ።"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"እርስዎን በመፈለግ ላይ…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"የፊት አዶ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"የተኳኋኝአጉላ አዝራር።"</string> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 72279a6ed89d..8f230246a70e 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"يتعذّر التعرّف على الوجه. استخدِم بصمة الإصبع بدلاً من ذلك."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"عليك استخدام بصمة الإصبع للمتابعة."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"يتعذّر التعرّف على بصمة الإصبع. عليك استخدام قفل الشاشة بدلاً من ذلك."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"جارٍ البحث عن وجهك…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"رمز الوجه"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"زر تكبير/تصغير للتوافق."</string> diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml index 7fe06e3bfe2b..c4438fca51e3 100644 --- a/packages/SystemUI/res/values-as/strings.xml +++ b/packages/SystemUI/res/values-as/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"মুখাৱয়ব চিনিব নোৱাৰি। ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰক।"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"অব্যাহত ৰাখিবলৈ আপোনাৰ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰক"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ফিংগাৰপ্ৰিণ্ট চিনাক্ত কৰিব নোৱাৰি। তাৰ সলনি স্ক্ৰীন লক ব্যৱহাৰ কৰক।"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"আপোনাৰ মুখমণ্ডল বিচাৰি আছে…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"মুখমণ্ডলৰ আইকন"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"উপযোগিতা অনুসৰি জুম কৰা বুটাম।"</string> diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index 0b97347d70f1..7e50b194000a 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Tanımaq olmur. Barmaq izini işlədin."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Davam etmək üçün barmaq izinizi istifadə edin"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Barmaq izini tanımaq olmur. Əvəzində ekran kilidindən istifadə edin."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Siz axtarılırsınız…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Üz işarəsi"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Uyğunluq zoom düyməsi."</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 2aff0a34271c..701765f4036c 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Lice nije prepoznato. Koristite otisak prsta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Nastavite pomoću otiska prsta"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Prepoznavanje otiska prsta nije uspelo. Koristite zaključavanje ekrana umesto toga."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Tražimo vas…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona lica"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Dugme Zum kompatibilnosti."</string> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index ac37b8e8451e..5da6cf8b9c35 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Твар не распазнаны. Скарыстайце адбітак пальца."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Каб працягнуць, скарыстайце адбітак пальца"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Не ўдалося распазнаць адбітак пальца. Разблакіруйце экран іншым спосабам."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Ідзе пошук вашага твару…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Значок твару"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Кнопка сумяшчальнасці маштаба."</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 73724a8ba617..742de25d539c 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Лицето не е разпознато. Използвайте отпечатък."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Използвайте отпечатъка си, за да продължите"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Отпечатъкът не може да бъде разпознат. Вместо това използвайте опция за заключване на екрана."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Търсим ви…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Икона на лице"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Бутон за промяна на мащаба с цел съвместимост."</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index a70fa8d18b25..b35ae1f1efde 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"মুখ শনাক্ত করতে পারছি না। পরিবর্তে আঙ্গুলের ছাপ ব্যবহার করুন।"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"চালিয়ে যেতে আঙ্গুলের ছাপ ব্যবহার করুন"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"আঙ্গুলের ছাপ শনাক্ত করতে পারছি না। পরিবর্তে স্ক্রিন লক ব্যবহার করুন।"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"আপনার জন্য খোঁজা হচ্ছে…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ফেস আইকন"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"সামঞ্জস্যের জুম বোতাম৷"</string> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index afc21b5a605c..b87739732e4b 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Nije moguće prepoznati lice. Koristite otisak prsta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Nastavite pomoću otiska prsta"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Nije moguće prepoznati otisak prsta. Umjesto toga koristite zaključavanje ekrana."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Tražimo vas…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona lica"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Dugme za uvećavanje u slučaju nekompatibilnosti."</string> @@ -993,7 +995,7 @@ <string name="mobile_data_disable_message" msgid="8604966027899770415">"Nećete imati pristup podacima ni internetu putem mobilnog operatera <xliff:g id="CARRIER">%s</xliff:g>. Internet će biti dostupan samo putem WiFi mreže."</string> <string name="mobile_data_disable_message_default_carrier" msgid="6496033312431658238">"vaš operater"</string> <string name="touch_filtered_warning" msgid="8119511393338714836">"Postavke ne mogu potvrditi vaš odgovor jer aplikacija zaklanja zahtjev za odobrenje."</string> - <string name="slice_permission_title" msgid="3262615140094151017">"Dozvoliti aplikaciji <xliff:g id="APP_0">%1$s</xliff:g> prikazivanje isječaka aplikacije <xliff:g id="APP_2">%2$s</xliff:g>?"</string> + <string name="slice_permission_title" msgid="3262615140094151017">"Dozvoliti aplikaciji <xliff:g id="APP_0">%1$s</xliff:g> da prikazuje isječke aplikacije <xliff:g id="APP_2">%2$s</xliff:g>?"</string> <string name="slice_permission_text_1" msgid="6675965177075443714">"- Može čitati informacije iz aplikacije <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="slice_permission_text_2" msgid="6758906940360746983">"- Može poduzeti radnje u aplikaciji <xliff:g id="APP">%1$s</xliff:g>"</string> <string name="slice_permission_checkbox" msgid="4242888137592298523">"Dozvoli aplikaciji <xliff:g id="APP">%1$s</xliff:g> prikazivanje isječaka iz svake aplikacije"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index e9da15559214..a5504f02833e 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"No podem detectar la cara. Usa l\'empremta digital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Fes servir l\'empremta digital per continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"No es pot reconèixer l\'empremta digital. Utilitza el bloqueig de pantalla."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"S\'està cercant la teva cara…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icona facial"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botó de zoom de compatibilitat."</string> @@ -577,7 +579,7 @@ <string name="monitoring_description_network_logging" msgid="577305979174002252">"L\'administrador ha activat el registre de xarxa, que supervisa el trànsit del teu dispositiu.\n\nPer obtenir més informació, contacta amb l\'administrador."</string> <string name="monitoring_description_vpn" msgid="1685428000684586870">"Has donat permís a una aplicació per configurar una connexió VPN.\n\nAquesta aplicació pot supervisar el dispositiu i l\'activitat a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string> <string name="monitoring_description_vpn_profile_owned" msgid="4964237035412372751">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> gestiona el teu perfil de treball.\n\nL\'administrador pot supervisar la teva activitat a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web.\n\nPer obtenir més informació, contacta amb l\'administrador.\n\nA més, estàs connectat a una VPN, que també pot supervisar la teva activitat a la xarxa."</string> - <string name="monitoring_description_parental_controls" msgid="8184693528917051626">"El teu pare o la teva mare gestionen aquest dispositiu, i poden veure i gestionar informació com ara les aplicacions que utilitzes, la teva ubicació i el teu temps de connexió."</string> + <string name="monitoring_description_parental_controls" msgid="8184693528917051626">"El teu pare o mare gestionen aquest dispositiu, i poden veure i gestionar informació com ara les aplicacions que utilitzes, la teva ubicació i el teu temps de connexió."</string> <string name="legacy_vpn_name" msgid="4174223520162559145">"VPN"</string> <string name="monitoring_description_app" msgid="376868879287922929">"Estàs connectat a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pot supervisar la teva activitat a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string> <string name="monitoring_description_app_personal" msgid="1970094872688265987">"Estàs connectat a <xliff:g id="APPLICATION">%1$s</xliff:g>, que pot supervisar la teva activitat personal a la xarxa, com ara els correus electrònics, les aplicacions i els llocs web."</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 3463586f3c5e..f48c9fb1cd77 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Obličej se nepodařilo rozpoznat. Použijte místo něj otisk prstu."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Pokračujte přiložením prstu"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Otisk prstu se nepodařilo rozpoznat. Použijte místo něj zámek obrazovky."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Hledáme vás…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona obličeje"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Tlačítko úpravy velikosti z důvodu kompatibility"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 8367077445ff..cbef46488c5a 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Ansigtet kan ikke genkendes. Brug fingeraftryk i stedet."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Brug dit fingeraftryk for at fortsætte"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Fingeraftrykket kan ikke genkendes. Brug skærmlåsen i stedet."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Forsøger at finde dig…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ansigt"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Knap for kompatibilitetszoom."</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index f2cb79a300ff..50fcdfb7032a 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Gesicht wurde nicht erkannt. Verwende stattdessen den Fingerabdruck."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Mithilfe deines Fingerabdrucks fortfahren"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Fingerabdruck wurde nicht erkannt. Verwende stattdessen die Displaysperre."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Wir suchen nach dir…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Gesichtssymbol"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Schaltfläche für Kompatibilitätszoom"</string> @@ -1083,7 +1085,7 @@ <string name="controls_media_title" msgid="1746947284862928133">"Medien"</string> <string name="controls_media_close_session" msgid="1193000643003066508">"Diese Mediensitzung ausblenden?"</string> <string name="controls_media_active_session" msgid="3146882316024153337">"Die Mediensitzung kann nicht ausgeblendet werden."</string> - <string name="controls_media_dismiss_button" msgid="9081375542265132213">"Ablehnen"</string> + <string name="controls_media_dismiss_button" msgid="9081375542265132213">"Ausblenden"</string> <string name="controls_media_resume" msgid="1933520684481586053">"Fortsetzen"</string> <string name="controls_media_settings_button" msgid="5815790345117172504">"Einstellungen"</string> <string name="controls_media_playing_item_description" msgid="4531853311504359098">"<xliff:g id="SONG_NAME">%1$s</xliff:g> von <xliff:g id="ARTIST_NAME">%2$s</xliff:g> wird gerade über <xliff:g id="APP_LABEL">%3$s</xliff:g> wiedergegeben"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index ef7771df0295..b8d357f3ff95 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Το πρόσωπο δεν αναγνωρίζεται. Χρησιμ. δακτ. αποτ."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Χρησιμοποιήστε δακτυλ. αποτύπωμα για να συνεχίσετε"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Δεν είναι δυνατή η αναγνώριση του δακτυλικού αποτυπώματος. Χρησιμοποιήστε εναλλακτικά το κλείδωμα οθόνης."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Αναζήτηση για εσάς…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Εικονίδιο προσώπου"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Κουμπί εστίασης συμβατότητας."</string> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 905beaedc642..d69a95bba878 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Can’t recognise face. Use fingerprint instead."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use your fingerprint to continue"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Can’t recognise fingerprint. Use screen lock instead."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Looking for you…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Compatibility zoom button."</string> diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml index 51ed681f4676..3666069ee54b 100644 --- a/packages/SystemUI/res/values-en-rCA/strings.xml +++ b/packages/SystemUI/res/values-en-rCA/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Can’t recognise face. Use fingerprint instead."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use your fingerprint to continue"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Can’t recognise fingerprint. Use screen lock instead."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Looking for you…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Compatibility zoom button."</string> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 905beaedc642..d69a95bba878 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Can’t recognise face. Use fingerprint instead."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use your fingerprint to continue"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Can’t recognise fingerprint. Use screen lock instead."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Looking for you…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Compatibility zoom button."</string> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 905beaedc642..d69a95bba878 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Can’t recognise face. Use fingerprint instead."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use your fingerprint to continue"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Can’t recognise fingerprint. Use screen lock instead."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Looking for you…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Compatibility zoom button."</string> diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml index 8cd587e04166..030c5884d3e3 100644 --- a/packages/SystemUI/res/values-en-rXC/strings.xml +++ b/packages/SystemUI/res/values-en-rXC/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Can’t recognize face. Use fingerprint instead."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use your fingerprint to continue"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Can’t recognize fingerprint. Use screen lock instead."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Looking for you…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Compatibility zoom button."</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index c1323ce57994..bb43d81596be 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"No se reconoce el rostro. Usa la huella dactilar."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utiliza tu huella dactilar para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"No se reconoce la huella dactilar. Utiliza el bloqueo de pantalla en su lugar."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Autenticando tu rostro…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ícono de rostro"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botón de zoom de compatibilidad"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index bcac5cb4e008..820c708e4fe1 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"No se reconoce la cara. Usa la huella digital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Usa tu huella digital para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"No se reconoce la huella digital. Usa el bloqueo de pantalla."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Buscando tu cara…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icono de cara"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botón de zoom de compatibilidad"</string> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index 83fd5e559023..6cd609fa6151 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Nägu ei õnnestu tuvastada. Kasutage sõrmejälge."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Jätkamiseks kasutage sõrmejälge"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Sõrmejälge ei õnnestu tuvastada. Kasutage selle asemel ekraanilukku."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Otsitakse teid …"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Näoikoon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Sobivussuumi nupp."</string> diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 7a36b9b657c1..b6162a830186 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -58,7 +58,7 @@ <string name="always_use_device" msgid="210535878779644679">"Ireki <xliff:g id="APPLICATION">%1$s</xliff:g> <xliff:g id="USB_DEVICE">%2$s</xliff:g> konektatzen den guztietan"</string> <string name="always_use_accessory" msgid="1977225429341838444">"Ireki <xliff:g id="APPLICATION">%1$s</xliff:g> <xliff:g id="USB_ACCESSORY">%2$s</xliff:g> konektatzen den guztietan"</string> <string name="usb_debugging_title" msgid="8274884945238642726">"USB bidezko arazketa onartu?"</string> - <string name="usb_debugging_message" msgid="5794616114463921773">"Ordenagailuaren RSA gakoaren erreferentzia-gako digitala hau da:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string> + <string name="usb_debugging_message" msgid="5794616114463921773">"Ordenagailuaren RSA gakoaren aztarna digitala hau da:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string> <string name="usb_debugging_always" msgid="4003121804294739548">"Eman beti ordenagailu honetatik arazteko baimena"</string> <string name="usb_debugging_allow" msgid="1722643858015321328">"Eman baimena"</string> <string name="usb_debugging_secondary_user_title" msgid="7843050591380107998">"Ez da onartzen USB bidezko arazketa"</string> @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Ez da hauteman aurpegia. Erabili hatz-marka."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Aurrera egiteko, erabili hatz-marka"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Ez da hauteman hatz-marka. Erabili pantailaren blokeoa."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Zure bila…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Aurpegiaren ikonoa"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Zoom-bateragarritasunaren botoia."</string> @@ -575,7 +577,7 @@ <string name="monitoring_description_ca_cert_settings_separator" msgid="7107390013344435439">" "</string> <string name="monitoring_description_ca_cert_settings" msgid="8329781950135541003">"Ireki kredentzial fidagarriak"</string> <string name="monitoring_description_network_logging" msgid="577305979174002252">"Administratzaileak sarearen erregistroak aktibatu ditu; horrela, zure gailuko trafikoa gainbegira dezake.\n\nInformazio gehiago lortzeko, jarri administratzailearekin harremanetan."</string> - <string name="monitoring_description_vpn" msgid="1685428000684586870">"Aplikazio bati VPN konexio bat konfiguratzeko baimena eman diozu.\n\nAplikazio horrek gailuko eta sareko jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne."</string> + <string name="monitoring_description_vpn" msgid="1685428000684586870">"Aplikazio bati VPN bidezko konexio bat konfiguratzeko baimena eman diozu.\n\nAplikazio horrek gailuko eta sareko jarduerak kontrola ditzake, mezu elektronikoak, aplikazioak eta webguneak barne."</string> <string name="monitoring_description_vpn_profile_owned" msgid="4964237035412372751">"<xliff:g id="ORGANIZATION">%1$s</xliff:g> erakundeak kudeatzen du zure laneko profila.\n\nAdministratzaileak sareko jarduerak kontrola diezazkizuke, besteak beste, posta elektronikoa, aplikazioak eta webguneak.\n\nInformazio gehiago lortzeko, jarri administratzailearekin harremanetan.\n\nHorrez gain, VPN batera zaude konektatuta, eta hark ere kontrola ditzake zure sareko jarduerak."</string> <string name="monitoring_description_parental_controls" msgid="8184693528917051626">"Zure gurasoak kudeatzen du gailua. Zure gurasoak gailuko informazioa ikusi eta kudea dezake; besteak beste, zer aplikazio erabiltzen dituzun, zure kokapena zein den eta pantaila aurrean zenbat eta noiz egoten zaren."</string> <string name="legacy_vpn_name" msgid="4174223520162559145">"VPN konexioa"</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index f8e1378c4768..d1ddd8c042f4 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"چهره شناسایی نشد. درعوض از اثر انگشت استفاده کنید."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"برای ادامه، از اثر انگشتتان استفاده کنید"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"اثر انگشت شناسایی نشد. درعوض از قفل صفحه استفاده کنید."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"درحال جستجوی شما…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"نماد چهره"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"دکمه بزرگنمایی سازگار."</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index d4449f1b57f5..652acf7ddd89 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Kasvoja ei voi tunnistaa. Käytä sormenjälkeä."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Jatka sormenjäljen avulla"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Sormenjälkeä ei voi tunnistaa. Käytä sen sijaan näytön lukitusta."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Etsitään kasvoja…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Kasvokuvake"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Yhteensopivuuszoomaus-painike."</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index c1dd1046dc6f..1ec1f9190a22 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Visage non reconnu. Utilisez plutôt l\'empreinte digitale."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utilisez votre empreinte digitale pour continuer"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Empreinte digitale non reconnue. Utilisez plutôt le verrouillage de l\'écran."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Recherche de votre visage…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icône de visage"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Bouton \"Zoom de compatibilité\""</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index c06c62f004a9..6a08d8716677 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Visage non reconnu. Utilisez votre empreinte."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utilisez votre empreinte pour continuer"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Empreinte non reconnue. Utilisez le verrouillage de l\'écran."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Recherche de votre visage…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icône représentant un visage"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Bouton \"Zoom de compatibilité\""</string> diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index f70dd3cbe4c4..15678e4cc907 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Non se recoñeceu a cara. Usa a impresión dixital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utiliza a túa impresión dixital para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Non se puido recoñecer a impresión dixital. Mellor usa o bloqueo de pantalla."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Buscándote…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icona de cara"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botón de zoom de compatibilidade"</string> diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index fe16c9593e9f..9255827aa64e 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ચહેરો ઓળખી શકતા નથી. તેને બદલે ફિંગરપ્રિન્ટ વાપરો."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"આગળ વધવા માટે તમારી ફિંગરપ્રિન્ટનો ઉપયોગ કરો"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ફિંગરપ્રિન્ટ ઓળખી શકતા નથી. તેને બદલે સ્ક્રીન લૉકનો ઉપયોગ કરો."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"તમારા માટે શોધી રહ્યાં છે..."</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ચહેરા આઇકન"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"સુસંગતતા ઝૂમ બટન."</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 464a7976b80c..1ebb517dc316 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"चेहरे की पहचान नहीं हुई. फ़िंगरप्रिंट इस्तेमाल करें."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"जारी रखने के लिए, फ़िंगरप्रिंट का इस्तेमाल करें"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"फ़िंगरप्रिंट पहचाना नहीं जा सका. इसके बजाय, स्क्रीन लॉक इस्तेमाल करके देखें."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"आपको पहचान रहा है…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"चेहरे का आइकॉन"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"संगतता ज़ूम बटन."</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 118927a0d411..9ec657d8d19d 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Prepoznavanje lica nije uspjelo. Upotrijebite otisak prsta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Nastavite pomoću otiska prsta"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Prepoznavanje otiska prsta nije uspjelo. Umjesto toga upotrebljavajte zaključavanje zaslona."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Tražimo vas…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona lica"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Gumb za kompatibilnost zumiranja."</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index 6ee8db5770ff..d9d8148938de 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Az arc nem felismerhető. Használjon ujjlenyomatot."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"A folytatáshoz használja ujjlenyomatát"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Az ujjlenyomat nem ismerhető fel. Használja inkább a képernyőzárat."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Keresem az Ön arcát…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Arcikon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Kompatibilitási zoom gomb."</string> diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index 982527716a4d..1d8094a4f61c 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Դեմքը չի հաջողվում ճանաչել։ Օգտագործեք մատնահետքը։"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Շարունակելու համար անհրաժեշտ է ձեր մատնահետքը"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Մատնահետքը չի հաջողվում ճանաչել։ Օգտագործեք էկրանի կողպումը։"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Դեմքի ճանաչում…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Դեմքի պատկերակ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Համատեղելիության խոշորացման կոճակը:"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 0e056bba8df9..76ee7224933c 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Tidak dapat mengenali wajah. Gunakan sidik jari."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Gunakan sidik jari untuk melanjutkan"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Tidak dapat mengenali sidik jari. Gunakan kunci layar."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Mencari wajah Anda…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikon wajah"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Tombol perbesar/perkecil kompatibilitas."</string> diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index fa3310b228db..01905542684d 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Andlit þekkist ekki. Notaðu fingrafar í staðinn."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Notaðu fingrafarið þitt til að halda áfram"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Fingrafar þekkist ekki. Notaðu skjálás í staðinn."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Leitar að þér ..."</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Andlitstákn"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Hnappur fyrir samhæfisaðdrátt."</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index abf708f2da7f..0efab5ceb84e 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Impossibile riconoscere il volto. Usa l\'impronta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utilizza la tua impronta per continuare"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Impossibile riconoscere l\'impronta. Usa il blocco schermo."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"In attesa del volto…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Icona volto"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Pulsante zoom compatibilità."</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index f03420270737..1e4c9d66ed9c 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"לא ניתן לזהות את הפנים. יש להשתמש בטביעת אצבע במקום."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"יש להשתמש בטביעת האצבע כדי להמשיך"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"לא ניתן לזהות את טביעת האצבע. יש להשתמש בנעילת המסך במקום."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"מתבצע חיפוש…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"סמל הפנים"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"לחצן מרחק מתצוגה של תאימות."</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 7d00c5be4d44..27259791f664 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"顔を認識できません。指紋認証を使用してください。"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"続行するには指紋認証を使用してください"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"指紋を認識できません。代わりに画面ロックを使用してください。"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"顔を認証しています…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"顔アイコン"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"互換ズームボタン。"</string> @@ -799,7 +801,7 @@ <item quantity="other">%d分</item> <item quantity="one">%d分</item> </plurals> - <string name="battery_panel_title" msgid="5931157246673665963">"電池の使用状況"</string> + <string name="battery_panel_title" msgid="5931157246673665963">"バッテリーの使用状況"</string> <string name="battery_detail_charging_summary" msgid="8821202155297559706">"充電中はバッテリー セーバーは利用できません"</string> <string name="battery_detail_switch_title" msgid="6940976502957380405">"バッテリー セーバー"</string> <string name="battery_detail_switch_summary" msgid="3668748557848025990">"パフォーマンスとバックグラウンド データを制限します"</string> diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index 4363876e5e6c..21e1c52ae136 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"სახის ამოცნობა ვერ ხერხდება. სანაცვლოდ თითის ანაბეჭდი გამოიყენეთ."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"გასაგრძელებლად გამოიყენეთ თქვენი თითის ანაბეჭდი"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"თითის ანაბეჭდის ამოცნობა ვერ ხერხდება. სანაცვლოდ, გამოიყენეთ ეკრანის დაბლოკვა."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"მიმდინარეობს თქვენი ძიება…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"სახის ხატულა"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"თავსებადი მასშტაბირების ღილაკი."</string> diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 6dc3b327d0a9..6a9a9b5d8d11 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Бет танылмады. Орнына саусақ ізін пайдаланыңыз."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Жалғастыру үшін саусақ ізін пайдаланыңыз."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Саусақ ізі танылмады. Орнына экран құлпын пайдаланыңыз."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Бет ізделуде…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Бет белгішесі"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Үйлесімділік ұлғайту түймесі."</string> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index 9210e624de69..080ba1958e24 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"មិនអាចសម្គាល់មុខបានទេ។ សូមប្រើស្នាមម្រាមដៃជំនួសវិញ។"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ប្រើស្នាមម្រាមដៃរបស់អ្នក ដើម្បីបន្ត"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"មិនអាចសម្គាល់ស្នាមម្រាមដៃបានទេ។ សូមប្រើសោអេក្រង់ជំនួសវិញ។"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"កំពុងស្វែងរកអ្នក…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"រូបផ្ទៃមុខ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ប៊ូតុងពង្រីកត្រូវគ្នា។"</string> diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index e32bddd6534b..f63d02f6682a 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ಮುಖ ಗುರುತಿಸಲಾಗುತ್ತಿಲ್ಲ ಬದಲಿಗೆ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಬಳಸಿ."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಬಳಸಿ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಅನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಬದಲಾಗಿ ಪರದೆಲಾಕ್ ಬಳಸಿ."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"ನಿಮಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ಮುಖದ ಐಕಾನ್"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ಹೊಂದಾಣಿಕೆಯ ಝೂಮ್ ಬಟನ್."</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 1dc505443b03..371b7de67806 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"얼굴을 인식할 수 없습니다. 대신 지문을 사용하세요."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"계속하려면 지문을 사용하세요."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"지문을 인식할 수 없습니다. 화면 잠금을 대신 사용하세요."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"찾는 중..."</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"얼굴 아이콘"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"호환성 확대/축소 버튼입니다."</string> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index f62d9dac7984..404b9ac45179 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Жүз таанылбай жатат. Манжа изин колдонуңуз."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Улантуу үчүн манжаңызды сканерге тийгизиңиз"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Манжа изи таанылбай жатат. Эрканды кулпулоо функциясын колдонуңуз."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Жүзүңүз изделүүдө…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Жүздүн сүрөтчөсү"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Масштабды сыйыштыруу баскычы."</string> @@ -707,11 +709,11 @@ <string name="tuner_full_importance_settings" msgid="1388025816553459059">"Эскертмелерди башкаруу каражаттары"</string> <string name="tuner_full_importance_settings_on" msgid="917981436602311547">"Күйүк"</string> <string name="tuner_full_importance_settings_off" msgid="5580102038749680829">"Өчүк"</string> - <string name="power_notification_controls_description" msgid="1334963837572708952">"Бул функциянын жардамы менен, ар бир колдонмо үчүн билдирменин маанилүүлүгүн 0дон 5ке чейин бааласаңыз болот. \n\n"<b>"5-деңгээл"</b>" \n- Билдирмелер тизмесинин өйдө жагында көрсөтүлөт \n- Билдирмелер толук экранда көрсөтүлөт \n- Калкып чыгуучу билдирмелерге уруксат берилет \n\n"<b>"4-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге уруксат берилет \n\n"<b>"3-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n\n"<b>"2-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n- Эч качан үн чыкпайт же дирилдебейт \n\n"<b>"1-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n- Эч качан үн чыкпайт же дирилдебейт \n- Кулпуланган экрандан жана абал тилкесинен жашырылат \n- Билдирмелер тизмесинин ылдый жагында көрсөтүлөт \n\n"<b>"0-деңгээл"</b>" \n- Колдонмодон алынган бардык билдирмелер бөгөттөлөт"</string> + <string name="power_notification_controls_description" msgid="1334963837572708952">"Бул функциянын жардамы менен, ар бир колдонмо үчүн билдирменин маанилүүлүгүн 0дон 5ке чейин бааласаңыз болот. \n\n"<b>"5-деңгээл"</b>" \n- Билдирмелер тизмесинин өйдө жагында көрүнөт \n- Билдирмелер толук экранда көрүнөт \n- Калкып чыгуучу билдирмелерге уруксат берилет \n\n"<b>"4-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге уруксат берилет \n\n"<b>"3-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n\n"<b>"2-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n- Эч качан үн чыкпайт же дирилдебейт \n\n"<b>"1-деңгээл"</b>" \n- Билдирмелер толук экранда көрүнбөйт \n- Калкып чыгуучу билдирмелерге тыюу салынат \n- Эч качан үн чыкпайт же дирилдебейт \n- Кулпуланган экрандан жана абал тилкесинен жашырылат \n- Билдирмелер тизмесинин ылдый жагында көрүнөт \n\n"<b>"0-деңгээл"</b>" \n- Колдонмодон алынган бардык билдирмелер бөгөттөлөт"</string> <string name="notification_header_default_channel" msgid="225454696914642444">"Билдирмелер"</string> <string name="notification_channel_disabled" msgid="928065923928416337">"Мындан ары бул билдирмелер сизге көрүнбөйт"</string> <string name="notification_channel_minimized" msgid="6892672757877552959">"Бул билдирмелер кичирейтилет"</string> - <string name="notification_channel_silenced" msgid="1995937493874511359">"Бул билдирмелер үнсүз көрсөтүлөт"</string> + <string name="notification_channel_silenced" msgid="1995937493874511359">"Бул билдирмелер үнсүз көрүнөт"</string> <string name="notification_channel_unsilenced" msgid="94878840742161152">"Бул билдирмелер тууралуу кабарлап турабыз"</string> <string name="inline_blocking_helper" msgid="2891486013649543452">"Адатта мындай билдирмелерди өткөрүп жибересиз. \nАлар көрүнө берсинби?"</string> <string name="inline_done_button" msgid="6043094985588909584">"Бүттү"</string> diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index bb6b235065de..33fddef3efb3 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ບໍ່ສາມາດຈຳແນກໜ້າໄດ້. ກະລຸນາໃຊ້ລາຍນິ້ວມືແທນ."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ກະລຸນາໃຊ້ລາຍນິ້ວມືຂອງທ່ານເພື່ອສືບຕໍ່"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ບໍ່ສາມາດຈຳແນກລາຍນິ້ວມືໄດ້. ກະລຸນາໃຊ້ການລອກໜ້າຈໍແທນ."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"ກຳລັງຊອກຫາທ່ານ…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ໄອຄອນໃບໜ້າ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ປຸ່ມຊູມທີ່ໃຊ້ຮ່ວມກັນໄດ້."</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 3469b3e89496..94faaf42d1b9 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Veidas neatpažintas. Naudokite kontrolinį kodą."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Jei norite tęsti, naudokite kontrolinį kodą"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Nepavyko atpažinti kontrolinio kodo. Naudokite ekrano užraktą."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Ieškoma jūsų…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Veido piktograma"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Suderinamumo priartinimo mygtukas."</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index cec582cb6a66..0d14405ea4fb 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Nevar atpazīt seju. Lietojiet pirksta nospiedumu."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Lai turpinātu, izmantojiet pirksta nospiedumu."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Nevar atpazīt pirksta nospiedumu. Izmantojiet ekrāna bloķēšanu."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Notiek jūsu sejas meklēšana…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Sejas ikona"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Saderības tālummaiņas poga."</string> diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index 2a2e121fb134..5fda8b211ab1 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Не се препознава ликот. Користете отпечаток."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Употребете го отпечатокот за да продолжите"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Не се препознава отпечатокот. Користете заклучување екран."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Ве бараме вас…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Икона за лице"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Копче за компатибилност на зум."</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index 95aec7d86b9d..6956934d7af7 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"മുഖം തിരിച്ചറിയാനായില്ല. പകരം ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കൂ."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"തുടരുന്നതിന് നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കുക"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ഫിംഗർപ്രിന്റ് തിരിച്ചറിയാനാകുന്നില്ല. പകരം സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"നിങ്ങൾക്കായി തിരയുന്നു…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"മുഖത്തിന്റെ ഐക്കൺ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"അനുയോജ്യതാ സൂം ബട്ടൺ."</string> diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index 1665e456ecbc..0d1ad4bebce6 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Царай таних боломжгүй. Оронд нь хурууны хээ ашигла"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Үргэлжлүүлэхийн тулд хурууныхаа хээг ашиглана уу"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Хурууны хээг таних боломжгүй. Оронд нь дэлгэцийн түгжээ ашиглана уу."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Таныг хайж байна…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Царайны дүрс тэмдэг"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Тохиромжтой өсгөх товч."</string> diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index 0a79f48ffd4a..1202a7467a2c 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -148,7 +148,7 @@ <string name="voice_assist_label" msgid="3725967093735929020">"व्हॉइस सहाय्य उघडा"</string> <string name="camera_label" msgid="8253821920931143699">"कॅमेरा उघडा"</string> <string name="cancel" msgid="1089011503403416730">"रद्द करा"</string> - <string name="biometric_dialog_confirm" msgid="2005978443007344895">"खात्री करा"</string> + <string name="biometric_dialog_confirm" msgid="2005978443007344895">"कंफर्म करा"</string> <string name="biometric_dialog_try_again" msgid="8575345628117768844">"पुन्हा प्रयत्न करा"</string> <string name="biometric_dialog_empty_space_description" msgid="3330555462071453396">"ऑथेंटिकेशन रद्द करण्यासाठी टॅप करा"</string> <string name="biometric_dialog_face_icon_description_idle" msgid="4351777022315116816">"कृपया पुन्हा प्रयत्न करा"</string> @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"चेहरा ओळखू शकत नाही. त्याऐवजी फिंगरप्रिंट वापरा."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"पुढे सुरू ठेवण्यासाठी तुमची फिंगरप्रिंट वापरा"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"फिंगरप्रिंट ओळखता आली नाही. त्याऐवजी स्क्रीन लॉक वापरा."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"तुमच्यासाठी शोधत आहे…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"चेहरा आयकन"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"सुसंगतता झूम बटण."</string> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index 65cf32142770..b7d0246c4095 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Tidak mengenali wajah. Gunakan cap jari."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Gunakan cap jari anda untuk teruskan"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Tidak mengenali cap jari. Sebaliknya, gunakan kunci skrin."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Mencari anda…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikon wajah"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Butang zum keserasian."</string> diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index 07f3a75dced5..81d168b79065 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"မျက်နှာကို မမှတ်မိပါ။ လက်ဗွေကို အစားထိုးသုံးပါ။"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ရှေ့ဆက်ရန် သင့်လက်ဗွေကို သုံးပါ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"လက်ဗွေကို မမှတ်မိပါ။ ဖန်သားပြင်လော့ခ်ချခြင်းကို အစားထိုးသုံးပါ။"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"သင့်ကို ရှာဖွေနေသည်…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"မျက်နှာသင်္ကေတ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"အံဝင်ခွင်ကျ ဇူးမ်ခလုတ်"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 6c234001ade9..360c58b9e2dc 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Ansiktet gjenkjennes ikke. Bruk fingeravtrykk."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Bruk fingeravtrykket for å fortsette"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Fingeravtrykket gjenkjennes ikke. Bruk skjermlås i stedet."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Ser etter deg …"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ansiktikon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Zoomknapp for kompatibilitet."</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index c503ebdb368e..e5787b578430 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"अनुहार पहिचान गर्न सकिएन। बरु फिंगरप्रिन्ट प्रयोग गर्नुहोस्।"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"जारी राख्न आफ्नो फिंगरप्रिन्ट प्रयोग गर्नुहोस्"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"फिंगरप्रिन्ट पहिचान गर्न सकिएन। बरु स्क्रिन लक प्रयोग गर्नुहोस्।"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"तपाईंलाई खोज्दै…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"अनुहारको आइकन"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"मिलाउने जुम बटन।"</string> @@ -452,8 +454,7 @@ <string name="notification_tap_again" msgid="4477318164947497249">"खोल्न पुनः ट्याप गर्नुहोस्"</string> <string name="tap_again" msgid="1315420114387908655">"फेरि ट्याप गर्नुहोस्"</string> <string name="keyguard_unlock" msgid="8031975796351361601">"खोल्न माथितिर स्वाइप गर्नुहोस्"</string> - <!-- no translation found for keyguard_unlock_press (8488350566398524740) --> - <skip /> + <string name="keyguard_unlock_press" msgid="8488350566398524740">"अनलक गर्न प्रेस गर्नुहोस्"</string> <string name="keyguard_retry" msgid="886802522584053523">"फेरि प्रयास गर्न माथितिर स्वाइप गर्नुहोस्"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"NFC प्रयोग गर्न स्क्रिन अनलक गर्नुहोस्"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"यो डिभाइस तपाईंको सङ्गठनको स्वामित्वमा छ"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 6614638253f3..7d75b6e20a1e 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Gezicht niet herkend. Gebruik je vingerafdruk."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Gebruik je vingerafdruk om door te gaan."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Vingerafdruk niet herkend. Gebruik in plaats daarvan de schermvergrendeling."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Jouw gezicht zoeken…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Gezichtspictogram"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Knop voor compatibiliteitszoom."</string> diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml index fab0ac601c69..ee524bf2e3c8 100644 --- a/packages/SystemUI/res/values-or/strings.xml +++ b/packages/SystemUI/res/values-or/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ଫେସ୍ ଚିହ୍ନଟ କରିହେବ ନାହିଁ। ଟିପଚିହ୍ନ ବ୍ୟବହାର କରନ୍ତୁ।"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ଜାରି ରଖିବାକୁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରନ୍ତୁ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ଟିପଚିହ୍ନକୁ ଚିହ୍ନଟ କରାଯାଇପାରିବ ନାହିଁ। ଏହା ପରିବର୍ତ୍ତେ ସ୍କ୍ରିନ୍ ଲକ୍ ବ୍ୟବହାର କରନ୍ତୁ।"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"ଆପଣଙ୍କୁ ଚିହ୍ନଟ କରୁଛି…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ମୁହଁ ଆଇକନ୍"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"କମ୍ପାଟିବିଲିଟୀ ଜୁମ୍ ବଟନ୍।"</string> diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index 7e64a2407fd4..d68ab4fe347a 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ਚਿਹਰਾ ਨਹੀਂ ਪਛਾਣ ਸਕਦੇ। ਇਸਦੀ ਬਜਾਏ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤੋ।"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਆਪਣਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਰਤੋ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ। ਇਸਦੀ ਬਜਾਏ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ।"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"ਤੁਹਾਡੀ ਪਛਾਣ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ਚਿਹਰਾ ਪ੍ਰਤੀਕ"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ਅਨੁਰੂਪਤਾ ਜ਼ੂਮ ਬਟਨ।"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 7c0da9d29596..9aade18169ad 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Nie rozpoznaję twarzy. Użyj odcisku palca."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Użyj odcisku palca, aby kontynuować"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Nie rozpoznaję odcisku palca. Użyj blokady ekranu."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Szukam Cię…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona twarzy"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Przycisk powiększenia na potrzeby zgodności."</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index 1bfb7012aa39..cab482ae56fd 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Não foi possível reconhecer o rosto Use a impressão digital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use sua impressão digital para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Não foi possível reconhecer a impressão digital. Use o bloqueio de tela."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Procurando você…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ícone facial"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botão de zoom da compatibilidade."</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 80f4bc649ba9..eec34684ff4a 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Impos. reconh. rosto. Utilize a impressão digital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Utilize a sua impressão digital para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Não é possível reconhecer a impressão digital. Em alternativa, utilize o bloqueio de ecrã."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"À sua procura…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ícone de rosto"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botão zoom de compatibilidade."</string> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 1bfb7012aa39..cab482ae56fd 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Não foi possível reconhecer o rosto Use a impressão digital."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Use sua impressão digital para continuar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Não foi possível reconhecer a impressão digital. Use o bloqueio de tela."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Procurando você…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ícone facial"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Botão de zoom da compatibilidade."</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index d82626bb44be..1e30ea713210 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Chipul nu a fost recunoscut. Folosiți amprenta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Folosiți amprenta pentru a continua"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Amprenta nu a fost recunoscută. Folosiți blocarea ecranului."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Vă căutăm…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Pictograma chip"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Buton zoom pentru compatibilitate."</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index f3768280313a..99465d54e124 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Не удалось распознать лицо. Используйте отпечаток."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Чтобы продолжить, прикоснитесь пальцем к сканеру."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Не удалось распознать отпечаток пальца. Используйте другой способ разблокировки экрана."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Поиск лица…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Значок лица"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Кнопка масштабирования (режим совместимости)"</string> diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index 1f4813ea5f38..6ea2a0dd5d7a 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"මුහුණ හැඳිනිය නොහැක. ඒ වෙනුවට ඇඟිලි සලකුණ භාවිත ක."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ඉදිරියට යාමට ඔබගේ ඇඟිලි සලකුණ භාවිත කරන්න"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ඇඟිලි සලකුණ හඳුනා ගත නොහැකිය. ඒ වෙනුවට තිර අගුල භාවිත කරන්න."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"ඔබව සොයමින්…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"මුහුණ නිරූපකය"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ගැළපෙන විශාලන බොත්තම."</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 966745b3789e..399b9797d21f 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Tvár sa nedá rozpoznať. Použite odtlačok prsta."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Pokračujte nasnímaním odtlačku prsta"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Odtlačok prsta sa nedá rozpoznať. Použite radšej zámku obrazovky."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Hľadáme vás…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona tváre"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Tlačidlo úpravy veľkosti z dôvodu kompatibility."</string> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 7af0970e322d..0c93bced9f41 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Obraza ni mogoče prepoznati. Uporabite prstni odtis."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Uporabite prstni odtis, če želite nadaljevati."</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Prstnega odtisa ni mogoče prepoznati. Uporabite odklepanje s poverilnico."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Preverjanje vašega obraza …"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona obraza"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Gumb povečave za združljivost."</string> diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index 6845b5b5877d..7f101dbd3f57 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Nuk mund ta dallojë fytyrën. Përdor më mirë gjurmën e gishtit."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Përdor gjurmën e gishtit për të vazhduar"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Nuk mund ta dallojë gjurmën e gishtit. Përdor më mirë kyçjen e ekranit."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Po të kërkojmë…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ikona e fytyrës"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Butoni i zmadhimit të pajtueshmërisë."</string> @@ -452,8 +454,7 @@ <string name="notification_tap_again" msgid="4477318164947497249">"Trokit përsëri për ta hapur"</string> <string name="tap_again" msgid="1315420114387908655">"Trokit sërish"</string> <string name="keyguard_unlock" msgid="8031975796351361601">"Rrëshqit lart për ta hapur"</string> - <!-- no translation found for keyguard_unlock_press (8488350566398524740) --> - <skip /> + <string name="keyguard_unlock_press" msgid="8488350566398524740">"Shtyp për të hapur"</string> <string name="keyguard_retry" msgid="886802522584053523">"Rrëshqit lart për të provuar përsëri"</string> <string name="require_unlock_for_nfc" msgid="1305686454823018831">"Shkyçe për të përdorur NFC-në"</string> <string name="do_disclosure_generic" msgid="4896482821974707167">"Kjo pajisje i përket organizatës sate"</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 499c4e1d1489..1da42cfb2d3d 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Лице није препознато. Користите отисак прста."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Наставите помоћу отиска прста"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Препознавање отиска прста није успело. Користите закључавање екрана уместо тога."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Тражимо вас…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Икона лица"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Дугме Зум компатибилности."</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 86333f0e3a5c..05aeffbc300d 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Ansiktet kändes inte igen. Använd fingeravtryck."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Fortsätt med hjälp av ditt fingeravtryck"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Fingeravtrycket kändes inte igen. Använd låsskärmen i stället."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Håller utkik efter dig …"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Ansiktsikon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Knapp för kompatibilitetszoom."</string> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index 6b938e41d392..7f51e82683b7 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Imeshindwa kutambua uso. Tumia alama ya kidole."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Tumia alama ya kidole chako ili uendelee"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Imeshindwa kutambua alama ya kidole. Tumia mbinu ya kufunga skrini badala yake."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Inakutafuta…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Aikoni ya uso"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Kichupo cha kukuza kwa utangamanifu"</string> diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index b9115a74910d..b51fb9efbbee 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"முகத்தை அடையாளம் காண முடியவில்லை. கைரேகையைப் பயன்படுத்தவும்."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"தொடர்வதற்குக் கைரேகையைப் பயன்படுத்தவும்"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"கைரேகையை அடையாளம் காண முடியவில்லை. அதற்குப் பதிலாகத் திரைப்பூட்டைப் பயன்படுத்தவும்."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"உங்கள் முகத்தைத் தேடுகிறது…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"முக ஐகான்"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"பொருந்துமாறு அளவை மாற்றும் பட்டன்."</string> diff --git a/packages/SystemUI/res/values-te-ldrtl/strings.xml b/packages/SystemUI/res/values-te-ldrtl/strings.xml index 1c1b56274c8e..94bdbcf19038 100644 --- a/packages/SystemUI/res/values-te-ldrtl/strings.xml +++ b/packages/SystemUI/res/values-te-ldrtl/strings.xml @@ -19,5 +19,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="recents_quick_scrub_onboarding" msgid="2452671841151577157">"యాప్లను శీఘ్రంగా స్విచ్ చేయడానికి ఎడమ వైపుకు లాగండి"</string> + <string name="recents_quick_scrub_onboarding" msgid="2452671841151577157">"యాప్లను శీఘ్రంగా స్విచ్ చేయడానికి ఎడమ వైపునకు లాగండి"</string> </resources> diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index bcc5404af2f0..45236a795573 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -103,7 +103,7 @@ <string name="screenrecord_description" msgid="1123231719680353736">"రికార్డ్ చేస్తున్నప్పుడు, Android సిస్టమ్ మీ స్క్రీన్పై ప్రదర్శించబడిన లేదా మీ పరికరం నుండి ప్లే చేయబడిన ఏ సున్నితమైన సమాచారాన్నైనా క్యాప్చర్ చేయగలదు. ఈ సమాచారంలో, పాస్వర్డ్లు, పేమెంట్ వివరాలు, ఫోటోలు, మెసేజ్లు, ఆడియో ఉంటాయి."</string> <string name="screenrecord_audio_label" msgid="6183558856175159629">"ఆడియోను రికార్డ్ చేయి"</string> <string name="screenrecord_device_audio_label" msgid="9016927171280567791">"పరికరం ఆడియో"</string> - <string name="screenrecord_device_audio_description" msgid="4922694220572186193">"మీ పరికరం నుండి వచ్చే సంగీతం, కాల్లు, రింగ్టోన్ల వంటి ధ్వనులు"</string> + <string name="screenrecord_device_audio_description" msgid="4922694220572186193">"మీ పరికరం నుండి వచ్చే సంగీతం, కాల్స్, రింగ్టోన్ల వంటి ధ్వనులు"</string> <string name="screenrecord_mic_label" msgid="2111264835791332350">"మైక్రోఫోన్"</string> <string name="screenrecord_device_audio_and_mic_label" msgid="1831323771978646841">"పరికరం ఆడియో, మైక్రోఫోన్"</string> <string name="screenrecord_start" msgid="330991441575775004">"ప్రారంభించు"</string> @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ముఖం గుర్తించలేము. బదులుగా వేలిముద్ర ఉపయోగించండి."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"కొనసాగించడానికి మీ వేలిముద్రను ఉపయోగించండి"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"వేలిముద్రను గుర్తించడం సాధ్యపడదు. బదులుగా స్క్రీన్ లాక్ను ఉపయోగించండి."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"మీ కోసం చూస్తోంది…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ముఖ చిహ్నం"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"అనుకూలత జూమ్ బటన్."</string> @@ -317,10 +319,10 @@ <string name="notification_summary_message_format" msgid="5158219088501909966">"<xliff:g id="CONTACT_NAME">%1$s</xliff:g>: <xliff:g id="MESSAGE_CONTENT">%2$s</xliff:g>"</string> <string name="status_bar_notification_inspect_item_title" msgid="6818779631806163080">"నోటిఫికేషన్ సెట్టింగ్లు"</string> <string name="status_bar_notification_app_settings_title" msgid="5050006438806013903">"<xliff:g id="APP_NAME">%s</xliff:g> సెట్టింగ్లు"</string> - <string name="accessibility_rotation_lock_off" msgid="3880436123632448930">"స్క్రీన్ స్వయంచాలకంగా తిప్పబడుతుంది."</string> + <string name="accessibility_rotation_lock_off" msgid="3880436123632448930">"స్క్రీన్ ఆటోమేటిక్గా తిప్పబడుతుంది."</string> <string name="accessibility_rotation_lock_on_landscape" msgid="936972553861524360">"స్క్రీన్ ల్యాండ్స్కేప్ దృగ్విన్యాసంలో లాక్ చేయబడుతుంది."</string> <string name="accessibility_rotation_lock_on_portrait" msgid="2356633398683813837">"స్క్రీన్ పోర్ట్రెయిట్ దృగ్విన్యాసంలో లాక్ చేయబడుతుంది."</string> - <string name="accessibility_rotation_lock_off_changed" msgid="5772498370935088261">"స్క్రీన్ ఇప్పుడు స్వయంచాలకంగా తిరుగుతుంది."</string> + <string name="accessibility_rotation_lock_off_changed" msgid="5772498370935088261">"స్క్రీన్ ఇప్పుడు ఆటోమేటిక్గా తిరుగుతుంది."</string> <string name="accessibility_rotation_lock_on_landscape_changed" msgid="5785739044300729592">"స్క్రీన్ ఇప్పుడు ల్యాండ్స్కేప్ దృగ్విన్యాసంలో లాక్ చేయబడింది."</string> <string name="accessibility_rotation_lock_on_portrait_changed" msgid="5580170829728987989">"స్క్రీన్ ఇప్పుడు పోర్ట్రెయిట్ దృగ్విన్యాసంలో లాక్ చేయబడింది."</string> <string name="dessert_case" msgid="9104973640704357717">"డెజర్ట్ కేస్"</string> @@ -445,7 +447,7 @@ <string name="zen_priority_introduction" msgid="3159291973383796646">"మీరు పేర్కొనే అలారాలు, రిమైండర్లు, ఈవెంట్లు మరియు కాలర్ల నుండి మినహా మరే ఇతర ధ్వనులు మరియు వైబ్రేషన్లతో మీకు అంతరాయం కలగదు. మీరు ఇప్పటికీ సంగీతం, వీడియోలు మరియు గేమ్లతో సహా మీరు ప్లే చేయడానికి ఎంచుకున్నవి ఏవైనా వింటారు."</string> <string name="zen_alarms_introduction" msgid="3987266042682300470">"అలారాలు నుండి మినహా మరే ఇతర ధ్వనులు మరియు వైబ్రేషన్లతో మీకు అంతరాయం కలగదు. మీరు ఇప్పటికీ సంగీతం, వీడియోలు మరియు గేమ్లతో సహా మీరు ప్లే చేయడానికి ఎంచుకున్నవి ఏవైనా వింటారు."</string> <string name="zen_priority_customize_button" msgid="4119213187257195047">"అనుకూలీకరించు"</string> - <string name="zen_silence_introduction_voice" msgid="853573681302712348">"ఇది అలారాలు, సంగీతం, వీడియోలు మరియు గేమ్లతో సహా అన్ని ధ్వనులు మరియు వైబ్రేషన్లను బ్లాక్ చేస్తుంది. మీరు ఇప్పటికీ ఫోన్ కాల్లు చేయగలుగుతారు."</string> + <string name="zen_silence_introduction_voice" msgid="853573681302712348">"ఇది అలారాలు, సంగీతం, వీడియోలు మరియు గేమ్లతో సహా అన్ని ధ్వనులు మరియు వైబ్రేషన్లను బ్లాక్ చేస్తుంది. మీరు ఇప్పటికీ ఫోన్ కాల్స్ చేయగలుగుతారు."</string> <string name="zen_silence_introduction" msgid="6117517737057344014">"ఇది అలారాలు, సంగీతం, వీడియోలు మరియు గేమ్లతో సహా అన్ని ధ్వనులు మరియు వైబ్రేషన్లను బ్లాక్ చేస్తుంది."</string> <string name="keyguard_more_overflow_text" msgid="5819512373606638727">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string> <string name="speed_bump_explanation" msgid="7248696377626341060">"తక్కువ అత్యవసర నోటిఫికేషన్లు దిగువన"</string> @@ -629,7 +631,7 @@ <string name="stream_bluetooth_sco" msgid="6234562365528664331">"బ్లూటూత్"</string> <string name="stream_dtmf" msgid="7322536356554673067">"డ్యూయల్ మల్టీ టోన్ ఫ్రీక్వెన్సీ"</string> <string name="stream_accessibility" msgid="3873610336741987152">"యాక్సెసిబిలిటీ"</string> - <string name="ring_toggle_title" msgid="5973120187287633224">"కాల్లు"</string> + <string name="ring_toggle_title" msgid="5973120187287633224">"కాల్స్"</string> <string name="volume_ringer_status_normal" msgid="1339039682222461143">"రింగ్"</string> <string name="volume_ringer_status_vibrate" msgid="6970078708957857825">"వైబ్రేట్"</string> <string name="volume_ringer_status_silent" msgid="3691324657849880883">"మ్యూట్"</string> @@ -645,7 +647,7 @@ <string name="volume_ringer_hint_unmute" msgid="6119086890306456976">"అన్మ్యూట్ చేయి"</string> <string name="volume_ringer_hint_vibrate" msgid="6211609047099337509">"వైబ్రేట్"</string> <string name="volume_dialog_title" msgid="6502703403483577940">"%s వాల్యూమ్ నియంత్రణలు"</string> - <string name="volume_dialog_ringer_guidance_ring" msgid="9143194270463146858">"కాల్లు మరియు నోటిఫికేషన్లు రింగ్ అవుతాయి (<xliff:g id="VOLUME_LEVEL">%1$s</xliff:g>)"</string> + <string name="volume_dialog_ringer_guidance_ring" msgid="9143194270463146858">"కాల్స్ మరియు నోటిఫికేషన్లు రింగ్ అవుతాయి (<xliff:g id="VOLUME_LEVEL">%1$s</xliff:g>)"</string> <string name="output_title" msgid="3938776561655668350">"మీడియా అవుట్పుట్"</string> <string name="output_calls_title" msgid="7085583034267889109">"ఫోన్ కాల్ అవుట్పుట్"</string> <string name="output_none_found" msgid="5488087293120982770">"పరికరాలు ఏవీ కనుగొనబడలేదు"</string> @@ -935,11 +937,11 @@ <string name="tuner_lock_screen" msgid="2267383813241144544">"లాక్ స్క్రీన్"</string> <string name="thermal_shutdown_title" msgid="2702966892682930264">"వేడెక్కినందుకు ఫోన్ ఆఫ్ చేయబడింది"</string> <string name="thermal_shutdown_message" msgid="6142269839066172984">"మీ ఫోన్ ఇప్పుడు సాధారణంగా పని చేస్తోంది.\nమరింత సమాచారం కోసం ట్యాప్ చేయండి"</string> - <string name="thermal_shutdown_dialog_message" msgid="6745684238183492031">"మీ ఫోన్ చాలా వేడిగా ఉంది, కనుక చల్లబర్చడానికి ఆఫ్ చేయబడింది. మీ ఫోన్ ఇప్పుడు సాధారణంగా పని చేస్తుంది.\n\nమీరు ఇలా చేస్తే మీ ఫోన్ చాలా వేడెక్కవచ్చు:\n • వనరు-ఆధారిత యాప్లు (గేమింగ్, వీడియో లేదా నావిగేషన్ వంటి యాప్లు) ఉపయోగించడం\n • పెద్ద ఫైల్లను డౌన్లోడ్ లేదా అప్లోడ్ చేయడం\n • అధిక ఉష్ణోగ్రతలలో మీ ఫోన్ని ఉపయోగించడం"</string> + <string name="thermal_shutdown_dialog_message" msgid="6745684238183492031">"మీ ఫోన్ చాలా వేడిగా ఉంది, కనుక చల్లబర్చడానికి ఆఫ్ చేయబడింది. మీ ఫోన్ ఇప్పుడు సాధారణంగా పని చేస్తుంది.\n\nమీరు ఇలా చేస్తే మీ ఫోన్ చాలా వేడెక్కవచ్చు:\n • వనరు-ఆధారిత యాప్లు (గేమింగ్, వీడియో లేదా నావిగేషన్ వంటి యాప్లు) ఉపయోగించడం\n • పెద్ద ఫైళ్లను డౌన్లోడ్ లేదా అప్లోడ్ చేయడం\n • అధిక ఉష్ణోగ్రతలలో మీ ఫోన్ని ఉపయోగించడం"</string> <string name="thermal_shutdown_dialog_help_text" msgid="6413474593462902901">"తీసుకోవాల్సిన జాగ్రత్తలు ఏమిటో చూడండి"</string> <string name="high_temp_title" msgid="2218333576838496100">"ఫోన్ వేడెక్కుతోంది"</string> <string name="high_temp_notif_message" msgid="1277346543068257549">"ఫోన్ను చల్లబరిచే క్రమంలో కొన్ని ఫీచర్లు పరిమితం చేయబడ్డాయి.\nమరింత సమాచారం కోసం ట్యాప్ చేయండి"</string> - <string name="high_temp_dialog_message" msgid="3793606072661253968">"మీ ఫోన్ స్వయంచాలకంగా చల్లబడటానికి ప్రయత్నిస్తుంది. మీరు ఇప్పటికీ మీ ఫోన్ను ఉపయోగించవచ్చు, కానీ దాని పనితీరు నెమ్మదిగా ఉండవచ్చు.\n\nమీ ఫోన్ చల్లబడిన తర్వాత, అది సాధారణ రీతిలో పని చేస్తుంది."</string> + <string name="high_temp_dialog_message" msgid="3793606072661253968">"మీ ఫోన్ ఆటోమేటిక్గా చల్లబడటానికి ప్రయత్నిస్తుంది. మీరు ఇప్పటికీ మీ ఫోన్ను ఉపయోగించవచ్చు, కానీ దాని పనితీరు నెమ్మదిగా ఉండవచ్చు.\n\nమీ ఫోన్ చల్లబడిన తర్వాత, అది సాధారణ రీతిలో పని చేస్తుంది."</string> <string name="high_temp_dialog_help_text" msgid="7380171287943345858">"తీసుకోవాల్సిన జాగ్రత్తలు ఏమిటో చూడండి"</string> <string name="high_temp_alarm_title" msgid="2359958549570161495">"ప్లగ్ నుండి ఛార్జర్ తీసివేయండి"</string> <string name="high_temp_alarm_notify_message" msgid="7186272817783835089">"ఈ పరికరాన్ని ఛార్జ్ చేయడంలో సమస్య ఉంది. పవర్ అడాప్టర్ను ప్లగ్ నుండి తీసివేసి, కేబుల్ ఏమైనా వేడిగా అయితే తగిన జాగ్రత్తలు తీసుకోండి."</string> @@ -1142,7 +1144,7 @@ <string name="status_before_loading" msgid="1500477307859631381">"కంటెంట్ త్వరలో కనిపిస్తుంది"</string> <string name="missed_call" msgid="4228016077700161689">"మిస్డ్ కాల్"</string> <string name="messages_count_overflow_indicator" msgid="7850934067082006043">"<xliff:g id="NUMBER">%d</xliff:g>+"</string> - <string name="people_tile_description" msgid="8154966188085545556">"ఇటీవలి మెసేజ్లు, మిస్డ్ కాల్లు, అలాగే స్టేటస్ అప్డేట్లను చూడండి"</string> + <string name="people_tile_description" msgid="8154966188085545556">"ఇటీవలి మెసేజ్లు, మిస్డ్ కాల్స్, అలాగే స్టేటస్ అప్డేట్లను చూడండి"</string> <string name="people_tile_title" msgid="6589377493334871272">"సంభాషణ"</string> <string name="paused_by_dnd" msgid="7856941866433556428">"అంతరాయం కలిగించవద్దు ద్వారా పాజ్ చేయబడింది"</string> <string name="new_notification_text_content_description" msgid="2915029960094389291">"<xliff:g id="NAME">%1$s</xliff:g> మెసేజ్ను పంపారు: <xliff:g id="NOTIFICATION">%2$s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 6f7df9fdcf3f..1fd1313719dc 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"ไม่รู้จักใบหน้า ใช้ลายนิ้วมือแทน"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"ใช้ลายนิ้วมือของคุณเพื่อดำเนินการต่อ"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"ไม่รู้จักลายนิ้วมือ ใช้การล็อกหน้าจอแทน"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"กำลังหาใบหน้าคุณ…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"ไอคอนใบหน้า"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"ปุ่มซูมที่ใช้งานร่วมกันได้"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index d0312b3a99f6..3837364887cf 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Hindi makilala ang mukha. Gumamit ng fingerprint."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Gamitin ang iyong fingerprint para magpatuloy"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Hindi makilala ang fingerprint. Gamitin na lang ang lock ng screen."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Hinahanap ka…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Face icon"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Button ng zoom ng pagiging tugma."</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 33eb5f3f9af2..1cd547ca7793 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Yüz tanınamadı. Bunun yerine parmak izi kullanın."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Devam etmek için parmak izinizi kullanın"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Parmak izi tanınamadı. Bunun yerine ekran kilidini kullanın."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Yüzünüz tanınmaya çalışılıyor…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Yüz simgesi"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Uyumluluk zum düğmesi."</string> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 24650f751319..70922aa77db3 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Обличчя не розпізнано. Скористайтеся відбитком пальця."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Щоб продовжити, скористайтеся відбитком пальця"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Відбиток пальця не розпізнано. Використайте натомість дані для розблокування екрана."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Пошук обличчя…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Значок обличчя"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Кнопка масштабування сумісності."</string> diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 5afb43d42a69..7ef014923960 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"چہرے کی شناخت نہیں ہو سکی۔ اس کے بجائے فنگر پرنٹ استعمال کریں۔"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"جاری رکھنے کے لیے اپنا فنگر پرنٹ استعمال کریں"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"فنگر پرنٹ کی شناخت نہیں کی جا سکی۔ اس کے بجائے اسکرین لاک کا استعمال کریں۔"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"آپ کے لیے تلاش کیا جا رہا ہے…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"چہرے کا آئیکن"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"مطابقت پذیری زوم بٹن۔"</string> diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 7968452ec284..08ac980d3bee 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Bu yuz notanish. Barmoq izi orqali urining."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Davom etish uchun barmoq izingizdan foydalaning"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Bu barmoq izi notanish. Ekran qulfi orqali urining."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Yuzingiz tekshirilmoqda…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Yuz belgisi"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Kattalashtirish tugmasi mosligi."</string> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 50e45cb9c114..60b1232cd8a3 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Không thể nhận dạng khuôn mặt. Hãy dùng vân tay."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Hãy dùng vân tay để tiếp tục"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Không thể nhận dạng vân tay. Hãy dùng phương thức khóa màn hình."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Đang tìm kiếm bạn…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Biểu tượng khuôn mặt"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Nút thu phóng khả năng tương thích."</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 2291902333ba..357e59e7ece5 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"无法识别人脸。请改用指纹。"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"使用指纹验证身份后才能继续"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"无法识别指纹。请改用屏幕锁定功能。"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"正在查找您的面孔…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"面孔图标"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"兼容性缩放按钮。"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 38228895297b..f8ede3a55b88 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"無法辨識面孔,請改用指紋完成驗證。"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"請使用您的指紋繼續"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"無法辨識指紋,請改用螢幕鎖定完成驗證。"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"正在搜尋您的臉孔…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"面孔圖示"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"相容性縮放按鈕。"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index fd6ad7ad5bd7..df84fb0699c9 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"無法辨識臉孔,請改用指紋完成驗證。"</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"使用指紋完成驗證才能繼續操作"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"無法辨識指紋,請改用螢幕鎖定完成驗證。"</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"正在尋找你的臉孔…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"臉孔圖示"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"相容性縮放按鈕。"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 58ecc7c3b147..fe97daa7682e 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -184,6 +184,8 @@ <string name="fingerprint_dialog_use_fingerprint_instead" msgid="6178228876763024452">"Ayibazi ubuso. Sebenzisa izigxivizo zeminwe kunalokho."</string> <string name="fingerprint_dialog_use_fingerprint" msgid="923777032861374285">"Sebenzisa izigxivizo zakho zeminwe ukuze uqhubeke"</string> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock" msgid="4805522676254378353">"Ayizazi izigxivizo zeminwe. Sebenzisa ukukhiya isikrini kunalokho."</string> + <!-- no translation found for keyguard_face_failed_use_fp (7140293906176164263) --> + <skip /> <string name="face_dialog_looking_for_face" msgid="2656848512116189509">"Kufunwa wena…"</string> <string name="accessibility_face_dialog_face_icon" msgid="8335095612223716768">"Isithonjana sobuso"</string> <string name="accessibility_compatibility_zoom_button" msgid="5845799798708790509">"Inkinobho evumelekile yokusondeza"</string> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 4a6efddd87c3..5eb2b551393b 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -107,7 +107,7 @@ <!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" --> <string name="quick_settings_tiles_stock" translatable="false"> - internet,wifi,cell,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness + internet,bt,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness </string> <!-- The tiles to display in QuickSettings --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 34f8503ac1dd..6ad9ab9a26ec 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -529,6 +529,9 @@ <!-- Gravity for the notification panel --> <integer name="notification_panel_layout_gravity">0x31</integer><!-- center_horizontal|top --> + <!-- Padding for the lock icon on the keyguard. In pixels - should not scale with display size. --> + <dimen name="lock_icon_padding">48px</dimen> + <!-- Height of the carrier/wifi name label --> <dimen name="carrier_label_height">24dp</dimen> @@ -1284,7 +1287,7 @@ <!-- Size of media cards in the QSPanel carousel --> <dimen name="qs_media_padding">16dp</dimen> <dimen name="qs_media_album_size_small">72dp</dimen> - <dimen name="qs_media_album_size">92dp</dimen> + <dimen name="qs_media_album_size">84dp</dimen> <dimen name="qs_media_album_radius">14dp</dimen> <dimen name="qs_media_album_device_padding">26dp</dimen> <dimen name="qs_media_info_margin">12dp</dimen> @@ -1301,13 +1304,14 @@ <dimen name="qs_footer_horizontal_margin">22dp</dimen> <dimen name="qs_media_disabled_seekbar_height">1dp</dimen> <dimen name="qs_media_enabled_seekbar_height">2dp</dimen> - <dimen name="qs_media_enabled_seekbar_vertical_padding">31dp</dimen> - <dimen name="qs_media_disabled_seekbar_vertical_padding">32dp</dimen> + <dimen name="qs_media_enabled_seekbar_vertical_padding">28dp</dimen> + <dimen name="qs_media_disabled_seekbar_vertical_padding">29dp</dimen> <!-- Size of Smartspace media recommendations cards in the QSPanel carousel --> <dimen name="qs_aa_media_rec_album_size_collapsed">72dp</dimen> - <dimen name="qs_aa_media_rec_album_size_expanded">80dp</dimen> + <dimen name="qs_aa_media_rec_album_size_expanded">76dp</dimen> <dimen name="qs_aa_media_rec_album_margin">8dp</dimen> + <dimen name="qs_aa_media_rec_album_margin_vert">4dp</dimen> <dimen name="qq_aa_media_rec_header_text_size">16sp</dimen> <!-- Window magnification --> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 04e5dd15c5c5..a67021611812 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -438,6 +438,8 @@ <string name="fingerprint_dialog_use_fingerprint">Use your fingerprint to continue</string> <!-- Message shown to ask the user to use screenlock to continue.[CHAR LIMIT=NONE] --> <string name="fingerprint_dialog_cant_recognize_fp_use_screenlock">Can\u2019t recognize fingerprint. Use screen lock instead.</string> + <!-- Message shown to inform the user a face cannot be recognized and fingerprint should instead be used.[CHAR LIMIT=50] --> + <string name="keyguard_face_failed_use_fp">@string/fingerprint_dialog_use_fingerprint_instead</string> <!-- Message shown when the system-provided face dialog is shown, asking for authentication [CHAR LIMIT=30] --> <string name="face_dialog_looking_for_face">Looking for you\u2026</string> diff --git a/packages/SystemUI/res/xml/media_expanded.xml b/packages/SystemUI/res/xml/media_expanded.xml index 9d706c5bad20..0e284e6ad631 100644 --- a/packages/SystemUI/res/xml/media_expanded.xml +++ b/packages/SystemUI/res/xml/media_expanded.xml @@ -93,7 +93,7 @@ android:layout_marginEnd="@dimen/qs_media_padding" android:layout_marginBottom="@dimen/qs_media_info_margin" app:layout_constrainedWidth="true" - android:layout_marginTop="@dimen/qs_media_info_spacing" + android:layout_marginTop="1dp" app:layout_constraintTop_toBottomOf="@id/header_title" app:layout_constraintStart_toStartOf="@id/header_title" app:layout_constraintEnd_toEndOf="parent" @@ -104,7 +104,8 @@ android:id="@+id/media_progress_bar" android:layout_width="0dp" android:layout_height="wrap_content" - app:layout_constraintTop_toBottomOf="@id/header_artist" + android:layout_marginTop="34dp" + app:layout_constraintTop_toBottomOf="@id/center_horizontal_guideline" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" /> @@ -124,7 +125,6 @@ android:id="@+id/action0" android:layout_width="48dp" android:layout_height="48dp" - android:layout_marginTop="@dimen/qs_media_action_margin" android:layout_marginStart="@dimen/qs_media_padding" android:layout_marginEnd="@dimen/qs_media_action_spacing" android:layout_marginBottom="@dimen/qs_media_action_margin" @@ -139,7 +139,6 @@ android:id="@+id/action1" android:layout_width="48dp" android:layout_height="48dp" - android:layout_marginTop="@dimen/qs_media_action_margin" android:layout_marginStart="@dimen/qs_media_action_spacing" android:layout_marginEnd="@dimen/qs_media_action_spacing" android:layout_marginBottom="@dimen/qs_media_action_margin" @@ -153,7 +152,6 @@ android:id="@+id/action2" android:layout_width="48dp" android:layout_height="48dp" - android:layout_marginTop="@dimen/qs_media_action_margin" android:layout_marginStart="@dimen/qs_media_action_spacing" android:layout_marginEnd="@dimen/qs_media_action_spacing" android:layout_marginBottom="@dimen/qs_media_action_margin" @@ -167,7 +165,6 @@ android:id="@+id/action3" android:layout_width="48dp" android:layout_height="48dp" - android:layout_marginTop="@dimen/qs_media_action_margin" android:layout_marginStart="@dimen/qs_media_action_spacing" android:layout_marginEnd="@dimen/qs_media_action_spacing" android:layout_marginBottom="@dimen/qs_media_action_margin" @@ -181,7 +178,6 @@ android:id="@+id/action4" android:layout_width="48dp" android:layout_height="48dp" - android:layout_marginTop="@dimen/qs_media_action_margin" android:layout_marginStart="@dimen/qs_media_action_spacing" android:layout_marginEnd="@dimen/qs_media_padding" android:layout_marginBottom="@dimen/qs_media_action_margin" diff --git a/packages/SystemUI/res/xml/media_recommendation_expanded.xml b/packages/SystemUI/res/xml/media_recommendation_expanded.xml index d8e132cc1208..8a3d5ca75a77 100644 --- a/packages/SystemUI/res/xml/media_recommendation_expanded.xml +++ b/packages/SystemUI/res/xml/media_recommendation_expanded.xml @@ -43,7 +43,7 @@ android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" android:layout_marginTop="@dimen/qs_media_padding" - android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin_vert" android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline" @@ -61,7 +61,7 @@ android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" android:layout_marginTop="@dimen/qs_media_padding" - android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin_vert" android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline" @@ -79,7 +79,7 @@ android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" android:layout_marginTop="@dimen/qs_media_padding" - android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginBottom="@dimen/qs_aa_media_rec_album_margin_vert" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toTopOf="@+id/media_horizontal_center_guideline" app:layout_constraintStart_toEndOf="@id/media_cover2_container" @@ -95,7 +95,7 @@ android:layout_width="0dp" android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" - android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin_vert" android:layout_marginBottom="@dimen/qs_media_padding" android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin" app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline" @@ -113,7 +113,7 @@ android:layout_width="0dp" android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" - android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin_vert" android:layout_marginBottom="@dimen/qs_media_padding" android:layout_marginEnd="@dimen/qs_aa_media_rec_album_margin" app:layout_constraintTop_toBottomOf="@+id/media_horizontal_center_guideline" @@ -131,7 +131,7 @@ android:layout_width="0dp" android:layout_height="@dimen/qs_aa_media_rec_album_size_expanded" app:layout_constraintWidth_max="@dimen/qs_aa_media_rec_album_size_expanded" - android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin" + android:layout_marginTop="@dimen/qs_aa_media_rec_album_margin_vert" android:layout_marginBottom="@dimen/qs_media_padding" app:layout_constraintTop_toBottomOf="@id/media_horizontal_center_guideline" app:layout_constraintBottom_toBottomOf="parent" diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardFaceListenModel.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardFaceListenModel.kt deleted file mode 100644 index 0785cc3c04d2..000000000000 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardFaceListenModel.kt +++ /dev/null @@ -1,28 +0,0 @@ -package com.android.keyguard - -import android.annotation.CurrentTimeMillisLong - -/** - * Data class for tracking information associated with [KeyguardUpdateMonitor.shouldListenForFace] - * method calls. - */ -data class KeyguardFaceListenModel( - @CurrentTimeMillisLong val timeMillis: Long, - val userId: Int, - val isListeningForFace: Boolean, - val isBouncer: Boolean, - val isAuthInterruptActive: Boolean, - val isOccludingAppRequestingFaceAuth: Boolean, - val isKeyguardAwake: Boolean, - val isListeningForFaceAssistant: Boolean, - val isSwitchingUser: Boolean, - val isFaceDisabled: Boolean, - val isBecauseCannotSkipBouncer: Boolean, - val isKeyguardGoingAway: Boolean, - val isBiometricSettingEnabledForUser: Boolean, - val isLockIconPressed: Boolean, - val isScanningAllowedByStrongAuth: Boolean, - val isPrimaryUser: Boolean, - val isSecureCameraLaunched: Boolean, - val isFaceAuthenticated: Boolean -) diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt new file mode 100644 index 000000000000..9286175cc2ea --- /dev/null +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardListenModel.kt @@ -0,0 +1,77 @@ +package com.android.keyguard + +import android.annotation.CurrentTimeMillisLong +import android.hardware.biometrics.BiometricAuthenticator.Modality +import android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE +import android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT + +/** Verbose logging for various keyguard listening states. */ +sealed class KeyguardListenModel { + /** Timestamp of the state change. */ + abstract val timeMillis: Long + /** Current user */ + abstract val userId: Int + /** If keyguard is listening for the given [modality]. */ + abstract val listening: Boolean + /** Sensor type */ + @Modality abstract val modality: Int +} + +/** + * Verbose debug information associated with [KeyguardUpdateMonitor.shouldListenForFingerprint]. + */ +data class KeyguardFingerprintListenModel( + @CurrentTimeMillisLong override val timeMillis: Long, + override val userId: Int, + override val listening: Boolean, + // keep sorted + val biometricEnabledForUser: Boolean, + val bouncer: Boolean, + val canSkipBouncer: Boolean, + val credentialAttempted: Boolean, + val deviceInteractive: Boolean, + val dreaming: Boolean, + val encryptedOrLockdown: Boolean, + val fingerprintDisabled: Boolean, + val fingerprintLockedOut: Boolean, + val goingToSleep: Boolean, + val keyguardGoingAway: Boolean, + val keyguardIsVisible: Boolean, + val keyguardOccluded: Boolean, + val occludingAppRequestingFp: Boolean, + val primaryUser: Boolean, + val shouldListenForFingerprintAssistant: Boolean, + val switchingUser: Boolean, + val udfps: Boolean, + val userDoesNotHaveTrust: Boolean, + val userNeedsStrongAuth: Boolean +) : KeyguardListenModel() { + override val modality: Int = TYPE_FACE +} + +/** + * Verbose debug information associated with [KeyguardUpdateMonitor.shouldListenForFace]. + */ +data class KeyguardFaceListenModel( + @CurrentTimeMillisLong override val timeMillis: Long, + override val userId: Int, + override val listening: Boolean, + // keep sorted + val authInterruptActive: Boolean, + val becauseCannotSkipBouncer: Boolean, + val biometricSettingEnabledForUser: Boolean, + val bouncer: Boolean, + val faceAuthenticated: Boolean, + val faceDisabled: Boolean, + val keyguardAwake: Boolean, + val keyguardGoingAway: Boolean, + val listeningForFaceAssistant: Boolean, + val lockIconPressed: Boolean, + val occludingAppRequestingFaceAuth: Boolean, + val primaryUser: Boolean, + val scanningAllowedByStrongAuth: Boolean, + val secureCameraLaunched: Boolean, + val switchingUser: Boolean +) : KeyguardListenModel() { + override val modality: Int = TYPE_FINGERPRINT +} diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardListenQueue.kt b/packages/SystemUI/src/com/android/keyguard/KeyguardListenQueue.kt new file mode 100644 index 000000000000..f13a59a84811 --- /dev/null +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardListenQueue.kt @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2021 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 androidx.annotation.VisibleForTesting +import java.io.PrintWriter +import java.text.DateFormat +import java.text.SimpleDateFormat +import java.util.Date +import java.util.Locale +import kotlin.collections.ArrayDeque + +private val DEFAULT_FORMATTING = SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US) + +/** Queue for verbose logging checks for the listening state. */ +class KeyguardListenQueue( + val sizePerModality: Int = 20 +) { + private val faceQueue = ArrayDeque<KeyguardFaceListenModel>() + private val fingerprintQueue = ArrayDeque<KeyguardFingerprintListenModel>() + + @get:VisibleForTesting val models: List<KeyguardListenModel> + get() = faceQueue + fingerprintQueue + + /** Push a [model] to the queue (will be logged until the queue exceeds [sizePerModality]). */ + fun add(model: KeyguardListenModel) { + val queue = when (model) { + is KeyguardFaceListenModel -> faceQueue.apply { add(model) } + is KeyguardFingerprintListenModel -> fingerprintQueue.apply { add(model) } + } + + if (queue.size > sizePerModality) { + queue.removeFirstOrNull() + } + } + + /** Print verbose logs via the [writer]. */ + @JvmOverloads + fun print(writer: PrintWriter, dateFormat: DateFormat = DEFAULT_FORMATTING) { + val stringify: (KeyguardListenModel) -> String = { model -> + " ${dateFormat.format(Date(model.timeMillis))} $model" + } + + writer.println(" Face listen results (last ${faceQueue.size} calls):") + for (model in faceQueue) { + writer.println(stringify(model)) + } + writer.println(" Fingerprint listen results (last ${fingerprintQueue.size} calls):") + for (model in fingerprintQueue) { + writer.println(stringify(model)) + } + } +} diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 9e390e6bd3f4..1f4faf1a3d31 100755 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -119,13 +119,9 @@ import com.google.android.collect.Lists; import java.io.FileDescriptor; import java.io.PrintWriter; import java.lang.ref.WeakReference; -import java.text.SimpleDateFormat; -import java.util.ArrayDeque; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.TimeZone; @@ -146,6 +142,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private static final boolean DEBUG = KeyguardConstants.DEBUG; private static final boolean DEBUG_SIM_STATES = KeyguardConstants.DEBUG_SIM_STATES; private static final boolean DEBUG_FACE = Build.IS_DEBUGGABLE; + private static final boolean DEBUG_FINGERPRINT = Build.IS_DEBUGGABLE; private static final boolean DEBUG_SPEW = false; private static final int FINGERPRINT_LOCKOUT_RESET_DELAY_MS = 600; @@ -345,13 +342,16 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private static final int HAL_ERROR_RETRY_TIMEOUT = 500; // ms private static final int HAL_ERROR_RETRY_MAX = 20; - private final Runnable mCancelNotReceived = new Runnable() { - @Override - public void run() { - Log.w(TAG, "Cancel not received, transitioning to STOPPED"); - mFingerprintRunningState = mFaceRunningState = BIOMETRIC_STATE_STOPPED; - updateBiometricListeningState(); - } + private final Runnable mFpCancelNotReceived = () -> { + Log.e(TAG, "Fp cancellation not received, transitioning to STOPPED"); + mFingerprintRunningState = BIOMETRIC_STATE_STOPPED; + updateFingerprintListeningState(); + }; + + private final Runnable mFaceCancelNotReceived = () -> { + Log.e(TAG, "Face cancellation not received, transitioning to STOPPED"); + mFaceRunningState = BIOMETRIC_STATE_STOPPED; + updateFaceListeningState(); }; private final Handler mHandler; @@ -417,9 +417,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting SparseArray<BiometricAuthenticated> mUserFaceAuthenticated = new SparseArray<>(); - // Keep track of recent calls to shouldListenForFace() for debugging. - private static final int FACE_LISTEN_CALLS_QUEUE_SIZE = 20; - private ArrayDeque<KeyguardFaceListenModel> mFaceListenModels; + // Keep track of recent calls to shouldListenFor*() for debugging. + private final KeyguardListenQueue mListenModels = new KeyguardListenQueue(); private static int sCurrentUser; private Runnable mUpdateBiometricListeningState = this::updateBiometricListeningState; @@ -769,19 +768,19 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private void handleFingerprintError(int msgId, String errString) { Assert.isMainThread(); - if (msgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED && mHandler.hasCallbacks( - mCancelNotReceived)) { - mHandler.removeCallbacks(mCancelNotReceived); + if (mHandler.hasCallbacks(mFpCancelNotReceived)) { + mHandler.removeCallbacks(mFpCancelNotReceived); } + // Error is always the end of authentication lifecycle. + mFingerprintCancelSignal = null; + if (msgId == FingerprintManager.FINGERPRINT_ERROR_CANCELED && mFingerprintRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); updateFingerprintListeningState(); } else { setFingerprintRunningState(BIOMETRIC_STATE_STOPPED); - mFingerprintCancelSignal = null; - mFaceCancelSignal = null; } if (msgId == FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE) { @@ -883,6 +882,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private void handleFaceAuthFailed() { Assert.isMainThread(); + mFaceCancelSignal = null; setFaceRunningState(BIOMETRIC_STATE_STOPPED); for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); @@ -961,10 +961,13 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab private void handleFaceError(int msgId, String errString) { Assert.isMainThread(); if (DEBUG_FACE) Log.d(TAG, "Face error received: " + errString); - if (msgId == FaceManager.FACE_ERROR_CANCELED && mHandler.hasCallbacks(mCancelNotReceived)) { - mHandler.removeCallbacks(mCancelNotReceived); + if (mHandler.hasCallbacks(mFaceCancelNotReceived)) { + mHandler.removeCallbacks(mFaceCancelNotReceived); } + // Error is always the end of authentication lifecycle + mFaceCancelSignal = null; + if (msgId == FaceManager.FACE_ERROR_CANCELED && mFaceRunningState == BIOMETRIC_STATE_CANCELLING_RESTARTING) { setFaceRunningState(BIOMETRIC_STATE_STOPPED); @@ -2201,37 +2204,75 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab @VisibleForTesting protected boolean shouldListenForFingerprint(boolean isUdfps) { - final boolean userDoesNotHaveTrust = !getUserHasTrust(getCurrentUser()); + final int user = getCurrentUser(); + final boolean userDoesNotHaveTrust = !getUserHasTrust(user); + final boolean shouldListenForFingerprintAssistant = shouldListenForFingerprintAssistant(); final boolean shouldListenKeyguardState = mKeyguardIsVisible || !mDeviceInteractive || (mBouncer && !mKeyguardGoingAway) || mGoingToSleep - || shouldListenForFingerprintAssistant() + || shouldListenForFingerprintAssistant || (mKeyguardOccluded && mIsDreaming) || (mKeyguardOccluded && userDoesNotHaveTrust && (mOccludingAppRequestingFp || isUdfps)); // Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an // instance of KeyguardUpdateMonitor for each user but KeyguardUpdateMonitor is user-aware. + final boolean biometricEnabledForUser = mBiometricEnabledForUser.get(user); + final boolean userCanSkipBouncer = getUserCanSkipBouncer(user); + final boolean fingerprintDisabledForUser = isFingerprintDisabled(user); final boolean shouldListenUserState = !mSwitchingUser - && !isFingerprintDisabled(getCurrentUser()) + && !fingerprintDisabledForUser && (!mKeyguardGoingAway || !mDeviceInteractive) && mIsPrimaryUser - && mBiometricEnabledForUser.get(getCurrentUser()); + && biometricEnabledForUser; final boolean shouldListenBouncerState = !(mFingerprintLockedOut && mBouncer && mCredentialAttempted); + final boolean isEncryptedOrLockdownForUser = isEncryptedOrLockdown(user); + final boolean userNeedsStrongAuth = userNeedsStrongAuth(); final boolean shouldListenUdfpsState = !isUdfps - || (!getUserCanSkipBouncer(getCurrentUser()) - && !isEncryptedOrLockdown(getCurrentUser()) - && !userNeedsStrongAuth() + || (!userCanSkipBouncer + && !isEncryptedOrLockdownForUser + && !userNeedsStrongAuth && userDoesNotHaveTrust && !mFingerprintLockedOut); - return shouldListenKeyguardState && shouldListenUserState && shouldListenBouncerState - && shouldListenUdfpsState; + + final boolean shouldListen = shouldListenKeyguardState && shouldListenUserState + && shouldListenBouncerState && shouldListenUdfpsState; + + if (DEBUG_FINGERPRINT || DEBUG_SPEW) { + maybeLogListenerModelData( + new KeyguardFingerprintListenModel( + System.currentTimeMillis(), + user, + shouldListen, + biometricEnabledForUser, + mBouncer, + userCanSkipBouncer, + mCredentialAttempted, + mDeviceInteractive, + mIsDreaming, + isEncryptedOrLockdownForUser, + fingerprintDisabledForUser, + mFingerprintLockedOut, + mGoingToSleep, + mKeyguardGoingAway, + mKeyguardIsVisible, + mKeyguardOccluded, + mOccludingAppRequestingFp, + mIsPrimaryUser, + shouldListenForFingerprintAssistant, + mSwitchingUser, + isUdfps, + userDoesNotHaveTrust, + userNeedsStrongAuth)); + } + + return shouldListen; } /** @@ -2255,12 +2296,12 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_BOOT) || containsFlag(strongAuth, STRONG_AUTH_REQUIRED_AFTER_TIMEOUT); - boolean canBypass = mKeyguardBypassController != null + final boolean canBypass = mKeyguardBypassController != null && mKeyguardBypassController.canBypass(); // There's no reason to ask the HAL for authentication when the user can dismiss the // bouncer, unless we're bypassing and need to auto-dismiss the lock screen even when // TrustAgents or biometrics are keeping the device unlocked. - boolean becauseCannotSkipBouncer = !getUserCanSkipBouncer(user) || canBypass; + final boolean becauseCannotSkipBouncer = !getUserCanSkipBouncer(user) || canBypass; // Scan even when encrypted or timeout to show a preemptive bouncer when bypassing. // Lock-down mode shouldn't scan, since it is more explicit. @@ -2268,69 +2309,72 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab // If the device supports face detection (without authentication), allow it to happen // if the device is in lockdown mode. Otherwise, prevent scanning. - boolean supportsDetectOnly = !mFaceSensorProperties.isEmpty() + final boolean supportsDetectOnly = !mFaceSensorProperties.isEmpty() && mFaceSensorProperties.get(0).supportsFaceDetection; if (isLockDown && !supportsDetectOnly) { strongAuthAllowsScanning = false; } // If the face has recently been authenticated do not attempt to authenticate again. - boolean faceAuthenticated = getIsFaceAuthenticated(); + final boolean faceAuthenticated = getIsFaceAuthenticated(); + final boolean faceDisabledForUser = isFaceDisabled(user); + final boolean biometricEnabledForUser = mBiometricEnabledForUser.get(user); + final boolean shouldListenForFaceAssistant = shouldListenForFaceAssistant(); // Only listen if this KeyguardUpdateMonitor belongs to the primary user. There is an // instance of KeyguardUpdateMonitor for each user but KeyguardUpdateMonitor is user-aware. final boolean shouldListen = (mBouncer || mAuthInterruptActive || mOccludingAppRequestingFace || awakeKeyguard - || shouldListenForFaceAssistant()) - && !mSwitchingUser && !isFaceDisabled(user) && becauseCannotSkipBouncer - && !mKeyguardGoingAway && mBiometricEnabledForUser.get(user) && !mLockIconPressed + || shouldListenForFaceAssistant) + && !mSwitchingUser && !faceDisabledForUser && becauseCannotSkipBouncer + && !mKeyguardGoingAway && biometricEnabledForUser && !mLockIconPressed && strongAuthAllowsScanning && mIsPrimaryUser && (!mSecureCameraLaunched || mOccludingAppRequestingFace) && !faceAuthenticated; // Aggregate relevant fields for debug logging. if (DEBUG_FACE || DEBUG_SPEW) { - final KeyguardFaceListenModel model = new KeyguardFaceListenModel( - System.currentTimeMillis(), - user, - shouldListen, - mBouncer, - mAuthInterruptActive, - mOccludingAppRequestingFace, - awakeKeyguard, - shouldListenForFaceAssistant(), - mSwitchingUser, - isFaceDisabled(user), - becauseCannotSkipBouncer, - mKeyguardGoingAway, - mBiometricEnabledForUser.get(user), - mLockIconPressed, - strongAuthAllowsScanning, - mIsPrimaryUser, - mSecureCameraLaunched, - faceAuthenticated); - maybeLogFaceListenerModelData(model); + maybeLogListenerModelData( + new KeyguardFaceListenModel( + System.currentTimeMillis(), + user, + shouldListen, + mAuthInterruptActive, + becauseCannotSkipBouncer, + biometricEnabledForUser, + mBouncer, + faceAuthenticated, + faceDisabledForUser, + awakeKeyguard, + mKeyguardGoingAway, + shouldListenForFaceAssistant, + mLockIconPressed, + mOccludingAppRequestingFace, + mIsPrimaryUser, + strongAuthAllowsScanning, + mSecureCameraLaunched, + mSwitchingUser)); } return shouldListen; } - private void maybeLogFaceListenerModelData(KeyguardFaceListenModel model) { + private void maybeLogListenerModelData(KeyguardListenModel model) { // Too chatty, but very useful when debugging issues. if (DEBUG_SPEW) { Log.v(TAG, model.toString()); } // Add model data to the historical buffer. - if (DEBUG_FACE && mFaceRunningState != BIOMETRIC_STATE_RUNNING - && model.isListeningForFace()) { - if (mFaceListenModels == null) { - mFaceListenModels = new ArrayDeque<>(FACE_LISTEN_CALLS_QUEUE_SIZE); - } - if (mFaceListenModels.size() >= FACE_LISTEN_CALLS_QUEUE_SIZE) { - mFaceListenModels.remove(); - } - mFaceListenModels.add(model); + final boolean notYetRunning = + (DEBUG_FACE + && model instanceof KeyguardFaceListenModel + && mFaceRunningState != BIOMETRIC_STATE_RUNNING) + || (DEBUG_FINGERPRINT + && model instanceof KeyguardFingerprintListenModel + && mFingerprintRunningState != BIOMETRIC_STATE_RUNNING); + if (notYetRunning && model.getListening()) { + mListenModels.add(model); } } @@ -2347,6 +2391,14 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } private void startListeningForFingerprint() { + final int userId = getCurrentUser(); + final boolean unlockPossible = isUnlockWithFingerprintPossible(userId); + if (mFingerprintCancelSignal != null) { + Log.e(TAG, "Cancellation signal is not null, high chance of bug in fp auth lifecycle" + + " management. FP state: " + mFingerprintRunningState + + ", unlockPossible: " + unlockPossible); + } + if (mFingerprintRunningState == BIOMETRIC_STATE_CANCELLING) { setFingerprintRunningState(BIOMETRIC_STATE_CANCELLING_RESTARTING); return; @@ -2356,11 +2408,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab return; } if (DEBUG) Log.v(TAG, "startListeningForFingerprint()"); - int userId = getCurrentUser(); - if (isUnlockWithFingerprintPossible(userId)) { - if (mFingerprintCancelSignal != null) { - mFingerprintCancelSignal.cancel(); - } + + if (unlockPossible) { mFingerprintCancelSignal = new CancellationSignal(); if (isEncryptedOrLockdown(userId)) { @@ -2376,6 +2425,14 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } private void startListeningForFace() { + final int userId = getCurrentUser(); + final boolean unlockPossible = isUnlockWithFacePossible(userId); + if (mFaceCancelSignal != null) { + Log.e(TAG, "Cancellation signal is not null, high chance of bug in face auth lifecycle" + + " management. Face state: " + mFaceRunningState + + ", unlockPossible: " + unlockPossible); + } + if (mFaceRunningState == BIOMETRIC_STATE_CANCELLING) { setFaceRunningState(BIOMETRIC_STATE_CANCELLING_RESTARTING); return; @@ -2384,11 +2441,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab return; } if (DEBUG) Log.v(TAG, "startListeningForFace(): " + mFaceRunningState); - int userId = getCurrentUser(); - if (isUnlockWithFacePossible(userId)) { - if (mFaceCancelSignal != null) { - mFaceCancelSignal.cancel(); - } + + if (unlockPossible) { mFaceCancelSignal = new CancellationSignal(); // This would need to be updated for multi-sensor devices @@ -2440,9 +2494,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab if (mFingerprintCancelSignal != null) { mFingerprintCancelSignal.cancel(); mFingerprintCancelSignal = null; - if (!mHandler.hasCallbacks(mCancelNotReceived)) { - mHandler.postDelayed(mCancelNotReceived, DEFAULT_CANCEL_SIGNAL_TIMEOUT); - } + mHandler.removeCallbacks(mFpCancelNotReceived); + mHandler.postDelayed(mFpCancelNotReceived, DEFAULT_CANCEL_SIGNAL_TIMEOUT); } setFingerprintRunningState(BIOMETRIC_STATE_CANCELLING); } @@ -2457,9 +2510,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab if (mFaceCancelSignal != null) { mFaceCancelSignal.cancel(); mFaceCancelSignal = null; - if (!mHandler.hasCallbacks(mCancelNotReceived)) { - mHandler.postDelayed(mCancelNotReceived, DEFAULT_CANCEL_SIGNAL_TIMEOUT); - } + mHandler.removeCallbacks(mFaceCancelNotReceived); + mHandler.postDelayed(mFaceCancelNotReceived, DEFAULT_CANCEL_SIGNAL_TIMEOUT); } setFaceRunningState(BIOMETRIC_STATE_CANCELLING); } @@ -2837,6 +2889,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab mSecureCameraLaunched = false; } + if (mKeyguardBypassController != null) { + // LS visibility has changed, so reset deviceEntryIntent + mKeyguardBypassController.setUserHasDeviceEntryIntent(false); + } + for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); if (cb != null) { @@ -3465,15 +3522,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab pw.println(" enabledByUser=" + mBiometricEnabledForUser.get(userId)); pw.println(" mSecureCameraLaunched=" + mSecureCameraLaunched); } - if (mFaceListenModels != null && !mFaceListenModels.isEmpty()) { - final SimpleDateFormat dateFormat = - new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US); - pw.println(" Face listen results (last " + FACE_LISTEN_CALLS_QUEUE_SIZE + " calls):"); - for (final KeyguardFaceListenModel model : mFaceListenModels) { - final String time = dateFormat.format(new Date(model.getTimeMillis())); - pw.println(" " + time + " " + model.toString()); - } - } + mListenModels.print(pw); + if (mIsAutomotive) { pw.println(" Running on Automotive build"); } diff --git a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java index 4317e258d8f7..509ac8a6d9fe 100644 --- a/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java +++ b/packages/SystemUI/src/com/android/keyguard/LockIconViewController.java @@ -514,7 +514,15 @@ public class LockIconViewController extends ViewController<LockIconView> impleme if (!wasClickableOnDownEvent()) { return false; } + onAffordanceClick(); + return true; + } + public boolean onFling(MotionEvent e1, MotionEvent e2, + float velocityX, float velocityY) { + if (!wasClickableOnDownEvent()) { + return false; + } onAffordanceClick(); return true; } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintView.java b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintView.java index 98ad87506819..ae3e94b9a1cb 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintView.java @@ -44,11 +44,17 @@ public class AuthBiometricFaceToFingerprintView extends AuthBiometricFaceView { private static final String TAG = "BiometricPrompt/AuthBiometricFaceToFingerprintView"; protected static class UdfpsIconController extends IconController { + @BiometricState private int mIconState = STATE_IDLE; + protected UdfpsIconController( @NonNull Context context, @NonNull ImageView iconView, @NonNull TextView textView) { super(context, iconView, textView); } + void updateState(@BiometricState int newState) { + updateState(mIconState, newState); + } + @Override protected void updateState(int lastState, int newState) { final boolean lastStateIsErrorIcon = @@ -86,6 +92,7 @@ public class AuthBiometricFaceToFingerprintView extends AuthBiometricFaceView { } mState = newState; + mIconState = newState; } } @@ -191,11 +198,11 @@ public class AuthBiometricFaceToFingerprintView extends AuthBiometricFaceView { // Deactivate the face icon controller so it stops drawing to the view mFaceIconController.deactivate(); - // Then, activate this icon controller. We need to start in the "error" state - mUdfpsIconController.updateState(mState, newState); + // Then, activate this icon controller. We need to start in the "idle" state + mUdfpsIconController.updateState(STATE_IDLE); } } else { // Fingerprint - mUdfpsIconController.updateState(mState, newState); + mUdfpsIconController.updateState(newState); } super.updateState(newState); diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java index d122610c395d..d46426a03621 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardView.java @@ -23,7 +23,6 @@ import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; -import android.animation.ValueAnimator; import android.content.Context; import android.graphics.PorterDuff; import android.graphics.PorterDuffColorFilter; @@ -68,8 +67,6 @@ public class UdfpsKeyguardView extends UdfpsAnimationView { private float mBurnInProgress; private float mInterpolatedDarkAmount; - private ValueAnimator mHintAnimator; - public UdfpsKeyguardView(Context context, @Nullable AttributeSet attrs) { super(context, attrs); mFingerprintDrawable = new UdfpsFpDrawable(context); @@ -94,9 +91,6 @@ public class UdfpsKeyguardView extends UdfpsAnimationView { new KeyPath("**"), LottieProperty.COLOR_FILTER, frameInfo -> new PorterDuffColorFilter(mTextColorPrimary, PorterDuff.Mode.SRC_ATOP) ); - - mHintAnimator = ObjectAnimator.ofFloat(mLockScreenFp, "progress", 1f, 0f, 1f); - mHintAnimator.setDuration(4000); } @Override @@ -183,19 +177,11 @@ public class UdfpsKeyguardView extends UdfpsAnimationView { } void onDozeAmountChanged(float linear, float eased) { - mHintAnimator.cancel(); mInterpolatedDarkAmount = eased; updateAlpha(); updateBurnInOffsets(); } - void animateHint() { - if (!isShadeLocked() && !mUdfpsRequested && mAlpha == 255 - && mLockScreenFp.isVisibleToUser()) { - mHintAnimator.start(); - } - } - /** * Animates in the bg protection circle behind the fp icon to highlight the icon. */ diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java index 58f1254da563..4896305daa2e 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java +++ b/packages/SystemUI/src/com/android/systemui/biometrics/UdfpsKeyguardViewController.java @@ -20,14 +20,10 @@ import static com.android.systemui.statusbar.StatusBarState.KEYGUARD; import android.annotation.NonNull; import android.content.res.Configuration; -import android.hardware.biometrics.BiometricSourceType; import android.util.MathUtils; import android.view.MotionEvent; -import androidx.annotation.Nullable; - import com.android.keyguard.KeyguardUpdateMonitor; -import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.systemui.R; import com.android.systemui.dump.DumpManager; import com.android.systemui.keyguard.KeyguardViewMediator; @@ -46,14 +42,8 @@ import java.io.PrintWriter; /** * Class that coordinates non-HBM animations during keyguard authentication. - * - * Highlights the udfps icon when: - * - Face authentication has failed - * - Face authentication has been run for > 2 seconds */ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<UdfpsKeyguardView> { - private static final long AFTER_FACE_AUTH_HINT_DELAY = 2000; - @NonNull private final StatusBarKeyguardViewManager mKeyguardViewManager; @NonNull private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; @NonNull private final DelayableExecutor mExecutor; @@ -62,12 +52,10 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @NonNull private final ConfigurationController mConfigurationController; @NonNull private final UdfpsController mUdfpsController; - @Nullable private Runnable mCancelDelayedHintRunnable; private boolean mShowingUdfpsBouncer; private boolean mUdfpsRequested; private boolean mQsExpanded; private boolean mFaceDetectRunning; - private boolean mHintShown; private int mStatusBarState; private float mTransitionToFullShadeProgress; private float mLastDozeAmount; @@ -110,10 +98,6 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @Override protected void onViewAttached() { super.onViewAttached(); - mHintShown = false; - mKeyguardUpdateMonitor.registerCallback(mKeyguardUpdateMonitorCallback); - updateFaceDetectRunning(mKeyguardUpdateMonitor.isFaceDetectionRunning()); - final float dozeAmount = mStatusBarStateController.getDozeAmount(); mLastDozeAmount = dozeAmount; mStateListener.onDozeAmountChanged(dozeAmount, dozeAmount); @@ -136,7 +120,6 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud @Override protected void onViewDetached() { super.onViewDetached(); - mKeyguardUpdateMonitor.removeCallback(mKeyguardUpdateMonitorCallback); mFaceDetectRunning = false; mStatusBarStateController.removeCallback(mStateListener); @@ -146,11 +129,6 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud if (mLockScreenShadeTransitionController.getUdfpsKeyguardViewController() == this) { mLockScreenShadeTransitionController.setUdfpsKeyguardViewController(null); } - - if (mCancelDelayedHintRunnable != null) { - mCancelDelayedHintRunnable.run(); - mCancelDelayedHintRunnable = null; - } } @Override @@ -249,36 +227,6 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud } } - private void cancelDelayedHint() { - if (mCancelDelayedHintRunnable != null) { - mCancelDelayedHintRunnable.run(); - mCancelDelayedHintRunnable = null; - } - } - - private void updateFaceDetectRunning(boolean running) { - if (mFaceDetectRunning == running) { - return; - } - - // show udfps hint a few seconds after face auth started running - if (!mFaceDetectRunning && running && !mHintShown && mCancelDelayedHintRunnable == null) { - // Face detect started running, show udfps hint after a delay - mCancelDelayedHintRunnable = mExecutor.executeDelayed(() -> showHint(false), - AFTER_FACE_AUTH_HINT_DELAY); - } - - mFaceDetectRunning = running; - } - - private void showHint(boolean forceShow) { - cancelDelayedHint(); - if (!mHintShown || forceShow) { - mHintShown = true; - mView.animateHint(); - } - } - /** * Set the progress we're currently transitioning to the full shade. 0.0f means we're not * transitioning yet, while 1.0f means we've fully dragged down. @@ -318,39 +266,6 @@ public class UdfpsKeyguardViewController extends UdfpsAnimationViewController<Ud } }; - private final KeyguardUpdateMonitorCallback mKeyguardUpdateMonitorCallback = - new KeyguardUpdateMonitorCallback() { - public void onBiometricRunningStateChanged(boolean running, - BiometricSourceType biometricSourceType) { - if (biometricSourceType == BiometricSourceType.FACE) { - updateFaceDetectRunning(running); - } - } - - public void onBiometricAuthFailed(BiometricSourceType biometricSourceType) { - if (biometricSourceType == BiometricSourceType.FACE) { - // show udfps hint when face auth fails - showHint(true); - } - } - - public void onBiometricError(int msgId, String errString, - BiometricSourceType biometricSourceType) { - if (biometricSourceType == BiometricSourceType.FACE) { - // show udfps hint when face auth fails - showHint(true); - } - } - - public void onBiometricAuthenticated(int userId, - BiometricSourceType biometricSourceType, boolean isStrongBiometric) { - if (biometricSourceType == BiometricSourceType.FACE) { - // cancel delayed hint if face auth succeeded - cancelDelayedHint(); - } - } - }; - private final StatusBarKeyguardViewManager.AlternateAuthInterceptor mAlternateAuthInterceptor = new StatusBarKeyguardViewManager.AlternateAuthInterceptor() { @Override diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java index 23c44131ab60..b2db86f16104 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java +++ b/packages/SystemUI/src/com/android/systemui/doze/DozeSensors.java @@ -115,6 +115,7 @@ public class DozeSensors { mSecureSettings = secureSettings; mCallback = callback; mProximitySensor = proximitySensor; + mProximitySensor.setTag(TAG); mSelectivelyRegisterProxSensors = dozeParameters.getSelectivelyRegisterSensorsUsingProx(); mListeningProxSensors = !mSelectivelyRegisterProxSensors; mScreenOffUdfpsEnabled = diff --git a/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt index 15e3f3a6b1e9..5c6478ed0895 100644 --- a/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt +++ b/packages/SystemUI/src/com/android/systemui/doze/util/BurnInHelper.kt @@ -21,8 +21,8 @@ import android.util.MathUtils private const val MILLIS_PER_MINUTES = 1000 * 60f private const val BURN_IN_PREVENTION_PERIOD_Y = 521f private const val BURN_IN_PREVENTION_PERIOD_X = 83f -private const val BURN_IN_PREVENTION_PERIOD_SCALE = 180f -private const val BURN_IN_PREVENTION_PERIOD_PROGRESS = 120f +private const val BURN_IN_PREVENTION_PERIOD_SCALE = 181f +private const val BURN_IN_PREVENTION_PERIOD_PROGRESS = 89f /** * Returns the translation offset that should be used to avoid burn in at diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index ae2602baf6c7..b414961d21da 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -2633,7 +2633,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, if (mContext.getResources().getBoolean( com.android.internal.R.bool.config_guestUserAutoCreated)) { // TODO(b/191067027): Move post-boot guest creation to system_server - mUserSwitcherController.guaranteeGuestPresent(); + mUserSwitcherController.schedulePostBootGuestCreation(); } mBootCompleted = true; adjustStatusBarLocked(false, true); @@ -2789,7 +2789,10 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable, // Don't hide the keyguard due to a doze change if there's a lock pending, because we're // just going to show it again. - if (mShowing || !mPendingLock) { + // If the device is not capable of controlling the screen off animation, SysUI needs to + // update lock screen state in ATMS here, otherwise ATMS tries to resume activities when + // enabling doze state. + if (mShowing || !mPendingLock || !mDozeParameters.canControlUnlockedScreenOff()) { setShowingLocked(mShowing); } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java index ce1066ee41c2..1bd36644bbc5 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java +++ b/packages/SystemUI/src/com/android/systemui/qs/PagedTileLayout.java @@ -268,7 +268,7 @@ public class PagedTileLayout extends ViewPager implements QSTileLayout { } @Override - public void setExpansion(float expansion) { + public void setExpansion(float expansion, float proposedTranslation) { mLastExpansion = expansion; updateSelected(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java index c9230d684b1b..1c841eca65f3 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSFragment.java @@ -498,11 +498,13 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca : headerTranslation); } int currentHeight = getView().getHeight(); - mLastHeaderTranslation = headerTranslation; - if (expansion == mLastQSExpansion && mLastKeyguardAndExpanded == onKeyguardAndExpanded - && mLastViewHeight == currentHeight) { + if (expansion == mLastQSExpansion + && mLastKeyguardAndExpanded == onKeyguardAndExpanded + && mLastViewHeight == currentHeight + && mLastHeaderTranslation == headerTranslation) { return; } + mLastHeaderTranslation = headerTranslation; mLastQSExpansion = expansion; mLastKeyguardAndExpanded = onKeyguardAndExpanded; mLastViewHeight = currentHeight; @@ -522,8 +524,8 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca } mFooter.setExpansion(onKeyguardAndExpanded ? 1 : expansion); mQSPanelController.setRevealExpansion(expansion); - mQSPanelController.getTileLayout().setExpansion(expansion); - mQuickQSPanelController.getTileLayout().setExpansion(expansion); + mQSPanelController.getTileLayout().setExpansion(expansion, proposedTranslation); + mQuickQSPanelController.getTileLayout().setExpansion(expansion, proposedTranslation); mQSPanelScrollView.setTranslationY(translationScaleY * heightDiff); if (fullyCollapsed) { mQSPanelScrollView.setScrollY(0); diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java index 1b4ee734a491..cde80e66ba26 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java @@ -742,7 +742,7 @@ public class QSPanel extends LinearLayout implements Tunable { void setListening(boolean listening, UiEventLogger uiEventLogger); /** - * Set the minimum number of rows to show + * Sets the minimum number of rows to show * * @param minRows the minimum. */ @@ -751,7 +751,7 @@ public class QSPanel extends LinearLayout implements Tunable { } /** - * Set the max number of columns to show + * Sets the max number of columns to show * * @param maxColumns the maximum * @@ -761,7 +761,10 @@ public class QSPanel extends LinearLayout implements Tunable { return false; } - default void setExpansion(float expansion) {} + /** + * Sets the expansion value and proposedTranslation to panel. + */ + default void setExpansion(float expansion, float proposedTranslation) {} int getNumVisibleTiles(); } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java index 756ad9939886..541ee2c4fe8f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSTileHost.java @@ -51,7 +51,6 @@ import com.android.systemui.qs.external.TileServices; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.settings.UserTracker; import com.android.systemui.shared.plugins.PluginManager; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.phone.AutoTileManager; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarIconController; @@ -512,33 +511,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D } } } - // TODO(b/174753536): Move it into the config file. - // Only do the below hacking when at least one of the below tiles exist - // --InternetTile - // --WiFiTile - // --CellularTIle - if (tiles.contains("internet") || tiles.contains("wifi") || tiles.contains("cell")) { - if (FeatureFlags.isProviderModelSettingEnabled(context)) { - if (!tiles.contains("internet")) { - if (tiles.contains("wifi")) { - // Replace the WiFi with Internet, and remove the Cell - tiles.set(tiles.indexOf("wifi"), "internet"); - tiles.remove("cell"); - } else if (tiles.contains("cell")) { - // Replace the Cell with Internet - tiles.set(tiles.indexOf("cell"), "internet"); - } - } else { - tiles.remove("wifi"); - tiles.remove("cell"); - } - } else { - if (tiles.contains("internet")) { - tiles.set(tiles.indexOf("internet"), "wifi"); - tiles.add("cell"); - } - } - } return tiles; } @@ -558,14 +530,6 @@ public class QSTileHost implements QSHost, Tunable, PluginListener<QSFactory>, D && GarbageMonitor.ADD_MEMORY_TILE_TO_DEFAULT_ON_DEBUGGABLE_BUILDS) { tiles.add(GarbageMonitor.MemoryTile.TILE_SPEC); } - // TODO(b/174753536): Change the config file directly. - // Filter out unused tiles from the default QS config. - if (FeatureFlags.isProviderModelSettingEnabled(context)) { - tiles.remove("cell"); - tiles.remove("wifi"); - } else { - tiles.remove("internet"); - } return tiles; } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java index 985943bc8b05..c5bfe97403e7 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java @@ -177,6 +177,8 @@ public class QuickQSPanel extends QSPanel { static class QQSSideLabelTileLayout extends SideLabelTileLayout { + private boolean mLastSelected; + QQSSideLabelTileLayout(Context context) { super(context, null); setClipChildren(false); @@ -222,5 +224,29 @@ public class QuickQSPanel extends QSPanel { } } } + + @Override + public void setExpansion(float expansion, float proposedTranslation) { + if (expansion > 0f && expansion < 1f) { + return; + } + // The cases we must set select for marquee when QQS/QS collapsed, and QS full expanded. + // Expansion == 0f is when QQS is fully showing (as opposed to 1f, which is QS). At this + // point we want them to be selected so the tiles will marquee (but not at other points + // of expansion. + boolean selected = (expansion == 1f || proposedTranslation < 0f); + if (mLastSelected == selected) { + return; + } + // We set it as not important while we change this, so setting each tile as selected + // will not cause them to announce themselves until the user has actually selected the + // item. + setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS); + for (int i = 0; i < getChildCount(); i++) { + getChildAt(i).setSelected(selected); + } + setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_AUTO); + mLastSelected = selected; + } } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java index 3cb715cee8e9..3c2f35b954ea 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java +++ b/packages/SystemUI/src/com/android/systemui/qs/customize/TileQueryHelper.java @@ -41,7 +41,6 @@ import com.android.systemui.qs.dagger.QSScope; import com.android.systemui.qs.external.CustomTile; import com.android.systemui.qs.tileimpl.QSTileImpl.DrawableIcon; import com.android.systemui.settings.UserTracker; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.util.leak.GarbageMonitor; import java.util.ArrayList; @@ -63,7 +62,6 @@ public class TileQueryHelper { private final Executor mBgExecutor; private final Context mContext; private final UserTracker mUserTracker; - private final FeatureFlags mFeatureFlags; private TileStateListener mListener; private boolean mFinished; @@ -73,14 +71,12 @@ public class TileQueryHelper { Context context, UserTracker userTracker, @Main Executor mainExecutor, - @Background Executor bgExecutor, - FeatureFlags featureFlags + @Background Executor bgExecutor ) { mContext = context; mMainExecutor = mainExecutor; mBgExecutor = bgExecutor; mUserTracker = userTracker; - mFeatureFlags = featureFlags; } public void setListener(TileStateListener listener) { @@ -121,19 +117,11 @@ public class TileQueryHelper { } final ArrayList<QSTile> tilesToAdd = new ArrayList<>(); - // TODO(b/174753536): Move it into the config file. - if (mFeatureFlags.isProviderModelSettingEnabled()) { - possibleTiles.remove("cell"); - possibleTiles.remove("wifi"); - } else { - possibleTiles.remove("internet"); - } for (String spec : possibleTiles) { // Only add current and stock tiles that can be created from QSFactoryImpl. // Do not include CustomTile. Those will be created by `addPackageTiles`. if (spec.startsWith(CustomTile.PREFIX)) continue; - // TODO(b/174753536): Move it into the config file. final QSTile tile = host.createTile(spec); if (tile == null) { continue; diff --git a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt index 70685a68e182..222539d49526 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/tileimpl/QSTileViewImpl.kt @@ -195,9 +195,6 @@ open class QSTileViewImpl @JvmOverloads constructor( // sibling methods to have special behavior for labelContainer. labelContainer.forceUnspecifiedMeasure = true secondaryLabel.alpha = 0f - // Do not marque in QQS - label.ellipsize = TextUtils.TruncateAt.END - secondaryLabel.ellipsize = TextUtils.TruncateAt.END } setLabelColor(getLabelColorForState(QSTile.State.DEFAULT_STATE)) setSecondaryLabelColor(getSecondaryLabelColorForState(QSTile.State.DEFAULT_STATE)) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java index acfd998ff6e4..8e6cf36f8e74 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/HeadsUpStatusBarView.java @@ -17,14 +17,10 @@ package com.android.systemui.statusbar; import android.content.Context; -import android.content.res.Configuration; -import android.content.res.Resources; -import android.graphics.Point; import android.graphics.Rect; import android.os.Bundle; import android.os.Parcelable; import android.util.AttributeSet; -import android.view.DisplayCutout; import android.view.View; import android.widget.TextView; @@ -42,22 +38,14 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry. public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { private static final String HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE = "heads_up_status_bar_view_super_parcelable"; - private static final String FIRST_LAYOUT = "first_layout"; private static final String VISIBILITY = "visibility"; private static final String ALPHA = "alpha"; - private int mAbsoluteStartPadding; - private int mEndMargin; + private final Rect mLayoutedIconRect = new Rect(); + private final int[] mTmpPosition = new int[2]; + private final Rect mIconDrawingRect = new Rect(); private View mIconPlaceholder; private TextView mTextView; private NotificationEntry mShowingEntry; - private Rect mLayoutedIconRect = new Rect(); - private int[] mTmpPosition = new int[2]; - private boolean mFirstLayout = true; - private int mMaxWidth; - private int mSysWinInset; - private int mCutOutInset; - private Rect mIconDrawingRect = new Rect(); - private Point mDisplaySize; private Runnable mOnDrawingRectChangedListener; public HeadsUpStatusBarView(Context context) { @@ -75,40 +63,6 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { public HeadsUpStatusBarView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); - Resources res = getResources(); - mAbsoluteStartPadding = res.getDimensionPixelSize(R.dimen.notification_side_paddings) - + res.getDimensionPixelSize( - com.android.internal.R.dimen.notification_content_margin_start); - mEndMargin = res.getDimensionPixelSize( - com.android.internal.R.dimen.notification_content_margin_end); - setPaddingRelative(mAbsoluteStartPadding, 0, mEndMargin, 0); - updateMaxWidth(); - } - - private void updateMaxWidth() { - int maxWidth = getResources().getDimensionPixelSize(R.dimen.qs_panel_width); - if (maxWidth != mMaxWidth) { - // maxWidth doesn't work with fill_parent, let's manually make it at most as big as the - // notification panel - mMaxWidth = maxWidth; - requestLayout(); - } - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - if (mMaxWidth > 0) { - int newSize = Math.min(MeasureSpec.getSize(widthMeasureSpec), mMaxWidth); - widthMeasureSpec = MeasureSpec.makeMeasureSpec(newSize, - MeasureSpec.getMode(widthMeasureSpec)); - } - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - } - - @Override - protected void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - updateMaxWidth(); } @Override @@ -116,7 +70,6 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { Bundle bundle = new Bundle(); bundle.putParcelable(HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE, super.onSaveInstanceState()); - bundle.putBoolean(FIRST_LAYOUT, mFirstLayout); bundle.putInt(VISIBILITY, getVisibility()); bundle.putFloat(ALPHA, getAlpha()); @@ -125,7 +78,7 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { @Override public void onRestoreInstanceState(Parcelable state) { - if (state == null || !(state instanceof Bundle)) { + if (!(state instanceof Bundle)) { super.onRestoreInstanceState(state); return; } @@ -133,7 +86,6 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { Bundle bundle = (Bundle) state; Parcelable superState = bundle.getParcelable(HEADS_UP_STATUS_BAR_VIEW_SUPER_PARCELABLE); super.onRestoreInstanceState(superState); - mFirstLayout = bundle.getBoolean(FIRST_LAYOUT, true); if (bundle.containsKey(VISIBILITY)) { setVisibility(bundle.getInt(VISIBILITY)); } @@ -185,70 +137,22 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); mIconPlaceholder.getLocationOnScreen(mTmpPosition); - int left = (int) (mTmpPosition[0] - getTranslationX()); + int left = mTmpPosition[0]; int top = mTmpPosition[1]; int right = left + mIconPlaceholder.getWidth(); int bottom = top + mIconPlaceholder.getHeight(); mLayoutedIconRect.set(left, top, right, bottom); updateDrawingRect(); - int targetPadding = mAbsoluteStartPadding + mSysWinInset + mCutOutInset; - boolean isRtl = isLayoutRtl(); - int start = isRtl ? (mDisplaySize.x - right) : left; - if (start != targetPadding) { - int newPadding = targetPadding - start + getPaddingStart(); - setPaddingRelative(newPadding, 0, mEndMargin, 0); - } - if (mFirstLayout) { - // we need to do the padding calculation in the first frame, so the layout specified - // our visibility to be INVISIBLE in the beginning. let's correct that and set it - // to GONE. - setVisibility(GONE); - mFirstLayout = false; - } - } - - /** In order to do UI alignment, this view will be notified by - * {@link com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout}. - * After scroller laid out, the scroller will tell this view about scroller's getX() - * @param translationX how to translate the horizontal position - */ - public void setPanelTranslation(float translationX) { - setTranslationX(translationX); - updateDrawingRect(); } private void updateDrawingRect() { float oldLeft = mIconDrawingRect.left; mIconDrawingRect.set(mLayoutedIconRect); - mIconDrawingRect.offset((int) getTranslationX(), 0); if (oldLeft != mIconDrawingRect.left && mOnDrawingRectChangedListener != null) { mOnDrawingRectChangedListener.run(); } } - @Override - protected boolean fitSystemWindows(Rect insets) { - boolean isRtl = isLayoutRtl(); - mSysWinInset = isRtl ? insets.right : insets.left; - DisplayCutout displayCutout = getRootWindowInsets().getDisplayCutout(); - mCutOutInset = (displayCutout != null) - ? (isRtl ? displayCutout.getSafeInsetRight() : displayCutout.getSafeInsetLeft()) - : 0; - - getDisplaySize(); - - // For Double Cut Out mode, the System window navigation bar is at the right - // side of the left cut out. In this condition, mSysWinInset include the left cut - // out width so we set mCutOutInset to be 0. For RTL, the condition is the same. - // The navigation bar is at the left side of the right cut out and include the - // right cut out width. - if (mSysWinInset != 0) { - mCutOutInset = 0; - } - - return super.fitSystemWindows(insets); - } - public NotificationEntry getShowingEntry() { return mShowingEntry; } @@ -264,17 +168,4 @@ public class HeadsUpStatusBarView extends AlphaOptimizedLinearLayout { public void setOnDrawingRectChangedListener(Runnable onDrawingRectChangedListener) { mOnDrawingRectChangedListener = onDrawingRectChangedListener; } - - private void getDisplaySize() { - if (mDisplaySize == null) { - mDisplaySize = new Point(); - } - getDisplay().getRealSize(mDisplaySize); - } - - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - getDisplaySize(); - } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java index 3890c1aa4e4f..503b5c0ee4b0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java @@ -825,7 +825,11 @@ public class KeyguardIndicationController { if (mKeyguardUpdateMonitor.isUdfpsAvailable()) { // if udfps available, there will always be a tappable affordance to unlock // For example, the lock icon - showTransientIndication(R.string.keyguard_unlock_press); + if (mKeyguardBypassController.getUserHasDeviceEntryIntent()) { + showTransientIndication(R.string.keyguard_unlock_press); + } else { + showTransientIndication(R.string.keyguard_face_failed_use_fp); + } } else { showTransientIndication(R.string.keyguard_try_fingerprint); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt index db553e4b093b..002c9c7d2544 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationShadeDepthController.kt @@ -178,7 +178,8 @@ class NotificationShadeDepthController @Inject constructor( blurUtils.minBlurRadius, blurUtils.maxBlurRadius) var combinedBlur = (shadeSpring.radius * INTERACTION_BLUR_FRACTION + normalizedBlurRadius * ANIMATION_BLUR_FRACTION).toInt() - combinedBlur = max(combinedBlur, blurUtils.blurRadiusOfRatio(qsPanelExpansion)) + val qsExpandedRatio = qsPanelExpansion * shadeExpansion + combinedBlur = max(combinedBlur, blurUtils.blurRadiusOfRatio(qsExpandedRatio)) combinedBlur = max(combinedBlur, blurUtils.blurRadiusOfRatio(transitionToFullShadeProgress)) var shadeRadius = max(combinedBlur, wakeAndUnlockBlurRadius).toFloat() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java index 1b4ae9ea3f32..2c810c93b2ee 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java @@ -157,15 +157,13 @@ public class StackScrollAlgorithm { // After the shelf has updated its yTranslation, explicitly set alpha=0 for view below shelf // to skip rendering them in the hardware layer. We do not set them invisible because that // runs invalidate & onDraw when these views return onscreen, which is more expensive. + if (shelf.getViewState().hidden) { + // When the shelf is hidden, it won't clip views, so we don't hide rows + return; + } final float shelfTop = shelf.getViewState().yTranslation; for (ExpandableView view : algorithmState.visibleChildren) { - if (view instanceof ExpandableNotificationRow) { - ExpandableNotificationRow row = (ExpandableNotificationRow) view; - if (row.isHeadsUp() || row.isHeadsUpAnimatingAway()) { - continue; - } - } final float viewTop = view.getViewState().yTranslation; if (viewTop >= shelfTop) { view.getViewState().alpha = 0; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java index 68024726c5de..5a6db213d87f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/DozeParameters.java @@ -231,7 +231,9 @@ public class DozeParameters implements TunerService.Tunable, * possible if AOD isn't even enabled or if the flag is disabled. */ public boolean canControlUnlockedScreenOff() { - return getAlwaysOn() && mFeatureFlags.useNewLockscreenAnimations(); + return getAlwaysOn() + && mFeatureFlags.useNewLockscreenAnimations() + && !getDisplayNeedsBlanking(); } private boolean getBoolean(String propName, int resId) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java index f4830fbb0028..878fbbf39627 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceController.java @@ -18,9 +18,7 @@ package com.android.systemui.statusbar.phone; import android.graphics.Point; import android.graphics.Rect; -import android.view.DisplayCutout; import android.view.View; -import android.view.WindowInsets; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.widget.ViewClippingUtil; @@ -61,7 +59,6 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, private final NotificationPanelViewController mNotificationPanelViewController; private final Consumer<ExpandableNotificationRow> mSetTrackingHeadsUp = this::setTrackingHeadsUp; - private final Runnable mUpdatePanelTranslation = this::updatePanelTranslation; private final BiConsumer<Float, Float> mSetExpandedHeight = this::setAppearFraction; private final KeyguardBypassController mBypassController; private final StatusBarStateController mStatusBarStateController; @@ -75,9 +72,6 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, float mAppearFraction; private ExpandableNotificationRow mTrackedChild; private boolean mShown; - private final View.OnLayoutChangeListener mStackScrollLayoutChangeListener = - (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) - -> updatePanelTranslation(); private final ViewClippingUtil.ClippingParameters mParentClippingParams = new ViewClippingUtil.ClippingParameters() { @Override @@ -134,10 +128,8 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, mStackScrollerController = stackScrollerController; mNotificationPanelViewController = notificationPanelViewController; notificationPanelViewController.addTrackingHeadsUpListener(mSetTrackingHeadsUp); - notificationPanelViewController.setVerticalTranslationListener(mUpdatePanelTranslation); notificationPanelViewController.setHeadsUpAppearanceController(this); mStackScrollerController.addOnExpandedHeightChangedListener(mSetExpandedHeight); - mStackScrollerController.addOnLayoutChangeListener(mStackScrollLayoutChangeListener); mStackScrollerController.setHeadsUpAppearanceController(this); mClockView = clockView; mOperatorNameView = operatorNameView; @@ -174,7 +166,6 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, mNotificationPanelViewController.setVerticalTranslationListener(null); mNotificationPanelViewController.setHeadsUpAppearanceController(null); mStackScrollerController.removeOnExpandedHeightChangedListener(mSetExpandedHeight); - mStackScrollerController.removeOnLayoutChangeListener(mStackScrollLayoutChangeListener); mDarkIconDispatcher.removeDarkReceiver(this); } @@ -189,63 +180,6 @@ public class HeadsUpAppearanceController implements OnHeadsUpChangedListener, updateHeader(entry); } - /** To count the distance from the window right boundary to scroller right boundary. The - * distance formula is the following: - * Y = screenSize - (SystemWindow's width + Scroller.getRight()) - * There are four modes MUST to be considered in Cut Out of RTL. - * No Cut Out: - * Scroller + NB - * NB + Scroller - * => SystemWindow = NavigationBar's width - * => Y = screenSize - (SystemWindow's width + Scroller.getRight()) - * Corner Cut Out or Tall Cut Out: - * cut out + Scroller + NB - * NB + Scroller + cut out - * => SystemWindow = NavigationBar's width - * => Y = screenSize - (SystemWindow's width + Scroller.getRight()) - * Double Cut Out: - * cut out left + Scroller + (NB + cut out right) - * SystemWindow = NavigationBar's width + cut out right width - * => Y = screenSize - (SystemWindow's width + Scroller.getRight()) - * (cut out left + NB) + Scroller + cut out right - * SystemWindow = NavigationBar's width + cut out left width - * => Y = screenSize - (SystemWindow's width + Scroller.getRight()) - * @return the translation X value for RTL. In theory, it should be negative. i.e. -Y - */ - private int getRtlTranslation() { - if (mPoint == null) { - mPoint = new Point(); - } - - int realDisplaySize = 0; - if (mStackScrollerController.getDisplay() != null) { - mStackScrollerController.getDisplay().getRealSize(mPoint); - realDisplaySize = mPoint.x; - } - - WindowInsets windowInset = mStackScrollerController.getRootWindowInsets(); - DisplayCutout cutout = (windowInset != null) ? windowInset.getDisplayCutout() : null; - int sysWinLeft = (windowInset != null) ? windowInset.getStableInsetLeft() : 0; - int sysWinRight = (windowInset != null) ? windowInset.getStableInsetRight() : 0; - int cutoutLeft = (cutout != null) ? cutout.getSafeInsetLeft() : 0; - int cutoutRight = (cutout != null) ? cutout.getSafeInsetRight() : 0; - int leftInset = Math.max(sysWinLeft, cutoutLeft); - int rightInset = Math.max(sysWinRight, cutoutRight); - - return leftInset + mStackScrollerController.getRight() + rightInset - realDisplaySize; - } - - public void updatePanelTranslation() { - float newTranslation; - if (mStackScrollerController.isLayoutRtl()) { - newTranslation = getRtlTranslation(); - } else { - newTranslation = mStackScrollerController.getLeft(); - } - newTranslation += mStackScrollerController.getTranslationX(); - mHeadsUpStatusBarView.setPanelTranslation(newTranslation); - } - private void updateTopEntry() { NotificationEntry newEntry = null; if (shouldBeVisible()) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt index a5b868b6f8a3..6b52dca42eda 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/UnlockedScreenOffAnimationController.kt @@ -149,14 +149,18 @@ class UnlockedScreenOffAnimationController @Inject constructor( lightRevealAnimationPlaying = false aodUiAnimationPlaying = false - // Make sure the status bar is in the correct keyguard state, forcing it if necessary. This - // is required if the screen off animation is cancelled, since it might be incorrectly left - // in the KEYGUARD or SHADE states depending on when it was cancelled and whether 'lock - // instantly' is enabled. We need to force it so that the state is set even if we're going - // from SHADE to SHADE or KEYGUARD to KEYGUARD, since we might have changed parts of the UI - // (such as showing AOD in the shade) without actually changing the StatusBarState. This - // ensures that the UI definitely reflects the desired state. - statusBar.updateIsKeyguard(true /* force */) + // If we can't control the screen off animation, we shouldn't mess with the StatusBar's + // keyguard state unnecessarily. + if (dozeParameters.get().canControlUnlockedScreenOff()) { + // Make sure the status bar is in the correct keyguard state, forcing it if necessary. + // This is required if the screen off animation is cancelled, since it might be + // incorrectly left in the KEYGUARD or SHADE states depending on when it was cancelled + // and whether 'lock instantly' is enabled. We need to force it so that the state is set + // even if we're going from SHADE to SHADE or KEYGUARD to KEYGUARD, since we might have + // changed parts of the UI (such as showing AOD in the shade) without actually changing + // the StatusBarState. This ensures that the UI definitely reflects the desired state. + statusBar.updateIsKeyguard(true /* force */) + } } override fun onStartedGoingToSleep() { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt index 16fa5da9e979..6982631766f7 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallController.kt @@ -218,6 +218,10 @@ class OngoingCallController @Inject constructor( isCallAppVisible = isProcessVisibleToUser( iActivityManager.getUidProcessState(currentCallNotificationInfo.uid, null)) + if (uidObserver != null) { + iActivityManager.unregisterUidObserver(uidObserver) + } + uidObserver = object : IUidObserver.Stub() { override fun onUidStateChanged( uid: Int, procState: Int, procStateSeq: Long, capability: Int) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index 8f1a5782e779..251ecc626387 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -26,6 +26,7 @@ import android.app.ActivityManager; import android.app.AlertDialog; import android.app.Dialog; import android.app.IActivityTaskManager; +import android.app.admin.DevicePolicyManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.DialogInterface; @@ -114,6 +115,8 @@ public class UserSwitcherController implements Dumpable { @VisibleForTesting final GuestResumeSessionReceiver mGuestResumeSessionReceiver; private final KeyguardStateController mKeyguardStateController; + private final DeviceProvisionedController mDeviceProvisionedController; + private final DevicePolicyManager mDevicePolicyManager; protected final Handler mHandler; private final ActivityStarter mActivityStarter; private final BroadcastDispatcher mBroadcastDispatcher; @@ -149,6 +152,8 @@ public class UserSwitcherController implements Dumpable { UserManager userManager, UserTracker userTracker, KeyguardStateController keyguardStateController, + DeviceProvisionedController deviceProvisionedController, + DevicePolicyManager devicePolicyManager, @Main Handler handler, ActivityStarter activityStarter, BroadcastDispatcher broadcastDispatcher, @@ -178,6 +183,8 @@ public class UserSwitcherController implements Dumpable { mGuestIsResetting = new AtomicBoolean(); mGuestCreationScheduled = new AtomicBoolean(); mKeyguardStateController = keyguardStateController; + mDeviceProvisionedController = deviceProvisionedController; + mDevicePolicyManager = devicePolicyManager; mHandler = handler; mActivityStarter = activityStarter; mUserManager = userManager; @@ -336,8 +343,7 @@ public class UserSwitcherController implements Dumpable { true /* isGuest */, false /* isCurrent */, false /* isAddUser */, false /* isRestricted */, isSwitchToGuestEnabled); - // Don't call checkIfAddUserDisallowedByAdminOnly if - // config_guestUserAutoCreated=true. + checkIfAddUserDisallowedByAdminOnly(guestRecord); records.add(guestRecord); } else if (canCreateGuest) { guestRecord = new UserRecord(null /* info */, null /* picture */, @@ -733,10 +739,27 @@ public class UserSwitcherController implements Dumpable { } /** + * Guarantee guest is present only if the device is provisioned. Otherwise, create a content + * observer to wait until the device is provisioned, then schedule the guest creation. + */ + public void schedulePostBootGuestCreation() { + if (isDeviceAllowedToAddGuest()) { + guaranteeGuestPresent(); + } else { + mDeviceProvisionedController.addCallback(mGuaranteeGuestPresentAfterProvisioned); + } + } + + private boolean isDeviceAllowedToAddGuest() { + return mDeviceProvisionedController.isDeviceProvisioned() + && !mDevicePolicyManager.isDeviceManaged(); + } + + /** * If there is no guest on the device, schedule creation of a new guest user in the background. */ - public void guaranteeGuestPresent() { - if (mUserManager.findCurrentGuestUser() == null) { + private void guaranteeGuestPresent() { + if (isDeviceAllowedToAddGuest() && mUserManager.findCurrentGuestUser() == null) { scheduleGuestCreation(); } } @@ -1056,6 +1079,21 @@ public class UserSwitcherController implements Dumpable { } }; + private final DeviceProvisionedController.DeviceProvisionedListener + mGuaranteeGuestPresentAfterProvisioned = + new DeviceProvisionedController.DeviceProvisionedListener() { + @Override + public void onDeviceProvisionedChanged() { + if (isDeviceAllowedToAddGuest()) { + mBgExecutor.execute( + () -> mDeviceProvisionedController.removeCallback( + mGuaranteeGuestPresentAfterProvisioned)); + guaranteeGuestPresent(); + } + } + }; + + private final class ExitGuestDialog extends SystemUIDialog implements DialogInterface.OnClickListener { diff --git a/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java b/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java index b38fc77fd131..90e022a52d7a 100644 --- a/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java +++ b/packages/SystemUI/src/com/android/systemui/util/sensors/ProximitySensor.java @@ -290,15 +290,18 @@ public class ProximitySensor implements ThresholdSensor { return; } - if (!mSecondaryThresholdSensor.isLoaded()) { + + if (!mSecondaryThresholdSensor.isLoaded()) { // No secondary logDebug("Primary sensor event: " + event.getBelow() + ". No secondary."); onSensorEvent(event); - } else if (event.getBelow()) { + } else if (event.getBelow()) { // Covered? Check secondary. logDebug("Primary sensor event: " + event.getBelow() + ". Checking secondary."); if (mCancelSecondaryRunnable != null) { mCancelSecondaryRunnable.run(); } mSecondaryThresholdSensor.resume(); + } else { // Uncovered. Report immediately. + onSensorEvent(event); } } diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 3320852ca1f4..60b92ef45291 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -2248,6 +2248,11 @@ public class VolumeDialogImpl implements VolumeDialog, @Override public void onClick(View view) { + // If the ringer drawer isn't open, don't let anything in it be clicked. + if (!mIsRingerDrawerOpen) { + return; + } + setRingerMode(mClickedRingerMode); mRingerDrawerIconAnimatingSelected = getDrawerIconViewForMode(mClickedRingerMode); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt new file mode 100644 index 000000000000..db87c5df16e1 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardListenQueueTest.kt @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2021 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.testing.AndroidTestingRunner +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith + +@RunWith(AndroidTestingRunner::class) +@SmallTest +class KeyguardListenQueueTest : SysuiTestCase() { + + @Test + fun testQueueIsBounded() { + val size = 5 + val queue = KeyguardListenQueue(sizePerModality = size) + + val fingerprints = List(100) { fingerprintModel(it) } + fingerprints.forEach { queue.add(it) } + + assertThat(queue.models).containsExactlyElementsIn(fingerprints.takeLast(size)) + + val faces = List(100) { faceModel(it) } + faces.forEach { queue.add(it) } + + assertThat(queue.models).containsExactlyElementsIn( + faces.takeLast(size) + fingerprints.takeLast(5) + ) + + repeat(100) { + queue.add(faceModel(-1)) + queue.add(fingerprintModel(-1)) + } + assertThat(queue.models).hasSize(2 * size) + assertThat(queue.models.count { it.userId == -1 }).isEqualTo(2 * size) + } +} + +private fun fingerprintModel(user: Int) = KeyguardFingerprintListenModel( + timeMillis = System.currentTimeMillis(), + userId = user, + listening = false, + biometricEnabledForUser = false, + bouncer = false, + canSkipBouncer = false, + credentialAttempted = false, + deviceInteractive = false, + dreaming = false, + encryptedOrLockdown = false, + fingerprintDisabled = false, + fingerprintLockedOut = false, + goingToSleep = false, + keyguardGoingAway = false, + keyguardIsVisible = false, + keyguardOccluded = false, + occludingAppRequestingFp = false, + primaryUser = false, + shouldListenForFingerprintAssistant = false, + switchingUser = false, + udfps = false, + userDoesNotHaveTrust = false, + userNeedsStrongAuth = false +) + +private fun faceModel(user: Int) = KeyguardFaceListenModel( + timeMillis = System.currentTimeMillis(), + userId = user, + listening = false, + authInterruptActive = false, + becauseCannotSkipBouncer = false, + biometricSettingEnabledForUser = false, + bouncer = false, + faceAuthenticated = false, + faceDisabled = false, + keyguardAwake = false, + keyguardGoingAway = false, + listeningForFaceAssistant = false, + lockIconPressed = false, + occludingAppRequestingFaceAuth = false, + primaryUser = false, + scanningAllowedByStrongAuth = false, + secureCameraLaunched = false, + switchingUser = false +) diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintViewTest.java index 090cf9f63eaf..f91c02938845 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFaceToFingerprintViewTest.java @@ -101,7 +101,7 @@ public class AuthBiometricFaceToFingerprintViewTest extends SysuiTestCase { mFaceToFpView.onDialogAnimatedIn(); verify(mFaceToFpView.mFaceIconController) .updateState(anyInt(), eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING)); - verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt(), anyInt()); + verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt()); } @Test @@ -109,13 +109,13 @@ public class AuthBiometricFaceToFingerprintViewTest extends SysuiTestCase { mFaceToFpView.onDialogAnimatedIn(); verify(mFaceToFpView.mFaceIconController) .updateState(anyInt(), eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING)); - verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt(), anyInt()); + verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt()); mFaceToFpView.updateState(AuthBiometricFaceView.STATE_AUTHENTICATED); verify(mFaceToFpView.mFaceIconController).updateState( eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING), eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATED)); - verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt(), anyInt()); + verify(mFaceToFpView.mUdfpsIconController, never()).updateState(anyInt()); assertEquals(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATED, mFaceToFpView.mState); } @@ -130,14 +130,12 @@ public class AuthBiometricFaceToFingerprintViewTest extends SysuiTestCase { verify(mFaceToFpView.mFaceIconController).deactivate(); verify(mFaceToFpView.mUdfpsIconController).updateState( - eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING), - eq(AuthBiometricFaceToFingerprintView.STATE_ERROR)); + eq(AuthBiometricFaceToFingerprintView.STATE_IDLE)); verify(mConfirmButton).setVisibility(eq(View.GONE)); mFaceToFpView.updateState(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING); verify(mFaceToFpView.mUdfpsIconController).updateState( - eq(AuthBiometricFaceToFingerprintView.STATE_ERROR), eq(AuthBiometricFaceToFingerprintView.STATE_AUTHENTICATING)); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java index f208b807f747..9e97f801be3e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSTileHostTest.java @@ -44,7 +44,6 @@ import android.view.View; import androidx.annotation.Nullable; import androidx.test.filters.SmallTest; -import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.UiEventLogger; import com.android.internal.util.CollectionUtils; @@ -64,22 +63,18 @@ import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.settings.UserTracker; import com.android.systemui.shared.plugins.PluginManager; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.statusbar.phone.AutoTileManager; import com.android.systemui.statusbar.phone.StatusBar; import com.android.systemui.statusbar.phone.StatusBarIconController; import com.android.systemui.tuner.TunerService; import com.android.systemui.util.settings.SecureSettings; -import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.mockito.MockitoSession; -import org.mockito.quality.Strictness; import java.io.FileDescriptor; import java.io.PrintWriter; @@ -133,16 +128,9 @@ public class QSTileHostTest extends SysuiTestCase { private Handler mHandler; private TestableLooper mLooper; private QSTileHost mQSTileHost; - MockitoSession mMockingSession = null; @Before public void setUp() { - // TODO(b/174753536): Remove the mMockingSession when - // FeatureFlagUtils.SETTINGS_PROVIDER_MODEL is removed. - mMockingSession = ExtendedMockito.mockitoSession().strictness(Strictness.LENIENT) - .mockStatic(FeatureFlags.class).startMocking(); - ExtendedMockito.doReturn(false) - .when(() -> FeatureFlags.isProviderModelSettingEnabled(mContext)); MockitoAnnotations.initMocks(this); mLooper = TestableLooper.get(this); mHandler = new Handler(mLooper.getLooper()); @@ -156,13 +144,6 @@ public class QSTileHostTest extends SysuiTestCase { .thenReturn(""); } - @After - public void tearDown() throws Exception { - if (mMockingSession != null) { - mMockingSession.finishMocking(); - } - } - private void setUpTileFactory() { when(mMockState.toString()).thenReturn(MOCK_STATE_STRING); // Only create this kind of tiles diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java index 4a1411a329be..4efcc5c3fc73 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/qs/customize/TileQueryHelperTest.java @@ -45,13 +45,11 @@ import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.text.TextUtils; import android.util.ArraySet; -import android.util.FeatureFlagUtils; import android.view.View; import androidx.annotation.Nullable; import androidx.test.filters.SmallTest; -import com.android.dx.mockito.inline.extended.ExtendedMockito; import com.android.internal.logging.InstanceId; import com.android.systemui.R; import com.android.systemui.SysuiTestCase; @@ -60,11 +58,9 @@ import com.android.systemui.plugins.qs.QSIconView; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.qs.QSTileHost; import com.android.systemui.settings.UserTracker; -import com.android.systemui.statusbar.FeatureFlags; import com.android.systemui.util.concurrency.FakeExecutor; import com.android.systemui.util.time.FakeSystemClock; -import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -74,8 +70,6 @@ import org.mockito.Captor; import org.mockito.InOrder; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.mockito.MockitoSession; -import org.mockito.quality.Strictness; import java.util.ArrayList; import java.util.Arrays; @@ -114,7 +108,6 @@ public class TileQueryHelperTest extends SysuiTestCase { private PackageManager mPackageManager; @Mock private UserTracker mUserTracker; - @Mock private FeatureFlags mFeatureFlags; @Captor private ArgumentCaptor<List<TileQueryHelper.TileInfo>> mCaptor; @@ -122,18 +115,10 @@ public class TileQueryHelperTest extends SysuiTestCase { private TileQueryHelper mTileQueryHelper; private FakeExecutor mMainExecutor; private FakeExecutor mBgExecutor; - MockitoSession mMockingSession = null; @Before public void setup() { MockitoAnnotations.initMocks(this); - // TODO(b/174753536): Remove the mMockingSession when - // FeatureFlagUtils.SETTINGS_PROVIDER_MODEL is removed. - mMockingSession = ExtendedMockito.mockitoSession().strictness(Strictness.LENIENT) - .mockStatic(FeatureFlagUtils.class).startMocking(); - ExtendedMockito.doReturn(false).when(() -> FeatureFlagUtils.isEnabled(mContext, - FeatureFlagUtils.SETTINGS_PROVIDER_MODEL)); - mContext.setMockPackageManager(mPackageManager); mState = new QSTile.State(); @@ -153,17 +138,10 @@ public class TileQueryHelperTest extends SysuiTestCase { mMainExecutor = new FakeExecutor(clock); mBgExecutor = new FakeExecutor(clock); mTileQueryHelper = new TileQueryHelper( - mContext, mUserTracker, mMainExecutor, mBgExecutor, mFeatureFlags); + mContext, mUserTracker, mMainExecutor, mBgExecutor); mTileQueryHelper.setListener(mListener); } - @After - public void tearDown() throws Exception { - if (mMockingSession != null) { - mMockingSession.finishMocking(); - } - } - @Test public void testIsFinished_falseBeforeQuerying() { assertFalse(mTileQueryHelper.isFinished()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt index d23a9ce26def..7c045c1f2894 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationShadeDepthControllerTest.kt @@ -184,8 +184,9 @@ class NotificationShadeDepthControllerTest : SysuiTestCase() { @Test fun setQsPanelExpansion_appliesBlur() { notificationShadeDepthController.qsPanelExpansion = 1f + notificationShadeDepthController.onPanelExpansionChanged(0.5f, tracking = false) notificationShadeDepthController.updateBlurCallback.doFrame(0) - verify(blurUtils).applyBlur(any(), eq(maxBlur), eq(false)) + verify(blurUtils).applyBlur(any(), eq(maxBlur / 2), eq(false)) } @Test diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java index 6e0cbd9ecfa3..bca1227b7d35 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/HeadsUpAppearanceControllerTest.java @@ -202,6 +202,5 @@ public class HeadsUpAppearanceControllerTest extends SysuiTestCase { verify(mPanelView).removeTrackingHeadsUpListener(any()); verify(mPanelView).setHeadsUpAppearanceController(isNull()); verify(mStackScrollerController).removeOnExpandedHeightChangedListener(any()); - verify(mStackScrollerController).removeOnLayoutChangeListener(any()); } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt index d36cb0b3a717..d26db4c69ece 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ongoingcall/OngoingCallControllerTest.kt @@ -184,6 +184,21 @@ class OngoingCallControllerTest : SysuiTestCase() { .isGreaterThan(0) } + /** Regression test for b/194731244. */ + @Test + fun onEntryUpdated_calledManyTimes_uidObserverUnregisteredManyTimes() { + val numCalls = 4 + + for (i in 0 until numCalls) { + // Re-create the notification each time so that it's considered a different object and + // observers will get re-registered (and hopefully unregistered). + notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry()) + } + + // There should be 1 observer still registered, so we should unregister n-1 times. + verify(mockIActivityManager, times(numCalls - 1)).unregisterUidObserver(any()) + } + /** * If a call notification is never added before #onEntryRemoved is called, then the listener * should never be notified. diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt index ace2c71d9c63..3431a9d895d3 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/UserSwitcherControllerTest.kt @@ -17,6 +17,7 @@ package com.android.systemui.statusbar.policy import android.app.IActivityTaskManager +import android.app.admin.DevicePolicyManager import android.content.Context import android.content.DialogInterface import android.content.Intent @@ -63,6 +64,8 @@ import org.mockito.MockitoAnnotations @SmallTest class UserSwitcherControllerTest : SysuiTestCase() { @Mock private lateinit var keyguardStateController: KeyguardStateController + @Mock private lateinit var deviceProvisionedController: DeviceProvisionedController + @Mock private lateinit var devicePolicyManager: DevicePolicyManager @Mock private lateinit var handler: Handler @Mock private lateinit var userTracker: UserTracker @Mock private lateinit var userManager: UserManager @@ -107,6 +110,8 @@ class UserSwitcherControllerTest : SysuiTestCase() { userManager, userTracker, keyguardStateController, + deviceProvisionedController, + devicePolicyManager, handler, activityStarter, broadcastDispatcher, diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java index cc2afe2f7b8a..a34c5986f36c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/ProximitySensorDualTest.java @@ -18,6 +18,7 @@ package com.android.systemui.util.sensors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -60,7 +61,8 @@ public class ProximitySensorDualTest extends SysuiTestCase { } @Test - public void testPrimaryBelowDoesNotInvokeSecondary() { + public void testInitiallyAbovePrimary() { + TestableListener listener = new TestableListener(); mProximitySensor.register(listener); @@ -70,12 +72,71 @@ public class ProximitySensorDualTest extends SysuiTestCase { assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); - // Trigger primary sensor. Our secondary sensor is not registered. mThresholdSensorPrimary.triggerEvent(false, 0); + assertNotNull(listener.mLastEvent); + assertFalse(listener.mLastEvent.getBelow()); + assertEquals(1, listener.mCallCount); + } + + @Test + public void testInitiallyBelowPrimaryAboveSecondary() { + + TestableListener listener = new TestableListener(); + + mProximitySensor.register(listener); + assertTrue(mProximitySensor.isRegistered()); assertFalse(mThresholdSensorPrimary.isPaused()); assertTrue(mThresholdSensorSecondary.isPaused()); assertNull(listener.mLastEvent); assertEquals(0, listener.mCallCount); + + mThresholdSensorPrimary.triggerEvent(true, 0); + assertNull(listener.mLastEvent); + assertEquals(0, listener.mCallCount); + + mThresholdSensorSecondary.triggerEvent(false, 1); + assertNotNull(listener.mLastEvent); + assertFalse(listener.mLastEvent.getBelow()); + assertEquals(1, listener.mCallCount); + } + + @Test + public void testInitiallyBelowPrimaryAndSecondary() { + + TestableListener listener = new TestableListener(); + + mProximitySensor.register(listener); + assertTrue(mProximitySensor.isRegistered()); + assertFalse(mThresholdSensorPrimary.isPaused()); + assertTrue(mThresholdSensorSecondary.isPaused()); + assertNull(listener.mLastEvent); + assertEquals(0, listener.mCallCount); + + mThresholdSensorPrimary.triggerEvent(true, 0); + assertNull(listener.mLastEvent); + assertEquals(0, listener.mCallCount); + + mThresholdSensorSecondary.triggerEvent(true, 1); + assertNotNull(listener.mLastEvent); + assertTrue(listener.mLastEvent.getBelow()); + assertEquals(1, listener.mCallCount); + } + + @Test + public void testPrimaryBelowDoesNotInvokeSecondary() { + TestableListener listener = new TestableListener(); + + mProximitySensor.register(listener); + assertTrue(mProximitySensor.isRegistered()); + assertFalse(mThresholdSensorPrimary.isPaused()); + assertTrue(mThresholdSensorSecondary.isPaused()); + assertNull(listener.mLastEvent); + assertEquals(0, listener.mCallCount); + + // Trigger primary sensor. Our secondary sensor is not registered. + mThresholdSensorPrimary.triggerEvent(false, 0); + assertFalse(mThresholdSensorPrimary.isPaused()); + assertTrue(mThresholdSensorSecondary.isPaused()); } @Test |