6969import com .bumptech .glide .request .target .CustomTarget ;
7070import com .bumptech .glide .request .target .Target ;
7171import com .bumptech .glide .request .transition .Transition ;
72- import com .google .android .material .snackbar .BaseTransientBottomBar ;
7372import com .google .android .material .snackbar .Snackbar ;
7473import com .nextcloud .android .sso .AccountImporter ;
7574import com .nextcloud .android .sso .api .NextcloudAPI ;
@@ -650,9 +649,10 @@ private boolean syncFinishedHandler() {
650649 }
651650
652651 private void showSnackbarNewItems (int newItemsCount ) {
653- Snackbar snackbar = Snackbar .make (findViewById (R .id .coordinator_layout ),
654- getResources ().getQuantityString (R .plurals .message_bar_new_articles_available , newItemsCount , newItemsCount ),
655- Snackbar .LENGTH_LONG );
652+ Snackbar snackbar = makeFABAwareSnackbar (
653+ getResources ().getQuantityString (R .plurals .message_bar_new_articles_available , newItemsCount , newItemsCount ),
654+ Snackbar .LENGTH_LONG
655+ );
656656 snackbar .setAction (getString (R .string .message_bar_reload ), mSnackbarListener );
657657 //snackbar.setActionTextColor(ContextCompat.getColor(this, R.color.accent_material_dark));
658658 // Setting android:TextColor to #000 in the light theme results in black on black
@@ -806,9 +806,10 @@ public void UpdateItemList() {
806806 }
807807
808808 private void showSnackbarNoNewItems () {
809- Snackbar snackbar = Snackbar . make ( findViewById ( R . id . coordinator_layout ),
809+ Snackbar snackbar = makeFABAwareSnackbar (
810810 getResources ().getString (R .string .message_bar_scroll_top ),
811- Snackbar .LENGTH_LONG );
811+ Snackbar .LENGTH_LONG
812+ );
812813 snackbar .setAction (getString (R .string .message_bar_reload ), mSnackbarListener );
813814 snackbar .show ();
814815 }
@@ -1013,20 +1014,12 @@ else if (itemId == R.id.menu_StartImageCaching) {
10131014 reloadCountNumbersOfSlidingPaneAdapter ();
10141015 ndf .refreshCurrentRssView ();
10151016
1016- var fab = ndf .binding .fabDoneAll ;
1017- var snackbar = Snackbar .make (
1018- ndf .getView (),
1019- getResources ().getQuantityString (
1020- R .plurals .marked_as_read_message ,
1021- deletedCount ,
1022- deletedCount
1023- ),
1024- BaseTransientBottomBar .LENGTH_SHORT
1025- );
1026- if (fab .getVisibility () == View .VISIBLE ) {
1027- snackbar .setAnchorView (fab );
1028- }
1029- snackbar .show ();
1017+ var snackbar = makeFABAwareSnackbar (getResources ().getQuantityString (
1018+ R .plurals .marked_as_read_message ,
1019+ deletedCount ,
1020+ deletedCount
1021+ ), Snackbar .LENGTH_SHORT );
1022+ snackbar .show ();
10301023 }
10311024 return true ;
10321025 } else if (itemId == R .id .menu_downloadMoreItems ) {
@@ -1044,7 +1037,21 @@ else if (itemId == R.id.menu_StartImageCaching) {
10441037 return super .onOptionsItemSelected (item );
10451038 }
10461039
1047- private void checkAndStartDownloadWebPagesForOfflineReadingPermission () {
1040+ private Snackbar makeFABAwareSnackbar (String text , int duration ) {
1041+ NewsReaderDetailFragment ndf = getNewsReaderDetailFragment ();
1042+ var fab = ndf .binding .fabDoneAll ;
1043+ var snackbar = Snackbar .make (
1044+ binding .coordinatorLayout ,
1045+ text ,
1046+ duration
1047+ );
1048+ if (fab .getVisibility () == View .VISIBLE ) {
1049+ snackbar .setAnchorView (fab );
1050+ }
1051+ return snackbar ;
1052+ }
1053+
1054+ private void checkAndStartDownloadWebPagesForOfflineReadingPermission () {
10481055 if (Build .VERSION .SDK_INT >= Build .VERSION_CODES .M ) {
10491056 if (checkSelfPermission (Manifest .permission .WRITE_EXTERNAL_STORAGE ) == PackageManager .PERMISSION_GRANTED &&
10501057 checkSelfPermission (Manifest .permission .FOREGROUND_SERVICE ) == PackageManager .PERMISSION_GRANTED ) {
0 commit comments