diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-03-25 12:31:56 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-03-25 12:31:56 +0300 |
commit | 71a32529122030ec62f23b0c32a8e1f70ceab32f (patch) | |
tree | 009a971d92a33eebcb42dd4f7b744ee028fdbccf /app/src/main/java/it/niedermann/nextcloud/deck/ui/about | |
parent | ca933104ea970c6ec8795b3e70111dbb23d0c161 (diff) |
- Fix exception when opening the "about"-section
- Uses AndroidX preference library
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it/niedermann/nextcloud/deck/ui/about')
-rw-r--r-- | app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java index 5bf79e869..d7aab83d5 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java @@ -8,6 +8,7 @@ import android.view.View; import android.view.ViewGroup; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.preference.PreferenceManager; @@ -16,10 +17,12 @@ import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.api.IResponseCallback; import it.niedermann.nextcloud.deck.databinding.FragmentAboutCreditsTabBinding; import it.niedermann.nextcloud.deck.exceptions.OfflineException; +import it.niedermann.nextcloud.deck.model.Account; import it.niedermann.nextcloud.deck.model.ocs.Capabilities; import it.niedermann.nextcloud.deck.persistence.sync.SyncManager; import it.niedermann.nextcloud.deck.util.DateUtil; +import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT; import static it.niedermann.nextcloud.deck.util.SpannableUtil.disabled; import static it.niedermann.nextcloud.deck.util.SpannableUtil.setTextWithURL; import static it.niedermann.nextcloud.deck.util.SpannableUtil.strong; @@ -39,15 +42,19 @@ public class AboutFragmentCreditsTab extends Fragment { binding.aboutVersion.setText(getString(R.string.about_version, strong(BuildConfig.VERSION_NAME))); SyncManager syncManager = new SyncManager(requireActivity()); - try { - syncManager.getServerVersion(new IResponseCallback<Capabilities>(null) { - @Override - public void onResponse(Capabilities response) { - requireActivity().runOnUiThread(() -> binding.aboutServerAppVersion.setText(strong(response.getDeckVersion().getOriginalVersion()))); - } - }); - } catch (OfflineException e) { - binding.aboutServerAppVersion.setText(disabled(getString(R.string.you_are_currently_offline), requireContext())); + if (getArguments() != null && getArguments().containsKey(BUNDLE_KEY_ACCOUNT)) { + try { + syncManager.getServerVersion(new IResponseCallback<Capabilities>((Account) getArguments().getSerializable(BUNDLE_KEY_ACCOUNT)) { + @Override + public void onResponse(Capabilities response) { + requireActivity().runOnUiThread(() -> binding.aboutServerAppVersion.setText(strong(response.getDeckVersion().getOriginalVersion()))); + } + }); + } catch (OfflineException e) { + binding.aboutServerAppVersion.setText(disabled(getString(R.string.you_are_currently_offline), requireContext())); + } + } else { + binding.aboutServerAppVersionContainer.setVisibility(View.GONE); } String backgroundSyncOffValue = getString(R.string.pref_value_background_sync_off); @@ -67,4 +74,19 @@ public class AboutFragmentCreditsTab extends Fragment { setTextWithURL(binding.aboutTranslators, getResources(), R.string.about_translators_transifex, R.string.about_translators_transifex_label, R.string.url_translations); return binding.getRoot(); } + + public static AboutFragmentCreditsTab newInstance() { + return new AboutFragmentCreditsTab(); + } + + public static AboutFragmentCreditsTab newInstance(@Nullable Account account) { + if (account == null) { + return newInstance(); + } + AboutFragmentCreditsTab fragment = new AboutFragmentCreditsTab(); + Bundle args = new Bundle(); + args.putSerializable(BUNDLE_KEY_ACCOUNT, account); + fragment.setArguments(args); + return fragment; + } }
\ No newline at end of file |