fix crash in notifications fragment, save account only when notificationid changed
This commit is contained in:
parent
5131c44e93
commit
f72e08cae4
1 changed files with 14 additions and 10 deletions
|
@ -691,19 +691,23 @@ public class NotificationsFragment extends SFragment implements
|
||||||
private void saveNewestNotificationId(List<Notification> notifications) {
|
private void saveNewestNotificationId(List<Notification> notifications) {
|
||||||
|
|
||||||
AccountEntity account = accountManager.getActiveAccount();
|
AccountEntity account = accountManager.getActiveAccount();
|
||||||
BigInteger lastNoti = new BigInteger(account.getLastNotificationId());
|
if(account != null) {
|
||||||
|
BigInteger lastNoti = new BigInteger(account.getLastNotificationId());
|
||||||
|
|
||||||
for (Notification noti : notifications) {
|
for (Notification noti : notifications) {
|
||||||
BigInteger a = new BigInteger(noti.getId());
|
BigInteger a = new BigInteger(noti.getId());
|
||||||
if (isBiggerThan(a, lastNoti)) {
|
if (isBiggerThan(a, lastNoti)) {
|
||||||
lastNoti = a;
|
lastNoti = a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String lastNotificationId = lastNoti.toString();
|
||||||
|
if(!account.getLastNotificationId().equals(lastNotificationId)) {
|
||||||
|
Log.d(TAG, "saving newest noti id: " + lastNotificationId);
|
||||||
|
account.setLastNotificationId(lastNotificationId);
|
||||||
|
accountManager.saveAccount(account);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Log.d(TAG, "saving newest noti id: " + lastNoti);
|
|
||||||
|
|
||||||
account.setLastNotificationId(lastNoti.toString());
|
|
||||||
accountManager.saveAccount(account);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isBiggerThan(BigInteger newId, BigInteger lastShownNotificationId) {
|
private boolean isBiggerThan(BigInteger newId, BigInteger lastShownNotificationId) {
|
||||||
|
|
Loading…
Reference in a new issue