Skip to content

Commit

Permalink
#630 Search - Handle soft keyboard state
Browse files Browse the repository at this point in the history
Signed-off-by: Stefan Niedermann <info@niedermann.it>
  • Loading branch information
stefan-niedermann committed Mar 28, 2021
1 parent febf3ee commit 2d35173
Showing 1 changed file with 22 additions and 13 deletions.
35 changes: 22 additions & 13 deletions app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -403,15 +403,8 @@ public void onPageScrollStateChanged(int state) {
distinctUntilChanged(map(filterViewModel.getFilterInformation(), FilterInformation::hasActiveFilter))
.observe(this, (hasActiveFilter) -> binding.filterIndicator.setVisibility(hasActiveFilter ? View.VISIBLE : View.GONE));
// binding.archivedCards.setOnClickListener((v) -> startActivity(ArchivedCardsActvitiy.createIntent(this, mainViewModel.getCurrentAccount(), mainViewModel.getCurrentBoardLocalId(), mainViewModel.currentBoardHasEditPermission())));
binding.enableSearch.setOnClickListener((v) -> {
binding.toolbar.setVisibility(View.GONE);
binding.searchToolbar.setVisibility(View.VISIBLE);
binding.searchToolbar.setNavigationOnClickListener(v1 -> onBackPressed());
binding.enableSearch.setVisibility(View.GONE);
binding.filterText.requestFocus();
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(binding.filterText, InputMethodManager.SHOW_IMPLICIT);
});
binding.enableSearch.setOnClickListener((v) -> showFilterTextToolbar());
binding.toolbar.setOnClickListener((v) -> showFilterTextToolbar());


binding.swipeRefreshLayout.setOnRefreshListener(() -> {
Expand Down Expand Up @@ -945,15 +938,31 @@ public void onBackPressed() {
if (binding.drawerLayout.isDrawerOpen(GravityCompat.START)) {
binding.drawerLayout.closeDrawer(GravityCompat.START);
} else if (binding.searchToolbar.getVisibility() == View.VISIBLE) {
binding.filterText.setText(null);
binding.searchToolbar.setVisibility(View.GONE);
binding.enableSearch.setVisibility(View.VISIBLE);
binding.toolbar.setVisibility(View.VISIBLE);
hideFilterTextToolbar();
} else {
super.onBackPressed();
}
}

private void showFilterTextToolbar() {
binding.toolbar.setVisibility(View.GONE);
binding.searchToolbar.setVisibility(View.VISIBLE);
binding.searchToolbar.setNavigationOnClickListener(v1 -> onBackPressed());
binding.enableSearch.setVisibility(View.GONE);
binding.filterText.requestFocus();
final InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(binding.filterText, InputMethodManager.SHOW_IMPLICIT);
}

private void hideFilterTextToolbar() {
binding.filterText.setText(null);
final InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
binding.searchToolbar.setVisibility(View.GONE);
binding.enableSearch.setVisibility(View.VISIBLE);
binding.toolbar.setVisibility(View.VISIBLE);
}

private void registerAutoSyncOnNetworkAvailable() {
final ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkRequest.Builder builder = new NetworkRequest.Builder();
Expand Down

0 comments on commit 2d35173

Please sign in to comment.