]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/res/layout/main_framelayout_bottom_appbar.xml
Combine drawable files. https://redmine.stoutner.com/issues/794
[PrivacyBrowserAndroid.git] / app / src / main / res / layout / main_framelayout_bottom_appbar.xml
index 2f295dfb0c8648499d2ff30e558def1e9a7f6915..694c810fe19592ebd8c045e1c134edc390794180 100644 (file)
@@ -1,22 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2015-2017,2019-2021 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2015-2017,2019-2022 Soren Stoutner <soren@stoutner.com>.
 
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>>.
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
 
-  Privacy Browser is free software: you can redistribute it and/or modify
+  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.
 
-  Privacy Browser is distributed in the hope that it will be useful,
+  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.
 
   You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+  along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>. -->
 
 <FrameLayout
     android:id="@+id/root_framelayout"
         android:layout_height="match_parent"
         android:layout_width="match_parent" >
 
-        <!-- The relative layout contains the AdView and the coordinator layout, which contains the rest of the views. -->
-        <RelativeLayout
-            android:id="@+id/main_content_relativelayout"
+        <!-- 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:layout_width="match_parent"
+            android:focusable="true"
+            android:focusableInTouchMode="true" >
 
-            <!-- Include the AdView.  For the standard flavor, this just includes a TextView with `visibility="gone"`. -->
-            <include layout="@layout/adview_bottom_appbar" />
+                <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+                    android:id="@+id/swiperefreshlayout"
+                    android:layout_width="match_parent"
+                    android:layout_height="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:layout_height="match_parent"
-                android:layout_width="match_parent"
-                android:layout_below="@id/adview"
-                android:focusable="true"
-                android:focusableInTouchMode="true" >
-
-                    <!-- `app:layout_dodgeInsetEdges="bottom"` as a child of a coordinator layout moves the view above snackbars. -->
-                    <RelativeLayout
+                    <com.stoutner.privacybrowser.views.NoSwipeViewPager
+                        android:id="@+id/webviewpager"
                         android:layout_height="match_parent"
-                        android:layout_width="match_parent"
-                        app:layout_dodgeInsetEdges="bottom" >
-
-                        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
-                            android:id="@+id/swiperefreshlayout"
-                            android:layout_width="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.
+                        It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                    <LinearLayout
+                        android:id="@+id/tabs_linearlayout"
+                        android:layout_height="wrap_content"
+                        android:layout_width="wrap_content"
+                        android:orientation="horizontal"
+                        android:visibility="gone" >
+
+                        <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
+                        <ImageView
                             android:layout_height="match_parent"
-                            android:layout_above="@id/appbar_layout" >
+                            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" />
 
-                            <com.stoutner.privacybrowser.views.NoSwipeViewPager
-                                android:id="@+id/webviewpager"
-                                android:layout_height="match_parent"
-                                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"` so it doesn't display while the blocklists are loading. -->
+                    <LinearLayout
+                        android:id="@+id/find_on_page_linearlayout"
+                        android:layout_height="wrap_content"
+                        android:layout_width="match_parent"
+                        android:orientation="horizontal"
+                        android:visibility="gone" >
 
-                        <!-- 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. -->
-                        <com.google.android.material.appbar.AppBarLayout
-                            android:id="@+id/appbar_layout"
+                        <!-- `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="match_parent"
-                            android:theme="@style/PrivacyBrowserAppBar"
-                            android:layout_alignParentBottom="true" >
-
-                            <!-- The tab linear layout.  It sets the background to the right of the add tab button.
-                                It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <LinearLayout
-                                android:id="@+id/tabs_linearlayout"
-                                android:layout_height="wrap_content"
-                                android:layout_width="wrap_content"
-                                android:orientation="horizontal"
-                                android:visibility="gone" >
-
-                                <!-- `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_day"
-                                    android:background="?attr/selectableItemBackground"
-                                    android:onClick="closeTab"
-                                    android:contentDescription="@string/close_tab"
-                                    app:tint="?attr/addTabIconTintColor" />
-
-                                <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"
-                                    app:tint="?attr/addTabIconTintColor" />
-                            </LinearLayout>
-
-                            <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <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: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_day"
-                                    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.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
-                            <androidx.appcompat.widget.Toolbar
-                                android:id="@+id/toolbar"
-                                android:layout_height="wrap_content"
-                                android:layout_width="match_parent"
-                                android:visibility="gone" />
-                        </com.google.android.material.appbar.AppBarLayout>
-                    </RelativeLayout>
-            </androidx.coordinatorlayout.widget.CoordinatorLayout>
-        </RelativeLayout>
+                            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: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.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
+                    <androidx.appcompat.widget.Toolbar
+                        android:id="@+id/toolbar"
+                        android:layout_height="wrap_content"
+                        android:layout_width="match_parent"
+                        android:visibility="gone" />
+                </com.google.android.material.appbar.AppBarLayout>
+        </androidx.coordinatorlayout.widget.CoordinatorLayout>
 
         <!-- The navigation drawer. -->
         <com.google.android.material.navigation.NavigationView
             android:layout_height="match_parent"
             android:layout_width="wrap_content"
             android:layout_gravity="start"
-            app:menu="@menu/webview_navigation_menu"
+            app:menu="@menu/webview_navigation_menu_bottom_appbar"
             app:itemIconTint="?attr/navigationIconTintColor" />
 
         <!-- Include the bookmarks drawer, which varies based on screen width. -->