Browse Source

Merge pull request #723 from nextcloud/more-search-fixes

Various search fixes
Andy Scherzinger 8 years ago
parent
commit
61b7cbd5c3

+ 2 - 2
AndroidManifest.xml

@@ -20,8 +20,8 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.owncloud.android"
-    android:versionCode="10040203"
-    android:versionName="1.4.2 RC3">
+    android:versionCode="10040204"
+    android:versionName="1.4.2 RC4">
 
     <uses-sdk
         android:minSdkVersion="14"

+ 4 - 4
src/com/owncloud/android/ui/activity/FolderPickerActivity.java

@@ -235,7 +235,7 @@ public class FolderPickerActivity extends FileActivity implements FileFragment.C
         Log_OC.e(TAG, "onResume() start");
         
         // refresh list of files
-        refreshListOfFilesFragment();
+        refreshListOfFilesFragment(false);
 
         // Listen for sync messages
         IntentFilter syncIntentFilter = new IntentFilter(FileSyncAdapter.EVENT_FULL_SYNC_START);
@@ -309,10 +309,10 @@ public class FolderPickerActivity extends FileActivity implements FileFragment.C
         return null;
     }
     
-    protected void refreshListOfFilesFragment() {
+    public void refreshListOfFilesFragment(boolean fromSearch) {
         OCFileListFragment fileListFragment = getListOfFilesFragment();
         if (fileListFragment != null) {
-            fileListFragment.listDirectory(false, false);
+            fileListFragment.listDirectory(false, fromSearch);
         }
     }
 
@@ -405,7 +405,7 @@ public class FolderPickerActivity extends FileActivity implements FileFragment.C
             ) {
         
         if (result.isSuccess()) {
-            refreshListOfFilesFragment();
+            refreshListOfFilesFragment(false);
         } else {
             try {
                 Toast msg = Toast.makeText(FolderPickerActivity.this, 

+ 24 - 10
src/com/owncloud/android/ui/fragment/ExtendedListFragment.java

@@ -55,7 +55,9 @@ import com.owncloud.android.R;
 import com.owncloud.android.lib.common.utils.Log_OC;
 import com.owncloud.android.ui.ExtendedListView;
 import com.owncloud.android.ui.activity.FileDisplayActivity;
+import com.owncloud.android.ui.activity.FolderPickerActivity;
 import com.owncloud.android.ui.activity.OnEnforceableRefreshListener;
+import com.owncloud.android.ui.activity.UploadFilesActivity;
 import com.owncloud.android.ui.adapter.FileListListAdapter;
 import com.owncloud.android.ui.adapter.LocalFileListAdapter;
 
@@ -171,12 +173,19 @@ public class ExtendedListFragment extends Fragment
         final Handler handler = new Handler();
 
         DisplayMetrics displaymetrics = new DisplayMetrics();
-        getActivity().getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
-        int width = displaymetrics.widthPixels;
-        if (getResources().getConfiguration().orientation == ORIENTATION_LANDSCAPE) {
-            searchView.setMaxWidth((int)(width * 0.4));
-        } else {
-            searchView.setMaxWidth((int)(width * 0.7));
+        Activity activity;
+        if ((activity = getActivity()) != null) {
+            activity.getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
+            int width = displaymetrics.widthPixels;
+            if (getResources().getConfiguration().orientation == ORIENTATION_LANDSCAPE) {
+                searchView.setMaxWidth((int) (width * 0.4));
+            } else {
+                if (activity instanceof FolderPickerActivity) {
+                    searchView.setMaxWidth((int) (width * 0.8));
+                } else {
+                    searchView.setMaxWidth((int) (width * 0.7));
+                }
+            }
         }
 
         searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
@@ -189,7 +198,9 @@ public class ExtendedListFragment extends Fragment
                 handler.postDelayed(new Runnable() {
                     @Override
                     public void run() {
-                        setFabEnabled(!hasFocus);
+                        if (getActivity() != null && !(getActivity() instanceof FolderPickerActivity)) {
+                            setFabEnabled(!hasFocus);
+                        }
                     }
                 }, 100);
             }
@@ -273,9 +284,11 @@ public class ExtendedListFragment extends Fragment
             if ((activity = getActivity()) != null) {
                 if (activity instanceof FileDisplayActivity) {
                     ((FileDisplayActivity) activity).refreshListOfFilesFragment(true);
-                } else {
+                } else if (activity instanceof UploadFilesActivity){
                     LocalFileListAdapter localFileListAdapter = (LocalFileListAdapter) mAdapter;
                     localFileListAdapter.filter(query);
+                } else if (activity instanceof FolderPickerActivity) {
+                    ((FolderPickerActivity)activity).refreshListOfFilesFragment(true);
                 }
 
             }
@@ -469,8 +482,9 @@ public class ExtendedListFragment extends Fragment
         if (searchView != null) {
             searchView.onActionViewCollapsed();
 
-            if (getActivity() != null) {
-                FileDisplayActivity fileDisplayActivity = (FileDisplayActivity) getActivity();
+            Activity activity;
+            if ((activity = getActivity()) != null && activity instanceof FileDisplayActivity) {
+                FileDisplayActivity fileDisplayActivity = (FileDisplayActivity) activity;
                 fileDisplayActivity.setDrawerIndicatorEnabled(fileDisplayActivity.isDrawerIndicatorAvailable());
             }
         }

+ 4 - 2
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -22,6 +22,7 @@
  */
 package com.owncloud.android.ui.fragment;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
@@ -795,8 +796,9 @@ public class OCFileListFragment extends ExtendedListFragment implements Extended
                     public void run() {
                         searchView.setQuery("", false);
                         searchView.onActionViewCollapsed();
-                        if (getActivity() != null) {
-                            FileDisplayActivity fileDisplayActivity = (FileDisplayActivity) getActivity();
+                        Activity activity;
+                        if ((activity = getActivity()) != null && activity instanceof FileDisplayActivity) {
+                            FileDisplayActivity fileDisplayActivity = (FileDisplayActivity) activity;
                             if (getCurrentFile() != null) {
                                 fileDisplayActivity.setDrawerIndicatorEnabled(fileDisplayActivity.isRoot(getCurrentFile()));
                             }