Merge master@5428150 into git_qt-dev-plus-aosp.

Change-Id: I3ef0a508a43dd422965b16aeca2936ae7258d327
BUG: 129345239
This commit is contained in:
Bill Rassieur
2019-04-02 18:35:20 +00:00
246 changed files with 5458 additions and 2168 deletions

View File

@@ -47,6 +47,7 @@ LOCAL_STATIC_JAVA_LIBRARIES := \
guava \
jsr305 \
settings-contextual-card-protos-lite \
settings-log-bridge-protos-lite \
contextualcards \
settings-logtags \
zxing-core-1.7

View File

@@ -196,6 +196,19 @@
android:value="true" />
</activity>
<activity android:name=".Settings$MobileNetworkListActivity"
android:label="@string/network_settings_title"
android:parentActivityName="Settings$NetworkDashboardActivity">
<intent-filter android:priority="1">
<action android:name="android.settings.MOBILE_NETWORK_LIST" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.network.MobileNetworkListFragment"/>
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
<activity
android:name=".Settings$ConnectedDeviceDashboardActivity"
android:label="@string/connected_devices_dashboard_title"
@@ -607,8 +620,7 @@
<activity
android:name="Settings$ManageAssistActivity"
android:label="@string/assist_and_voice_input_title"
android:parentActivityName="Settings">
android:label="@string/assist_and_voice_input_title">
<intent-filter android:priority="1">
<action android:name="android.settings.VOICE_INPUT_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
@@ -782,7 +794,8 @@
<activity android:name="Settings$WallpaperSettingsActivity"
android:label="@string/wallpaper_settings_fragment_title"
android:icon="@drawable/ic_wallpaper">
android:icon="@drawable/ic_wallpaper"
android:exported="true">
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.wallpaper.WallpaperTypeSettings" />
</activity>
@@ -1381,7 +1394,7 @@
<activity android:name=".accessibility.AccessibilitySettingsForSetupWizardActivity"
android:icon="@drawable/ic_accessibility_suggestion"
android:label="@string/vision_settings_title"
android:theme="@style/SetupWizardAccessibilityTheme">
android:theme="@style/GlifV3Theme.Light">
<intent-filter android:priority="1">
<action android:name="android.settings.ACCESSIBILITY_SETTINGS_FOR_SUW" />
<category android:name="android.intent.category.DEFAULT" />
@@ -2441,6 +2454,18 @@
android:value="true" />
</activity>
<activity
android:name="Settings$AppBubbleNotificationSettingsActivity"
android:label="@string/bubbles_app_toggle_title"
android:parentActivityName="Settings$NotificationAppListActivity">
<intent-filter android:priority="1">
<action android:name="android.settings.APP_NOTIFICATION_BUBBLE_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.notification.AppBubbleNotificationSettings" />
</activity>
<activity
android:name="Settings$SoundSettingsActivity"
android:label="@string/sound_settings"
@@ -2553,7 +2578,7 @@
<receiver android:name=".sim.SimSelectNotification">
<intent-filter>
<action android:name="android.intent.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED"/>
<action android:name="android.telephony.action.PRIMARY_SUBSCRIPTION_LIST_CHANGED"/>
</intent-filter>
</receiver>
@@ -3042,9 +3067,8 @@
<activity android:name=".panel.SettingsPanelActivity"
android:label="@string/settings_panel_title"
android:theme="@style/Theme.BottomDialog"
android:documentLaunchMode="always"
android:excludeFromRecents="true"
android:launchMode="singleTop"
android:taskAffinity=".panel.SettingsPanelActivity"
android:exported="true">
<intent-filter>
<action android:name="android.settings.panel.action.INTERNET_CONNECTIVITY" />

View File

@@ -5,4 +5,13 @@ java_library_static {
type: "lite",
},
srcs: ["contextual_card_list.proto"],
}
java_library_static {
name: "settings-log-bridge-protos-lite",
host_supported: true,
proto: {
type: "lite",
},
srcs: ["settings_log_bridge.proto"],
}

View File

@@ -0,0 +1,37 @@
syntax = "proto2";
package com.android.settings.intelligence;
option java_outer_classname = "LogProto";
message SettingsLog {
/**
* Where this SettingsUIChange event comes from. For example, if
* it's a PAGE_VISIBLE event, where the page is opened from.
*/
optional int32 attribution = 1;
/**
* What the UI action is.
*/
optional int32 action = 2;
/**
* Where the action is happening
*/
optional int32 page_id = 3;
/**
* What preference changed in this event.
*/
optional string changed_preference_key = 4;
/**
* The new value of the changed preference.
*/
optional int32 changed_preference_int_value = 5;
/**
* The timestamp of a log event
*/
optional string timestamp = 6;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 836 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 700 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 912 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,29 @@
<!--
Copyright (C) 2019 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="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?android:attr/colorControlNormal">
<path
android:pathData="M4,44h40V4z"
android:fillColor="#000000"
android:fillAlpha=".3"/>
<path
android:pathData="M24,24L4,44h20z"
android:fillColor="#000000"/>
</vector>

View File

@@ -13,8 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector android:height="192dp" android:viewportHeight="192.0"
android:viewportWidth="192.0" android:width="192dp"
<vector android:height="32dp" android:viewportHeight="192.0"
android:viewportWidth="192.0" android:width="32dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#546E7A" android:pathData="M37.2,173.6l-28.5,-90c-1.7,-5.8 0.3,-12 5,-15.6l73.6,-57.1c5.2,-4 12.5,-4 17.6,0.1L178.6,70c4.6,3.7 6.5,9.9 4.8,15.6l-28.5,88.2c-1.9,6.1 -7.4,10.2 -13.7,10.2H50.8C44.5,183.9 39,179.7 37.2,173.6z"/>
<path android:fillAlpha="0.2" android:fillColor="#263238"

View File

@@ -13,8 +13,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<vector android:height="192dp" android:viewportHeight="192.0"
android:viewportWidth="192.0" android:width="192dp"
<vector android:height="32dp" android:viewportHeight="192.0"
android:viewportWidth="192.0" android:width="32dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00BCD4" android:pathData="M37.1,173.5l-28.5,-90c-1.7,-5.8 0.3,-12 5,-15.6l73.6,-57.1c5.2,-4 12.5,-4 17.6,0.1l73.8,58.9c4.6,3.7 6.5,9.9 4.8,15.6l-28.5,88.2c-1.9,6.1 -7.4,10.2 -13.7,10.2H50.8C44.5,183.8 39,179.6 37.1,173.5z"/>
<path android:fillAlpha="0.2" android:fillColor="#263238"

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_about_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_accessibility_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_accounts_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_app_and_notification_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_battery_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_connected_device_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_display_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_location_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_network_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_privacy_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_security_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_sound_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_storage_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_support_background" />

View File

@@ -18,7 +18,7 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settings.homepage.AdaptiveIconShapeDrawable
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/dashboard_tile_image_size"
android:height="@dimen/dashboard_tile_image_size"
android:color="@color/homepage_system_background" />

View File

@@ -18,7 +18,8 @@
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
android:viewportHeight="24"
android:tint="?android:attr/colorControlNormal">
<path
android:fillColor="#000000"

View File

@@ -20,7 +20,8 @@
android:height="24dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:autoMirrored="true">
android:autoMirrored="true"
android:tint="?android:attr/colorControlNormal">
<path android:fillColor="#000000"
android:pathData="M18.8 21l9.53-16.51C26.94 4.18 25.49 4 24 4c-4.8 0-9.19 1.69-12.64

View File

@@ -0,0 +1,25 @@
<!--
Copyright (C) 2019 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="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M12,2c-1.78,0 -3.44,0.46 -4.89,1.28l1.48,1.48C9.63,4.28 10.78,4 12,4c4.41,0 8,3.59 8,8c0,1.22 -0.28,2.37 -0.76,3.41l1.48,1.48C21.54,15.44 22,13.78 22,12C22,6.48 17.52,2 12,2zM18.12,17.13L6.87,5.87L3.31,2.31L1.89,3.72l2.19,2.19C2.77,7.59 2,9.71 2,12c0,5.52 4.48,10 10,10c2.29,0 4.41,-0.77 6.09,-2.08l2.19,2.19l1.41,-1.41L18.12,17.13zM12,20c-4.41,0 -8,-3.59 -8,-8c0,-1.74 0.56,-3.35 1.51,-4.66l11.15,11.15C15.35,19.44 13.74,20 12,20zM8.59,4.76L7.11,3.28"/>
</vector>

View File

@@ -0,0 +1,25 @@
<!--
Copyright (C) 2019 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="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M15.59,10.09L13,12.67V2h-2v10.67l-2.59,-2.58L7,11.5l5,5l5,-5L15.59,10.09zM15,2.46v2.13c2.93,1.19 5,4.06 5,7.41c0,4.41 -3.59,8 -8,8s-8,-3.59 -8,-8c0,-3.35 2.07,-6.22 5,-7.41V2.46C4.94,3.74 2,7.53 2,12c0,5.52 4.48,10 10,10s10,-4.48 10,-10C22,7.53 19.06,3.74 15,2.46z"/>
</vector>

View File

@@ -0,0 +1,25 @@
<!--
Copyright (C) 2019 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="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?android:attr/colorControlNormal">
<path
android:pathData="M14,48h4v-4h-4v4zM22,48h4v-4h-4v4zM26,4h-4v20h4L26,4zM33.13,8.87l-2.89,2.89C33.69,13.87 36,17.66 36,22c0,6.63 -5.37,12 -12,12s-12,-5.37 -12,-12c0,-4.34 2.31,-8.13 5.76,-10.24l-2.89,-2.89C10.72,11.76 8,16.56 8,22c0,8.84 7.16,16 16,16s16,-7.16 16,-16c0,-5.44 -2.72,-10.24 -6.87,-13.13zM30,48h4v-4h-4v4z"
android:fillColor="#000000"/>
</vector>

View File

@@ -0,0 +1,25 @@
<!--
Copyright (C) 2019 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="48dp"
android:height="48dp"
android:viewportWidth="48"
android:viewportHeight="48"
android:tint="?android:attr/colorControlNormal">
<path
android:pathData="M40,31c-2.49,0 -4.89,-0.4 -7.14,-1.14 -0.69,-0.22 -1.48,-0.06 -2.03,0.49l-4.4,4.41c-5.67,-2.88 -10.29,-7.51 -13.18,-13.17l4.4,-4.41c0.55,-0.55 0.71,-1.34 0.49,-2.03C17.4,12.9 17,10.49 17,8c0,-1.11 -0.89,-2 -2,-2L8,6c-1.11,0 -2,0.89 -2,2 0,18.78 15.22,34 34,34 1.11,0 2,-0.89 2,-2v-7c0,-1.11 -0.89,-2 -2,-2zM38,24h4c0,-9.94 -8.06,-18 -18,-18v4c7.73,0 14,6.27 14,14zM30,24h4c0,-5.52 -4.48,-10 -10,-10v4c3.31,0 6,2.69 6,6z"
android:fillColor="#000000"/>
</vector>

View File

@@ -0,0 +1,27 @@
<!--
Copyright (C) 2019 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="24.0"
android:viewportHeight="24.0"
android:tint="?android:attr/colorControlNormal">
<path
android:pathData="M0 0h24v24H0z" />
<path
android:fillColor="#000000"
android:pathData="M18 2h-8L4.02 8 4 20c0 1.1 0.9 2 2 2h12c1.1 0 2-0.9 2-2V4c0-1.1-0.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z" />
</vector>

View File

@@ -44,7 +44,7 @@
android:orientation="vertical">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -40,7 +40,7 @@
android:paddingBottom="24dp">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -49,7 +49,7 @@
android:orientation="vertical">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -55,7 +55,7 @@
android:clipToPadding="false">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -45,7 +45,7 @@
android:orientation="vertical">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -43,7 +43,7 @@
android:layout_marginBottom="8dp"
style="?android:attr/progressBarStyleHorizontal"/>
<com.android.settings.wifi.qrcode.QrPreviewLayout
<FrameLayout
android:layout_width="@dimen/qrcode_preview_size"
android:layout_height="@dimen/qrcode_preview_size">
<TextureView
@@ -54,7 +54,7 @@
android:id="@+id/decorate_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
</com.android.settings.wifi.qrcode.QrPreviewLayout>
</FrameLayout>
<TextView
android:id="@+id/error_message"

View File

@@ -41,7 +41,7 @@
android:orientation="vertical">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -33,7 +33,7 @@
android:orientation="vertical">
<ImageView
android:id="@+id/suc_layout_icon"
android:id="@+id/sud_layout_icon"
style="@style/SudGlifIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:icon="@drawable/ic_lock">

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
style="?attr/face_layout_theme"
android:layout_width="match_parent"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
style="?attr/fingerprint_layout_theme"
android:layout_width="match_parent"

View File

@@ -17,7 +17,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
style="?attr/fingerprint_layout_theme"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"

View File

@@ -19,6 +19,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:contentDescription="@string/condition_expand_show"
style="@style/ContextualCardStyle">
<LinearLayout

View File

@@ -25,6 +25,7 @@
android:id="@+id/card_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layoutAnimation="@anim/layout_animation_fade_in"/>
android:layoutAnimation="@anim/layout_animation_fade_in"
android:importantForAccessibility="no"/>
</LinearLayout>

View File

@@ -16,7 +16,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

View File

@@ -16,7 +16,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

View File

@@ -16,7 +16,6 @@
<com.google.android.setupdesign.GlifLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">

View File

@@ -43,18 +43,21 @@
android:layout_marginBottom="8dp"
style="?android:attr/progressBarStyleHorizontal"/>
<com.android.settings.wifi.qrcode.QrPreviewLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextureView
android:id="@+id/preview_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
android:layout_height="0dp"
app:layout_constraintDimensionRatio="1:1"/>
<com.android.settings.wifi.qrcode.QrDecorateView
android:id="@+id/decorate_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</com.android.settings.wifi.qrcode.QrPreviewLayout>
android:layout_height="0dp"
app:layout_constraintDimensionRatio="1:1"/>
</androidx.constraintlayout.widget.ConstraintLayout>
<TextView
android:id="@+id/error_message"

View File

@@ -16,7 +16,6 @@
<resources>
<color name="switchbar_text_color">@android:color/black</color>
<color name="switch_bar_background">#dadce0</color>
<color name="switchbar_switch_track_tint">#82000000</color>
<color name="switchbar_switch_thumb_tint">@android:color/black</color>
<color name="homepage_accessibility_background">#783BE5</color>

View File

@@ -29,9 +29,7 @@
<item name="android:colorControlNormal">?android:attr/colorAccent</item>
</style>
<style name="Theme.SubSettings" parent="Theme.SubSettings.Base">
<item name="android:colorControlNormal">?android:attr/colorAccent</item>
</style>
<style name="Theme.SubSettings" parent="Theme.SubSettings.Base"/>
<style name="Theme.AlertDialog.Base" parent="@style/Theme.AppCompat.DayNight.Dialog.Alert">
<item name="colorAccent">@*android:color/accent_device_default_dark</item>

View File

@@ -1378,25 +1378,24 @@
<item>@string/wifi_calling_mode_cellular_preferred_summary</item>
</string-array>
<!-- Bluetooth icon foreground colors -->
<integer-array name="bt_icon_fg_colors">
<item>@color/bt_color_icon_1</item>
<item>@color/bt_color_icon_2</item>
<item>@color/bt_color_icon_3</item>
<item>@color/bt_color_icon_4</item>
<item>@color/bt_color_icon_5</item>
<item>@color/bt_color_icon_6</item>
<item>@color/bt_color_icon_7</item>
</integer-array>
<!-- Carrier variant of Enhaced 4G LTE Mode title. [CHAR LIMIT=NONE] -->
<string-array name="enhanced_4g_lte_mode_title_variant">
<!-- 0: Default -->
<item>@string/enhanced_4g_lte_mode_title</item>
<!-- 1: Verizon -->
<item>@string/enhanced_4g_lte_mode_title_advanced_calling</item>
<!-- 2: All carriers who want 4G -->
<item>@string/enhanced_4g_lte_mode_title_4g_calling</item>
</string-array>
<!-- Carrier variant of Enhaced 4G LTE Mode summary. [CHAR LIMIT=NONE] -->
<string-array name="enhanced_4g_lte_mode_sumary_variant">
<!-- 0: Default -->
<item>@string/enhanced_4g_lte_mode_summary</item>
<!-- 1: Verizon -->
<item>@string/enhanced_4g_lte_mode_summary</item>
<!-- 2: All carriers who want 4G -->
<item>@string/enhanced_4g_lte_mode_summary_4g_calling</item>
</string-array>
<!-- Bluetooth icon background colors -->
<integer-array name="bt_icon_bg_colors">
<item>@color/bt_color_bg_1</item>
<item>@color/bt_color_bg_2</item>
<item>@color/bt_color_bg_3</item>
<item>@color/bt_color_bg_4</item>
<item>@color/bt_color_bg_5</item>
<item>@color/bt_color_bg_6</item>
<item>@color/bt_color_bg_7</item>
</integer-array>
</resources>

View File

@@ -56,7 +56,6 @@
<color name="material_blue_700">#3367D6</color>
<color name="material_grey_100">#f5f5f5</color>
<color name="material_grey_200">#ffffff</color>
<color name="switch_bar_background">#757575</color>
<color name="message_text_incoming">#ffffffff</color>
<color name="message_text_outgoing">#ff323232</color>
@@ -100,7 +99,7 @@
<color name="homepage_privacy_background">#5E97F6</color>
<color name="homepage_card_stroke_color">#1f000000</color>
<color name="homepage_card_dismissal_background">@*android:color/material_grey_50</color>
<color name="homepage_card_dismissal_background">@*android:color/material_grey_100</color>
<color name="contextual_card_background">@*android:color/background_device_default_light</color>
<!-- End of dashboard/homepage icon background colors -->
@@ -141,21 +140,4 @@
<color name="qr_background_color">#b3ffffff</color> <!-- 70% white transparency -->
<!-- End of QR code scanner colors -->
<color name="bt_color_icon_1">#48a50e0e</color> <!-- 72% Material Red 900 -->
<color name="bt_color_icon_2">#480d652d</color> <!-- 72% Material Green 900 -->
<color name="bt_color_icon_3">#48e37400</color> <!-- 72% Material Yellow 900 -->
<color name="bt_color_icon_4">#48b06000</color> <!-- 72% Material Orange 900 -->
<color name="bt_color_icon_5">#489c166b</color> <!-- 72% Material Pink 900 -->
<color name="bt_color_icon_6">#48681da8</color> <!-- 72% Material Purple 900 -->
<color name="bt_color_icon_7">#48007b83</color> <!-- 72% Material Cyan 900 -->
<color name="bt_color_bg_1">#fad2cf</color> <!-- Material Red 100 -->
<color name="bt_color_bg_2">#ceead6</color> <!-- Material Green 100 -->
<color name="bt_color_bg_3">#feefc3</color> <!-- Material Yellow 100 -->
<color name="bt_color_bg_4">#fedfc8</color> <!-- Material Orange 100 -->
<color name="bt_color_bg_5">#fdcfe8</color> <!-- Material Pink 100 -->
<color name="bt_color_bg_6">#e9d2fd</color> <!-- Material Purple 100 -->
<color name="bt_color_bg_7">#cbf0f8</color> <!-- Material Cyan 100 -->
<color name="bt_outline_color">#1f000000</color> <!-- icon outline color -->
</resources>

View File

@@ -156,6 +156,11 @@
com.android.settings.intelligence
</string>
<!-- Package Installer package name -->
<string name="config_package_installer_package_name" translatable="false">
com.android.packageinstaller
</string>
<!-- Settings intelligence interaction log intent action -->
<string name="config_settingsintelligence_log_action" translatable="false"></string>

View File

@@ -176,6 +176,7 @@
<!-- WiFi Preferences -->
<dimen name="wifi_divider_height">1px</dimen>
<dimen name="wifi_ap_band_checkbox_padding">16dp</dimen>
<dimen name="wifi_detail_page_header_image_size">32dp</dimen>
<!-- Color picker -->
<dimen name="color_swatch_size">16dp</dimen>
@@ -346,6 +347,7 @@
<dimen name="homepage_card_icon_padding_start">14dp</dimen>
<dimen name="homepage_card_text_padding_start">16dp</dimen>
<dimen name="homepage_card_padding_end">16dp</dimen>
<dimen name="homepage_card_corner_radius">@*android:dimen/config_dialogCornerRadius</dimen>
<dimen name="homepage_full_card_padding_end">12dp</dimen>
<dimen name="homepage_half_card_padding_top">12dp</dimen>
<dimen name="homepage_half_card_padding_bottom">16dp</dimen>
@@ -405,12 +407,6 @@
<!-- Wi-Fi DPP fragment icon size -->
<dimen name="wifi_dpp_fragment_icon_width_height">48dp</dimen>
<!-- Size of nearby icon -->
<dimen name="bt_nearby_icon_size">24dp</dimen>
<!-- Stroke size of adaptive outline -->
<dimen name="adaptive_outline_stroke">1dp</dimen>
<!-- Elevation of bluetooth icon -->
<dimen name="bt_icon_elevation">4dp</dimen>
</resources>

View File

@@ -2284,6 +2284,8 @@
</plurals>
<!-- Wi-Fi settings screen, advanced, settings section. This is a header shown above advanced wifi settings. [CHAR LIMIT=30] -->
<string name="wifi_advanced_titlebar">Advanced Wi\u2011Fi</string>
<!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
<string name="wifi_advanced_ssid_title">SSID</string>
<!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's MAC address. -->
<string name="wifi_advanced_mac_address_title">MAC address</string>
<!-- Title of the screen to adjust IP settings -->
@@ -2620,8 +2622,6 @@
<string name="sound_effects_enable_title">Tap sounds</string>
<!-- Sound settings screen, setting check box label -->
<string name="lock_sounds_enable_title">Screen lock sound</string>
<!-- Sound settings screen, setting check box label -->
<string name="haptic_feedback_enable_title">Vibrate on tap</string>
<!-- Sound settings screen, setting option name checkbox to enable/disable audio recording features that improve audio recording in noisy environments -->
<string name="audio_record_proc_title">Noise cancellation</string>
<!-- Volume description for media volume -->
@@ -5661,12 +5661,6 @@
<!-- Battery saver: Title for battery saver schedule screen [CHAR_LIMIT=40] -->
<string name="battery_saver_schedule_settings_title">Set a schedule</string>
<!-- Battery Saver: Title for sticky battery saver preference [CHAR_LIMIT=60] -->
<string name="battery_saver_sticky_title">Keep battery saver on</string>
<!-- Battery Saver: Description for sticky battery saver preference [CHAR_LIMIT=NONE] -->
<string name="battery_saver_sticky_description">Battery saver will stay on even after device is fully charged</string>
<!-- Battery Saver: Title for sticky battery saver preference [CHAR_LIMIT=60] -->
<string name="battery_saver_sticky_title_new">Turn off when fully charged</string>
@@ -6781,6 +6775,24 @@
<string name="help_uri_notifications" translatable="false"></string>
<!-- Help URI, Apps [DO NOT TRANSLATE] -->
<string name="help_uri_apps" translatable="false"></string>
<!-- Help URI, manage apps storage [DO NOT TRANSLATE] -->
<string name="help_uri_apps_storage" translatable="false"></string>
<!-- Help URI, manage apps power [DO NOT TRANSLATE] -->
<string name="help_uri_apps_high_power" translatable="false"></string>
<!-- Help URI, manage apps overlay [DO NOT TRANSLATE] -->
<string name="help_uri_apps_overlay" translatable="false"></string>
<!-- Help URI, manage apps write settings [DO NOT TRANSLATE] -->
<string name="help_uri_apps_write_settings" translatable="false"></string>
<!-- Help URI, manage apps manage sources [DO NOT TRANSLATE] -->
<string name="help_uri_apps_manage_sources" translatable="false"></string>
<!-- Help URI, manage apps games [DO NOT TRANSLATE] -->
<string name="help_uri_apps_games" translatable="false"></string>
<!-- Help URI, manage apps movies [DO NOT TRANSLATE] -->
<string name="help_uri_apps_movies" translatable="false"></string>
<!-- Help URI, manage apps photography [DO NOT TRANSLATE] -->
<string name="help_uri_apps_photography" translatable="false"></string>
<!-- Help URI, manage apps wifi access [DO NOT TRANSLATE] -->
<string name="help_uri_apps_wifi_access" translatable="false"></string>
<!-- Help URI, Storage [DO NOT TRANSLATE] -->
<string name="help_uri_storage" translatable="false"></string>
<!-- Help URI, Accessibility [DO NOT TRANSLATE] -->
@@ -6921,9 +6933,15 @@
<!-- Access point names title. [CHAR LIMIT=50] -->
<string name="access_point_names">Access point names</string>
<!-- Enhaced 4G LTE Mode title. [CHAR LIMIT=50] -->
<string name="enhanced_4g_lte_mode_title">Enhanced 4G LTE Mode</string>
<string name="enhanced_4g_lte_mode_title">VoLTE</string>
<!-- Enhaced 4G LTE Mode title for carriers who want to show Advanced Calling. [CHAR LIMIT=50] -->
<string name="enhanced_4g_lte_mode_title_advanced_calling">Advanced Calling</string>
<!-- Enhaced 4G LTE Mode title for carriers who want to show 4G Calling. [CHAR LIMIT=50] -->
<string name="enhanced_4g_lte_mode_title_4g_calling">4G Calling</string>
<!-- Enhaced 4G LTE Mode summary. [CHAR LIMIT=100] -->
<string name="enhanced_4g_lte_mode_summary">Use LTE data to enhance voice and communications (Recommended)</string>
<string name="enhanced_4g_lte_mode_summary">Use LTE services to improve voice and other communications (recommended)</string>
<!-- Enhaced 4G LTE Mode summary for 4g calling. [CHAR LIMIT=100] -->
<string name="enhanced_4g_lte_mode_summary_4g_calling">Use 4G services to improve voice and other communications (recommended)</string>
<!-- Preferred network type title. [CHAR LIMIT=50] -->
<string name="preferred_network_type_title">Preferred network type</string>
<!-- Preferred network type summary. [CHAR LIMIT=100] -->
@@ -7000,6 +7018,8 @@
<string name="sim_calls_always_use">Always use this for calls</string>
<!-- Message for selecting sim for data in settings. [CHAR LIMIT=40] -->
<string name="select_sim_for_data">Select a SIM for data</string>
<!-- Message for selecting sim for SMS in settings. [CHAR LIMIT=40] -->
<string name="select_sim_for_sms">Select a SIM for SMS</string>
<!-- Message for switching data SIM; switching takes a while -->
<string name="data_switch_started">Switching data SIM, this may take up to a minute...</string>
<!-- Message for selecting sim for call in settings. [CHAR LIMIT=40] -->
@@ -7118,6 +7138,24 @@
<!--Search Keywords [CHAR LIMIT=NONE]-->
<string name="keywords_wifi">wifi, wi-fi, network connection, internet, wireless, data, wi fi</string>
<!-- Search keyword for "Open Network Notification" settings. [CHAR_LIMIT=NONE]-->
<string name="keywords_wifi_notify_open_networks">Wi\u2011Fi notification, wifi notification</string>
<!-- Search keyword for "Adaptive brightness" settings. [CHAR_LIMIT=NONE]-->
<string name="keywords_auto_brightness">Auto brightness</string>
<!-- Search keyword for "Vibrate on touch" settings. [CHAR_LIMIT=NONE]-->
<string name="keywords_vibrate_on_touch">Stop vibration, tap, keyboard</string>
<!-- Search keyword for "Time format" settings. [CHAR_LIMIT=NONE]-->
<string name="keywords_time_format">Use 24-hour format</string>
<!-- Search keyword for "Files" settings under Settings > Storage. [CHAR_LIMIT=NONE]-->
<string name="keywords_storage_files">Download</string>
<!-- Search keyword for "Default Apps" settings [CHAR_LIMIT=NONE]-->
<string name="keywords_app_default">Open with</string>
<!-- Search keyword for "App info" settings [CHAR_LIMIT=NONE]-->
<string name="keywords_applications_settings">Applications</string>
<!-- Search keyword for "Time zone" settings [CHAR_LIMIT=NONE]-->
<string name="keywords_time_zone">timezone</string>
<!-- Search keyword for "Display over other apps" settings [CHAR_LIMIT=NONE]-->
<string name="keywords_draw_overlay">Chat head</string>
<string name="keywords_change_wifi_state">wifi, wi-fi, toggle, control</string>
<string name="keywords_more_default_sms_app">text message, texting, messages, messaging, default</string>
<string name="keywords_more_mobile_networks">cellular, mobile, cell carrier, wireless, data, 4g,3g, 2g, lte</string>
@@ -7128,7 +7166,8 @@
<string name="keywords_display_night_display">dim screen, night, tint, night shift, brightness, screen color, colour, color</string>
<string name="keywords_display_wallpaper">background, personalize, customize display</string>
<string name="keywords_display_font_size">text size</string>
<string name="keywords_display_cast_screen">project, cast</string>
<!-- Search keyword for "Cast" settings [CHAR_LIMIT=NONE]-->
<string name="keywords_display_cast_screen">project, cast, Screen mirroring, Screen sharing, mirroring, share screen, screen casting</string>
<string name="keywords_storage">space, disk, hard drive, device usage</string>
<string name="keywords_battery">power usage, charge</string>
<string name="keywords_spell_checker">spelling, dictionary, spellcheck, auto-correct</string>
@@ -7181,7 +7220,7 @@
<string name="keywords_ambient_display_screen">Ambient display, Lock screen display</string>
<!-- Search keyword for lock screen notification setting [CHAR_LIMIT=NONE] -->
<string name="keywords_lock_screen_notif">lock screen notification</string>
<string name="keywords_lock_screen_notif">lock screen notification, notifications</string>
<!-- Search keyword for face settings. -->
<string name="keywords_face_settings">face</string>
@@ -7368,6 +7407,12 @@
<!-- Sound: Other sounds: Title for the option enabling boot sounds. [CHAR LIMIT=30] -->
<string name="boot_sounds_title">Power on sounds</string>
<!-- Setting title for controlling how caption text display in real time [CHAR LIMIT=40]-->
<string name="live_caption_title">Live Caption</string>
<!-- Setting summary for controlling how caption text display in real time [CHAR LIMIT=NONE]-->
<string name="live_caption_summary">Automatically caption media</string>
<!-- Sound: Summary for the Do not Disturb option when there is no automatic rules turned on. [CHAR LIMIT=NONE]-->
<string name="zen_mode_settings_summary_off">Never</string>
@@ -7387,7 +7432,7 @@
<string name="zen_mode_behavior_settings_title">Exceptions</string>
<!-- Do not disturb: Title for the dnd duration setting (user can specify how long dnd will last when toggling dnd on from qs or settings) [CHAR LIMIT=30] -->
<string name="zen_mode_duration_settings_title">Duration</string>
<string name="zen_mode_duration_settings_title">Default duration</string>
<!-- Do not disturb: Instructions indicating what types of sounds can bypass DND. [CHAR LIMIT=52] -->
<string name="zen_mode_behavior_allow_title">Allow sounds and vibrations from</string>
@@ -7746,9 +7791,9 @@
<string name="notification_badging_title">Allow notification dots</string>
<!-- Configure Notifications: Title for the notification bubbles option. [CHAR LIMIT=60] -->
<string name="notification_bubbles_title">Allow bubbles</string>
<string name="notification_bubbles_title">Bubbles</string>
<!-- Configure Notifications: Summary for the notification bubbles option. [CHAR LIMIT=NONE] -->
<string name="notification_bubbles_summary">Allow apps to show some notifications as bubbles</string>
<string name="notification_bubbles_summary">Quickly access app content from anywhere using floating shortcuts</string>
<!-- Feature education for bubbles. [CHAR LIMIT=NONE] -->
<string name="bubbles_feature_education">Some notifications and other content can appear as bubbles on the screen. To open a bubble, tap it. To dismiss it, drag it down the screen.</string>
<!-- Title for the toggle shown on the app-level bubbles page [CHAR LIMIT=60] -->
@@ -8789,7 +8834,7 @@
<string name="app_usage_preference">App usage preferences</string>
<!-- Link title to show stats about how much time user spent in an app [CHAR LIMIT=45] -->
<string name="time_spent_in_app_pref_title">Time spent in app</string>
<string name="time_spent_in_app_pref_title">Screen time</string>
<!-- Description of the usage access setting [CHAR LIMIT=NONE] -->
<string name="usage_access_description">Usage access allows an app to track what other apps you\u2019re using and how often, as well as your carrier, language settings, and other details.</string>
@@ -10534,8 +10579,6 @@
<!-- Message informs the user that has no SIM card in personalized Settings [CHAR LIMIT=30] -->
<string name="no_sim_card">No SIM card</string>
<!-- Carrier variant of Enhaced 4G LTE Mode title. [CHAR LIMIT=50] -->
<string name="enhanced_4g_lte_mode_title_variant">Advanced Calling</string>
<!-- The following strings are summaries for preferred network modes in Mobile network settings,
and have a character limit of 100 -->
<!-- WCDMA preferred [CHAR LIMIT=NONE] -->
@@ -10885,7 +10928,7 @@
<!-- Title for the top level Privacy Settings [CHAR LIMIT=30]-->
<string name="privacy_dashboard_title">Privacy</string>
<!-- Summary for the top level Privacy Settings [CHAR LIMIT=NONE]-->
<string name="privacy_dashboard_summary">Permissions, web activity, personal data</string>
<string name="privacy_dashboard_summary">Permissions, account activity, personal data</string>
<!-- Label for button in contextual card for users to remove the card [CHAR LIMIT=30] -->
<string name="contextual_card_dismiss_remove">Remove</string>
@@ -10916,17 +10959,15 @@
<string name="permission_bar_chart_empty_text">0 apps used permissions</string>
<!-- Text for permission bar chart title in Privacy page. [CHAR LIMIT=NONE] -->
<string name="permission_bar_chart_title">Most-used permissions in last 24 hours</string>
<!-- Text for permission bar chart title in Privacy page. [CHAR LIMIT=NONE] -->
<string name="permission_bar_chart_title_v2">In last 24 hr, apps on this device accessed</string>
<string name="permission_bar_chart_title">Permission usage in last 24 hours</string>
<!-- Text for permission bar chart details in Privacy page. [CHAR LIMIT=NONE] -->
<string name="permission_bar_chart_details">View Permissions Dashboard</string>
<string name="permission_bar_chart_details">See all in Dashboard</string>
<!-- Text for permission bar chart details in Privacy page. [CHAR LIMIT=NONE] -->
<string name="permission_bar_chart_details_v2">See all permission usage in Dashboard</string>
<!-- Text for permission bar chart details in Privacy page. [CHAR LIMIT=NONE] -->
<string name="permission_bar_chart_details_v3">+ <xliff:g id="permissionCount" example="3">%1$d</xliff:g> other permissions</string>
<plurals name="permission_bar_chart_label">
<item quantity="one">1 app</item>
<item quantity="other"><xliff:g id="number" example="7">%s</xliff:g> apps</item>
</plurals>
<!-- Title for the accessibility usage preference in the Privacy page. [CHAR LIMIT=NONE] -->
<string name="accessibility_usage_title">Accessibility usage</string>
@@ -10974,11 +11015,11 @@
<!-- Message for forget passpoint dialog [CHAR LIMIT=none] -->
<string name="forget_passpoint_dialog_message">You may lose access to any remaining time or data. Check with your provider before removing.</string>
<!-- Keywords for Content Capture feature [CHAR_LIMIT=32] -->
<string name="keywords_content_capture">content capture</string>
<!-- Keywords for Content Capture / Smart Suggestions feature [CHAR_LIMIT=none] -->
<string name="keywords_content_capture">content capture, smart suggestions</string>
<!-- Title of the 'Content Capture' feature toggle in the Settings -> Privacy screen [CHAR LIMIT=none]-->
<string name="content_capture">Content Capture</string>
<!-- Description of the 'Content Capture' feature toggle in the Settings -> Privacy screen [CHAR LIMIT=NONE]-->
<string name="content_capture">Smart Suggestions</string>
<!-- Description of the 'Content Capture / Smart Suggestions' feature toggle in the Settings -> Privacy screen [CHAR LIMIT=NONE]-->
<string name="content_capture_summary">Allow Android to save information seen on your screen or heard in video or audio content. Android makes helpful suggestions based on your device activity.</string>
<!-- Title for the button to initiate a heap dump for the system server. [CHAR LIMIT=NONE] -->
@@ -10991,4 +11032,7 @@
<string name="automatic_system_heap_dump_title">Automatically capture system heap dumps</string>
<!-- Summary of toggle for whether to enable automatic heap dumps for the system server or not. [CHAR LIMIT=NONE] -->
<string name="automatic_system_heap_dump_summary">Automatically capture a heap dump for Android System when it uses too much memory</string>
<!-- Button label to disconnect a Wi-Fi network. [CHAR LIMIT=40] -->
<string name="wifi_disconnect_button_text">Disconnect</string>
</resources>

View File

@@ -418,7 +418,7 @@
<item name="android:layout_marginStart">@dimen/homepage_card_side_margin</item>
<item name="android:layout_marginEnd">@dimen/homepage_card_side_margin</item>
<item name="cardBackgroundColor">@color/contextual_card_background</item>
<item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
<item name="cardCornerRadius">@dimen/homepage_card_corner_radius</item>
<item name="cardElevation">0dp</item>
<item name="strokeColor">@color/homepage_card_stroke_color</item>
<item name="strokeWidth">1dp</item>
@@ -533,4 +533,9 @@
<item name="android:paddingEnd">8dp</item>
</style>
<style name="SetupWizardPartnerResource">
<!-- Disable to use partner overlay theme for outside setupwizard flow. -->
<item name="sucUsePartnerResource">false</item>
</style>
</resources>

View File

@@ -94,7 +94,7 @@
<style name="ThemeOverlay.SwitchBar.Settings" parent="@android:style/ThemeOverlay.Material.ActionBar">
<item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
<item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
<item name="switchBarBackgroundColor">@color/switch_bar_background</item>
<item name="switchBarBackgroundColor">?android:attr/textColorSecondary</item>
<item name="switchBarBackgroundActivatedColor">?android:attr/colorAccent</item>
<item name="switchBarRestrictionIcon">@*android:drawable/ic_info</item>
</style>
@@ -103,6 +103,7 @@
<item name="android:trackTint">@color/switchbar_switch_track_tint</item>
<item name="android:thumbTint">@color/switchbar_switch_thumb_tint</item>
<item name="android:minHeight">@dimen/min_tap_target_size</item>
<item name="android:minWidth">@dimen/min_tap_target_size</item>
</style>
<style name="Theme.CryptKeeper" parent="@android:style/Theme.Material.NoActionBar">

View File

@@ -58,12 +58,10 @@
android:title="@string/screen_zoom_title"
settings:searchable="false"/>
<ListPreference
<Preference
android:key="dark_ui_mode_accessibility"
android:fragment="com.android.settings.display.DarkUISettings"
android:title="@string/dark_ui_mode"
android:dialogTitle="@string/dark_ui_mode_title"
android:entries="@array/dark_ui_mode_entries"
android:entryValues="@array/dark_ui_mode_values"
settings:searchable="false" />
<Preference
@@ -132,6 +130,12 @@
android:key="audio_and_captions_category"
android:title="@string/audio_and_captions_category_title">
<Preference
android:key="live_caption"
android:title="@string/live_caption_title"
android:summary="@string/live_caption_summary"
settings:controller="com.android.settings.accessibility.LiveCaptionPreferenceController"/>
<SwitchPreference
android:key="toggle_master_mono"
android:title="@string/accessibility_toggle_master_mono_title"

View File

@@ -20,7 +20,7 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="apps_and_notification_screen"
android:title="@string/app_and_notification_dashboard_title"
settings:initialExpandedChildrenCount="8">
settings:initialExpandedChildrenCount="3">
<!-- the initial count should include the dynamic tiles -->
<Preference
@@ -28,7 +28,8 @@
android:title="@string/applications_settings"
android:order="-999"
android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
settings:controller="com.android.settings.applications.AllAppsInfoPreferenceController"/>
settings:controller="com.android.settings.applications.AllAppsInfoPreferenceController"
settings:keywords="@string/keywords_applications_settings"/>
<com.android.settingslib.widget.LayoutPreference
android:key="recent_open_apps"

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2019 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.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/bubbles_app_toggle_title"
android:key="app_bubble_notification_settings">
<com.android.settingslib.widget.LayoutPreference
android:key="pref_app_header"
android:layout="@layout/settings_entity_header"/>
<com.android.settingslib.RestrictedSwitchPreference
android:key="bubble_pref"
android:title="@string/notification_bubbles_title"/>
<com.android.settingslib.widget.FooterPreference
android:key="notification_bubbles_footer"
android:title="@string/bubbles_feature_education"
android:selectable="false" />
</PreferenceScreen>

View File

@@ -19,7 +19,8 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="app_default_settings_screen"
android:title="@string/app_default_dashboard_title">
android:title="@string/app_default_dashboard_title"
settings:keywords="@string/keywords_app_default">
<com.android.settingslib.widget.apppreference.AppPreference
android:key="assist_and_voice_input"

View File

@@ -60,11 +60,10 @@
settings:useAdditionalSummary="true"
android:order="1001"
settings:restrictedSwitchSummary="@string/enabled_by_admin" />
<com.android.settingslib.RestrictedSwitchPreference
android:key="bubble_pref"
<Preference
android:key="bubble_link_pref"
android:title="@string/notification_bubbles_title"
android:order="1002"
settings:restrictedSwitchSummary="@string/enabled_by_admin" />
android:order="1002" />
<Preference
android:key="app_link"
android:order="1003"

View File

@@ -28,8 +28,8 @@
<SwitchPreference
android:key="battery_saver_sticky"
android:title="@string/battery_saver_sticky_title"
android:summary="@string/battery_saver_sticky_description"
android:title="@string/battery_saver_sticky_title_new"
android:summary="@string/summary_placeholder"
settings:keywords="@string/keywords_battery_saver_sticky"
settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverStickyPreferenceController"/>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2019 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.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/bubbles_app_toggle_title"
android:key="bubble_notification_settings">
<!-- Notification bubbles -->
<SwitchPreference
android:key="global_notification_bubbles"
android:title="@string/notification_bubbles_title"
android:summary="@string/notification_bubbles_summary"
settings:controller="com.android.settings.notification.BubbleNotificationPreferenceController"/>
<com.android.settingslib.widget.FooterPreference
android:key="notification_bubbles_footer"
android:title="@string/bubbles_feature_education"
android:selectable="false" />
</PreferenceScreen>

View File

@@ -63,8 +63,7 @@
android:dialogTitle="@string/notification_channel_sound_title"
android:order="11"
android:showSilent="true"
android:showDefault="true"
android:ringtoneType="notification" />
android:showDefault="true"/>
<!-- Vibration -->
<com.android.settingslib.RestrictedSwitchPreference

View File

@@ -70,11 +70,11 @@
settings:controller="com.android.settings.notification.BadgingNotificationPreferenceController"/>
<!-- Notification bubbles -->
<SwitchPreference
<Preference
android:key="notification_bubbles"
android:title="@string/notification_bubbles_title"
android:summary="@string/notification_bubbles_summary"
settings:controller="com.android.settings.notification.BubbleNotificationPreferenceController"/>
settings:controller="com.android.settings.notification.BubbleSummaryNotificationPreferenceController"
android:fragment="com.android.settings.notification.BubbleNotificationSettings"/>
<!-- Pulse notification light -->
<SwitchPreference

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2019 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.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/dark_ui_mode"
android:key="dark_ui_mode_screen"
settings:staticPreferenceLocation="append"
settings:keywords="@string/keywords_dark_ui_mode">
</PreferenceScreen >

View File

@@ -56,12 +56,14 @@
android:title="@string/date_time_set_timezone_title"
android:summary="@string/summary_placeholder"
android:fragment="com.android.settings.datetime.timezone.TimeZoneSettings"
settings:userRestriction="no_config_date_time" />
settings:userRestriction="no_config_date_time"
settings:keywords="@string/keywords_time_zone"/>
</PreferenceCategory>
<PreferenceCategory
android:key="time_format_preference_category"
android:title="@string/time_format_category_title">
android:title="@string/time_format_category_title"
settings:keywords="@string/keywords_time_format">
<SwitchPreference
android:key="auto_24hour"
android:title="@string/date_time_24hour_auto"/>

View File

@@ -35,6 +35,10 @@
android:title="@*android:string/bugreport_title"
android:dialogTitle="@*android:string/bugreport_title" />
<Preference
android:key="system_server_heap_dump"
android:title="@string/capture_system_heap_dump_title" />
<Preference
android:key="local_backup_password"
android:title="@string/local_backup_password_title"
@@ -151,6 +155,11 @@
android:title="@string/bugreport_in_power"
android:summary="@string/bugreport_in_power_summary" />
<SwitchPreference
android:key="automatic_system_server_heap_dumps"
android:title="@string/automatic_system_heap_dump_title"
android:summary="@string/automatic_system_heap_dump_summary" />
<Preference android:key="mock_location_app"
android:title="@string/mock_location_app" />

View File

@@ -44,7 +44,8 @@
android:title="@string/auto_brightness_title"
android:summary="@string/summary_placeholder"
android:fragment="com.android.settings.display.AutoBrightnessSettings"
settings:controller="com.android.settings.display.AutoBrightnessPreferenceController" />
settings:controller="com.android.settings.display.AutoBrightnessPreferenceController"
settings:keywords="@string/keywords_auto_brightness"/>
<com.android.settingslib.RestrictedPreference
android:key="wallpaper"
@@ -57,14 +58,13 @@
android:targetClass="@string/config_wallpaper_picker_class" />
</com.android.settingslib.RestrictedPreference>
<ListPreference
<Preference
android:key="dark_ui_mode"
android:fragment="com.android.settings.display.DarkUISettings"
android:title="@string/dark_ui_mode"
android:dialogTitle="@string/dark_ui_mode_title"
android:entries="@array/dark_ui_mode_entries"
android:entryValues="@array/dark_ui_mode_values"
settings:keywords="@string/keywords_dark_ui_mode"
settings:controller="com.android.settings.display.DarkUIPreferenceController" />
settings:searchable="false"
settings:controller="com.android.settings.display.DarkUIPreferenceController"/>
<!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
<com.android.settings.display.TimeoutListPreference

View File

@@ -14,49 +14,50 @@
limitations under the License.
-->
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="location_settings"
android:title="@string/location_settings_title"
settings:keywords="@string/keywords_location">
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="location_settings"
android:title="@string/location_settings_title"
settings:keywords="@string/keywords_location">
<com.android.settingslib.widget.LayoutPreference
android:key="apps_dashboard"
android:layout="@layout/app_entities_header"
android:selectable="false"
settings:allowDividerBelow="true"/>
<PreferenceCategory android:key="location_advanced_settings">
<!-- This preference category gets removed if new_recent_location_ui is disabled -->
<Preference
android:key="app_level_permissions"
android:title="@string/location_app_level_permissions">
<intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
<extra android:name="android.intent.extra.PERMISSION_NAME"
android:value="android.permission-group.LOCATION"/>
</intent>
</Preference>
<Preference
android:key="location_scanning"
android:title="@string/location_scanning_screen_title"
android:fragment="com.android.settings.location.ScanningSettings"/>
<!-- This preference gets removed if there is no managed profile -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="managed_profile_location_switch"
android:title="@string/managed_profile_location_switch_title"
settings:useAdminDisabledSummary="true"
android:enabled="false"
android:selectable="true"/>
<com.android.settingslib.widget.LayoutPreference
android:key="apps_dashboard"
android:layout="@layout/app_entities_header"
android:selectable="false"
settings:allowDividerBelow="true" />
<PreferenceCategory
android:key="location_services"/>
</PreferenceCategory>
android:key="location_advanced_settings"
settings:initialExpandedChildrenCount="2">
<PreferenceCategory
android:key="location_footer"
settings:allowDividerAbove="false"/>
<!-- This preference category gets removed if new_recent_location_ui is disabled -->
<Preference
android:key="app_level_permissions"
android:title="@string/location_app_level_permissions">
<intent android:action="android.intent.action.MANAGE_PERMISSION_APPS">
<extra android:name="android.intent.extra.PERMISSION_NAME"
android:value="android.permission-group.LOCATION" />
</intent>
</Preference>
<Preference
android:key="location_scanning"
android:title="@string/location_scanning_screen_title"
android:fragment="com.android.settings.location.ScanningSettings"/>
<!-- This preference gets removed if there is no managed profile -->
<com.android.settingslib.RestrictedSwitchPreference
android:key="managed_profile_location_switch"
android:title="@string/managed_profile_location_switch_title"
settings:useAdminDisabledSummary="true"
android:enabled="false"
android:selectable="true" />
<PreferenceCategory
android:key="location_services" />
</PreferenceCategory>
<PreferenceCategory
android:key="location_footer"
settings:allowDividerAbove="false"/>
</PreferenceScreen>

View File

@@ -23,6 +23,7 @@
<PreferenceCategory
android:key="multi_network_header"
android:title="@string/summary_placeholder"
android:layout="@layout/preference_category_no_label"
settings:allowDividerBelow="true"
android:order="-40"
settings:controller="com.android.settings.network.MultiNetworkHeaderController"/>

View File

@@ -26,13 +26,11 @@
android:title="@string/summary_placeholder"
android:selectable="false"
android:layout="@layout/battery_header"
settings:allowDividerBelow="true"
settings:controller="com.android.settings.fuelgauge.BatteryHeaderPreferenceController" />
<com.android.settings.widget.CardPreference
android:key="battery_tip"
android:title="@string/summary_placeholder"
settings:allowDividerAbove="true"
settings:controller="com.android.settings.fuelgauge.batterytip.BatteryTipPreferenceController" />
<Preference

View File

@@ -62,26 +62,6 @@
android:summary="@string/summary_placeholder"
settings:searchable="false"/>
<!-- Content Capture -->
<!-- NOTE: content capture has a different preference, depending whether or not the
ContentCaptureService implementations defines a custom settings activitiy on its manifest.
Hence, we show both here, but the controller itself will decide if it's available or not.
-->
<SwitchPreference
android:key="content_capture"
android:title="@string/content_capture"
android:summary="@string/content_capture_summary"
settings:controller="com.android.settings.privacy.EnableContentCapturePreferenceController"/>
<com.android.settings.widget.MasterSwitchPreference
android:key="content_capture_custom_settings"
android:title="@string/content_capture"
android:summary="@string/content_capture_summary"
settings:controller="com.android.settings.privacy.EnableContentCaptureWithServiceSettingsPreferenceController">
</com.android.settings.widget.MasterSwitchPreference>
<!-- Privacy Service -->
<PreferenceCategory
android:key="privacy_services"/>
@@ -105,4 +85,24 @@
settings:searchable="false"/>
</PreferenceCategory>
<!-- Content Capture -->
<!-- NOTE: content capture has a different preference, depending whether or not the
ContentCaptureService implementations defines a custom settings activitiy on its manifest.
Hence, we show both here, but the controller itself will decide if it's available or not.
-->
<SwitchPreference
android:key="content_capture"
android:title="@string/content_capture"
android:summary="@string/content_capture_summary"
settings:controller="com.android.settings.privacy.EnableContentCapturePreferenceController"/>
<com.android.settings.widget.MasterSwitchPreference
android:key="content_capture_custom_settings"
android:title="@string/content_capture"
android:summary="@string/content_capture_summary"
settings:controller="com.android.settings.privacy.EnableContentCaptureWithServiceSettingsPreferenceController">
</com.android.settings.widget.MasterSwitchPreference>
</PreferenceScreen>

View File

@@ -124,7 +124,8 @@
android:dialogTitle="@string/ringtone_title"
android:summary="@string/summary_placeholder"
android:ringtoneType="ringtone"
android:order="-100"/>
android:order="-100"
settings:keywords="@string/sound_settings"/>
<!-- Default notification ringtone -->
<com.android.settings.DefaultRingtonePreference
@@ -180,7 +181,8 @@
<SwitchPreference
android:key="vibrate_on_touch"
android:title="@string/vibrate_on_touch_title"
android:summary="@string/vibrate_on_touch_summary" />
android:summary="@string/vibrate_on_touch_summary"
settings:keywords="@string/keywords_vibrate_on_touch"/>
<!-- Dock speaker plays -->
<DropDownPreference

View File

@@ -62,7 +62,8 @@
android:key="pref_files"
android:title="@string/storage_files"
android:icon="@drawable/ic_folder_vd_theme_24"
android:order="7" />
android:order="7"
settings:keywords="@string/keywords_storage_files"/>
<com.android.settings.deviceinfo.StorageItemPreference
android:key="pref_system"
android:title="@string/storage_detail_system"

View File

@@ -36,7 +36,8 @@
android:key="notify_open_networks"
android:title="@string/wifi_notify_open_networks"
android:icon="@drawable/ic_open_wifi_notifications"
android:summary="@string/wifi_notify_open_networks_summary" />
android:summary="@string/wifi_notify_open_networks_summary"
settings:keywords="@string/keywords_wifi_notify_open_networks"/>
<SwitchPreference
android:key="wifi_cellular_data_fallback"

View File

@@ -16,7 +16,9 @@
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:key="wifi_display_settings_screen"
android:title="@string/wifi_display_settings_title">
android:title="@string/wifi_display_settings_title"
settings:keywords="@string/keywords_display_cast_screen">
</PreferenceScreen>

View File

@@ -71,10 +71,24 @@
android:entryValues="@array/wifi_privacy_values"/>
</PreferenceCategory>
<!-- Add device Category -->
<PreferenceCategory
android:key="add_device_category" >
<Preference
android:key="add_device_to_network"
android:title="@string/wifi_dpp_add_device"
android:summary="@string/wifi_dpp_connect_network_using_qr_code"/>
</PreferenceCategory>
<!-- Network Details -->
<PreferenceCategory
android:key="ip_details_category"
android:title="@string/wifi_setup_detail">
<Preference
android:key="ssid"
android:title="@string/wifi_advanced_ssid_title"
android:selectable="false"
settings:enableCopying="true"/>
<Preference
android:key="mac_address"
android:title="@string/wifi_advanced_mac_address_title"

View File

@@ -113,6 +113,7 @@ public class Settings extends SettingsActivity {
public static class ZenModeEventRuleSettingsActivity extends SettingsActivity { /* empty */ }
public static class SoundSettingsActivity extends SettingsActivity { /* empty */ }
public static class ConfigureNotificationSettingsActivity extends SettingsActivity { /* empty */ }
public static class AppBubbleNotificationSettingsActivity extends SettingsActivity { /* empty */ }
public static class NotificationAssistantSettingsActivity extends SettingsActivity{ /* empty */ }
public static class NotificationAppListActivity extends SettingsActivity { /* empty */ }
public static class AppNotificationSettingsActivity extends SettingsActivity { /* empty */ }
@@ -162,6 +163,7 @@ public class Settings extends SettingsActivity {
public static class AdvancedConnectedDeviceActivity extends SettingsActivity { /* empty */ }
public static class BluetoothDeviceDetailActivity extends SettingsActivity { /* empty */ }
public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ }
public static class MobileNetworkListActivity extends SettingsActivity {}
// Top level categories for new IA
public static class NetworkDashboardActivity extends SettingsActivity {}

View File

@@ -27,6 +27,7 @@ import android.content.SharedPreferences;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources.Theme;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.UserHandle;
@@ -333,6 +334,12 @@ public class SettingsActivity extends SettingsBaseActivity
}
}
@Override
protected void onApplyThemeResource(Theme theme, int resid, boolean first) {
theme.applyStyle(R.style.SetupWizardPartnerResource, true);
super.onApplyThemeResource(theme, resid, first);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);

View File

@@ -30,46 +30,59 @@ public class SetupWizardUtils {
if (theme == null) {
theme = SetupWizardProperties.theme().orElse("");
}
// TODO(yukl): Move to ThemeResolver and add any additional required attributes in
// onApplyThemeResource using Theme overlays
if (theme != null) {
switch (theme) {
case ThemeHelper.THEME_GLIF_V3_LIGHT:
return R.style.GlifV3Theme_Light;
case ThemeHelper.THEME_GLIF_V3:
return R.style.GlifV3Theme;
case ThemeHelper.THEME_GLIF_V2_LIGHT:
return R.style.GlifV2Theme_Light;
case ThemeHelper.THEME_GLIF_V2:
return R.style.GlifV2Theme;
case ThemeHelper.THEME_GLIF_LIGHT:
return R.style.GlifTheme_Light;
case ThemeHelper.THEME_GLIF:
return R.style.GlifTheme;
if (WizardManagerHelper.isAnySetupWizard(intent)) {
switch (theme) {
case ThemeHelper.THEME_GLIF_V3_LIGHT:
return R.style.GlifV3Theme_Light;
case ThemeHelper.THEME_GLIF_V3:
return R.style.GlifV3Theme;
case ThemeHelper.THEME_GLIF_V2_LIGHT:
return R.style.GlifV2Theme_Light;
case ThemeHelper.THEME_GLIF_V2:
return R.style.GlifV2Theme;
case ThemeHelper.THEME_GLIF_LIGHT:
return R.style.GlifTheme_Light;
case ThemeHelper.THEME_GLIF:
return R.style.GlifTheme;
}
} else {
switch (theme) {
case ThemeHelper.THEME_GLIF_V3_LIGHT:
case ThemeHelper.THEME_GLIF_V3:
return R.style.GlifV3Theme;
case ThemeHelper.THEME_GLIF_V2_LIGHT:
case ThemeHelper.THEME_GLIF_V2:
return R.style.GlifV2Theme;
case ThemeHelper.THEME_GLIF_LIGHT:
case ThemeHelper.THEME_GLIF:
return R.style.GlifTheme;
}
}
}
return R.style.GlifTheme_Light;
return R.style.GlifTheme;
}
public static int getTransparentTheme(Intent intent) {
final int suwTheme = getTheme(intent);
int wifiDialogTheme = R.style.GlifV2Theme_Light_Transparent;
int transparentTheme = R.style.GlifV2Theme_Light_Transparent;
if (suwTheme == R.style.GlifV3Theme) {
wifiDialogTheme = R.style.GlifV3Theme_Transparent;
transparentTheme = R.style.GlifV3Theme_Transparent;
} else if (suwTheme == R.style.GlifV3Theme_Light) {
wifiDialogTheme = R.style.GlifV3Theme_Light_Transparent;
transparentTheme = R.style.GlifV3Theme_Light_Transparent;
} else if (suwTheme == R.style.GlifV2Theme) {
wifiDialogTheme = R.style.GlifV2Theme_Transparent;
transparentTheme = R.style.GlifV2Theme_Transparent;
} else if (suwTheme == R.style.GlifTheme_Light) {
wifiDialogTheme = R.style.SetupWizardTheme_Light_Transparent;
transparentTheme = R.style.SetupWizardTheme_Light_Transparent;
} else if (suwTheme == R.style.GlifTheme) {
wifiDialogTheme = R.style.SetupWizardTheme_Transparent;
transparentTheme = R.style.SetupWizardTheme_Transparent;
}
return wifiDialogTheme;
return transparentTheme;
}
public static void copySetupExtras(Intent fromIntent, Intent toIntent) {
toIntent.putExtra(WizardManagerHelper.EXTRA_THEME,
fromIntent.getStringExtra(WizardManagerHelper.EXTRA_THEME));
toIntent.putExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE,
fromIntent.getBooleanExtra(WizardManagerHelper.EXTRA_USE_IMMERSIVE_MODE, false));
WizardManagerHelper.copyWizardManagerExtras(fromIntent, toIntent);
}
}

View File

@@ -977,7 +977,10 @@ public final class Utils extends com.android.settingslib.Utils {
return IconCompat.createWithBitmap(bitmap);
}
private static Bitmap createBitmap(Drawable drawable, int width, int height) {
/**
* Creates a drawable with specified width and height.
*/
public static Bitmap createBitmap(Drawable drawable, int width, int height) {
final Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());

View File

@@ -18,6 +18,8 @@ package com.android.settings.accessibility;
import static android.os.Vibrator.VibrationIntensity;
import static com.android.settingslib.TwoTargetPreference.ICON_SIZE_MEDIUM;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.admin.DevicePolicyManager;
import android.app.settings.SettingsEnums;
@@ -136,6 +138,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
"accessibility_control_timeout_preference_fragment";
private static final String DARK_UI_MODE_PREFERENCE =
"dark_ui_mode_accessibility";
private static final String LIVE_CAPTION_PREFERENCE_KEY =
"live_caption";
// Extras passed to sub-fragments.
@@ -236,11 +240,13 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
private Preference mDisplayDaltonizerPreferenceScreen;
private Preference mHearingAidPreference;
private Preference mVibrationPreferenceScreen;
private Preference mLiveCaptionPreference;
private SwitchPreference mToggleInversionPreference;
private ColorInversionPreferenceController mInversionPreferenceController;
private AccessibilityHearingAidPreferenceController mHearingAidPreferenceController;
private ListPreference mDarkUIModePreference;
private Preference mDarkUIModePreference;
private DarkUIPreferenceController mDarkUIPreferenceController;
private LiveCaptionPreferenceController mLiveCaptionPreferenceController;
private int mLongPressTimeoutDefault;
@@ -299,6 +305,9 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
(context, HEARING_AID_PREFERENCE);
mHearingAidPreferenceController.setFragmentManager(getFragmentManager());
getLifecycle().addObserver(mHearingAidPreferenceController);
mLiveCaptionPreferenceController = new LiveCaptionPreferenceController(context,
LIVE_CAPTION_PREFERENCE_KEY);
}
@Override
@@ -487,6 +496,10 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
// Captioning.
mCaptioningPreferenceScreen = findPreference(CAPTIONING_PREFERENCE_SCREEN);
// Live caption
mLiveCaptionPreference = findPreference(LIVE_CAPTION_PREFERENCE_KEY);
mLiveCaptionPreferenceController.displayPreference(getPreferenceScreen());
// Display magnification.
mDisplayMagnificationPreferenceScreen = findPreference(
DISPLAY_MAGNIFICATION_PREFERENCE_SCREEN);
@@ -583,6 +596,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
preference.setKey(componentName.flattenToString());
preference.setTitle(title);
preference.setIconSize(ICON_SIZE_MEDIUM);
Utils.setSafeIcon(preference, icon);
final boolean serviceEnabled = enabledServices.contains(componentName);
String description = info.loadDescription(getPackageManager());
@@ -732,6 +746,8 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
mHearingAidPreferenceController.updateState(mHearingAidPreference);
mLiveCaptionPreferenceController.updateState(mLiveCaptionPreference);
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED,
mCaptioningPreferenceScreen);
updateFeatureSummary(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED,
@@ -752,7 +768,6 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
}
void updateAccessibilityTimeoutSummary(ContentResolver resolver, Preference pref) {
String[] timeoutSummarys = getResources().getStringArray(
R.array.accessibility_timeout_summaries);
int[] timeoutValues = getResources().getIntArray(
@@ -821,7 +836,7 @@ public class AccessibilitySettings extends SettingsPreferenceFragment implements
pref.setSummary(entries[index]);
}
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
@VisibleForTesting
void updateVibrationSummary(Preference pref) {
final Context context = getContext();
final Vibrator vibrator = context.getSystemService(Vibrator.class);

View File

@@ -23,13 +23,19 @@ import android.content.Context;
import android.content.pm.ServiceInfo;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.accessibility.AccessibilityManager;
import androidx.preference.Preference;
import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment;
import com.google.android.setupdesign.GlifPreferenceLayout;
import java.util.List;
/**
@@ -63,6 +69,23 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
return SettingsEnums.SUW_ACCESSIBILITY;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
layout.setDividerInsets(Integer.MAX_VALUE, 0);
layout.setHeaderText(R.string.vision_settings_title);
}
@Override
public RecyclerView onCreateRecyclerView(LayoutInflater inflater, ViewGroup parent,
Bundle savedInstanceState) {
GlifPreferenceLayout layout = (GlifPreferenceLayout) parent;
return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);

View File

@@ -33,14 +33,6 @@ public class AccessibilitySettingsForSetupWizardActivity extends SettingsActivit
private static final String SAVE_KEY_TITLE = "activity_title";
@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
// Finish configuring the content view.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
protected void onSaveInstanceState(Bundle savedState) {
savedState.putCharSequence(SAVE_KEY_TITLE, getTitle());

View File

@@ -0,0 +1,58 @@
/*
* Copyright (C) 2019 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.settings.accessibility;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import androidx.annotation.VisibleForTesting;
import androidx.preference.Preference;
import com.android.settings.core.BasePreferenceController;
import java.util.List;
public class LiveCaptionPreferenceController extends BasePreferenceController {
@VisibleForTesting
static final Intent LIVE_CAPTION_INTENT = new Intent(
"com.android.settings.action.live_caption");
private final PackageManager mPackageManager;
public LiveCaptionPreferenceController(Context context, String preferenceKey) {
super(context, preferenceKey);
mPackageManager = context.getPackageManager();
}
@Override
public int getAvailabilityStatus() {
final List<ResolveInfo> resolved =
mPackageManager.queryIntentActivities(LIVE_CAPTION_INTENT, 0 /* flags */);
return resolved != null && !resolved.isEmpty()
? AVAILABLE
: UNSUPPORTED_ON_DEVICE;
}
@Override
public void updateState(Preference preference) {
super.updateState(preference);
preference.setIntent(LIVE_CAPTION_INTENT);
}
}

View File

@@ -140,18 +140,31 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
if (defaultSms != null) {
keepEnabledPackages.add(defaultSms.getPackageName());
}
// Keep Settings intelligence enabled, otherwise search feature will be disabled.
keepEnabledPackages.add(
mContext.getString(R.string.config_settingsintelligence_package_name));
keepEnabledPackages.addAll(getEnabledPackageWhitelist());
final LocationManager locationManager =
(LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
final String locationHistoryPackage = locationManager.getLocationControllerExtraPackage();
final String locationHistoryPackage = locationManager.getExtraLocationControllerPackage();
if (locationHistoryPackage != null) {
keepEnabledPackages.add(locationHistoryPackage);
}
return keepEnabledPackages;
}
private Set<String> getEnabledPackageWhitelist() {
final Set<String> keepEnabledPackages = new ArraySet<>();
// Keep Settings intelligence enabled, otherwise search feature will be disabled.
keepEnabledPackages.add(
mContext.getString(R.string.config_settingsintelligence_package_name));
// Keep Package Installer enabled.
keepEnabledPackages.add(mContext.getString(R.string.config_package_installer_package_name));
return keepEnabledPackages;
}
private static class CurrentUserAndManagedProfilePolicyInstalledAppCounter
extends InstalledAppCounter {
private NumberOfAppsCallback mCallback;
@@ -219,5 +232,4 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
mCallback.onListOfAppsResult(list);
}
}
}

View File

@@ -25,6 +25,8 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.om.OverlayManager;
import android.content.om.OverlayInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
@@ -33,13 +35,10 @@ import android.content.res.Resources;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.util.Log;
import android.view.View;
import android.webkit.IWebViewUpdateService;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
@@ -106,6 +105,7 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
private final int mRequestRemoveDeviceAdmin;
private final DevicePolicyManager mDpm;
private final UserManager mUserManager;
private final OverlayManager mOverlayManager;
private final PackageManager mPm;
private final SettingsActivity mActivity;
private final InstrumentedPreferenceFragment mFragment;
@@ -139,6 +139,7 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
mPm = activity.getPackageManager();
mOverlayManager = activity.getSystemService(OverlayManager.class);
mPackageName = packageName;
mActivity = activity;
mFragment = fragment;
@@ -438,8 +439,26 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
enabled = false;
}
if (isFallbackPackage(mAppEntry.info.packageName)) {
enabled = false;
// Resource overlays can be uninstalled iff they are public
// (installed on /data) and disabled. ("Enabled" means they
// are in use by resource management.) If they are
// system/vendor, they can never be uninstalled. :-(
if (mAppEntry.info.isResourceOverlay()) {
if (isBundled) {
enabled = false;
} else {
String pkgName = mAppEntry.info.packageName;
UserHandle user = UserHandle.getUserHandleForUid(mAppEntry.info.uid);
OverlayInfo overlayInfo = mOverlayManager.getOverlayInfo(pkgName, user);
if (overlayInfo != null && overlayInfo.isEnabled()) {
ApplicationsState.AppEntry targetEntry =
mState.getEntry(overlayInfo.targetPackageName,
UserHandle.getUserId(mAppEntry.info.uid));
if (targetEntry != null) {
enabled = false;
}
}
}
}
mButtonsPref.setButton2Enabled(enabled);
@@ -466,22 +485,6 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
}
}
@VisibleForTesting
boolean isFallbackPackage(String packageName) {
try {
IWebViewUpdateService webviewUpdateService =
IWebViewUpdateService.Stub.asInterface(
ServiceManager.getService("webviewupdate"));
if (webviewUpdateService.isFallbackPackage(packageName)) {
return true;
}
} catch (RemoteException e) {
throw new RuntimeException(e);
}
return false;
}
@VisibleForTesting
void updateForceStopButton() {
if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)) {
@@ -560,15 +563,15 @@ public class AppButtonsPreferenceController extends BasePreferenceController imp
|| isSystemPackage(mActivity.getResources(), mPm, mPackageInfo)) {
// Disable button for core system applications.
mButtonsPref.setButton2Text(R.string.disable_text)
.setButton2Icon(R.drawable.ic_settings_delete);
.setButton2Icon(R.drawable.ic_settings_disable);
} else if (mAppEntry.info.enabled && !isDisabledUntilUsed()) {
mButtonsPref.setButton2Text(R.string.disable_text)
.setButton2Icon(R.drawable.ic_settings_delete);
.setButton2Icon(R.drawable.ic_settings_disable);
disableable = !mApplicationFeatureProvider.getKeepEnabledPackages()
.contains(mAppEntry.info.packageName);
} else {
mButtonsPref.setButton2Text(R.string.enable_text)
.setButton2Icon(R.drawable.ic_settings_install);
.setButton2Icon(R.drawable.ic_settings_enable);
disableable = true;
}

View File

@@ -187,6 +187,9 @@ public class AppInfoDashboardFragment extends DashboardFragment
if (!ensurePackageInfoAvailable(activity)) {
return;
}
if (!ensureDisplayableModule(activity)) {
return;
}
startListeningToPackageRemove();
setHasOptionsMenu(true);
@@ -260,8 +263,8 @@ public class AppInfoDashboardFragment extends DashboardFragment
new InstantAppButtonsPreferenceController(context, this, packageName, lifecycle);
controllers.add(mInstantAppButtonPreferenceController);
mAppButtonsPreferenceController = new AppButtonsPreferenceController(
(SettingsActivity) getActivity(), this, lifecycle, packageName, mState,
REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
(SettingsActivity) getActivity(), this, lifecycle, packageName, mState,
REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
controllers.add(mAppButtonsPreferenceController);
controllers.add(new AppBatteryPreferenceController(context, this, packageName, lifecycle));
controllers.add(new AppMemoryPreferenceController(context, this, lifecycle));
@@ -318,6 +321,23 @@ public class AppInfoDashboardFragment extends DashboardFragment
return true;
}
/**
* Ensures the package is displayable as directed by {@link AppUtils#isHiddenSystemModule}.
* If it's not, the fragment will finish.
*
* @return true if package is displayable.
*/
@VisibleForTesting
boolean ensureDisplayableModule(Activity activity) {
if (AppUtils.isHiddenSystemModule(activity.getApplicationContext(), mPackageName)) {
mFinishing = true;
Log.w(TAG, "Package is hidden module, exiting: " + mPackageName);
activity.finishAndRemoveTask();
return false;
}
return true;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
@@ -620,10 +640,18 @@ public class AppInfoDashboardFragment extends DashboardFragment
final BroadcastReceiver mPackageRemovedReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (mFinishing) {
return;
}
final String packageName = intent.getData().getSchemeSpecificPart();
if (!mFinishing && (mAppEntry == null || mAppEntry.info == null
|| TextUtils.equals(mAppEntry.info.packageName, packageName))) {
if (mAppEntry == null
|| mAppEntry.info == null
|| TextUtils.equals(mAppEntry.info.packageName, packageName)) {
onPackageRemoved();
} else if (mAppEntry.info.isResourceOverlay()
&& TextUtils.equals(mPackageInfo.overlayTarget, packageName)) {
refreshUi();
}
}
};

View File

@@ -625,12 +625,32 @@ public class ManageApplications extends InstrumentedFragment
@StringRes
int getHelpResource() {
if (mListType == LIST_TYPE_MAIN) {
return R.string.help_uri_apps;
} else if (mListType == LIST_TYPE_USAGE_ACCESS) {
return R.string.help_url_usage_access;
} else {
return R.string.help_uri_notifications;
switch (mListType) {
case LIST_TYPE_NOTIFICATION:
return R.string.help_uri_notifications;
case LIST_TYPE_USAGE_ACCESS:
return R.string.help_url_usage_access;
case LIST_TYPE_STORAGE:
return R.string.help_uri_apps_storage;
case LIST_TYPE_HIGH_POWER:
return R.string.help_uri_apps_high_power;
case LIST_TYPE_OVERLAY:
return R.string.help_uri_apps_overlay;
case LIST_TYPE_WRITE_SETTINGS:
return R.string.help_uri_apps_write_settings;
case LIST_TYPE_MANAGE_SOURCES:
return R.string.help_uri_apps_manage_sources;
case LIST_TYPE_GAMES:
return R.string.help_uri_apps_overlay;
case LIST_TYPE_MOVIES:
return R.string.help_uri_apps_movies;
case LIST_TYPE_PHOTOGRAPHY:
return R.string.help_uri_apps_photography;
case LIST_TYPE_WIFI_ACCESS:
return R.string.help_uri_apps_wifi_access;
default:
case LIST_TYPE_MAIN:
return R.string.help_uri_apps;
}
}

View File

@@ -32,7 +32,6 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.ServiceManager;
import android.os.UserHandle;
import android.webkit.IWebViewUpdateService;
import androidx.appcompat.app.AlertDialog;
@@ -48,7 +47,6 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
private final PackageManager mPm;
private final IPackageManager mIPm;
private final INotificationManager mNm;
private final IWebViewUpdateService mWvus;
private final NetworkPolicyManager mNpm;
private final AppOpsManager mAom;
private final Context mContext;
@@ -61,7 +59,6 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
mIPm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
mNm = INotificationManager.Stub.asInterface(
ServiceManager.getService(Context.NOTIFICATION_SERVICE));
mWvus = IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate"));
mNpm = NetworkPolicyManager.from(context);
mAom = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
}
@@ -122,8 +119,7 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
}
if (!app.enabled) {
if (mPm.getApplicationEnabledSetting(app.packageName)
== PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
&& !isNonEnableableFallback(app.packageName)) {
== PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER) {
mPm.setApplicationEnabledSetting(app.packageName,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
PackageManager.DONT_KILL_APP);
@@ -147,12 +143,4 @@ public class ResetAppsHelper implements DialogInterface.OnClickListener,
}
});
}
private boolean isNonEnableableFallback(String packageName) {
try {
return mWvus.isFallbackPackage(packageName);
} catch (RemoteException e) {
throw new RuntimeException(e);
}
}
}

View File

@@ -18,10 +18,15 @@ package com.android.settings.aware;
import android.content.Context;
import androidx.fragment.app.Fragment;
public interface AwareFeatureProvider {
/** Returns true if the aware sensor is supported. */
boolean isSupported(Context context);
/** Returns true if the aware feature is enabled. */
boolean isEnabled(Context context);
/** Show information dialog. */
void showRestrictionDialog(Fragment parent);
}

Some files were not shown because too many files have changed in this diff Show More