diff options
| -rw-r--r-- | packages/SystemUI/res/drawable/ic_expand_more_48dp.xml | 24 | ||||
| -rw-r--r-- | packages/SystemUI/res/drawable/immersive_cling_bg_circ.xml | 26 | ||||
| -rw-r--r-- | packages/SystemUI/res/drawable/immersive_cling_light_bg_circ.xml | 26 | ||||
| -rw-r--r-- | packages/SystemUI/res/layout/immersive_mode_cling.xml | 91 | ||||
| -rw-r--r-- | packages/SystemUI/res/values-land/dimens.xml | 3 | ||||
| -rw-r--r-- | packages/SystemUI/res/values-sw600dp/dimens.xml | 3 | ||||
| -rw-r--r-- | packages/SystemUI/res/values/bools.xml | 21 | ||||
| -rw-r--r-- | packages/SystemUI/res/values/dimens.xml | 3 | ||||
| -rw-r--r-- | packages/SystemUI/res/values/integers.xml | 2 | ||||
| -rw-r--r-- | packages/SystemUI/res/values/strings.xml | 7 |
10 files changed, 206 insertions, 0 deletions
diff --git a/packages/SystemUI/res/drawable/ic_expand_more_48dp.xml b/packages/SystemUI/res/drawable/ic_expand_more_48dp.xml new file mode 100644 index 000000000000..c61a300bd296 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_expand_more_48dp.xml @@ -0,0 +1,24 @@ +<!-- +Copyright (C) 2023 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48.0dp" + android:height="48.0dp" + android:viewportWidth="48.0" + android:viewportHeight="48.0"> + <path + android:fillColor="#FF000000" + android:pathData="M33.17,17.17L24.0,26.34l-9.17,-9.17L12.0,20.0l12.0,12.0 12.0,-12.0z"/> +</vector> diff --git a/packages/SystemUI/res/drawable/immersive_cling_bg_circ.xml b/packages/SystemUI/res/drawable/immersive_cling_bg_circ.xml new file mode 100644 index 000000000000..4029702ec6b4 --- /dev/null +++ b/packages/SystemUI/res/drawable/immersive_cling_bg_circ.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2023 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="oval" > + + <solid android:color="@android:color/white" /> + + <size + android:height="56dp" + android:width="56dp" /> + +</shape> diff --git a/packages/SystemUI/res/drawable/immersive_cling_light_bg_circ.xml b/packages/SystemUI/res/drawable/immersive_cling_light_bg_circ.xml new file mode 100644 index 000000000000..e3c7d0ce89aa --- /dev/null +++ b/packages/SystemUI/res/drawable/immersive_cling_light_bg_circ.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2023 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License + --> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="oval" > + + <solid android:color="#80ffffff" /> + + <size + android:height="76dp" + android:width="76dp" /> + +</shape> diff --git a/packages/SystemUI/res/layout/immersive_mode_cling.xml b/packages/SystemUI/res/layout/immersive_mode_cling.xml new file mode 100644 index 000000000000..bfb8184ee044 --- /dev/null +++ b/packages/SystemUI/res/layout/immersive_mode_cling.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2023 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center_vertical" + android:paddingBottom="24dp"> + + <FrameLayout + android:id="@+id/immersive_cling_chevron" + android:layout_width="76dp" + android:layout_height="76dp" + android:layout_marginTop="-24dp" + android:layout_centerHorizontal="true"> + + <ImageView + android:id="@+id/immersive_cling_back_bg_light" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:scaleType="center" + android:src="@drawable/immersive_cling_light_bg_circ" /> + + <ImageView + android:id="@+id/immersive_cling_back_bg" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:scaleType="center" + android:src="@drawable/immersive_cling_bg_circ" /> + + <ImageView + android:id="@+id/immersive_cling_ic_expand_more" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:paddingTop="8dp" + android:scaleType="center" + android:src="@drawable/ic_expand_more_48dp"/> + </FrameLayout> + + <TextView + android:id="@+id/immersive_cling_title" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/immersive_cling_chevron" + android:paddingEnd="48dp" + android:paddingStart="48dp" + android:paddingTop="40dp" + android:text="@string/immersive_cling_title" + android:textColor="@android:color/white" + android:textSize="24sp" /> + + <TextView + android:id="@+id/immersive_cling_description" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_below="@id/immersive_cling_title" + android:paddingEnd="48dp" + android:paddingStart="48dp" + android:paddingTop="12.6dp" + android:text="@string/immersive_cling_description" + android:textColor="@android:color/white" + android:textSize="16sp" /> + + <Button + android:id="@+id/ok" + style="@android:style/Widget.Material.Button.Borderless" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_alignParentEnd="true" + android:layout_below="@+id/immersive_cling_description" + android:layout_marginEnd="40dp" + android:layout_marginTop="18dp" + android:paddingEnd="8dp" + android:paddingStart="8dp" + android:text="@string/immersive_cling_positive" + android:textColor="@android:color/white" + android:textSize="14sp" /> + +</RelativeLayout> diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml index da4547b733df..1681f7a95bce 100644 --- a/packages/SystemUI/res/values-land/dimens.xml +++ b/packages/SystemUI/res/values-land/dimens.xml @@ -35,6 +35,9 @@ <dimen name="volume_tool_tip_top_margin">12dp</dimen> <dimen name="volume_row_slider_height">128dp</dimen> + <!-- width of ImmersiveModeConfirmation (-1 for match_parent) --> + <dimen name="immersive_mode_cling_width">380dp</dimen> + <dimen name="controls_activity_view_top_offset">25dp</dimen> <dimen name="biometric_dialog_button_negative_max_width">140dp</dimen> diff --git a/packages/SystemUI/res/values-sw600dp/dimens.xml b/packages/SystemUI/res/values-sw600dp/dimens.xml index 9a2db6bfdef6..65a08b9a3726 100644 --- a/packages/SystemUI/res/values-sw600dp/dimens.xml +++ b/packages/SystemUI/res/values-sw600dp/dimens.xml @@ -53,6 +53,9 @@ <dimen name="navigation_key_padding">25dp</dimen> + <!-- width of ImmersiveModeConfirmation (-1 for match_parent) --> + <dimen name="immersive_mode_cling_width">380dp</dimen> + <!-- Keyboard shortcuts helper --> <dimen name="ksh_layout_width">488dp</dimen> diff --git a/packages/SystemUI/res/values/bools.xml b/packages/SystemUI/res/values/bools.xml index 04fc4b8c45a8..405a59fe1cc7 100644 --- a/packages/SystemUI/res/values/bools.xml +++ b/packages/SystemUI/res/values/bools.xml @@ -30,4 +30,25 @@ <!-- Whether to enable transparent background for notification scrims --> <bool name="notification_scrim_transparent">false</bool> + + <!-- Control whether to force apps to give up control over the display of system bars at all + times regardless of System Ui Flags. + In the Automotive case, this is helpful if there's a requirement for an UI element to be on + screen at all times. Setting this to true also gives System UI the ability to override the + visibility controls for the system through the usage of the + "SYSTEM_BAR_VISIBILITY_OVERRIDE" setting. + Ex: Only setting the config to true will force show system bars for the entire system. + Ex: Setting the config to true and the "SYSTEM_BAR_VISIBILITY_OVERRIDE" setting to + "immersive.status=apps" will force show navigation bar for all apps and force hide status + bar for all apps. --> + <bool name="config_remoteInsetsControllerControlsSystemBars">false</bool> + + <!-- Control whether the system bars can be requested when using a remote insets control target. + This allows for specifying whether or not system bars can be shown by the user (via swipe + or other means) when they are hidden by the logic defined by the remote insets controller. + This is useful for cases where the system provides alternative affordances for showing and + hiding the bars or for cases in which it's desired the bars not be shown for any reason. + This configuration will only apply when config_remoteInsetsControllerControlsSystemBars. + is set to true. --> + <bool name="config_remoteInsetsControllerSystemBarsCanBeShownByUserAction">false</bool> </resources> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index d9466bf3b4c8..b102102edf42 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -235,6 +235,9 @@ and the notification won't use this much, but is measured with wrap_content --> <dimen name="notification_messaging_actions_min_height">196dp</dimen> + <!-- width of ImmersiveModeConfirmation (-1 for match_parent) --> + <dimen name="immersive_mode_cling_width">-1px</dimen> + <!-- a threshold in dp per second that is considered fast scrolling --> <dimen name="scroll_fast_threshold">1500dp</dimen> diff --git a/packages/SystemUI/res/values/integers.xml b/packages/SystemUI/res/values/integers.xml index 675ae326b5a2..c925b26c27ff 100644 --- a/packages/SystemUI/res/values/integers.xml +++ b/packages/SystemUI/res/values/integers.xml @@ -21,6 +21,8 @@ <integer name="magnification_default_scale">2</integer> + <integer name="dock_enter_exit_duration">250</integer> + <!-- The position of the volume dialog on the screen. See com.android.systemui.volume.VolumeDialogImpl. Value 21 corresponds to RIGHT|CENTER_VERTICAL. --> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index a36f318a4cf4..81012a754e35 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -300,6 +300,13 @@ <!-- A toast message shown when the screen recording cannot be started due to a generic error [CHAR LIMIT=NONE] --> <string name="screenrecord_start_error">Error starting screen recording</string> + <!-- Cling help message title when hiding the navigation bar entering immersive mode [CHAR LIMIT=none] --> + <string name="immersive_cling_title">Viewing full screen</string> + <!-- Cling help message description when hiding the navigation bar entering immersive mode [CHAR LIMIT=none] --> + <string name="immersive_cling_description">To exit, swipe down from the top.</string> + <!-- Cling help message confirmation button when hiding the navigation bar entering immersive mode [CHAR LIMIT=30] --> + <string name="immersive_cling_positive">Got it</string> + <!-- Content description of the back button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> <string name="accessibility_back">Back</string> <!-- Content description of the home button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] --> |