Эх сурвалжийг харах

Upload list activity: new sort / switch button

Signed-off-by: tobiasKaminsky <tobias@kaminsky.me>
tobiasKaminsky 4 жил өмнө
parent
commit
f0f77098bb

+ 29 - 28
src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java

@@ -51,6 +51,7 @@ import com.owncloud.android.ui.dialog.LocalStoragePathPickerDialogFragment;
 import com.owncloud.android.ui.dialog.SortingOrderDialogFragment;
 import com.owncloud.android.ui.fragment.ExtendedListFragment;
 import com.owncloud.android.ui.fragment.LocalFileListFragment;
+import com.owncloud.android.utils.DisplayUtils;
 import com.owncloud.android.utils.FileSortOrder;
 import com.owncloud.android.utils.ThemeUtils;
 
@@ -105,6 +106,7 @@ public class UploadFilesActivity extends FileActivity implements LocalFileListFr
     private Menu mOptionsMenu;
     private SearchView mSearchView;
     private Spinner mBehaviourSpinner;
+    private MaterialButton sortButton;
 
     /**
      * Helper to launch the UploadFilesActivity for which you would like a result when it finished. Your
@@ -170,15 +172,32 @@ public class UploadFilesActivity extends FileActivity implements LocalFileListFr
         mFileListFragment = (LocalFileListFragment) getSupportFragmentManager().findFragmentById(R.id.local_files_list);
 
         // Set input controllers
-        MaterialButton mCancelButton = findViewById(R.id.upload_files_btn_cancel);
-        mCancelButton.setTextColor(ThemeUtils.primaryColor(this, true));
-        mCancelButton.setOnClickListener(this);
+        MaterialButton cancelButton = findViewById(R.id.upload_files_btn_cancel);
+        cancelButton.setTextColor(ThemeUtils.primaryColor(this, true));
+        cancelButton.setOnClickListener(this);
+
+        MaterialButton uploadButton = findViewById(R.id.upload_files_btn_upload);
+        uploadButton.setBackgroundTintMode(PorterDuff.Mode.SRC_ATOP);
+        uploadButton.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(this, true)));
+        uploadButton.setTextColor(ThemeUtils.fontColor(this, false));
+        uploadButton.setOnClickListener(this);
+
+        sortButton = findViewById(R.id.sort_button);
+        FileSortOrder fileSortOrder = preferences.getSortOrderByType(FileSortOrder.Type.uploadFilesView);
+        sortButton.setText(DisplayUtils.getSortOrderStringId(fileSortOrder));
+        sortButton.setOnClickListener(l -> openSortingOrderDialogFragment(getSupportFragmentManager(), fileSortOrder));
+
+        MaterialButton switchButton = findViewById(R.id.switch_grid_view_button);
+        switchButton.setOnClickListener(l -> {
+            if (isGridView()) {
+                switchButton.setIcon(getResources().getDrawable(R.drawable.ic_view_module));
+                mFileListFragment.switchToListView();
+            } else {
+                switchButton.setIcon(getResources().getDrawable(R.drawable.ic_view_list));
+                mFileListFragment.switchToGridView();
 
-        MaterialButton mUploadBtn = findViewById(R.id.upload_files_btn_upload);
-        mUploadBtn.setBackgroundTintMode(PorterDuff.Mode.SRC_ATOP);
-        mUploadBtn.setBackgroundTintList(ColorStateList.valueOf(ThemeUtils.primaryColor(this, true)));
-        mUploadBtn.setTextColor(ThemeUtils.fontColor(this, false));
-        mUploadBtn.setOnClickListener(this);
+            }
+        });
 
         int localBehaviour = preferences.getUploaderBehaviour();
 
@@ -267,9 +286,6 @@ public class UploadFilesActivity extends FileActivity implements LocalFileListFr
             setSelectAllMenuItem(selectAll, mSelectAll);
         }
 
-        MenuItem switchView = menu.findItem(R.id.action_switch_view);
-        switchView.setTitle(isGridView() ? R.string.action_switch_list_view : R.string.action_switch_grid_view);
-
         int fontColor = ThemeUtils.appBarPrimaryFontColor(this);
         final MenuItem item = menu.findItem(R.id.action_search);
         mSearchView = (SearchView) MenuItemCompat.getActionView(item);
@@ -298,23 +314,6 @@ public class UploadFilesActivity extends FileActivity implements LocalFileListFr
                 mFileListFragment.selectAllFiles(item.isChecked());
                 break;
             }
-            case R.id.action_sort: {
-                openSortingOrderDialogFragment(getSupportFragmentManager(),
-                                               preferences.getSortOrderByType(FileSortOrder.Type.uploadFilesView));
-                break;
-            }
-            case R.id.action_switch_view: {
-                if (isGridView()) {
-                    item.setTitle(getString(R.string.action_switch_grid_view));
-                    item.setIcon(R.drawable.ic_view_module);
-                    mFileListFragment.switchToListView();
-                } else {
-                    item.setTitle(getApplicationContext().getString(R.string.action_switch_list_view));
-                    item.setIcon(R.drawable.ic_view_list);
-                    mFileListFragment.switchToGridView();
-                }
-                break;
-            }
             case R.id.action_choose_storage_path: {
                 showLocalStoragePathPickerDialog();
                 break;
@@ -336,6 +335,8 @@ public class UploadFilesActivity extends FileActivity implements LocalFileListFr
 
     @Override
     public void onSortingOrderChosen(FileSortOrder selection) {
+        preferences.setSortOrder(FileSortOrder.Type.uploadFilesView, selection);
+        sortButton.setText(DisplayUtils.getSortOrderStringId(selection));
         mFileListFragment.sortFiles(selection);
     }
 

+ 0 - 30
src/main/java/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -130,12 +130,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
 import static com.owncloud.android.datamodel.OCFile.ROOT_PATH;
 import static com.owncloud.android.utils.DisplayUtils.openSortingOrderDialogFragment;
-import static com.owncloud.android.utils.FileSortOrder.sort_a_to_z_id;
-import static com.owncloud.android.utils.FileSortOrder.sort_big_to_small_id;
-import static com.owncloud.android.utils.FileSortOrder.sort_new_to_old_id;
-import static com.owncloud.android.utils.FileSortOrder.sort_old_to_new_id;
-import static com.owncloud.android.utils.FileSortOrder.sort_small_to_big_id;
-import static com.owncloud.android.utils.FileSortOrder.sort_z_to_a_id;
 
 /**
  * A Fragment that lists all files and folders in a given path.
@@ -767,16 +761,10 @@ public class OCFileListFragment extends ExtendedListFragment implements
 
     @Override
     public void onPrepareOptionsMenu(@NonNull Menu menu) {
-
         if (mOriginalMenuItems.size() == 0) {
-            if (!(getActivity() instanceof FileDisplayActivity)) {
-                mOriginalMenuItems.add(menu.findItem(R.id.action_switch_view));
-                mOriginalMenuItems.add(menu.findItem(R.id.action_sort));
-            }
             mOriginalMenuItems.add(menu.findItem(R.id.action_search));
         }
 
-        changeGridIcon(menu);   // this is enough if the option stays out of the action bar
         MenuItem menuItemOrig;
 
         switch (menuItemAddRemoveValue) {
@@ -800,22 +788,17 @@ public class OCFileListFragment extends ExtendedListFragment implements
                 break;
 
             case REMOVE_SORT:
-                menu.removeItem(R.id.action_sort);
                 menu.removeItem(R.id.action_search);
                 mSortButton.setVisibility(View.GONE);
                 break;
 
             case REMOVE_GRID_AND_SORT:
-                menu.removeItem(R.id.action_sort);
-                menu.removeItem(R.id.action_switch_view);
                 menu.removeItem(R.id.action_search);
                 mSortButton.setVisibility(View.GONE);
                 mSwitchGridViewButton.setVisibility(View.GONE);
                 break;
 
             case REMOVE_ALL_EXCEPT_SEARCH:
-                menu.removeItem(R.id.action_sort);
-                menu.removeItem(R.id.action_switch_view);
                 mSwitchGridViewButton.setVisibility(View.VISIBLE);
                 mSortButton.setVisibility(View.VISIBLE);
                 break;
@@ -1391,19 +1374,6 @@ public class OCFileListFragment extends ExtendedListFragment implements
         return mAdapter;
     }
 
-    private void changeGridIcon(Menu menu) {
-        MenuItem menuItem = menu.findItem(R.id.action_switch_view);
-        if (menuItem != null) {
-            if (isGridViewPreferred(mFile)) {
-                menuItem.setTitle(getString(R.string.action_switch_list_view));
-                menuItem.setIcon(R.drawable.ic_view_list);
-            } else {
-                menuItem.setTitle(getString(R.string.action_switch_grid_view));
-                menuItem.setIcon(R.drawable.ic_view_module);
-            }
-        }
-    }
-
     private void setTitle() {
         // set title
 

+ 0 - 8
src/main/java/com/owncloud/android/ui/preview/PreviewTextFileFragment.java

@@ -287,14 +287,6 @@ public class PreviewTextFileFragment extends PreviewTextFragment {
             menu.findItem(R.id.action_unset_favorite)
         );
 
-        Boolean dualPane = getResources().getBoolean(R.bool.large_land_layout);
-
-        if (!dualPane) {
-            FileMenuFilter.hideMenuItems(menu.findItem(R.id.action_switch_view),
-                                         menu.findItem(R.id.action_sort)
-            );
-        }
-
         if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
             FileMenuFilter.hideMenuItem(menu.findItem(R.id.action_edit));
         }

+ 0 - 1
src/main/java/com/owncloud/android/ui/preview/PreviewTextStringFragment.java

@@ -145,7 +145,6 @@ public class PreviewTextStringFragment extends PreviewTextFragment {
         super.onPrepareOptionsMenu(menu);
 
         menu.findItem(R.id.action_sort).setVisible(false);
-        menu.findItem(R.id.action_switch_view).setVisible(false);
     }
 
     void loadAndShowTextPreview() {

+ 0 - 13
src/main/res/menu/activity_upload_files.xml

@@ -37,17 +37,4 @@
         android:title="@string/select_all"
         android:icon="@drawable/ic_select_all"
         app:showAsAction="never"/>
-    <item
-        android:id="@+id/action_sort"
-        android:icon="@drawable/ic_sort_variant"
-        android:orderInCategory="2"
-        app:showAsAction="never"
-        android:title="@string/actionbar_sort"
-        android:contentDescription="@string/actionbar_sort"/>
-    <item
-        android:id="@+id/action_switch_view"
-        android:icon="@drawable/ic_view_module"
-        android:orderInCategory="3"
-        app:showAsAction="never"
-        android:title="@string/action_switch_grid_view" />
 </menu>