[Libreoffice-commits] core.git: android/source

aleksandar-stefanovic theonewithideas at gmail.com
Tue Feb 14 20:55:53 UTC 2017


 android/source/res/drawable/ic_filter_list_black_24dp.xml             |    9 +
 android/source/res/layout/activity_document_browser.xml               |   14 +
 android/source/res/layout/toolbar.xml                                 |   21 --
 android/source/res/menu/view_menu.xml                                 |   27 +++
 android/source/res/values/arrays.xml                                  |   11 -
 android/source/res/values/strings.xml                                 |    7 
 android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java |   74 +++++++---
 7 files changed, 110 insertions(+), 53 deletions(-)

New commits:
commit e86c4d3998011fe8ee835e31e86dfa026e11ac6f
Author: aleksandar-stefanovic <theonewithideas at gmail.com>
Date:   Wed Feb 8 10:33:26 2017 +0100

    Moved file filtering to a menu option
    
    Moved file filtering from a toolbar spinner to a menu option.
    The toolbar title is now free to display some other information.
    The options are grouped, so they display radio buttons, and show
    which item is selected. The radio group default selection is the
    one defined in the settings.
    
    Change-Id: Ib8d8716ec0038d2cd273423c756563680b84ae55
    Reviewed-on: https://gerrit.libreoffice.org/34019
    Reviewed-by: Aleksandar Stefanović <theonewithideas at gmail.com>
    Tested-by: Aleksandar Stefanović <theonewithideas at gmail.com>

diff --git a/android/source/res/drawable/ic_filter_list_black_24dp.xml b/android/source/res/drawable/ic_filter_list_black_24dp.xml
new file mode 100644
index 0000000..b99b672
--- /dev/null
+++ b/android/source/res/drawable/ic_filter_list_black_24dp.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="24.0"
+        android:viewportHeight="24.0">
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M10,18h4v-2h-4v2zM3,6v2h18L21,6L3,6zM6,13h12v-2L6,11v2z"/>
+</vector>
diff --git a/android/source/res/layout/activity_document_browser.xml b/android/source/res/layout/activity_document_browser.xml
index a444d6f..20ca141 100644
--- a/android/source/res/layout/activity_document_browser.xml
+++ b/android/source/res/layout/activity_document_browser.xml
@@ -9,12 +9,24 @@
 <LinearLayout
     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_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical" >
 
     <!-- The toolbar -->
-    <include layout="@layout/toolbar" />
+    <android.support.v7.widget.Toolbar
+        android:id="@+id/toolbar"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:elevation="3dp"
+        android:background="@color/toolbar_background"
+        app:theme="@style/LibreOfficeTheme.Toolbar"
+        tools:theme="@style/LibreOfficeTheme.Toolbar"
+        app:popupTheme="@style/LibreOfficeTheme">
+
+    </android.support.v7.widget.Toolbar>
+
 
     <android.support.v4.widget.DrawerLayout
         android:id="@+id/drawer_layout"
diff --git a/android/source/res/layout/toolbar.xml b/android/source/res/layout/toolbar.xml
deleted file mode 100644
index bbeb62a..0000000
--- a/android/source/res/layout/toolbar.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<android.support.v7.widget.Toolbar
-    android:id="@+id/toolbar"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:elevation="3dp"
-    android:background="@color/toolbar_background"
-    app:theme="@style/LibreOfficeTheme.Toolbar"
-    tools:theme="@style/LibreOfficeTheme.Toolbar"
-    app:popupTheme="@style/LibreOfficeTheme">
-
-    <android.support.v7.widget.AppCompatSpinner
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:id="@+id/toolbar_spinner"/>
-
-</android.support.v7.widget.Toolbar>
diff --git a/android/source/res/menu/view_menu.xml b/android/source/res/menu/view_menu.xml
index f7adc62..2b99ad1 100644
--- a/android/source/res/menu/view_menu.xml
+++ b/android/source/res/menu/view_menu.xml
@@ -3,6 +3,33 @@
     xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <item
+        android:id="@+id/menu_filter"
+        android:title="@string/filter"
+        android:icon="@drawable/ic_filter_list_black_24dp"
+        app:showAsAction="ifRoom">
+        <menu>
+            <group
+                android:checkableBehavior="single">
+                <item
+                    android:id="@+id/menu_filter_everything"
+                    android:title="@string/filter_everything" />
+                <item
+                    android:id="@+id/menu_filter_documents"
+                    android:title="@string/filter_documents" />
+                <item
+                    android:id="@+id/menu_filter_spreadsheets"
+                    android:title="@string/filter_spreadsheets" />
+                <item
+                    android:id="@+id/menu_filter_presentations"
+                    android:title="@string/filter_presentations" />
+                <item
+                    android:id="@+id/menu_filter_drawings"
+                    android:title="@string/filter_drawings" />
+            </group>
+        </menu>
+    </item>
+
+    <item
         android:id="@+id/menu_sort"
         android:title="@string/sort"
         android:icon="@drawable/ic_sort_black_24dp"
diff --git a/android/source/res/values/arrays.xml b/android/source/res/values/arrays.xml
index 0467baa..783a371 100644
--- a/android/source/res/values/arrays.xml
+++ b/android/source/res/values/arrays.xml
@@ -30,22 +30,13 @@
         <item >1</item>
     </string-array>
 
-    <!-- Preference Name Arrays
-         This has to be in sync with FileUtilities.java. -->
-    <string-array name="file_view_modes">
+    <string-array name="FilterTypeNames">
         <item>Everything</item>
         <item>Documents</item>
         <item>Spreadsheets</item>
         <item>Presentations</item>
         <item>Drawings</item>
     </string-array>
-
-    <string-array name="FilterTypeNames">
-        <item >Everything</item>
-        <item >Documents</item>
-        <item >Spreadsheets</item>
-        <item >Presentations</item>
-    </string-array>
     <string-array name="SortModeNames">
         <item >A-Z</item>
         <item >Z-A</item>
diff --git a/android/source/res/values/strings.xml b/android/source/res/values/strings.xml
index f1e4e32..ff4a183 100644
--- a/android/source/res/values/strings.xml
+++ b/android/source/res/values/strings.xml
@@ -50,6 +50,13 @@
     <string name="share">Share</string>
     <string name="share_via">Share via</string>
 
+    <!-- Document browser filters -->
+    <string name="filter_everything">Everything</string>
+    <string name="filter_documents">Documents</string>
+    <string name="filter_spreadsheets">Spreadsheets</string>
+    <string name="filter_presentations">Presentations</string>
+    <string name="filter_drawings">Drawings</string>
+
     <!-- Document provider names -->
     <string name="document_locations">Document locations</string>
     <string name="close_document_locations">Close document locations</string>
diff --git a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 2f5bd271..6921eeb 100644
--- a/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/source/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -134,28 +134,7 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings
         ActionBar actionBar = getSupportActionBar();
 
         if (actionBar != null) {
-            actionBar.setDisplayShowTitleEnabled(false);
             actionBar.setDisplayHomeAsUpEnabled(true);
-
-            //make the navigation spinner
-            Context context = actionBar.getThemedContext();
-            AppCompatSpinner toolbarSpinner = (AppCompatSpinner) findViewById(R.id.toolbar_spinner);
-            ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource(context, R.array.file_view_modes, android.R.layout.simple_spinner_item);
-            spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
-            toolbarSpinner.setAdapter(spinnerAdapter);
-            toolbarSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
-                @Override
-                public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {
-                    filterMode = pos -1; //bit of a hack, I know. -1 is ALL 0 Docs etc
-                    openDirectory(currentDirectory);// Uses filter mode
-                }
-
-                @Override
-                public void onNothingSelected(AdapterView<?> adapterView) {
-                    filterMode = FileUtilities.ALL;
-                    openDirectory(currentDirectory);
-                }
-            });
         }
 
         recentRecyclerView = (RecyclerView) findViewById(R.id.list_recent);
@@ -551,6 +530,28 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings
             item.setTitle(R.string.sort_newest);
         }
 
+        switch (filterMode) {
+            case FileUtilities.ALL:
+                menu.findItem(R.id.menu_filter_everything).setChecked(true);
+                break;
+
+            case FileUtilities.DOC:
+                menu.findItem(R.id.menu_filter_documents).setChecked(true);
+                break;
+
+            case FileUtilities.CALC:
+                menu.findItem(R.id.menu_filter_presentations).setChecked(true);
+                break;
+
+            case FileUtilities.IMPRESS:
+                menu.findItem(R.id.menu_filter_presentations).setChecked(true);
+                break;
+
+            case FileUtilities.DRAWING:
+                menu.findItem(R.id.menu_filter_drawings).setChecked(true);
+                break;
+        }
+
         return true;
     }
 
@@ -567,6 +568,37 @@ public class LibreOfficeUIActivity extends AppCompatActivity implements Settings
                     openParentDirectory();
                 }
                 break;
+
+            case R.id.menu_filter_everything:
+                item.setChecked(true);
+                filterMode = FileUtilities.ALL;
+                openDirectory(currentDirectory);
+                break;
+
+            case R.id.menu_filter_documents:
+                item.setChecked(true);
+                filterMode = FileUtilities.DOC;
+                openDirectory(currentDirectory);
+                break;
+
+            case R.id.menu_filter_spreadsheets:
+                item.setChecked(true);
+                filterMode = FileUtilities.CALC;
+                openDirectory(currentDirectory);
+                break;
+
+            case R.id.menu_filter_presentations:
+                item.setChecked(true);
+                filterMode = FileUtilities.IMPRESS;
+                openDirectory(currentDirectory);
+                break;
+
+            case R.id.menu_filter_drawings:
+                item.setChecked(true);
+                filterMode = FileUtilities.DRAWING;
+                openDirectory(currentDirectory);
+                break;
+            
             case R.id.menu_sort_size:
             case R.id.menu_sort_az:
             case R.id.menu_sort_modified:


More information about the Libreoffice-commits mailing list