]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/res/layout/main_framelayout_bottom_appbar.xml
Bump the target API to 36. https://redmine.stoutner.com/issues/1283
[PrivacyBrowserAndroid.git] / app / src / main / res / layout / main_framelayout_bottom_appbar.xml
index b4a845fa536478c528772287ec74ef86aa1ceb3e..e47cf1a6f2bbc479aa16bb5991928f2bb40a38d5 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright 2015-2017,2019-2023 Soren Stoutner <soren@stoutner.com>.
+  SPDX-License-Identifier: GPL-3.0-or-later
+  SPDX-FileCopyrightText: 2015-2017, 2019-2024 Soren Stoutner <soren@stoutner.com>
 
-  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
-  Privacy Browser Android is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
+  This program is free software: you can redistribute it and/or modify it under
+  the terms of the GNU General Public License as published by the Free Software
+  Foundation, either version 3 of the License, or (at your option) any later
+  version.
 
-  Privacy Browser Android is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
+  This program is distributed in the hope that it will be useful, but WITHOUT
+  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
+  details.
 
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>. -->
+  You should have received a copy of the GNU General Public License along with
+  this program.  If not, see <https://www.gnu.org/licenses/>. -->
 
 <FrameLayout
-    android:id="@+id/root_framelayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_height="match_parent"
     android:layout_width="match_parent" >
 
-    <androidx.drawerlayout.widget.DrawerLayout
-        android:id="@+id/drawerlayout"
+    <FrameLayout
+        android:id="@+id/browser_framelayout"
         android:layout_height="match_parent"
         android:layout_width="match_parent" >
 
-        <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
-        <androidx.coordinatorlayout.widget.CoordinatorLayout
-            android:id="@+id/coordinatorlayout"
+        <androidx.drawerlayout.widget.DrawerLayout
+            android:id="@+id/drawerlayout"
             android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            android:focusable="true"
-            android:focusableInTouchMode="true" >
-
-                <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-                    android:id="@+id/swiperefreshlayout"
-                    android:layout_width="match_parent"
-                    android:layout_height="match_parent" >
+            android:layout_width="match_parent" >
+
+            <!-- Setting the CoordinatorLayout to be `focusableInTouchMode` prevents the URL text box from stealing focus on launch and opening the keyboard. -->
+            <androidx.coordinatorlayout.widget.CoordinatorLayout
+                android:id="@+id/coordinatorlayout"
+                android:layout_height="match_parent"
+                android:layout_width="match_parent"
+                android:focusable="true"
+                android:focusableInTouchMode="true" >
+
+                    <FrameLayout
+                        android:id="@+id/old_full_screen_video_framelayout"
+                        android:layout_height="match_parent"
+                        android:layout_width="match_parent"
+                        android:visibility="gone"
+                        android:fitsSystemWindows="false" />
 
-                    <androidx.viewpager2.widget.ViewPager2
-                        android:id="@+id/webview_viewpager2"
+                    <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+                        android:id="@+id/swiperefreshlayout"
                         android:layout_height="match_parent"
-                        android:layout_width="match_parent" />
-                </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
-
-                <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status.
-                    `app:layout_dodgeInsetEdges="bottom"` as a child of a coordinator layout moves the view above snackbars.-->
-                <com.google.android.material.appbar.AppBarLayout
-                    android:id="@+id/appbar_layout"
-                    android:layout_height="wrap_content"
-                    android:layout_width="match_parent"
-                    android:theme="@style/PrivacyBrowserAppBar"
-                    android:layout_gravity="bottom"
-                    app:layout_dodgeInsetEdges="bottom" >
-
-                    <!-- The tab linear layout.  It sets the background to the right of the add tab button. -->
-                    <LinearLayout
-                        android:id="@+id/tabs_linearlayout"
-                        android:layout_height="wrap_content"
-                        android:layout_width="wrap_content"
-                        android:orientation="horizontal" >
+                        android:layout_width="match_parent" >
 
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
+                        <androidx.viewpager2.widget.ViewPager2
+                            android:id="@+id/webview_viewpager2"
                             android:layout_height="match_parent"
-                            android:layout_width="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:paddingStart="10dp"
-                            android:paddingEnd="10dp"
-                            android:src="@drawable/close"
-                            android:background="?attr/selectableItemBackground"
-                            android:onClick="closeTab"
-                            android:contentDescription="@string/close_tab" />
-
-                        <com.google.android.material.tabs.TabLayout
-                            android:id="@+id/tablayout"
-                            android:layout_height="wrap_content"
-                            android:layout_width="0dp"
-                            android:layout_weight="1"
-                            app:tabMode="scrollable" />
+                            android:layout_width="match_parent" />
+                    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
 
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:layout_height="match_parent"
-                            android:layout_width="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:paddingStart="10dp"
-                            android:paddingEnd="10dp"
-                            android:src="@drawable/add"
-                            android:background="?attr/selectableItemBackground"
-                            android:onClick="addTab"
-                            android:contentDescription="@string/add_tab" />
-                    </LinearLayout>
-
-                    <!-- The find on page linear layout.  It is initially `visibility="gone"` and is only displayed when requested. -->
-                    <LinearLayout
-                        android:id="@+id/find_on_page_linearlayout"
+                    <!-- The app bar theme must be specified here because the activity uses a `NoActionBar` theme.  The background is set programmatically based on the proxy status.
+                        `app:layout_dodgeInsetEdges="bottom"` as a child of a coordinator layout moves the view above snackbars.-->
+                    <com.google.android.material.appbar.AppBarLayout
+                        android:id="@+id/appbar_layout"
                         android:layout_height="wrap_content"
                         android:layout_width="match_parent"
-                        android:orientation="horizontal"
-                        android:visibility="gone" >
+                        android:theme="@style/PrivacyBrowserAppBar"
+                        android:layout_gravity="bottom"
+                        app:layout_dodgeInsetEdges="bottom" >
 
-                        <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
-                        <EditText
-                            android:id="@+id/find_on_page_edittext"
-                            android:layout_height="wrap_content"
-                            android:layout_width="0dp"
-                            android:layout_weight="1"
-                            android:layout_marginStart="8dp"
-                            android:layout_marginEnd="4dp"
-                            android:hint="@string/find_on_page"
-                            android:lines="1"
-                            android:imeOptions="actionDone"
-                            android:inputType="text"
-                            tools:ignore="Autofill" />
-
-                        <TextView
-                            android:id="@+id/find_on_page_count_textview"
+                        <!-- The tab linear layout.  It sets the background to the right of the add tab button. -->
+                        <LinearLayout
+                            android:id="@+id/tabs_linearlayout"
                             android:layout_height="wrap_content"
                             android:layout_width="wrap_content"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:text="@string/zero_of_zero" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/find_previous"
-                            android:src="@drawable/previous"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/previous"
-                            android:onClick="findPreviousOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/find_next"
-                            android:src="@drawable/next"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="4dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/next"
-                            android:onClick="findNextOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-
-                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
-                        <ImageView
-                            android:id="@+id/close_find"
-                            android:src="@drawable/close"
-                            android:layout_width="35dp"
-                            android:layout_height="35dp"
-                            android:layout_marginStart="4dp"
-                            android:layout_marginEnd="8dp"
-                            android:layout_gravity="center_vertical"
-                            android:background="?attr/selectableItemBackground"
-                            android:contentDescription="@string/close"
-                            android:onClick="closeFindOnPage"
-                            app:tint="?attr/findOnPageIconTintColor" />
-                    </LinearLayout>
-
-                    <!-- The toolbar. -->
-                    <androidx.appcompat.widget.Toolbar
-                        android:id="@+id/toolbar"
-                        android:layout_height="wrap_content"
-                        android:layout_width="match_parent" />
-                </com.google.android.material.appbar.AppBarLayout>
-        </androidx.coordinatorlayout.widget.CoordinatorLayout>
-
-        <!-- The navigation drawer. -->
-        <com.google.android.material.navigation.NavigationView
-            android:id="@+id/navigationview"
+                            android:orientation="horizontal" >
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:layout_height="match_parent"
+                                android:layout_width="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:paddingStart="10dp"
+                                android:paddingEnd="10dp"
+                                android:src="@drawable/close"
+                                android:background="?attr/selectableItemBackground"
+                                android:onClick="closeTab"
+                                android:contentDescription="@string/close_tab" />
+
+                            <com.google.android.material.tabs.TabLayout
+                                android:id="@+id/tablayout"
+                                android:layout_height="wrap_content"
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                app:tabMode="scrollable" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:layout_height="match_parent"
+                                android:layout_width="wrap_content"
+                                android:layout_gravity="center_vertical"
+                                android:paddingStart="10dp"
+                                android:paddingEnd="10dp"
+                                android:src="@drawable/add"
+                                android:background="?attr/selectableItemBackground"
+                                android:onClick="addTab"
+                                android:contentDescription="@string/add_tab" />
+                        </LinearLayout>
+
+                        <!-- The find on page linear layout.  It is initially `visibility="gone"` and is only displayed when requested. -->
+                        <LinearLayout
+                            android:id="@+id/find_on_page_linearlayout"
+                            android:layout_height="wrap_content"
+                            android:layout_width="match_parent"
+                            android:orientation="horizontal"
+                            android:visibility="gone" >
+
+                            <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
+                            <EditText
+                                android:id="@+id/find_on_page_edittext"
+                                android:layout_height="wrap_content"
+                                android:layout_width="0dp"
+                                android:layout_weight="1"
+                                android:layout_marginStart="8dp"
+                                android:layout_marginEnd="4dp"
+                                android:hint="@string/find_on_page"
+                                android:lines="1"
+                                android:imeOptions="actionDone"
+                                android:inputType="text"
+                                tools:ignore="Autofill" />
+
+                            <TextView
+                                android:id="@+id/find_on_page_count_textview"
+                                android:layout_height="wrap_content"
+                                android:layout_width="wrap_content"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:text="@string/zero_of_zero" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/find_previous"
+                                android:layout_height="35dp"
+                                android:layout_width="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:layout_gravity="center_vertical"
+                                android:src="@drawable/previous"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/previous"
+                                android:onClick="findPreviousOnPage"
+                                app:tint="@color/blue_icon" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/find_next"
+                                android:layout_width="35dp"
+                                android:layout_height="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="4dp"
+                                android:layout_gravity="center_vertical"
+                                android:src="@drawable/next"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/next"
+                                android:onClick="findNextOnPage"
+                                app:tint="@color/blue_icon" />
+
+                            <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                            <ImageView
+                                android:id="@+id/close_find"
+                                android:layout_width="35dp"
+                                android:layout_height="35dp"
+                                android:layout_marginStart="4dp"
+                                android:layout_marginEnd="8dp"
+                                android:layout_gravity="center_vertical"
+                                android:src="@drawable/close"
+                                android:background="?attr/selectableItemBackground"
+                                android:contentDescription="@string/close"
+                                android:onClick="closeFindOnPage"
+                                app:tint="@color/blue_icon" />
+                        </LinearLayout>
+
+                        <!-- The toolbar. -->
+                        <androidx.appcompat.widget.Toolbar
+                            android:id="@+id/toolbar"
+                            android:layout_height="wrap_content"
+                            android:layout_width="match_parent" />
+                    </com.google.android.material.appbar.AppBarLayout>
+            </androidx.coordinatorlayout.widget.CoordinatorLayout>
+
+            <!-- The navigation drawer.
+              `topInsetScrimEnabled="false"` disables the scrim that draws under display cutouts (even thought the white space is maintained).
+               bottomInsetScrimEnabled="false" disables the scrim that draws under the navigation bar.  It is only needed on API < 35. -->
+            <com.google.android.material.navigation.NavigationView
+                android:id="@+id/navigationview"
+                android:layout_height="match_parent"
+                android:layout_width="wrap_content"
+                android:layout_gravity="start"
+                app:menu="@menu/webview_navigation_menu_bottom_appbar"
+                app:itemIconTint="@color/blue_icon"
+                app:topInsetScrimEnabled="false"
+                app:bottomInsetScrimEnabled="false" />
+
+            <!-- Include the bookmarks drawer, which varies based on screen width. -->
+            <include layout="@layout/bookmarks_drawer_bottom_appbar" />
+        </androidx.drawerlayout.widget.DrawerLayout>
+
+        <!-- The loading filter lists relative layout displays when the app first starts.  It is hidden once the filter lists are populated. -->
+        <RelativeLayout
+            android:id="@+id/loading_filterlists_relativelayout"
             android:layout_height="match_parent"
-            android:layout_width="wrap_content"
-            android:layout_gravity="start"
-            app:menu="@menu/webview_navigation_menu_bottom_appbar"
-            app:itemIconTint="?attr/navigationIconTintColor" />
-
-        <!-- Include the bookmarks drawer, which varies based on screen width. -->
-        <include layout="@layout/bookmarks_drawer_bottom_appbar" />
-    </androidx.drawerlayout.widget.DrawerLayout>
+            android:layout_width="match_parent" >
+
+            <ImageView
+                android:id="@+id/privacy_browser_logo"
+                android:layout_height="256dp"
+                android:layout_width="256dp"
+                android:layout_centerInParent="true"
+                android:src="@drawable/privacy_browser_foreground"
+                tools:ignore="contentDescription" />
+
+            <TextView
+                android:id="@+id/loading_filterlist_textview"
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_below="@id/privacy_browser_logo"
+                android:layout_centerHorizontal="true"
+                android:layout_margin="10dp"
+                android:textSize="16sp"
+                android:textAlignment="center"
+                android:textColor="?android:attr/textColorPrimary" />
+        </RelativeLayout>
+    </FrameLayout>
 
     <!-- The full screen video frame layout is used to display full screen videos.  It is initially `android:visibility="gone"` to hide it from view. -->
     <FrameLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         android:visibility="gone" />
-
-    <!-- The loading filter lists relative layout displays when the app first starts.  It is hidden once the filter lists are populated. -->
-    <RelativeLayout
-        android:id="@+id/loading_filterlists_relativelayout"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent">
-
-        <ImageView
-            android:id="@+id/privacy_browser_logo"
-            android:layout_height="256dp"
-            android:layout_width="256dp"
-            android:layout_centerInParent="true"
-            android:src="@drawable/privacy_browser_foreground"
-            tools:ignore="contentDescription" />
-
-        <TextView
-            android:id="@+id/loading_filterlist_textview"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_below="@id/privacy_browser_logo"
-            android:layout_centerHorizontal="true"
-            android:layout_margin="10dp"
-            android:textSize="16sp"
-            android:textAlignment="center"
-            android:textColor="?android:attr/textColorPrimary" />
-    </RelativeLayout>
 </FrameLayout>