diff --git a/app/src/main/java/app/fedilab/android/activities/ContextActivity.java b/app/src/main/java/app/fedilab/android/activities/ContextActivity.java index 61732dcfb..28aff52a9 100644 --- a/app/src/main/java/app/fedilab/android/activities/ContextActivity.java +++ b/app/src/main/java/app/fedilab/android/activities/ContextActivity.java @@ -88,15 +88,9 @@ public class ContextActivity extends BaseActivity { } MastodonHelper.loadPPMastodon(binding.profilePicture, currentAccount.mastodon_account); Bundle bundle = new Bundle(); - new Thread(() -> { - focusedStatus = SpannableHelper.convertStatus(getApplication().getApplicationContext(), focusedStatus); - Handler mainHandler = new Handler(Looper.getMainLooper()); - Runnable myRunnable = () -> { - bundle.putSerializable(Helper.ARG_STATUS, focusedStatus); - currentFragment = Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, new FragmentMastodonContext(), bundle, null, null); - }; - mainHandler.post(myRunnable); - }).start(); + focusedStatus = SpannableHelper.convertStatus(getApplication().getApplicationContext(), focusedStatus); + bundle.putSerializable(Helper.ARG_STATUS, focusedStatus); + currentFragment = Helper.addFragment(getSupportFragmentManager(), R.id.nav_host_fragment_content_main, new FragmentMastodonContext(), bundle, null, null); StatusesVM timelinesVM = new ViewModelProvider(ContextActivity.this).get(StatusesVM.class); timelinesVM.getStatus(BaseMainActivity.currentInstance, BaseMainActivity.currentToken, focusedStatus.id).observe(ContextActivity.this, status -> { if (status != null) { diff --git a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java index 866143e03..a95a4d297 100644 --- a/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/ui/drawer/StatusAdapter.java @@ -35,8 +35,6 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Bundle; import android.os.CountDownTimer; -import android.os.Handler; -import android.os.Looper; import android.text.Html; import android.text.Spannable; import android.text.SpannableString; @@ -1628,12 +1626,8 @@ public class StatusAdapter extends RecyclerView.Adapter if (translate.getTranslatedContent() != null) { statusToDeal.translationShown = true; statusToDeal.translationContent = translate.getTranslatedContent(); - new Thread(() -> { - SpannableHelper.convertStatus(context.getApplicationContext(), statusToDeal); - Handler mainHandler = new Handler(Looper.getMainLooper()); - Runnable myRunnable = () -> adapter.notifyItemChanged(getPositionAsync(notificationList, statusList, statusToDeal)); - mainHandler.post(myRunnable); - }).start(); + SpannableHelper.convertStatus(context.getApplicationContext(), statusToDeal); + adapter.notifyItemChanged(getPositionAsync(notificationList, statusList, statusToDeal)); } else { Toasty.error(context, context.getString(R.string.toast_error_translate), Toast.LENGTH_LONG).show(); } diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java index a807bcc95..e4be47a13 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonContext.java @@ -21,8 +21,6 @@ import android.content.BroadcastReceiver; import android.content.Intent; import android.content.IntentFilter; import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -98,26 +96,20 @@ public class FragmentMastodonContext extends Fragment { } } else if (statusPosted != null && statusAdapter != null) { if (requireActivity() instanceof ContextActivity) { - new Thread(() -> { - Status convertStatus = SpannableHelper.convertStatus(context, statusPosted); - Handler mainHandler = new Handler(Looper.getMainLooper()); - Runnable myRunnable = () -> { - int i = 0; - for (Status status : statuses) { - if (status.id.equals(convertStatus.in_reply_to_id)) { - statuses.add((i + 1), convertStatus); - statusAdapter.notifyItemInserted((i + 1)); - if (requireActivity() instanceof ContextActivity) { - //Redraw decorations - statusAdapter.notifyItemRangeChanged(0, statuses.size()); - } - break; - } - i++; + Status convertStatus = SpannableHelper.convertStatus(context, statusPosted); + int i = 0; + for (Status status : statuses) { + if (status.id.equals(convertStatus.in_reply_to_id)) { + statuses.add((i + 1), convertStatus); + statusAdapter.notifyItemInserted((i + 1)); + if (requireActivity() instanceof ContextActivity) { + //Redraw decorations + statusAdapter.notifyItemRangeChanged(0, statuses.size()); } - }; - mainHandler.post(myRunnable); - }).start(); + break; + } + i++; + } } } } diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java index b499fb7a8..d62864015 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java @@ -118,15 +118,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. statusAdapter.notifyItemRemoved(position); } } else if (statusPosted != null && statusAdapter != null && timelineType == Timeline.TimeLineEnum.HOME) { - new Thread(() -> { - Status convertStatus = SpannableHelper.convertStatus(context, statusPosted); - Handler mainHandler = new Handler(Looper.getMainLooper()); - Runnable myRunnable = () -> { - statuses.add(0, convertStatus); - statusAdapter.notifyItemInserted(0); - }; - mainHandler.post(myRunnable); - }).start(); + Status convertStatus = SpannableHelper.convertStatus(context, statusPosted); + statuses.add(0, convertStatus); + statusAdapter.notifyItemInserted(0); } } }