Browse Source

Updated seen on resuming unified inbox

main
M66B 6 years ago
parent
commit
00ebeccb81
3 changed files with 35 additions and 33 deletions
  1. +2
    -31
      app/src/main/java/eu/faircode/email/ActivityView.java
  2. +31
    -0
      app/src/main/java/eu/faircode/email/FragmentMessages.java
  3. +2
    -2
      app/src/main/java/eu/faircode/email/ServiceSynchronize.java

+ 2
- 31
app/src/main/java/eu/faircode/email/ActivityView.java View File

@ -87,8 +87,9 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
private static final int ATTACHMENT_BUFFER_SIZE = 8192; // bytes
static final int REQUEST_VIEW = 1;
static final int REQUEST_SERVICE = 1;
static final int REQUEST_UNSEEN = 2;
static final int REQUEST_ERROR = 3;
static final int REQUEST_ATTACHMENT = 1;
@ -456,37 +457,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
if ("notification".equals(action)) {
intent.setAction(null);
setIntent(intent);
newMessages = true;
Bundle args = new Bundle();
args.putLong("time", new Date().getTime());
new SimpleTask<Void>() {
@Override
protected Void onLoad(Context context, Bundle args) {
long time = args.getLong("time");
DB db = DB.getInstance(context);
try {
db.beginTransaction();
for (EntityAccount account : db.account().getAccounts(true))
db.account().setAccountSeenUntil(account.id, time);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return null;
}
@Override
protected void onException(Bundle args, Throwable ex) {
Helper.unexpectedError(ActivityView.this, ex);
}
}.load(this, args);
}
}


+ 31
- 0
app/src/main/java/eu/faircode/email/FragmentMessages.java View File

@ -511,6 +511,37 @@ public class FragmentMessages extends FragmentEx {
public void onResume() {
super.onResume();
grpSupport.setVisibility(Helper.isPro(getContext()) ? View.GONE : View.VISIBLE);
if (viewType == AdapterMessage.ViewType.UNIFIED) {
Bundle args = new Bundle();
args.putLong("time", new Date().getTime());
new SimpleTask<Void>() {
@Override
protected Void onLoad(Context context, Bundle args) {
long time = args.getLong("time");
DB db = DB.getInstance(context);
try {
db.beginTransaction();
for (EntityAccount account : db.account().getAccounts(true))
db.account().setAccountSeenUntil(account.id, time);
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
return null;
}
@Override
protected void onException(Bundle args, Throwable ex) {
Helper.unexpectedError(getContext(), ex);
}
}.load(this, args);
}
}
@Override


+ 2
- 2
app/src/main/java/eu/faircode/email/ServiceSynchronize.java View File

@ -315,7 +315,7 @@ public class ServiceSynchronize extends LifecycleService {
Intent intent = new Intent(this, ActivityView.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(
this, ActivityView.REQUEST_VIEW, intent, PendingIntent.FLAG_UPDATE_CURRENT);
this, ActivityView.REQUEST_SERVICE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Build notification
Notification.Builder builder;
@ -477,7 +477,7 @@ public class ServiceSynchronize extends LifecycleService {
Intent intent = new Intent(this, ActivityView.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(
this, ActivityView.REQUEST_VIEW, intent, PendingIntent.FLAG_UPDATE_CURRENT);
this, ActivityView.REQUEST_ERROR, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Build notification
Notification.Builder builder;


Loading…
Cancel
Save