From d277b46fdd35b734dcace8c20ee9db431d2aa1da Mon Sep 17 00:00:00 2001 From: Soren Stoutner Date: Sat, 12 Sep 2020 15:07:40 -0700 Subject: [PATCH] Add a back arrow to the header of the bookmarks drawer. https://redmine.stoutner.com/issues/359 --- .../activities/BookmarksActivity.java | 2 +- .../activities/MainWebViewActivity.java | 58 ++++++++----------- .../res/layout-w900dp/bookmarks_drawer.xml | 36 +++++++++--- app/src/main/res/layout/bookmarks_drawer.xml | 38 +++++++++--- app/src/main/res/layout/main_framelayout.xml | 26 +++++---- 5 files changed, 100 insertions(+), 60 deletions(-) diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java index 735d3e39..8a1bb956 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java @@ -816,7 +816,7 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma } @Override - public void onSaveBookmark(DialogFragment dialogFragment, int selectedBookmarkDatabaseId, Bitmap favoriteIconBitmap) { + public void onSaveBookmark(DialogFragment dialogFragment, int selectedBookmarkDatabaseId, @NonNull Bitmap favoriteIconBitmap) { // Get the dialog from the dialog fragment. Dialog dialog = dialogFragment.getDialog(); diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java index b2d9afa3..f9f1780f 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java @@ -235,11 +235,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook private int savedTabPosition; private String savedProxyMode; - // Define the class views. - private AppBarLayout appBarLayout; - private TabLayout tabLayout; - private ViewPager webViewPager; - // Define the class variables. @SuppressWarnings("rawtypes") AsyncTask populateBlocklists; @@ -338,6 +333,12 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook private String saveWebpageUrl; private String saveWebpageFilePath; + // Declare the class views. + private DrawerLayout drawerLayout; + private AppBarLayout appBarLayout; + private TabLayout tabLayout; + private ViewPager webViewPager; + @Override // Remove the warning about needing to override `performClick()` when using an `OnTouchListener` with `WebView`. @SuppressLint("ClickableViewAccessibility") @@ -401,7 +402,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook setContentView(R.layout.main_framelayout); // Get handles for the views. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); + drawerLayout = findViewById(R.id.drawerlayout); appBarLayout = findViewById(R.id.appbar_layout); Toolbar toolbar = findViewById(R.id.toolbar); tabLayout = findViewById(R.id.tablayout); @@ -504,9 +505,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook loadUrl(currentWebView, url); } - // Get a handle for the drawer layout. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); - // Close the navigation drawer if it is open. if (drawerLayout.isDrawerVisible(GravityCompat.START)) { drawerLayout.closeDrawer(GravityCompat.START); @@ -574,9 +572,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook // Update the bookmarks drawer if returning from the Bookmarks activity. if (restartFromBookmarksActivity) { - // Get a handle for the drawer layout. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); - // Close the bookmarks drawer. drawerLayout.closeDrawer(GravityCompat.END); @@ -1132,9 +1127,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook return true; case R.id.bookmarks: - // Get a handle for the drawer layout. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); - // Open the bookmarks drawer. drawerLayout.openDrawer(GravityCompat.END); @@ -2111,9 +2103,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook break; } - // Get a handle for the drawer layout. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); - // Close the navigation drawer. drawerLayout.closeDrawer(GravityCompat.START); return true; @@ -2649,26 +2638,16 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook bookmarksCursorAdapter.changeCursor(bookmarksCursor); } - // Override `onBackPressed` to handle the navigation drawer and and the WebViews. + // Override `onBackPressed()` to handle the navigation drawer and and the WebViews. @Override public void onBackPressed() { - // Get a handle for the drawer layout. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); - + // Check the different options for processing `back`. if (drawerLayout.isDrawerVisible(GravityCompat.START)) { // The navigation drawer is open. // Close the navigation drawer. drawerLayout.closeDrawer(GravityCompat.START); } else if (drawerLayout.isDrawerVisible(GravityCompat.END)){ // The bookmarks drawer is open. - if (currentBookmarksFolder.isEmpty()) { // The home folder is displayed. - // close the bookmarks drawer. - drawerLayout.closeDrawer(GravityCompat.END); - } else { // A subfolder is displayed. - // Place the former parent folder in `currentFolder`. - currentBookmarksFolder = bookmarksDatabaseHelper.getParentFolderName(currentBookmarksFolder); - - // Load the new folder. - loadBookmarksFolder(); - } + // close the bookmarks drawer. + drawerLayout.closeDrawer(GravityCompat.END); } else if (displayingFullScreenVideo) { // A full screen video is shown. // Get a handle for the layouts. FrameLayout rootFrameLayout = findViewById(R.id.root_framelayout); @@ -3333,7 +3312,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook this.registerReceiver(orbotStatusBroadcastReceiver, new IntentFilter("org.torproject.android.intent.action.STATUS")); // Get handles for views that need to be modified. - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); NavigationView navigationView = findViewById(R.id.navigationview); SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swiperefreshlayout); ListView bookmarksListView = findViewById(R.id.bookmarks_drawer_listview); @@ -5074,6 +5052,19 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook System.exit(0); } + public void bookmarksBack(View view) { + if (currentBookmarksFolder.isEmpty()) { // The home folder is displayed. + // close the bookmarks drawer. + drawerLayout.closeDrawer(GravityCompat.END); + } else { // A subfolder is displayed. + // Place the former parent folder in `currentFolder`. + currentBookmarksFolder = bookmarksDatabaseHelper.getParentFolderName(currentBookmarksFolder); + + // Load the new folder. + loadBookmarksFolder(); + } + } + private void setCurrentWebView(int pageNumber) { // Get handles for the URL views. RelativeLayout urlRelativeLayout = findViewById(R.id.url_relativelayout); @@ -5227,7 +5218,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook // Get handles for the activity views. FrameLayout rootFrameLayout = findViewById(R.id.root_framelayout); - DrawerLayout drawerLayout = findViewById(R.id.drawerlayout); RelativeLayout mainContentRelativeLayout = findViewById(R.id.main_content_relativelayout); ActionBar actionBar = appCompatDelegate.getSupportActionBar(); LinearLayout tabsLinearLayout = findViewById(R.id.tabs_linearlayout); diff --git a/app/src/main/res/layout-w900dp/bookmarks_drawer.xml b/app/src/main/res/layout-w900dp/bookmarks_drawer.xml index e1e5042c..e49aaf9c 100644 --- a/app/src/main/res/layout-w900dp/bookmarks_drawer.xml +++ b/app/src/main/res/layout-w900dp/bookmarks_drawer.xml @@ -20,8 +20,10 @@ @@ -32,14 +34,34 @@ android:orientation="vertical" android:background="?android:attr/colorBackground" > - + + android:orientation="horizontal" + tools:ignore="UseCompoundDrawables" > + + + + + . --> + android:layout_gravity="end"> - + + android:orientation="horizontal" + tools:ignore="UseCompoundDrawables" > + + + + + + + android:onClick="findPreviousOnPage" + app:tint="?attr/findOnPageIconTintColor" /> + + android:onClick="findNextOnPage" + app:tint="?attr/findOnPageIconTintColor" /> + + android:onClick="closeFindOnPage" + app:tint="?attr/findOnPageIconTintColor" /> @@ -146,10 +152,10 @@ android:paddingStart="10dp" android:paddingEnd="10dp" android:src="@drawable/close_day" - android:tint="?attr/addTabIconTintColor" android:background="?attr/selectableItemBackground" android:onClick="closeTab" - android:contentDescription="@string/close_tab" /> + android:contentDescription="@string/close_tab" + app:tint="?attr/addTabIconTintColor" /> + android:contentDescription="@string/add_tab" + app:tint="?attr/addTabIconTintColor" /> -- 2.45.2