Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-03-25 12:31:56 +0300
committerStefan Niedermann <info@niedermann.it>2020-03-25 12:31:56 +0300
commit71a32529122030ec62f23b0c32a8e1f70ceab32f (patch)
tree009a971d92a33eebcb42dd4f7b744ee028fdbccf
parentca933104ea970c6ec8795b3e70111dbb23d0c161 (diff)
- Fix exception when opening the "about"-section
- Uses AndroidX preference library Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/AboutActivity.java16
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/about/AboutFragmentCreditsTab.java40
-rw-r--r--app/src/main/res/layout/fragment_about_credits_tab.xml2
-rw-r--r--app/src/main/res/values/strings.xml2
-rw-r--r--fastlane/metadata/android/en-US/changelogs/5002.txt2
6 files changed, 52 insertions, 14 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/AboutActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/AboutActivity.java
index e5f6504fa..b30e28c68 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/AboutActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/AboutActivity.java
@@ -3,6 +3,7 @@ package it.niedermann.nextcloud.deck.ui;
import android.os.Bundle;
import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -14,11 +15,14 @@ import com.google.android.material.tabs.TabLayoutMediator;
import it.niedermann.nextcloud.deck.Application;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.databinding.ActivityAboutBinding;
+import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.ui.about.AboutFragmentContributingTab;
import it.niedermann.nextcloud.deck.ui.about.AboutFragmentCreditsTab;
import it.niedermann.nextcloud.deck.ui.about.AboutFragmentLicenseTab;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
+import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT;
+
public class AboutActivity extends AppCompatActivity {
private final static int[] tabTitles = new int[]{
@@ -37,14 +41,20 @@ public class AboutActivity extends AppCompatActivity {
setContentView(binding.getRoot());
setSupportActionBar(binding.toolbar);
- binding.viewPager.setAdapter(new TabsPagerAdapter(getSupportFragmentManager(), getLifecycle()));
+ binding.viewPager.setAdapter(new TabsPagerAdapter(getSupportFragmentManager(), getLifecycle(), (Account) getIntent().getSerializableExtra(BUNDLE_KEY_ACCOUNT)));
new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> tab.setText(tabTitles[position])).attach();
+
+ setResult(RESULT_OK);
}
private static class TabsPagerAdapter extends FragmentStateAdapter {
- TabsPagerAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle) {
+ @Nullable
+ private final Account account;
+
+ TabsPagerAdapter(@NonNull FragmentManager fragmentManager, @NonNull Lifecycle lifecycle, @Nullable Account account) {
super(fragmentManager, lifecycle);
+ this.account = account;
}
@NonNull
@@ -52,7 +62,7 @@ public class AboutActivity extends AppCompatActivity {
public Fragment createFragment(int position) {
switch (position) {
case 0:
- return new AboutFragmentCreditsTab();
+ return AboutFragmentCreditsTab.newInstance(account);
case 1:
return new AboutFragmentContributingTab();
case 2:
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
index 61a9ca44e..436d11001 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
@@ -65,6 +65,7 @@ import it.niedermann.nextcloud.deck.util.ExceptionUtil;
import it.niedermann.nextcloud.deck.util.ViewUtil;
import static androidx.lifecycle.Transformations.switchMap;
+import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT;
public abstract class DrawerActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
protected static final int MENU_ID_ABOUT = -1;
@@ -332,7 +333,8 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga
} else {
switch (item.getItemId()) {
case MENU_ID_ABOUT:
- Intent aboutIntent = new Intent(getApplicationContext(), AboutActivity.class);
+ Intent aboutIntent = new Intent(getApplicationContext(), AboutActivity.class)
+ .putExtra(BUNDLE_KEY_ACCOUNT, account);
startActivityForResult(aboutIntent, ACTIVITY_ABOUT);
break;
case MENU_ID_SETTINGS:
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
diff --git a/app/src/main/res/layout/fragment_about_credits_tab.xml b/app/src/main/res/layout/fragment_about_credits_tab.xml
index c505d559a..7f3b8537e 100644
--- a/app/src/main/res/layout/fragment_about_credits_tab.xml
+++ b/app/src/main/res/layout/fragment_about_credits_tab.xml
@@ -17,6 +17,7 @@
android:layout_marginTop="30dp"
android:layout_marginBottom="30dp"
android:drawableTop="@mipmap/ic_launcher"
+ android:drawablePadding="@dimen/standard_padding"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textSize="26sp" />
@@ -62,6 +63,7 @@
android:text="@string/about_version" />
<LinearLayout
+ android:id="@+id/about_server_app_version_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3bdda93bb..6d1ad9c25 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -28,7 +28,7 @@
<string name="about_maintainer_title">Maintainer</string>
<string name="about_maintainer" translatable="false">Niedermann IT-Dienstleistungen</string>
<string name="about_developers_title">Developers</string>
- <string name="about_developers" translatable="false">Stefan Niedermann, Artur Dawtjan, Andy Scherzinger</string>
+ <string name="about_developers" translatable="false">Stefan Niedermann, Artur Dawtjan</string>
<string name="about_translators_title">Translators</string>
<string name="about_translators_transifex">Nextcloud community on %1$s</string>
<string name="about_translators_transifex_label">Transifex</string>
diff --git a/fastlane/metadata/android/en-US/changelogs/5002.txt b/fastlane/metadata/android/en-US/changelogs/5002.txt
new file mode 100644
index 000000000..d84461697
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/5002.txt
@@ -0,0 +1,2 @@
+- Fix exception when opening the "about"-section
+- Uses AndroidX preference library \ No newline at end of file