diff --git a/app/src/main/java/eu/faircode/email/AdapterOperation.java b/app/src/main/java/eu/faircode/email/AdapterOperation.java index 82f0589224..1d5c8154b5 100644 --- a/app/src/main/java/eu/faircode/email/AdapterOperation.java +++ b/app/src/main/java/eu/faircode/email/AdapterOperation.java @@ -20,6 +20,7 @@ package eu.faircode.email; */ import android.content.Context; +import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; @@ -35,6 +36,7 @@ import java.util.List; import androidx.annotation.NonNull; import androidx.lifecycle.LifecycleOwner; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.ListUpdateCallback; import androidx.recyclerview.widget.RecyclerView; @@ -48,7 +50,7 @@ public class AdapterOperation extends RecyclerView.Adapter() { + @Override + protected EntityMessage onLoad(Context context, Bundle args) { + long id = args.getLong("id"); + return DB.getInstance(context).message().getMessage(id); + } + + @Override + protected void onLoaded(Bundle args, EntityMessage message) { + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); + lbm.sendBroadcast( + new Intent(ActivityView.ACTION_VIEW_THREAD) + .putExtra("account", message.account) + .putExtra("thread", message.thread) + .putExtra("id", message.id) + .putExtra("found", message.ui_found)); + } + }.load(context, owner, args); + } + @Override public boolean onLongClick(View view) { int pos = getAdapterPosition();