Fix find on page.
authorSoren Stoutner <soren@stoutner.com>
Mon, 22 Apr 2019 22:11:52 +0000 (15:11 -0700)
committerSoren Stoutner <soren@stoutner.com>
Mon, 22 Apr 2019 22:11:52 +0000 (15:11 -0700)
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/res/layout/main_framelayout.xml

index 4193364de5c0041abc3b31948a7272f19b0ef80c..a363ef1dc718de05fdbe46e28d7000064969d5ee 100644 (file)
@@ -153,7 +153,6 @@ import java.util.Map;
 import java.util.Set;
 
 // TODO.  New tabs are white in dark mode.
-// TODO.  Find on page.
 
 // AppCompatActivity from android.support.v7.app.AppCompatActivity must be used to have access to the SupportActionBar until the minimum API is >= 21.
 public class MainWebViewActivity extends AppCompatActivity implements CreateBookmarkDialog.CreateBookmarkListener, CreateBookmarkFolderDialog.CreateBookmarkFolderListener,
@@ -479,6 +478,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             @Override
             public void onPageSelected(int position) {
+                // Close the find on page bar if it is open.
+                closeFindOnPage(null);
+
                 // Set the current WebView.
                 setCurrentWebView(position);
 
@@ -1926,6 +1928,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 LinearLayout findOnPageLinearLayout = findViewById(R.id.find_on_page_linearlayout);
                 EditText findOnPageEditText = findViewById(R.id.find_on_page_edittext);
 
+                // Set the minimum height of the find on page linear layout to match the toolbar.
+                findOnPageLinearLayout.setMinimumHeight(toolbar.getHeight());
+
                 // Hide the toolbar.
                 toolbar.setVisibility(View.GONE);
 
@@ -4325,6 +4330,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                     if (inFullScreenBrowsingMode) {  // Switch to full screen mode.
                         // Hide the app bar if specified.
                         if (hideAppBar) {
+                            // Close the find on page bar if it is visible.
+                            closeFindOnPage(null);
+
                             // Hide the tab linear layout.
                             tabsLinearLayout.setVisibility(View.GONE);
 
index 20dfc9bf52a9b5a300b7fbca5be4c70338e21400..5cff666f2e81cbc68d45bf26373a15bee9479cba 100644 (file)
                         android:layout_width="match_parent"
                         android.support.design:layout_scrollFlags="scroll|enterAlways|snap" />
 
-                    <LinearLayout
-                        android:id="@+id/tabs_linearlayout"
-                        android:layout_height="wrap_content"
-                        android:layout_width="wrap_content"
-                        android:orientation="horizontal"
-                        android.support.design:layout_scrollFlags="scroll|enterAlways|snap" >
-
-                        <com.google.android.material.tabs.TabLayout
-                            android:id="@+id/tablayout"
-                            android:layout_height="wrap_content"
-                            android:layout_width="0dp"
-                            android:layout_weight="1"
-                            android.support.design:tabIndicatorGravity="top"
-                            android.support.design:tabMode="scrollable" />
-
-                        <ImageView
-                            android:layout_height="wrap_content"
-                            android:layout_width="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:paddingStart="10dp"
-                            android:paddingEnd="10dp"
-                            android:src="@drawable/add_light"
-                            android:tint="?attr/addTabIconTintColor"
-                            android:onClick="addTab"
-                            android:contentDescription="@string/add_tab" />
-                    </LinearLayout>
-
                     <!-- The find on page linear layout.  It is initially `visibility="gone"`. -->
                     <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:visibility="gone"
+                        android.support.design:layout_scrollFlags="scroll|enterAlways|snap" >
 
                         <!-- `android:imeOptions="actionDone"` sets the keyboard to have a `check mark` key instead of a `new line` key. -->
                         <EditText
                             android:contentDescription="@string/close"
                             android:onClick="closeFindOnPage" />
                     </LinearLayout>
+
+                    <LinearLayout
+                        android:id="@+id/tabs_linearlayout"
+                        android:layout_height="wrap_content"
+                        android:layout_width="wrap_content"
+                        android:orientation="horizontal"
+                        android.support.design:layout_scrollFlags="scroll|enterAlways|snap" >
+
+                        <com.google.android.material.tabs.TabLayout
+                            android:id="@+id/tablayout"
+                            android:layout_height="wrap_content"
+                            android:layout_width="0dp"
+                            android:layout_weight="1"
+                            android.support.design:tabIndicatorGravity="top"
+                            android.support.design:tabMode="scrollable" />
+
+                        <ImageView
+                            android:layout_height="wrap_content"
+                            android:layout_width="wrap_content"
+                            android:layout_gravity="center_vertical"
+                            android:paddingStart="10dp"
+                            android:paddingEnd="10dp"
+                            android:src="@drawable/add_light"
+                            android:tint="?attr/addTabIconTintColor"
+                            android:onClick="addTab"
+                            android:contentDescription="@string/add_tab" />
+                    </LinearLayout>
                 </com.google.android.material.appbar.AppBarLayout>
 
                 <!-- `app:layout_behavior="@string/appbar_scrolling_view_behavior"` must be set on the sibling of AppBarLayout. -->