Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14cfd2f2 authored by Mill Chen's avatar Mill Chen
Browse files

Add CollapsingToolbarLayout for sub settings

Settings app is planning to make toolbar collapsible for next
Android release. This CL is to add a new layout for
CollapsingToolbarLayout in the Settings app and to update the theme
correspondly. This feature will be controlled by feature flag, which
makes Settings app compacitible with the existing layout.

Bug: 174451673
Test: manul test and visual verification
1) Enable the feature and open Settings app
2) Navigate to each sub page and check if toolbar is collapsible

Change-Id: Ibef524bbaa7ae3f0a43db7e40e599f42e009437f
parent 90c976b8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -174,7 +174,8 @@
            </intent-filter>
        </receiver>

        <activity android:name=".SubSettings"/>
        <activity android:name=".SubSettings"
                  android:theme="@style/Theme.SubSettings" />

        <activity android:name=".Settings$CreateShortcutActivity"
                  android:exported="true"
+64 −0
Original line number Diff line number Diff line
<?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.
-->
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/content_parent"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appbar_layout"
        android:layout_width="match_parent"
        android:layout_height="160dp"
        android:theme="@style/Theme.CollapsingToolbar.Settings">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:background="?android:attr/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:maxLines="3"
            app:contentScrim="?android:attr/colorPrimary"
            app:collapsedTitleTextAppearance="@style/ToolbarText.Collapsed"
            app:statusBarScrim="?android:attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:toolbarId="@id/tool_bar">

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/tool_bar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:contentInsetStart="68dp"/>

            <Toolbar
                android:id="@+id/action_bar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_collapseMode="pin"
                android:theme="?android:attr/actionBarTheme"/>

        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>

    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -44,4 +44,10 @@
    <style name="Theme.TabTheme" parent="@style/Theme.MaterialComponents.DayNight">
        <item name="colorPrimary">@*android:color/edge_effect_device_default_dark</item>
    </style>

    <style name="Theme.CollapsingToolbar.Settings"
           parent="@style/Theme.MaterialComponents.DayNight">
        <item name="colorPrimary">@*android:color/primary_dark_device_default_settings</item>
        <item name="colorAccent">@*android:color/accent_device_default_dark</item>
    </style>
</resources>
+13 −0
Original line number Diff line number Diff line
@@ -874,4 +874,17 @@
        <item name="android:textSize">16sp</item>
        <item name="android:textColor">?android:attr/textColorSecondary</item>
    </style>

    <style name="ToolbarText.Collapsed"
           parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title">
    </style>

    <style name="ToolbarText"
           parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title" >
        <item name="android:textSize">32sp</item>
    </style>

    <style name="ToolbarText.MoreThanTwoLines">
        <item name="android:textSize">24sp</item>
    </style>
</resources>
+7 −1
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@
        <item name="android:windowNoTitle">true</item>
    </style>

    <style name="Theme.SubSettings.Base" parent="Theme.Settings">
    <style name="Theme.SubSettings.Base" parent="Theme.Settings.NoActionBar">
        <!-- Redefine the ActionBar style for contentInsetStart -->
        <item name="android:actionBarStyle">@style/Widget.ActionBar.SubSettings</item>

@@ -276,4 +276,10 @@
    <style name="Theme.TabTheme" parent="@style/Theme.MaterialComponents.DayNight">
        <item name="colorPrimary">@*android:color/edge_effect_device_default_light</item>
    </style>

    <style name="Theme.CollapsingToolbar.Settings"
           parent="@style/Theme.MaterialComponents.DayNight">
        <item name="colorPrimary">@*android:color/primary_device_default_settings_light</item>
        <item name="colorAccent">@*android:color/accent_device_default_light</item>
    </style>
</resources>
Loading