瀏覽代碼

Cleaned a bit the code + Fixed cross display bug

Kilian Périsset 5 年之前
父節點
當前提交
579140b7c4

+ 5 - 13
src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java

@@ -790,13 +790,10 @@ public class FileDisplayActivity extends FileActivity
 
 
         //focus the SearchView
         //focus the SearchView
         if (!TextUtils.isEmpty(searchQuery)) {
         if (!TextUtils.isEmpty(searchQuery)) {
-            searchView.post(new Runnable() {
-                @Override
-                public void run() {
-                    searchView.setIconified(false);
-                    searchView.setQuery(searchQuery, true);
-                    searchView.clearFocus();
-                }
+            searchView.post(() -> {
+                searchView.setIconified(false);
+                searchView.setQuery(searchQuery, true);
+                searchView.clearFocus();
             });
             });
         }
         }
 
 
@@ -815,12 +812,7 @@ public class FileDisplayActivity extends FileActivity
                     getListOfFilesFragment().refreshDirectory();
                     getListOfFilesFragment().refreshDirectory();
                 }
                 }
             } else {
             } else {
-                searchView.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        searchView.setQuery("", true);
-                    }
-                });
+                searchView.post(() -> searchView.setQuery("", true));
             }
             }
             return true;
             return true;
         });
         });

+ 8 - 7
src/main/java/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -219,23 +219,26 @@ public class ExtendedListFragment extends Fragment implements
             }
             }
         }
         }
 
 
-            searchView.setOnQueryTextFocusChangeListener((v, hasFocus) -> handler.postDelayed(() -> {
+        searchView.setOnQueryTextFocusChangeListener((v, hasFocus) -> handler.post(() -> {
             if (getActivity() != null && !(getActivity() instanceof FolderPickerActivity)
             if (getActivity() != null && !(getActivity() instanceof FolderPickerActivity)
                 && !(getActivity() instanceof UploadFilesActivity)) {
                 && !(getActivity() instanceof UploadFilesActivity)) {
                 setFabVisible(!hasFocus);
                 setFabVisible(!hasFocus);
+                if (TextUtils.isEmpty(searchView.getQuery())) {
+                    closeButton.setVisibility(View.INVISIBLE);
+                }
             }
             }
-        }, 100));
+        }));
 
 
         closeButton.setOnClickListener(view -> {
         closeButton.setOnClickListener(view -> {
             searchView.setQuery("", true);
             searchView.setQuery("", true);
+            searchView.requestFocus();
             searchView.onActionViewExpanded();
             searchView.onActionViewExpanded();
-            theTextArea.requestFocus();
 
 
             InputMethodManager inputMethodManager =
             InputMethodManager inputMethodManager =
                 (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                 (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
 
 
             if (inputMethodManager != null) {
             if (inputMethodManager != null) {
-                inputMethodManager.showSoftInput(searchView, InputMethodManager.SHOW_FORCED);
+                inputMethodManager.showSoftInput(searchView, InputMethodManager.SHOW_IMPLICIT);
             }
             }
         });
         });
 
 
@@ -282,11 +285,9 @@ public class ExtendedListFragment extends Fragment implements
     public boolean onQueryTextChange(final String query) {
     public boolean onQueryTextChange(final String query) {
         // After 300 ms, set the query
         // After 300 ms, set the query
 
 
-
+        closeButton.setVisibility(View.VISIBLE);
         if (query.isEmpty()) {
         if (query.isEmpty()) {
             closeButton.setVisibility(View.INVISIBLE);
             closeButton.setVisibility(View.INVISIBLE);
-        } else {
-            closeButton.setVisibility(View.VISIBLE);
         }
         }
 
 
         if (getFragmentManager() != null && getFragmentManager().
         if (getFragmentManager() != null && getFragmentManager().