diff options
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.java | 32 |
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); + } + } |