Draft new search

This commit is contained in:
M66B
2020-04-09 17:50:29 +02:00
parent b0ae99b216
commit adb6d9658e
13 changed files with 637 additions and 476 deletions

View File

@@ -71,7 +71,6 @@ public class FragmentAccounts extends FragmentBase {
private FloatingActionButton fabCompose;
private ObjectAnimator animator;
private String searching = null;
private AdapterAccount adapter;
private static final int REQUEST_IMPORT_OAUTH = 1;
@@ -247,19 +246,10 @@ public class FragmentAccounts extends FragmentBase {
return view;
}
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString("fair:searching", searching);
super.onSaveInstanceState(outState);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if (savedInstanceState != null)
searching = savedInstanceState.getString("fair:searching");
DB db = DB.getInstance(getContext());
// Observe accounts
@@ -294,23 +284,6 @@ public class FragmentAccounts extends FragmentBase {
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_accounts, menu);
MenuItem menuSearch = menu.findItem(R.id.menu_search);
SearchViewEx searchView = (SearchViewEx) menuSearch.getActionView();
searchView.setup(getViewLifecycleOwner(), menuSearch, searching, new SearchViewEx.ISearch() {
@Override
public void onSave(String query) {
searching = query;
}
@Override
public void onSearch(String query) {
FragmentMessages.search(
getContext(), getViewLifecycleOwner(), getParentFragmentManager(),
-1, -1, false, query);
}
});
super.onCreateOptionsMenu(menu, inflater);
}
@@ -324,6 +297,9 @@ public class FragmentAccounts extends FragmentBase {
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_search:
onMenuSearch();
return true;
case R.id.menu_force_sync:
onMenuForceSync();
return true;
@@ -332,6 +308,14 @@ public class FragmentAccounts extends FragmentBase {
}
}
private void onMenuSearch() {
Bundle args = new Bundle();
FragmentDialogSearch fragment = new FragmentDialogSearch();
fragment.setArguments(args);
fragment.show(getParentFragmentManager(), "search");
}
private void onMenuForceSync() {
ServiceSynchronize.reload(getContext(), null, true, "force sync");
ToastEx.makeText(getContext(), R.string.title_executing, Toast.LENGTH_LONG).show();