summaryrefslogtreecommitdiffstats
path: root/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java')
-rw-r--r--app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java32
1 files changed, 20 insertions, 12 deletions
diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java
index 9c83daaf3..589eb00cc 100644
--- a/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java
+++ b/app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentProfileTimeline.java
@@ -17,6 +17,8 @@ package app.fedilab.android.mastodon.ui.fragment.timeline;
import static app.fedilab.android.BaseMainActivity.currentAccount;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
@@ -37,6 +39,7 @@ import app.fedilab.android.databinding.FragmentProfileTimelinesBinding;
import app.fedilab.android.mastodon.client.entities.api.Account;
import app.fedilab.android.mastodon.client.entities.app.CachedBundle;
import app.fedilab.android.mastodon.client.entities.app.Timeline;
+import app.fedilab.android.mastodon.exception.DBException;
import app.fedilab.android.mastodon.helper.Helper;
import app.fedilab.android.mastodon.ui.pageadapter.FedilabProfilePageAdapter;
@@ -51,25 +54,25 @@ public class FragmentProfileTimeline extends Fragment {
ViewGroup container, Bundle savedInstanceState) {
binding = FragmentProfileTimelinesBinding.inflate(inflater, container, false);
if (getArguments() != null) {
- long bundleId = getArguments().getLong(Helper.ARG_INTENT_ID, -1);
- if (bundleId != -1) {
- new CachedBundle(requireActivity()).getBundle(bundleId, currentAccount, bundle -> {
- account = (Account) bundle.getSerializable(Helper.ARG_ACCOUNT);
- checkRemotely = bundle.getBoolean(Helper.ARG_CHECK_REMOTELY, false);
- });
- } else {
- account = (Account) getArguments().getSerializable(Helper.ARG_ACCOUNT);
+ new Thread(() -> {
+ String cached_account_id = getArguments().getString(Helper.ARG_CACHED_ACCOUNT_ID);
+ try {
+ account = new CachedBundle(requireActivity()).getCachedAccount(currentAccount, cached_account_id);
+ } catch (DBException e) {
+ e.printStackTrace();
+ }
checkRemotely = getArguments().getBoolean(Helper.ARG_CHECK_REMOTELY, false);
- }
+ Handler mainHandler = new Handler(Looper.getMainLooper());
+ Runnable myRunnable = this::initializeAfterBundle;
+ mainHandler.post(myRunnable);
+ }).start();
}
return binding.getRoot();
}
- @Override
- public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
- super.onViewCreated(view, savedInstanceState);
+ private void initializeAfterBundle() {
binding.tabLayout.addTab(binding.tabLayout.newTab().setText(getString(R.string.toots)));
binding.tabLayout.addTab(binding.tabLayout.newTab().setText(getString(R.string.replies)));
binding.tabLayout.addTab(binding.tabLayout.newTab().setText(getString(R.string.media)));
@@ -167,5 +170,10 @@ public class FragmentProfileTimeline extends Fragment {
}
+ @Override
+ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ }
+
}