Skip to content

Commit 8ddf103

Browse files
Merge pull request #1612 from nextcloud/fixFABOverlap
Streamline FAB-aware Snackbar usage
2 parents f7be2da + 491d231 commit 8ddf103

2 files changed

Lines changed: 29 additions & 22 deletions

File tree

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/NewsReaderListActivity.java

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
import com.bumptech.glide.request.target.CustomTarget;
7070
import com.bumptech.glide.request.target.Target;
7171
import com.bumptech.glide.request.transition.Transition;
72-
import com.google.android.material.snackbar.BaseTransientBottomBar;
7372
import com.google.android.material.snackbar.Snackbar;
7473
import com.nextcloud.android.sso.AccountImporter;
7574
import 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) {

News-Android-App/src/main/java/de/luhmer/owncloudnewsreader/database/DatabaseConnectionOrm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ public int markAllItemsAsReadForCurrentView() {
310310

311311
WhereCondition whereCondition = new WhereCondition.StringCondition(RssItemDao.Properties.Id.columnName + " IN " +
312312
"(SELECT " + CurrentRssItemViewDao.Properties.RssItemId.columnName + " FROM " + CurrentRssItemViewDao.TABLENAME + ") AND " +
313-
RssItemDao.Properties.Read_temp + "= 0");
313+
RssItemDao.Properties.Read_temp.columnName + "= 0");
314314

315315
int iterationCount = 0;
316316
List<RssItem> rssItemList;

0 commit comments

Comments
 (0)