Merge "Setting to control seen notification filtering" into tm-qpr-dev
diff --git a/OWNERS b/OWNERS
index c008e28..bd1f0ad 100644
--- a/OWNERS
+++ b/OWNERS
@@ -4,16 +4,19 @@
# People who can approve changes for submission
arcwang@google.com
chiujason@google.com
+cyl@google.com
edgarwang@google.com
emilychuang@google.com
+llz@google.com
millchen@google.com
+songchenxi@google.com
stanleytfwang@google.com
sunnyshao@google.com
tmfang@google.com
yantingyang@google.com
# Emergency only
-luyota@google.com
+lijun@google.com
# Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
per-file *.xml=*
diff --git a/res/drawable-sw600dp/ic_settings_about_device.xml b/res/drawable-sw600dp/ic_settings_about_device.xml
new file mode 100644
index 0000000..a716482
--- /dev/null
+++ b/res/drawable-sw600dp/ic_settings_about_device.xml
@@ -0,0 +1,25 @@
+<!--
+ Copyright (C) 2023 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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="48"
+ android:viewportHeight="48">
+ <path
+ android:pathData="M9,46q-1.25,0 -2.125,-0.875T6,43L6,5q0,-1.25 0.875,-2.125T9,2h30q1.25,0 2.125,0.875T42,5v38q0,1.25 -0.875,2.125T39,46ZM9,38.5L9,43h30v-4.5ZM19.9,41.75h8.2v-2h-8.2ZM9,35.5h30v-26L9,9.5ZM9,6.5h30L39,5L9,5ZM9,6.5L9,5v1.5ZM9,38.5L9,43Z"
+ android:fillType="evenOdd"
+ android:fillColor="?android:attr/colorPrimary"/>
+</vector>
diff --git a/res/drawable/ic_homepage_about.xml b/res/drawable/ic_homepage_about.xml
index ef2136e..459ec93 100644
--- a/res/drawable/ic_homepage_about.xml
+++ b/res/drawable/ic_homepage_about.xml
@@ -29,5 +29,5 @@
android:height="@dimen/dashboard_tile_foreground_image_size"
android:start="@dimen/dashboard_tile_foreground_image_inset"
android:top="@dimen/dashboard_tile_foreground_image_inset"
- android:drawable="@drawable/ic_phone_info" />
+ android:drawable="@drawable/ic_settings_about_device" />
</layer-list>
diff --git a/res/drawable/ic_phone_info.xml b/res/drawable/ic_settings_about_device.xml
similarity index 100%
rename from res/drawable/ic_phone_info.xml
rename to res/drawable/ic_settings_about_device.xml
diff --git a/res/layout/sfps_enroll_find_sensor_layout.xml b/res/layout/sfps_enroll_find_sensor_layout.xml
index f08986e..b8a656e 100644
--- a/res/layout/sfps_enroll_find_sensor_layout.xml
+++ b/res/layout/sfps_enroll_find_sensor_layout.xml
@@ -29,7 +29,8 @@
android:gravity="center_vertical"
android:orientation="vertical"
android:clipToPadding="false"
- android:clipChildren="false">
+ android:clipChildren="false"
+ android:layout_marginTop="@dimen/sfps_enroll_find_sensor_lottie_margin">
<!-- Animation res MUST be set in code because asset is dependent on device orientation -->
<com.airbnb.lottie.LottieAnimationView
diff --git a/res/raw-sw600dp/extra_dim_banner.json b/res/raw-sw600dp/extra_dim_banner.json
new file mode 100644
index 0000000..0d150ae
--- /dev/null
+++ b/res/raw-sw600dp/extra_dim_banner.json
@@ -0,0 +1 @@
+{"v":"5.10.0","fr":60,"ip":0,"op":300,"w":412,"h":300,"nm":"Extra_Dim_Tablet_DT","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,149.71,0],"ix":2,"l":2},"a":{"a":0,"k":[206,149.71,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.417],[0,0],[0,0],[1.411,0]],"o":[[-1.411,0],[0,0],[0,0],[0,-1.417],[0,0]],"v":[[-4.603,-1.797],[-7.16,0.77],[1.023,1.797],[7.16,0.77],[4.603,-1.797]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[322.062,46.777],"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":"button2","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,-1.417],[0,0],[0,0],[1.411,0]],"o":[[-1.411,0],[0,0],[0,0],[0,-1.417],[0,0]],"v":[[-11.251,-1.797],[-13.808,0.77],[0.511,1.797],[13.808,0.77],[11.251,-1.797]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[279.283,46.777],"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":"button1","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[208.56,330],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":16,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"op","nm":"Offset Paths 1","a":{"a":0,"k":-1.5,"ix":1},"lj":1,"ml":{"a":0,"k":4,"ix":3},"ix":2,"mn":"ADBE Vector Filter - Offset","hd":false},{"ty":"st","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":3,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","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":-90,"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":"Frame","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[206,151.661],"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":"frame","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":52,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":72,"s":[60]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":252,"s":[60]},{"t":272,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.5,152,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,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.5,9.5],[0,0],[21.342,-2.5],[0,0],[0,-4.354],[0,0],[-14.842,0]],"o":[[13.324,0],[0,0],[0,-4.354],[0,0],[-17.842,-1.5],[0,0],[0,4.354],[0,0]],"v":[[140.908,103.168],[163.75,88.168],[163.75,-88.832],[140.908,-102.832],[-139.408,-102.832],[-163.75,-90.832],[-163.75,91.168],[-141.25,103.168]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"dim","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey600","cl":"grey600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[128.75,177.168,0],"ix":2,"l":2},"a":{"a":0,"k":[128.75,177.168,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,37],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Rectangle 12321","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[128.75,192.668],"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":"left rect - 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,26],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Rectangle 12320","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[128.75,156.168],"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":"left rect - 2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey400","cl":"grey400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[285.75,102.168,0],"ix":2,"l":2},"a":{"a":0,"k":[285.75,102.168,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,37],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Rectangle 12323","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[285.75,117.668],"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":"right rect - 1","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[144,26],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Rectangle 12322","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[285.75,81.168],"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":"right rect - 2","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue600","cl":"blue600","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[340.75,223.168,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,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":[[-6.627,0],[0,6.627],[6.627,0],[0,-6.627]],"o":[[6.627,0],[0,-6.627],[-6.627,0],[0,6.627]],"v":[[0,12],[12,0],[0,-12],[-12,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.101960785687,0.450980395079,0.909803926945,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index 13371c3..7f1e36d 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -138,7 +138,7 @@
<string-array name="wifi_signal">
<item msgid="199360311367724149">"나쁨"</item>
<item msgid="2470925506985305429">"매우 약함"</item>
- <item msgid="8545211062334016668">"양호"</item>
+ <item msgid="8545211062334016668">"약함"</item>
<item msgid="7468449584777730187">"좋음"</item>
<item msgid="202124107702016530">"우수함"</item>
</string-array>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index fd8c9b7..5992a61 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -529,4 +529,7 @@
<dimen name="limited_vision_button_margin_top">0dp</dimen>
<dimen name="limited_vision_button_margin_bottom">0dp</dimen>
<dimen name="limited_vision_button_toggle_margin_top">0dp</dimen>
+
+ <!-- Default margin for side fps enroll find sensor lottie -->
+ <dimen name="sfps_enroll_find_sensor_lottie_margin">0dp</dimen>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f192688..fb383ba 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1213,11 +1213,11 @@
<!-- Message shown in fingerprint enrollment dialog to locate the sensor -->
<string name="security_settings_fingerprint_enroll_find_sensor_message">It\u2019s on the back of your phone. Use your index finger.</string>
<!-- Message shown in SFPS enrollment dialog to locate the sensor (tablet) [CHAR LIMIT=NONE]-->
- <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen.</string>
+ <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.</string>
<!-- Message shown in SFPS enrollment dialog to locate the sensor (device) [CHAR LIMIT=NONE]-->
- <string name="security_settings_sfps_enroll_find_sensor_message" product="device">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen.</string>
+ <string name="security_settings_sfps_enroll_find_sensor_message" product="device">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.</string>
<!-- Message shown in SFPS enrollment dialog to locate the sensor (default) [CHAR LIMIT=NONE]-->
- <string name="security_settings_sfps_enroll_find_sensor_message" product="default">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen.</string>
+ <string name="security_settings_sfps_enroll_find_sensor_message" product="default">The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.</string>
<!-- Message shown in UDFPS enrollment dialog to locate the sensor [CHAR LIMIT=NONE]-->
<string name="security_settings_udfps_enroll_find_sensor_message">The fingerprint sensor is on your screen. You\u2019ll capture your fingerprint on the next screen.</string>
<!-- Button for starting fingerprint enrollment. [CHAR LIMIT=10]-->
@@ -8967,7 +8967,7 @@
<!-- Do not disturb: Hide notifications summary [CHAR LIMIT=NONE] -->
<string name="zen_mode_restrict_notifications_hide_summary">You won\u2019t see or hear notifications</string>
<!-- Do not disturb: Hide notifications footer [CHAR LIMIT=NONE] -->
- <string name="zen_mode_restrict_notifications_hide_footer">Your phone won\u2019t show, vibrate or make sound for new or existing notifications. Keep in mind, critical notifications for phone activity and status will still appear.\n\nWhen you turn off Do Not Disturb, find missed notifications by swiping down from the top of your screen.</string>
+ <string name="zen_mode_restrict_notifications_hide_footer">Your phone won\u2019t show, vibrate or make sound for new or existing notifications. Keep in mind, critical notifications for device activity and status will still appear.\n\nWhen you turn off Do Not Disturb, find missed notifications by swiping down from the top of your screen.</string>
<!-- Do not disturb: Custom settings option [CHAR LIMIT=60] -->
<string name="zen_mode_restrict_notifications_custom">Custom</string>
<!-- Do not disturb: restrict notifications page, menu option [CHAR LIMIT=60] -->
@@ -9017,7 +9017,7 @@
<!-- Do not disturb: what to block summary, all effects -->
<string name="zen_mode_block_effect_summary_all">Sound, vibration, and visual signs of notifications</string>
- <string name="zen_mode_blocked_effects_footer">Notifications needed for basic phone activity and status will never be hidden.</string>
+ <string name="zen_mode_blocked_effects_footer">Notifications needed for basic device activity and status will never be hidden.</string>
<!-- Do not disturb: Zen mode no sounds are exceptions to bypass do not disturb-->
<string name="zen_mode_no_exceptions">None</string>
diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml
index 981afb3..f114dc6 100644
--- a/res/xml/network_provider_internet.xml
+++ b/res/xml/network_provider_internet.xml
@@ -52,7 +52,8 @@
settings:userRestriction="no_config_mobile_networks"
settings:isPreferenceVisible="@bool/config_show_sim_info"
settings:allowDividerAbove="true"
- settings:useAdminDisabledSummary="true" />
+ settings:useAdminDisabledSummary="true"
+ settings:searchable="@bool/config_show_sim_info"/>
<com.android.settingslib.RestrictedSwitchPreference
android:key="airplane_mode"
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index 8c82b67..d050a1f 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -196,7 +196,7 @@
<com.android.settings.widget.HomepagePreference
android:fragment="com.android.settings.deviceinfo.aboutphone.MyDeviceInfoFragment"
- android:icon="@drawable/ic_phone_info"
+ android:icon="@drawable/ic_settings_about_device"
android:key="top_level_about_device"
android:order="20"
android:title="@string/about_settings"
diff --git a/src/com/android/settings/accessibility/DisplaySizeData.java b/src/com/android/settings/accessibility/DisplaySizeData.java
index 42a8c46..77ae897 100644
--- a/src/com/android/settings/accessibility/DisplaySizeData.java
+++ b/src/com/android/settings/accessibility/DisplaySizeData.java
@@ -18,9 +18,7 @@
import android.content.Context;
import android.content.res.Resources;
-import android.view.Display;
-import com.android.settingslib.display.DisplayDensityConfiguration;
import com.android.settingslib.display.DisplayDensityUtils;
import java.util.Arrays;
@@ -31,11 +29,13 @@
* Data class for storing the configurations related to the display size.
*/
class DisplaySizeData extends PreviewSizeData<Integer> {
+ private final DisplayDensityUtils mDensity;
+
DisplaySizeData(Context context) {
super(context);
- final DisplayDensityUtils density = new DisplayDensityUtils(getContext());
- final int initialIndex = density.getCurrentIndex();
+ mDensity = new DisplayDensityUtils(getContext());
+ final int initialIndex = mDensity.getCurrentIndexForDefaultDisplay();
if (initialIndex < 0) {
// Failed to obtain default density, which means we failed to
// connect to the window manager service. Just use the current
@@ -46,9 +46,10 @@
setInitialIndex(0);
setValues(Collections.singletonList(densityDpi));
} else {
- setDefaultValue(density.getDefaultDensity());
+ setDefaultValue(mDensity.getDefaultDensityForDefaultDisplay());
setInitialIndex(initialIndex);
- setValues(Arrays.stream(density.getValues()).boxed().collect(Collectors.toList()));
+ setValues(Arrays.stream(mDensity.getDefaultDisplayDensityValues()).boxed()
+ .collect(Collectors.toList()));
}
}
@@ -56,10 +57,9 @@
void commit(int currentProgress) {
final int densityDpi = getValues().get(currentProgress);
if (densityDpi == getDefaultValue()) {
- DisplayDensityConfiguration.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
+ mDensity.clearForcedDisplayDensity();
} else {
- DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY,
- densityDpi);
+ mDensity.setForcedDisplayDensity(currentProgress);
}
}
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 2eadc33..0b30f87 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -71,6 +71,7 @@
import com.android.settingslib.display.DisplayDensityUtils;
import com.airbnb.lottie.LottieAnimationView;
+import com.airbnb.lottie.LottieCompositionFactory;
import com.airbnb.lottie.LottieProperty;
import com.airbnb.lottie.model.KeyPath;
import com.google.android.setupcompat.template.FooterBarMixin;
@@ -191,9 +192,10 @@
@VisibleForTesting
protected boolean shouldShowLottie() {
DisplayDensityUtils displayDensity = new DisplayDensityUtils(getApplicationContext());
- int currentDensityIndex = displayDensity.getCurrentIndex();
- final int currentDensity = displayDensity.getValues()[currentDensityIndex];
- final int defaultDensity = displayDensity.getDefaultDensity();
+ int currentDensityIndex = displayDensity.getCurrentIndexForDefaultDisplay();
+ final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
+ [currentDensityIndex];
+ final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
return defaultDensity == currentDensity;
}
@@ -668,9 +670,12 @@
private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) {
setDescriptionText(description);
- mIllustrationLottie.setAnimation(lottie);
- mIllustrationLottie.setVisibility(View.VISIBLE);
- mIllustrationLottie.playAnimation();
+ LottieCompositionFactory.fromRawRes(this, lottie)
+ .addListener((c) -> {
+ mIllustrationLottie.setComposition(c);
+ mIllustrationLottie.setVisibility(View.VISIBLE);
+ mIllustrationLottie.playAnimation();
+ });
}
@EnrollStage
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 2721c77..a1d84da 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -641,6 +641,7 @@
if (mAuthenticateSidecar != null) {
mAuthenticateSidecar.setListener(null);
mAuthenticateSidecar.stopAuthentication();
+ mHandler.removeCallbacks(mFingerprintLockoutReset);
}
}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
index 6507083..52e6d13 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
@@ -58,7 +58,7 @@
getUserHandle());
if (toReturn == -1) {
toReturn = mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_requireScreenOnToAuthEnabled) ? 1 : 0;
+ com.android.internal.R.bool.config_performantAuthDefault) ? 1 : 0;
Settings.Secure.putIntForUser(mContext.getContentResolver(),
Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED, toReturn, getUserHandle());
}
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index 7c4b3ae..9a61595 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -307,10 +307,11 @@
}
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
- final int currentIndex = density.getCurrentIndex();
- final int defaultDensity = density.getDefaultDensity();
+ final int currentIndex = density.getCurrentIndexForDefaultDisplay();
+ final int defaultDensity = density.getDefaultDensityForDefaultDisplay();
- if (density.getValues()[mCurrentIndex] == density.getDefaultDensity()) {
+ if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
+ == density.getDefaultDensityForDefaultDisplay()) {
return;
}
@@ -351,17 +352,17 @@
private void restoreDensity() {
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
- if (density.getValues()[mCurrentIndex] != density.getDefaultDensity()) {
- DisplayDensityUtils.setForcedDisplayDensity(
- Display.DEFAULT_DISPLAY, density.getValues()[mCurrentIndex]);
+ if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
+ != density.getDefaultDensityForDefaultDisplay()) {
+ density.setForcedDisplayDensity(mCurrentIndex);
}
- mDefaultDensity = density.getDefaultDensity();
+ mDefaultDensity = density.getDefaultDensityForDefaultDisplay();
}
private boolean isDensityChanged() {
final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
- if (density.getDefaultDensity() == mDefaultDensity) {
+ if (density.getDefaultDensityForDefaultDisplay() == mDefaultDensity) {
return false;
}
diff --git a/src/com/android/settings/display/ScreenZoomPreference.java b/src/com/android/settings/display/ScreenZoomPreference.java
index f47d7da..af77a0e 100644
--- a/src/com/android/settings/display/ScreenZoomPreference.java
+++ b/src/com/android/settings/display/ScreenZoomPreference.java
@@ -36,13 +36,13 @@
android.R.attr.preferenceStyle));
final DisplayDensityUtils density = new DisplayDensityUtils(context);
- final int defaultIndex = density.getCurrentIndex();
+ final int defaultIndex = density.getCurrentIndexForDefaultDisplay();
if (defaultIndex < 0) {
setVisible(false);
setEnabled(false);
} else if (TextUtils.isEmpty(getSummary())) {
- final String[] entries = density.getEntries();
- final int currentIndex = density.getCurrentIndex();
+ final String[] entries = density.getDefaultDisplayDensityEntries();
+ final int currentIndex = density.getCurrentIndexForDefaultDisplay();
setSummary(entries[currentIndex]);
}
}
diff --git a/src/com/android/settings/display/ScreenZoomSettings.java b/src/com/android/settings/display/ScreenZoomSettings.java
index 4c46f01..ac10664 100644
--- a/src/com/android/settings/display/ScreenZoomSettings.java
+++ b/src/com/android/settings/display/ScreenZoomSettings.java
@@ -21,11 +21,9 @@
import android.content.Context;
import android.content.res.Configuration;
import android.os.Bundle;
-import android.view.Display;
import com.android.settings.R;
import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.display.DisplayDensityConfiguration;
import com.android.settingslib.display.DisplayDensityUtils;
import com.android.settingslib.search.SearchIndexable;
@@ -37,6 +35,7 @@
private int mDefaultDensity;
private int[] mValues;
+ private DisplayDensityUtils mDensity;
@Override
protected int getActivityLayoutResId() {
@@ -58,9 +57,9 @@
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- final DisplayDensityUtils density = new DisplayDensityUtils(getContext());
+ mDensity = new DisplayDensityUtils(getContext());
- final int initialIndex = density.getCurrentIndex();
+ final int initialIndex = mDensity.getCurrentIndexForDefaultDisplay();
if (initialIndex < 0) {
// Failed to obtain default density, which means we failed to
// connect to the window manager service. Just use the current
@@ -71,10 +70,10 @@
mInitialIndex = 0;
mDefaultDensity = densityDpi;
} else {
- mValues = density.getValues();
- mEntries = density.getEntries();
+ mValues = mDensity.getDefaultDisplayDensityValues();
+ mEntries = mDensity.getDefaultDisplayDensityEntries();
mInitialIndex = initialIndex;
- mDefaultDensity = density.getDefaultDensity();
+ mDefaultDensity = mDensity.getDefaultDensityForDefaultDisplay();
}
getActivity().setTitle(R.string.screen_zoom_title);
@@ -95,9 +94,9 @@
protected void commit() {
final int densityDpi = mValues[mCurrentIndex];
if (densityDpi == mDefaultDensity) {
- DisplayDensityConfiguration.clearForcedDisplayDensity(Display.DEFAULT_DISPLAY);
+ mDensity.clearForcedDisplayDensity();
} else {
- DisplayDensityConfiguration.setForcedDisplayDensity(Display.DEFAULT_DISPLAY, densityDpi);
+ mDensity.setForcedDisplayDensity(densityDpi);
}
}
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
index 5dd4453..4f4c35d 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
@@ -18,10 +18,12 @@
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
import android.content.Context;
import android.provider.Settings;
import android.telephony.TelephonyManager;
+import android.util.Log;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
@@ -33,6 +35,7 @@
*/
public class CdmaSystemSelectPreferenceController extends CdmaBasePreferenceController
implements ListPreference.OnPreferenceChangeListener {
+ private static final String TAG = "CdmaSystemSelectPreferenceController";
public CdmaSystemSelectPreferenceController(Context context, String key) {
super(context, key);
@@ -42,23 +45,36 @@
public void updateState(Preference preference) {
super.updateState(preference);
final ListPreference listPreference = (ListPreference) preference;
- listPreference.setVisible(getAvailabilityStatus() == AVAILABLE);
- final int mode = mTelephonyManager.getCdmaRoamingMode();
- if (mode != TelephonyManager.CDMA_ROAMING_MODE_RADIO_DEFAULT) {
- if (mode == TelephonyManager.CDMA_ROAMING_MODE_HOME
- || mode == TelephonyManager.CDMA_ROAMING_MODE_ANY) {
- listPreference.setValue(Integer.toString(mode));
- } else {
- resetCdmaRoamingModeToDefault();
- }
+ boolean isVisible = (getAvailabilityStatus() == AVAILABLE);
+ listPreference.setVisible(isVisible);
+ if (!isVisible) {
+ return;
}
+ boolean hasTelephonyMgr = mTelephonyManager != null;
+ try {
+ final int mode =
+ hasTelephonyMgr ? mTelephonyManager.getCdmaRoamingMode()
+ : TelephonyManager.CDMA_ROAMING_MODE_RADIO_DEFAULT;
+ if (mode != TelephonyManager.CDMA_ROAMING_MODE_RADIO_DEFAULT) {
+ if (mode == TelephonyManager.CDMA_ROAMING_MODE_HOME
+ || mode == TelephonyManager.CDMA_ROAMING_MODE_ANY) {
+ listPreference.setValue(Integer.toString(mode));
+ } else {
+ resetCdmaRoamingModeToDefault();
+ }
+ }
- final int settingsNetworkMode = MobileNetworkUtils.getNetworkTypeFromRaf(
- (int) mTelephonyManager.getAllowedNetworkTypesForReason(
- TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
- final boolean enableList = settingsNetworkMode != NETWORK_MODE_LTE_GSM_WCDMA
- && settingsNetworkMode != NETWORK_MODE_NR_LTE_GSM_WCDMA;
- listPreference.setEnabled(enableList);
+ final int settingsNetworkMode =
+ hasTelephonyMgr ? MobileNetworkUtils.getNetworkTypeFromRaf(
+ (int) mTelephonyManager.getAllowedNetworkTypesForReason(
+ TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER))
+ : NETWORK_MODE_UNKNOWN;
+ final boolean enableList = settingsNetworkMode != NETWORK_MODE_LTE_GSM_WCDMA
+ && settingsNetworkMode != NETWORK_MODE_NR_LTE_GSM_WCDMA;
+ listPreference.setEnabled(enableList);
+ } catch (Exception exception) {
+ Log.e(TAG, "Fail to access framework API", exception);
+ }
}
@Override