Make a note in the settings that hiding the system bars doesn't work well if the...
authorSoren Stoutner <soren@stoutner.com>
Fri, 23 Dec 2016 21:58:24 +0000 (14:58 -0700)
committerSoren Stoutner <soren@stoutner.com>
Fri, 23 Dec 2016 21:58:24 +0000 (14:58 -0700)
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebView.java
app/src/main/res/layout/main_webview.xml
app/src/main/res/values-es/strings.xml
app/src/main/res/values/strings.xml

index 345a7060a99a1addc522b33f4c8e8c1782b21794..815d3fa8f2611229ac2cc070220ad40f6756edca 100644 (file)
@@ -209,6 +209,9 @@ public class MainWebView extends AppCompatActivity implements NavigationView.OnN
     // `inputMethodManager` is used in `onOptionsItemSelected()`, `loadUrlFromTextBox()`, and `closeFindOnPage()`.
     private InputMethodManager inputMethodManager;
 
+    // `mainWebViewRelativeLayout` is used in `onCreate()` and `onNavigationItemSelected()`.
+    private RelativeLayout mainWebViewRelativeLayout;
+
     @Override
     // Remove Android Studio's warning about the dangers of using SetJavaScriptEnabled.  The whole premise of Privacy Browser is built around an understanding of these dangers.
     @SuppressLint("SetJavaScriptEnabled")
@@ -256,6 +259,7 @@ public class MainWebView extends AppCompatActivity implements NavigationView.OnN
         // Get handles for views that need to be accessed.
         drawerLayout = (DrawerLayout) findViewById(R.id.drawerlayout);
         rootCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.root_coordinatorlayout);
+        mainWebViewRelativeLayout = (RelativeLayout) findViewById(R.id.main_webview_relativelayout);
         mainWebView = (WebView) findViewById(R.id.mainWebView);
         findOnPageLinearLayout = (LinearLayout) findViewById(R.id.find_on_page_linearlayout);
         findOnPageEditText = (EditText) findViewById(R.id.find_on_page_edittext);
@@ -287,10 +291,10 @@ public class MainWebView extends AppCompatActivity implements NavigationView.OnN
                             // Remove the translucent status bar overlay on the `Drawer Layout`, which is special and needs its own command.
                             drawerLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
 
-                        /* SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
-                         * SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bar on the bottom or right of the screen.
-                         * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the status and navigation bars translucent and automatically rehides them after they are shown.
-                         */
+                            /* SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
+                             * SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bar on the bottom or right of the screen.
+                             * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the status and navigation bars translucent and automatically rehides them after they are shown.
+                             */
                             rootCoordinatorLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
 
                             // Set `rootCoordinatorLayout` to fill the whole screen.
@@ -1150,7 +1154,6 @@ public class MainWebView extends AppCompatActivity implements NavigationView.OnN
                 customHeaders.clear();
 
                 // Detach all views from `mainWebViewRelativeLayout`.
-                RelativeLayout mainWebViewRelativeLayout = (RelativeLayout) findViewById(R.id.mainWebViewRelativeLayout);
                 mainWebViewRelativeLayout.removeAllViews();
 
                 // Destroy the internal state of `mainWebView`.
index d2feac92d025469cfde7c9665409cc0601091900..57d70ca59f9b244afd7f9a4e6f1608406356502d 100644 (file)
@@ -20,7 +20,7 @@
 
 <!-- android:layout_weight="1" sets the RelativeLayout to fill the rest of the screen because it is encapsulated in a LinearLayout with android:orientation="vertical". -->
 <RelativeLayout
-    android:id="@+id/mainWebViewRelativeLayout"
+    android:id="@+id/main_webview_relativelayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
index ae2a53c6c2841e28b0e217a81f404604c263c774..7ab7ca1d053f420d3bb9f31549737b935f47d938 100644 (file)
         <string name="enable_full_screen_browsing_mode">Habilitar pantalla completa</string>
         <string name="enable_full_screen_browsing_mode_summary">Doble toque para pantalla completa.</string>
         <string name="hide_system_bars">Esconder las barras del systema</string>
-        <string name="hide_system_bars_summary">Esconder las barras de estado y de navegación en el modo de pantalla completa.</string>
+        <string name="hide_system_bars_summary">Esconder las barras de estado y de navegación en el modo de pantalla completa.  Esto causa problems si el teclado se muestra en el modo de pantalla completa.</string>
         <string name="translucent_navigation_bar">Barra de navegación translúcida</string>
         <string name="translucent_navigation_bar_summary">Hacer la barra de navegación translúcida en el modo de pantalla completa.</string>
     <string name="general">General</string>
index c46c6e2e9ed2064ae70360817dc9c2ea52e8c15b..f3274ce26501141c6f18e0b12e347635c60a9637 100644 (file)
         <string name="enable_full_screen_browsing_mode">Enable full screen browsing mode</string>
         <string name="enable_full_screen_browsing_mode_summary">Double-tap to toggle full screen browsing mode.</string>
         <string name="hide_system_bars">Hide system bars</string>
-        <string name="hide_system_bars_summary">Hide the status and navigation bars in full screen mode.</string>
+        <string name="hide_system_bars_summary">Hide the status and navigation bars in full screen browsing mode. This doesn\'t work well if the keyboard is displayed during full screen browsing mode.</string>
         <string name="translucent_navigation_bar">Translucent navigation bar</string>
-        <string name="translucent_navigation_bar_summary">Make the navigation bar translucent in full screen mode.</string>
+        <string name="translucent_navigation_bar_summary">Make the navigation bar translucent in full screen browsing mode.</string>
     <string name="general">General</string>
         <string name="homepage_preference">Homepage</string>
         <string name="default_font_size">Default font size</string>