Skip to content

Commit ce29d12

Browse files
authored
Merge pull request #1600 from michaelschattgen/fix/import-entries-padding
Fix obstructing snackbar padding
2 parents 6bbb42f + a4812c5 commit ce29d12

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

app/src/main/java/com/beemdevelopment/aegis/ui/ImportEntriesActivity.java

+31-5
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
public class ImportEntriesActivity extends AegisActivity {
5353
private View _view;
5454
private Menu _menu;
55+
private RecyclerView _entriesView;
5556
private ImportEntriesAdapter _adapter;
5657
private FabScrollHelper _fabScrollHelper;
5758

@@ -74,8 +75,8 @@ protected void onCreate(Bundle savedInstanceState) {
7475
bar.setDisplayHomeAsUpEnabled(true);
7576

7677
_adapter = new ImportEntriesAdapter();
77-
RecyclerView entriesView = findViewById(R.id.list_entries);
78-
entriesView.addOnScrollListener(new RecyclerView.OnScrollListener() {
78+
_entriesView = findViewById(R.id.list_entries);
79+
_entriesView.addOnScrollListener(new RecyclerView.OnScrollListener() {
7980
@Override
8081
public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
8182
super.onScrolled(recyclerView, dx, dy);
@@ -84,9 +85,9 @@ public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
8485
});
8586

8687
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
87-
entriesView.setLayoutManager(layoutManager);
88-
entriesView.setAdapter(_adapter);
89-
entriesView.setNestedScrollingEnabled(false);
88+
_entriesView.setLayoutManager(layoutManager);
89+
_entriesView.setAdapter(_adapter);
90+
_entriesView.setNestedScrollingEnabled(false);
9091

9192
FloatingActionButton fab = findViewById(R.id.fab);
9293
fab.setOnClickListener(v -> {
@@ -358,6 +359,31 @@ private void findDuplicates(List<ImportEntry> importEntries) {
358359

359360
_adapter.setCheckboxStates(duplicateEntries, false);
360361
Snackbar snackbar = Snackbar.make(_view, getResources().getQuantityString(R.plurals.import_duplicate_toast, duplicateEntries.size(), duplicateEntries.size()), Snackbar.LENGTH_INDEFINITE);
362+
snackbar.addCallback(new Snackbar.Callback() {
363+
@Override
364+
public void onShown(Snackbar sb) {
365+
int snackbarHeight = sb.getView().getHeight();
366+
367+
_entriesView.setPadding(
368+
_entriesView.getPaddingLeft(),
369+
_entriesView.getPaddingTop(),
370+
_entriesView.getPaddingRight(),
371+
_entriesView.getPaddingBottom() + snackbarHeight * 2
372+
);
373+
}
374+
375+
@Override
376+
public void onDismissed(Snackbar sb, int event) {
377+
int snackbarHeight = sb.getView().getHeight();
378+
379+
_entriesView.setPadding(
380+
_entriesView.getPaddingLeft(),
381+
_entriesView.getPaddingTop(),
382+
_entriesView.getPaddingRight(),
383+
_entriesView.getPaddingBottom() - snackbarHeight * 2
384+
);
385+
}
386+
});
361387
snackbar.setAction(R.string.undo, new View.OnClickListener() {
362388
@Override
363389
public void onClick(View v) {

app/src/main/res/layout/activity_import_entries.xml

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
android:id="@+id/list_entries"
2424
android:layout_width="match_parent"
2525
android:layout_height="match_parent"
26-
android:paddingBottom="60dp"
2726
android:clipToPadding="false"
2827
android:scrollbars="vertical"
2928
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

0 commit comments

Comments
 (0)