|
@@ -183,6 +183,7 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
if (savedInstanceState != null) {
|
|
|
currentSearchType = Parcels.unwrap(savedInstanceState.getParcelable(KEY_CURRENT_SEARCH_TYPE));
|
|
|
searchEvent = Parcels.unwrap(savedInstanceState.getParcelable(OCFileListFragment.SEARCH_EVENT));
|
|
|
+ setEmptyView(searchEvent);
|
|
|
}
|
|
|
searchFragment = currentSearchType != null;
|
|
|
}
|
|
@@ -1254,6 +1255,39 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
|
|
|
}
|
|
|
|
|
|
+ private void setEmptyView(SearchEvent event) {
|
|
|
+
|
|
|
+ if (event != null) {
|
|
|
+ if (event.getSearchType().equals(SearchOperation.SearchType.FILE_SEARCH)) {
|
|
|
+ setEmptyListMessage(SearchType.FILE_SEARCH);
|
|
|
+ } else if (event.getSearchType().equals(SearchOperation.SearchType.CONTENT_TYPE_SEARCH)) {
|
|
|
+ if (event.getSearchQuery().equals("image/%")) {
|
|
|
+ setEmptyListMessage(SearchType.PHOTO_SEARCH);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_GRID_AND_SORT;
|
|
|
+ } else if (event.getSearchQuery().equals("video/%")) {
|
|
|
+ setEmptyListMessage(SearchType.VIDEO_SEARCH);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SEARCH;
|
|
|
+ }
|
|
|
+ } else if (event.getSearchType().equals(SearchOperation.SearchType.FAVORITE_SEARCH)) {
|
|
|
+ setEmptyListMessage(SearchType.FAVORITE_SEARCH);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
+ } else if (event.getSearchType().equals(SearchOperation.SearchType.RECENTLY_ADDED_SEARCH)) {
|
|
|
+ setEmptyListMessage(SearchType.RECENTLY_ADDED_SEARCH);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
+ } else if (event.getSearchType().equals(SearchOperation.SearchType.RECENTLY_MODIFIED_SEARCH)) {
|
|
|
+ setEmptyListMessage(SearchType.RECENTLY_MODIFIED_SEARCH);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
+ } else if (event.getSearchType().equals(SearchOperation.SearchType.SHARED_SEARCH)) {
|
|
|
+ setEmptyListMessage(SearchType.SHARED_FILTER);
|
|
|
+ menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SEARCH;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!currentSearchType.equals(SearchType.FILE_SEARCH) && getActivity() != null) {
|
|
|
+ getActivity().invalidateOptionsMenu();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Subscribe(threadMode = ThreadMode.MAIN)
|
|
|
public void onMessageEvent(ChangeMenuEvent changeMenuEvent) {
|
|
|
menuItemAddRemoveValue = MenuItemAddRemove.ADD_GRID_AND_SORT_WITH_SEARCH;
|
|
@@ -1302,7 +1336,7 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
}
|
|
|
|
|
|
@Subscribe(threadMode = ThreadMode.BACKGROUND)
|
|
|
- public void onMessageEvent(SearchEvent event) {
|
|
|
+ public void onMessageEvent(final SearchEvent event) {
|
|
|
searchFragment = true;
|
|
|
setEmptyListLoadingMessage();
|
|
|
mAdapter.setData(new ArrayList<>(), SearchType.NO_SEARCH, mContainerActivity.getStorageManager());
|
|
@@ -1387,6 +1421,20 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
}
|
|
|
};
|
|
|
|
|
|
+ if (currentSearchType.equals(SearchType.PHOTO_SEARCH)) {
|
|
|
+ new Handler(Looper.getMainLooper()).post(new Runnable() {
|
|
|
+ @Override
|
|
|
+ public void run() {
|
|
|
+ switchToGridView();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else if (currentSearchType.equals(SearchType.NO_SEARCH) || currentSearchType.equals(
|
|
|
+ SearchType.REGULAR_FILTER)) {
|
|
|
+ new Handler(Looper.getMainLooper()).post(switchViewsRunnable);
|
|
|
+ } else {
|
|
|
+ new Handler(Looper.getMainLooper()).post(switchViewsRunnable);
|
|
|
+ }
|
|
|
+
|
|
|
final RemoteOperation remoteOperation;
|
|
|
if (!currentSearchType.equals(SearchType.SHARED_FILTER)) {
|
|
|
remoteOperation = new SearchOperation(event.getSearchQuery(), event.getSearchType());
|
|
@@ -1409,7 +1457,11 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
|
|
|
if (remoteOperationResult.isSuccess() && remoteOperationResult.getData() != null
|
|
|
&& !isCancelled() && searchFragment) {
|
|
|
- mAdapter.setData(remoteOperationResult.getData(), currentSearchType, storageManager);
|
|
|
+ if (remoteOperationResult.getData() == null || remoteOperationResult.getData().size() == 0) {
|
|
|
+ setEmptyView(event);
|
|
|
+ } else {
|
|
|
+ mAdapter.setData(remoteOperationResult.getData(), currentSearchType, storageManager);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return remoteOperationResult.isSuccess();
|
|
@@ -1428,48 +1480,6 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
|
|
|
|
|
|
remoteOperationAsyncTask.execute(true);
|
|
|
|
|
|
- if (event.getSearchType().equals(SearchOperation.SearchType.FILE_SEARCH)) {
|
|
|
- setEmptyListMessage(SearchType.FILE_SEARCH);
|
|
|
-
|
|
|
- } else if (event.getSearchType().equals(SearchOperation.SearchType.CONTENT_TYPE_SEARCH)) {
|
|
|
- if (event.getSearchQuery().equals("image/%")) {
|
|
|
- setEmptyListMessage(SearchType.PHOTO_SEARCH);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_GRID_AND_SORT;
|
|
|
- } else if (event.getSearchQuery().equals("video/%")) {
|
|
|
- setEmptyListMessage(SearchType.VIDEO_SEARCH);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SEARCH;
|
|
|
- }
|
|
|
- } else if (event.getSearchType().equals(SearchOperation.SearchType.FAVORITE_SEARCH)) {
|
|
|
- setEmptyListMessage(SearchType.FAVORITE_SEARCH);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
- } else if (event.getSearchType().equals(SearchOperation.SearchType.RECENTLY_ADDED_SEARCH)) {
|
|
|
- setEmptyListMessage(SearchType.RECENTLY_ADDED_SEARCH);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
- } else if (event.getSearchType().equals(SearchOperation.SearchType.RECENTLY_MODIFIED_SEARCH)) {
|
|
|
- setEmptyListMessage(SearchType.RECENTLY_MODIFIED_SEARCH);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SORT;
|
|
|
- } else if (event.getSearchType().equals(SearchOperation.SearchType.SHARED_SEARCH)) {
|
|
|
- setEmptyListMessage(SearchType.SHARED_FILTER);
|
|
|
- menuItemAddRemoveValue = MenuItemAddRemove.REMOVE_SEARCH;
|
|
|
- }
|
|
|
-
|
|
|
- if (!currentSearchType.equals(SearchType.FILE_SEARCH) && getActivity() != null) {
|
|
|
- getActivity().invalidateOptionsMenu();
|
|
|
- }
|
|
|
-
|
|
|
- if (currentSearchType.equals(SearchType.PHOTO_SEARCH)) {
|
|
|
- new Handler(Looper.getMainLooper()).post(new Runnable() {
|
|
|
- @Override
|
|
|
- public void run() {
|
|
|
- switchToGridView();
|
|
|
- }
|
|
|
- });
|
|
|
- } else if (currentSearchType.equals(SearchType.NO_SEARCH) || currentSearchType.equals(
|
|
|
- SearchType.REGULAR_FILTER)) {
|
|
|
- new Handler(Looper.getMainLooper()).post(switchViewsRunnable);
|
|
|
- } else {
|
|
|
- new Handler(Looper.getMainLooper()).post(switchViewsRunnable);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
private void setTitle(@StringRes final int title) {
|