Merge "Update the icon size of homepage preference for injected IAs"
diff --git a/res/layout/settings_collapsing_base_layout.xml b/res/layout/settings_collapsing_base_layout.xml
index 298f9e1..fe6449b 100644
--- a/res/layout/settings_collapsing_base_layout.xml
+++ b/res/layout/settings_collapsing_base_layout.xml
@@ -19,7 +19,8 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/content_parent"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:transitionGroup="true">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appbar_layout"
diff --git a/res/xml/configure_notification_settings_v2.xml b/res/xml/configure_notification_settings_v2.xml
new file mode 100644
index 0000000..9498d28
--- /dev/null
+++ b/res/xml/configure_notification_settings_v2.xml
@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2021 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:settings="http://schemas.android.com/apk/res-auto"
+ android:title="@string/configure_notification_settings">
+
+ <com.android.settings.widget.VideoPreference
+ android:key="notification_model_illustration"
+ android:title="@string/summary_placeholder"
+ settings:animation="@raw/notification_interruption_model"
+ settings:controller="com.android.settings.widget.VideoPreferenceController"
+ android:persistent="false" />
+
+ <Preference
+ android:key="notification_history"
+ android:title="@string/notification_history"
+ android:summary="@string/notification_history_summary"
+ settings:allowDividerAbove="true"
+ settings:allowDividerBelow="false"
+ android:order="2">
+ <intent
+ android:action="android.intent.action.MAIN"
+ android:targetPackage="com.android.settings"
+ android:targetClass="com.android.settings.notification.history.NotificationHistoryActivity" />
+ </Preference>
+
+ <Preference
+ android:key="conversations"
+ android:title="@string/conversations_category_title"
+ android:order="3"
+ settings:controller="com.android.settings.notification.ConversationListSummaryPreferenceController"
+ android:fragment="com.android.settings.notification.app.ConversationListSettings"
+ />
+
+ <Preference
+ android:key="notification_bubbles"
+ android:title="@string/notification_bubbles_title"
+ android:summary="@string/notifications_bubble_setting_on_summary"
+ android:order="4"
+ settings:controller="com.android.settings.notification.BubbleSummaryNotificationPreferenceController"
+ android:fragment="com.android.settings.notification.BubbleNotificationSettings"
+ />
+
+ <com.android.settingslib.RestrictedPreference
+ android:key="app_and_notif_cell_broadcast_settings"
+ android:title="@string/cell_broadcast_settings"
+ android:order="5"
+ settings:useAdminDisabledSummary="true">
+ <intent
+ android:action="android.intent.action.MAIN"
+ android:targetPackage="@string/cell_broadcast_receiver_package"
+ android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings"/>
+ </com.android.settingslib.RestrictedPreference>
+
+ <PreferenceCategory
+ android:key="recent_notifications_category"
+ android:title="@string/recent_notifications"
+ settings:allowDividerAbove="true"
+ android:order="6">
+ <!-- Placeholder for a list of recent apps -->
+
+ <!-- See all apps button -->
+ <Preference
+ android:key="all_notifications"
+ android:title="@string/notifications_title"
+ android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
+ android:order="7"
+ settings:searchable="false">
+ <extra
+ android:name="classname"
+ android:value="com.android.settings.Settings$NotificationAppListActivity"/>
+ </Preference>
+ </PreferenceCategory>
+
+
+ <PreferenceCategory
+ android:key="configure_notifications_lock"
+ android:title="@string/lock_screen_notifications_title"
+ android:order="10">
+ <!-- When device is locked -->
+ <com.android.settings.RestrictedListPreference
+ android:key="lock_screen_notifications"
+ android:title="@string/lock_screen_notifs_title"
+ android:singleLineTitle="false"
+ android:summary="@string/summary_placeholder" />
+
+ <SwitchPreference
+ android:key="lock_screen_redact"
+ android:title="@string/lock_screen_notifs_redact"
+ android:summary="@string/lock_screen_notifs_redact_summary"
+ settings:controller="com.android.settings.notification.RedactNotificationPreferenceController" />
+
+ <SwitchPreference
+ android:key="lock_screen_work_redact"
+ android:title="@string/lock_screen_notifs_redact_work"
+ android:summary="@string/lock_screen_notifs_redact_work_summary"
+ settings:controller="com.android.settings.notification.RedactNotificationPreferenceController" />
+
+ <SwitchPreference
+ android:key="notification_lockscreen_bypass"
+ android:title="@string/lockscreen_bypass_title"
+ android:summary="@string/lockscreen_bypass_summary"
+ settings:searchable="false"
+ settings:controller="com.android.settings.biometrics.face.FaceSettingsLockscreenBypassPreferenceController" />
+
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="configure_notifications_advanced"
+ android:order="15"
+ settings:initialExpandedChildrenCount="0">
+
+ <SwitchPreference
+ android:key="silent_icons"
+ android:title="@string/silent_notifications_status_bar"
+ settings:controller="com.android.settings.notification.SilentStatusBarPreferenceController"/>
+
+ <SwitchPreference
+ android:key="show_snooze_options"
+ android:title="@string/snooze_options_title"
+ settings:controller="com.android.settings.notification.SnoozeNotificationPreferenceController" />
+
+ <SwitchPreference
+ android:key="asst_capabilities_actions_replies"
+ android:title="@string/asst_capabilities_actions_replies_title"
+ android:summary="@string/asst_capabilities_actions_replies_summary"
+ settings:controller="com.android.settings.notification.AssistantCapabilityPreferenceController" />
+
+ <!-- Notification badging -->
+ <SwitchPreference
+ android:key="notification_badging"
+ android:title="@string/notification_badging_title"
+ settings:controller="com.android.settings.notification.BadgingNotificationPreferenceController"/>
+
+ <!-- Pulse notification light -->
+ <SwitchPreference
+ android:key="notification_pulse"
+ android:title="@string/notification_pulse_title"
+ settings:controller="com.android.settings.notification.PulseNotificationPreferenceController"/>
+
+ <!-- Default notification ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="notification_default_ringtone"
+ android:title="@string/notification_ringtone_title"
+ android:dialogTitle="@string/notification_ringtone_title"
+ android:summary="@string/summary_placeholder"
+ android:ringtoneType="notification"
+ settings:searchable="false"/>
+
+ <Preference
+ android:key="gesture_swipe_down_fingerprint_notifications"
+ android:title="@string/fingerprint_swipe_for_notifications_title"
+ android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"
+ settings:controller="com.android.settings.gestures.SwipeToNotificationPreferenceController"/>
+
+ <com.android.settingslib.RestrictedPreference
+ android:key="zen_mode_notifications"
+ android:title="@string/zen_mode_settings_title"
+ settings:useAdminDisabledSummary="true"
+ android:fragment="com.android.settings.notification.zen.ZenModeSettings"
+ settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
+ settings:allowDividerAbove="false"/>
+ </PreferenceCategory>
+</PreferenceScreen>
diff --git a/res/xml/sound_settings_v2.xml b/res/xml/sound_settings_v2.xml
index 9699240..22a3581 100644
--- a/res/xml/sound_settings_v2.xml
+++ b/res/xml/sound_settings_v2.xml
@@ -19,8 +19,7 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/sound_settings"
android:key="sound_settings"
- settings:keywords="@string/keywords_sounds"
- settings:initialExpandedChildrenCount="9">
+ settings:keywords="@string/keywords_sounds">
<!-- Remote volume group -->
<PreferenceCategory
@@ -90,41 +89,17 @@
android:order="-140"
settings:controller="com.android.settings.notification.NotificationVolumePreferenceController"/>
- <!-- Also vibrate for calls -->
- <Preference
- android:fragment="com.android.settings.sound.VibrateForCallsPreferenceFragment"
- android:key="vibrate_for_calls"
- android:title="@string/vibrate_when_ringing_title"
- android:order="-130"
- settings:controller="com.android.settings.sound.VibrateForCallsPreferenceController"
- settings:keywords="@string/keywords_vibrate_for_calls"/>
-
+ <!-- TODO(b/174964721): make this a PrimarySwitchPreference -->
<!-- Interruptions -->
<com.android.settingslib.RestrictedPreference
android:key="zen_mode"
android:title="@string/zen_mode_settings_title"
android:fragment="com.android.settings.notification.zen.ZenModeSettings"
- android:order="-120"
+ android:order="-130"
settings:useAdminDisabledSummary="true"
settings:keywords="@string/keywords_sounds_and_notifications_interruptions"
- settings:allowDividerAbove="true"
settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"/>
- <Preference
- android:key="media_controls_summary"
- android:title="@string/media_controls_title"
- android:fragment="com.android.settings.sound.MediaControlsSettings"
- android:order="-110"
- settings:controller="com.android.settings.sound.MediaControlsParentPreferenceController"
- settings:keywords="@string/keywords_media_controls"/>
-
- <com.android.settings.widget.PrimarySwitchPreference
- android:key="gesture_prevent_ringing_sound"
- android:title="@string/gesture_prevent_ringing_sound_title"
- android:order="-107"
- android:fragment="com.android.settings.gestures.PreventRingingGestureSettings"
- settings:controller="com.android.settings.gestures.PreventRingingParentPreferenceController"/>
-
<!-- Phone ringtone -->
<com.android.settings.DefaultRingtonePreference
android:key="phone_ringtone"
@@ -132,9 +107,34 @@
android:dialogTitle="@string/ringtone_title"
android:summary="@string/summary_placeholder"
android:ringtoneType="ringtone"
- android:order="-100"
+ android:order="-120"
settings:keywords="@string/sound_settings"/>
+ <!-- Live Caption -110 and Now Playing -105-->
+ <Preference
+ android:key="media_controls_summary"
+ android:title="@string/media_controls_title"
+ android:fragment="com.android.settings.sound.MediaControlsSettings"
+ android:order="-100"
+ settings:controller="com.android.settings.sound.MediaControlsParentPreferenceController"
+ settings:keywords="@string/keywords_media_controls"/>
+
+ <!-- Also vibrate for calls -->
+ <Preference
+ android:fragment="com.android.settings.sound.VibrateForCallsPreferenceFragment"
+ android:key="vibrate_for_calls"
+ android:title="@string/vibrate_when_ringing_title"
+ android:order="-90"
+ settings:controller="com.android.settings.sound.VibrateForCallsPreferenceController"
+ settings:keywords="@string/keywords_vibrate_for_calls"/>
+
+ <com.android.settings.widget.PrimarySwitchPreference
+ android:key="gesture_prevent_ringing_sound"
+ android:title="@string/gesture_prevent_ringing_sound_title"
+ android:order="-80"
+ android:fragment="com.android.settings.gestures.PreventRingingGestureSettings"
+ settings:controller="com.android.settings.gestures.PreventRingingParentPreferenceController"/>
+
<!-- Default notification ringtone -->
<com.android.settings.DefaultRingtonePreference
android:key="notification_ringtone"
@@ -142,7 +142,7 @@
android:dialogTitle="@string/notification_ringtone_title"
android:summary="@string/summary_placeholder"
android:ringtoneType="notification"
- android:order="-90"/>
+ android:order="-70"/>
<!-- Default alarm ringtone -->
<com.android.settings.DefaultRingtonePreference
@@ -152,100 +152,103 @@
android:summary="@string/summary_placeholder"
android:persistent="false"
android:ringtoneType="alarm"
- android:order="-80"/>
+ android:order="-60"/>
- <!-- Other sounds -->
- <PreferenceCategory
- android:key="other_sounds_and_vibrations_category"
- android:title="@string/other_sound_category_preference_title"
- android:order="-50">
+ <!-- Dial pad tones -->
+ <SwitchPreference
+ android:key="dial_pad_tones"
+ android:title="@string/dial_pad_tones_title"
+ android:order="-50"/>
- <!-- Dial pad tones -->
- <SwitchPreference
- android:key="dial_pad_tones"
- android:title="@string/dial_pad_tones_title"/>
+ <!-- Screen locking sounds -->
+ <SwitchPreference
+ android:key="screen_locking_sounds"
+ android:title="@string/screen_locking_sounds_title"
+ android:order="-45"/>
- <!-- Screen locking sounds -->
- <SwitchPreference
- android:key="screen_locking_sounds"
- android:title="@string/screen_locking_sounds_title"/>
+ <!-- Charging sounds -->
+ <SwitchPreference
+ android:key="charging_sounds"
+ android:title="@string/charging_sounds_title"
+ android:order="-40"/>
- <!-- Charging sounds -->
- <SwitchPreference
- android:key="charging_sounds"
- android:title="@string/charging_sounds_title"/>
+ <!-- Docking sounds -->
+ <SwitchPreference
+ android:key="docking_sounds"
+ android:title="@string/docking_sounds_title"
+ android:order="-35"/>
- <!-- Docking sounds -->
- <SwitchPreference
- android:key="docking_sounds"
- android:title="@string/docking_sounds_title"/>
+ <!-- Touch sounds -->
+ <SwitchPreference
+ android:key="touch_sounds"
+ android:title="@string/touch_sounds_title"
+ android:order="-30"/>
- <!-- Touch sounds -->
- <SwitchPreference
- android:key="touch_sounds"
- android:title="@string/touch_sounds_title"/>
+ <!-- Vibrate on touch -->
+ <SwitchPreference
+ android:key="vibrate_on_touch"
+ android:title="@string/vibrate_on_touch_title"
+ android:summary="@string/vibrate_on_touch_summary"
+ settings:keywords="@string/keywords_vibrate_on_touch"
+ android:order="-25"/>
- <!-- Vibrate on touch -->
- <SwitchPreference
- android:key="vibrate_on_touch"
- android:title="@string/vibrate_on_touch_title"
- android:summary="@string/vibrate_on_touch_summary"
- settings:keywords="@string/keywords_vibrate_on_touch"/>
+ <!-- Dock speaker plays -->
+ <DropDownPreference
+ android:key="dock_audio_media"
+ android:title="@string/dock_audio_media_title"
+ android:summary="%s"
+ android:order="-20"/>
- <!-- Dock speaker plays -->
- <DropDownPreference
- android:key="dock_audio_media"
- android:title="@string/dock_audio_media_title"
- android:summary="%s"/>
+ <!-- Boot sounds -->
+ <SwitchPreference
+ android:key="boot_sounds"
+ android:title="@string/boot_sounds_title"
+ android:order="-15"/>
- <!-- Boot sounds -->
- <SwitchPreference
- android:key="boot_sounds"
- android:title="@string/boot_sounds_title"/>
+ <!-- Emergency tone -->
+ <DropDownPreference
+ android:key="emergency_tone"
+ android:title="@string/emergency_tone_title"
+ android:summary="%s"
+ android:order="-10"/>
- <!-- Emergency tone -->
- <DropDownPreference
- android:key="emergency_tone"
- android:title="@string/emergency_tone_title"
- android:summary="%s"/>
- </PreferenceCategory>
-
+ <!-- TODO(b/174964721): make this category its own entry -->
<com.android.settings.widget.WorkOnlyCategory
android:key="sound_work_settings_section"
android:title="@string/sound_work_settings"
android:order="100">
- <!-- Use the same sounds of the work profile -->
- <SwitchPreference
- android:key="work_use_personal_sounds"
- android:title="@string/work_use_personal_sounds_title"
- android:summary="@string/work_use_personal_sounds_summary"
- android:disableDependentsState="true"/>
+ <!-- Use the same sounds of the work profile -->
+ <SwitchPreference
+ android:key="work_use_personal_sounds"
+ android:title="@string/work_use_personal_sounds_title"
+ android:summary="@string/work_use_personal_sounds_summary"
+ android:disableDependentsState="true"/>
- <!-- Work phone ringtone -->
- <com.android.settings.DefaultRingtonePreference
- android:key="work_ringtone"
- android:title="@string/work_ringtone_title"
- android:dialogTitle="@string/work_alarm_ringtone_title"
- android:ringtoneType="ringtone"
- android:dependency="work_use_personal_sounds"/>
+ <!-- Work phone ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="work_ringtone"
+ android:title="@string/work_ringtone_title"
+ android:dialogTitle="@string/work_alarm_ringtone_title"
+ android:ringtoneType="ringtone"
+ android:dependency="work_use_personal_sounds"/>
- <!-- Default work notification ringtone -->
- <com.android.settings.DefaultRingtonePreference
- android:key="work_notification_ringtone"
- android:title="@string/work_notification_ringtone_title"
- android:dialogTitle="@string/work_alarm_ringtone_title"
- android:ringtoneType="notification"
- android:dependency="work_use_personal_sounds"/>
+ <!-- Default work notification ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="work_notification_ringtone"
+ android:title="@string/work_notification_ringtone_title"
+ android:dialogTitle="@string/work_alarm_ringtone_title"
+ android:ringtoneType="notification"
+ android:dependency="work_use_personal_sounds"/>
- <!-- Default work alarm ringtone -->
- <com.android.settings.DefaultRingtonePreference
- android:key="work_alarm_ringtone"
- android:title="@string/work_alarm_ringtone_title"
- android:dialogTitle="@string/work_alarm_ringtone_title"
- android:persistent="false"
- android:ringtoneType="alarm"
- android:dependency="work_use_personal_sounds"/>
+ <!-- Default work alarm ringtone -->
+ <com.android.settings.DefaultRingtonePreference
+ android:key="work_alarm_ringtone"
+ android:title="@string/work_alarm_ringtone_title"
+ android:dialogTitle="@string/work_alarm_ringtone_title"
+ android:persistent="false"
+ android:ringtoneType="alarm"
+ android:dependency="work_use_personal_sounds"/>
</com.android.settings.widget.WorkOnlyCategory>
</PreferenceScreen>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index a574855..b53b834 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -36,8 +36,10 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import android.util.Log;
import android.view.View;
+import android.view.Window;
import android.widget.Button;
import androidx.annotation.Nullable;
@@ -53,6 +55,7 @@
import com.android.internal.util.ArrayUtils;
import com.android.settings.Settings.WifiSettingsActivity;
import com.android.settings.applications.manageapplications.ManageApplications;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.core.SettingsBaseActivity;
import com.android.settings.core.SubSettingLauncher;
@@ -67,6 +70,7 @@
import com.android.settingslib.development.DevelopmentSettingsEnabler;
import com.android.settingslib.drawer.DashboardCategory;
+import com.google.android.material.transition.platform.MaterialSharedAxis;
import com.google.android.setupcompat.util.WizardManagerHelper;
import java.util.ArrayList;
@@ -229,6 +233,20 @@
@Override
protected void onCreate(Bundle savedState) {
+ if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SILKY_HOME)) {
+ // Enable Activity transitions
+ getWindow().requestFeature(Window.FEATURE_ACTIVITY_TRANSITIONS);
+ final MaterialSharedAxis enterTransition = new MaterialSharedAxis(
+ MaterialSharedAxis.X, /* forward */true);
+ enterTransition.addTarget(R.id.content_parent);
+ getWindow().setEnterTransition(enterTransition);
+
+ final MaterialSharedAxis returnTransition = new MaterialSharedAxis(
+ MaterialSharedAxis.X, /* forward */false);
+ returnTransition.addTarget(R.id.content_parent);
+ getWindow().setReturnTransition(returnTransition);
+ }
+
super.onCreate(savedState);
Log.d(LOG_TAG, "Starting onCreate");
long startTime = System.currentTimeMillis();
diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java
index 6801a80..0f3695a 100644
--- a/src/com/android/settings/notification/ConfigureNotificationSettings.java
+++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java
@@ -29,6 +29,7 @@
import android.os.UserHandle;
import android.os.UserManager;
import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
import androidx.annotation.VisibleForTesting;
import androidx.fragment.app.Fragment;
@@ -38,6 +39,7 @@
import com.android.settings.R;
import com.android.settings.RingtonePreference;
+import com.android.settings.core.FeatureFlags;
import com.android.settings.core.OnActivityResultListener;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.search.BaseSearchIndexProvider;
@@ -75,6 +77,9 @@
@Override
protected int getPreferenceScreenResId() {
+ if (FeatureFlagUtils.isEnabled(getContext(), FeatureFlags.SILKY_HOME)) {
+ return R.xml.configure_notification_settings_v2;
+ }
return R.xml.configure_notification_settings;
}
@@ -111,6 +116,11 @@
}
});
+
+ if (FeatureFlagUtils.isEnabled(context, FeatureFlags.SILKY_HOME)) {
+ controllers.add(new EmergencyBroadcastPreferenceController(context,
+ "app_and_notif_cell_broadcast_settings"));
+ }
return controllers;
}