Don't hide "Add entry" button when DPAD key is pressed

pull/904/head
CristianAUnisa 3 years ago committed by Alexander Bakker
parent b8fa67304a
commit ca49cd4df5

@ -10,9 +10,11 @@ import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Settings;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.Toast;
@ -73,6 +75,7 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
private boolean _loaded;
private boolean _searchSubmitted;
private boolean _isRecreated;
private boolean _isDPadPressed;
private List<VaultEntry> _selectedEntries;
private ActionMode _actionMode;
@ -92,6 +95,8 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
setContentView(R.layout.activity_main);
setSupportActionBar(findViewById(R.id.toolbar));
_loaded = false;
_isDPadPressed = false;
if (savedInstanceState != null) {
_isRecreated = true;
@ -208,6 +213,21 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
_isDPadPressed = isDPadKey(keyCode);
return super.onKeyDown(keyCode, event);
}
private static boolean isDPadKey(int keyCode) {
return keyCode == KeyEvent.KEYCODE_DPAD_DOWN || keyCode == KeyEvent.KEYCODE_DPAD_UP || keyCode == KeyEvent.KEYCODE_DPAD_RIGHT || keyCode == KeyEvent.KEYCODE_DPAD_LEFT;
}
@Override
public void onEntryListTouch() {
_isDPadPressed = false;
}
private void onPreferencesResult(Intent data) {
// refresh the entire entry list if needed
if (_loaded) {
@ -707,7 +727,9 @@ public class MainActivity extends AegisActivity implements EntryListView.Listene
@Override
public void onScroll(int dx, int dy) {
_fabScrollHelper.onScroll(dx, dy);
if (!_isDPadPressed) {
_fabScrollHelper.onScroll(dx, dy);
}
}
@Override

@ -101,6 +101,11 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener {
}
});
_recyclerView.setOnTouchListener((v, event) -> {
_listener.onEntryListTouch();
return false;
});
// set up icon preloading
_preloadSizeProvider = new ViewPreloadSizeProvider<>();
IconPreloadProvider modelProvider = new IconPreloadProvider();
@ -511,6 +516,7 @@ public class EntryListView extends Fragment implements EntryAdapter.Listener {
void onDeselect(VaultEntry entry);
void onListChange();
void onSaveGroupFilter(List<String> groupFilter);
void onEntryListTouch();
}
private class VerticalSpaceItemDecoration extends RecyclerView.ItemDecoration {

Loading…
Cancel
Save