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>2021-03-10 12:29:11 +0300
committerStefan Niedermann <info@niedermann.it>2021-03-10 12:29:11 +0300
commitb5d54cdd1359a445fde46ac1cc3f7df1c22d44a8 (patch)
treed5da511bd52076826f49d494a74d80c11d7476f8
parentf9a58619d4ff2719bb67cdd15b8684db4118083d (diff)
Simplify detection of supported versions
Signed-off-by: Stefan Niedermann <info@niedermann.it>
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java22
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java4
-rw-r--r--app/src/main/res/values/setup.xml3
7 files changed, 16 insertions, 29 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
index cfd973831..c6b943946 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/model/ocs/Version.java
@@ -1,9 +1,6 @@
package it.niedermann.nextcloud.deck.model.ocs;
-import android.content.Context;
-
import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import java.util.regex.Matcher;
@@ -15,11 +12,10 @@ import it.niedermann.nextcloud.deck.model.ocs.comment.DeckComment;
public class Version implements Comparable<Version> {
private static final Pattern NUMBER_EXTRACTION_PATTERN = Pattern.compile("[0-9]+");
+ private static final Version VERSION_0_6_4 = new Version("0.6.4", 0, 6, 4);
private static final Version VERSION_1_0_0 = new Version("1.0.0", 1, 0, 0);
private static final Version VERSION_1_0_3 = new Version("1.0.3", 1, 0, 3);
private static final Version VERSION_1_3_0 = new Version("1.3.0", 1, 3, 0);
- @Nullable
- private static Version VERSION_MINIMUM_SUPPORTED;
private String originalVersion = "?";
private int major = 0;
@@ -64,7 +60,7 @@ public class Version implements Comparable<Version> {
public static Version of(String versionString) {
int major = 0, minor = 0, micro = 0;
if (versionString != null) {
- String[] split = versionString.split("\\.");
+ final String[] split = versionString.split("\\.");
if (split.length > 0) {
major = extractNumber(split[0]);
if (split.length > 1) {
@@ -87,18 +83,12 @@ public class Version implements Comparable<Version> {
}
@NonNull
- public static Version minimumSupported(@NonNull Context context) {
- if (VERSION_MINIMUM_SUPPORTED == null) {
- final int minimumServerAppMajor = context.getResources().getInteger(R.integer.minimum_server_app_major);
- final int minimumServerAppMinor = context.getResources().getInteger(R.integer.minimum_server_app_minor);
- final int minimumServerAppPatch = context.getResources().getInteger(R.integer.minimum_server_app_patch);
- VERSION_MINIMUM_SUPPORTED = new Version(minimumServerAppMajor + "." + minimumServerAppMinor + "." + minimumServerAppPatch, minimumServerAppMajor, minimumServerAppMinor, minimumServerAppPatch);
- }
- return VERSION_MINIMUM_SUPPORTED;
+ public static Version minimumSupported() {
+ return VERSION_0_6_4;
}
- public boolean isSupported(@NonNull Context context) {
- return isGreaterOrEqualTo(Version.minimumSupported(context));
+ public boolean isSupported() {
+ return isGreaterOrEqualTo(minimumSupported());
}
/**
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
index c80d31c21..1c0ec97c5 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
@@ -215,7 +215,7 @@ public class SyncManager {
@Override
public void onResponse(Capabilities response) {
if (response != null && !response.isMaintenanceEnabled()) {
- if (response.getDeckVersion().isSupported(appContext)) {
+ if (response.getDeckVersion().isSupported()) {
long accountId = callbackAccountId;
Instant lastSyncDate = LastSyncUtil.getLastSyncDate(callbackAccountId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
index 066f65698..7505449ef 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/ImportAccountActivity.java
@@ -136,7 +136,7 @@ public class ImportAccountActivity extends AppCompatActivity {
@Override
public void onResponse(Capabilities response) {
if (!response.isMaintenanceEnabled()) {
- if (response.getDeckVersion().isSupported(getApplicationContext())) {
+ if (response.getDeckVersion().isSupported()) {
syncManager.synchronize(new IResponseCallback<Boolean>(account) {
@Override
public void onResponse(Boolean response) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
index 283767695..e1909737f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java
@@ -294,7 +294,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
if (mainViewModel.isCurrentAccountIsSupportedVersion()) {
binding.infoBoxVersionNotSupported.setVisibility(View.GONE);
} else {
- binding.infoBoxVersionNotSupportedText.setText(getString(R.string.info_box_version_not_supported, mainViewModel.getCurrentAccount().getServerDeckVersion(), Version.minimumSupported(this).getOriginalVersion()));
+ binding.infoBoxVersionNotSupportedText.setText(getString(R.string.info_box_version_not_supported, mainViewModel.getCurrentAccount().getServerDeckVersion(), Version.minimumSupported().getOriginalVersion()));
binding.infoBoxVersionNotSupportedText.setOnClickListener((v) -> {
Intent openURL = new Intent(Intent.ACTION_VIEW);
openURL.setData(Uri.parse(mainViewModel.getCurrentAccount().getUrl() + getString(R.string.url_fragment_update_deck)));
@@ -500,7 +500,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
binding.swipeRefreshLayout.setRefreshing(false);
} else {
// If we notice after updating the capabilities, that the new version is not supported, but it was previously, recreate the activity to make sure all elements are disabled properly
- if (mainViewModel.getCurrentAccount().getServerDeckVersionAsObject().isSupported(MainActivity.this) && !response.getDeckVersion().isSupported(MainActivity.this)) {
+ if (mainViewModel.getCurrentAccount().getServerDeckVersionAsObject().isSupported() && !response.getDeckVersion().isSupported()) {
ActivityCompat.recreate(MainActivity.this);
}
}
@@ -625,7 +625,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
binding.navigationView.setItemIconTintList(null);
Menu menu = binding.navigationView.getMenu();
menu.clear();
- DrawerMenuUtil.inflateBoards(this, menu, this.boardsList, mainViewModel.currentAccountHasArchivedBoards(), mainViewModel.getCurrentAccount().getServerDeckVersionAsObject().isSupported(this));
+ DrawerMenuUtil.inflateBoards(this, menu, this.boardsList, mainViewModel.currentAccountHasArchivedBoards(), mainViewModel.getCurrentAccount().getServerDeckVersionAsObject().isSupported());
binding.navigationView.setCheckedItem(boardsList.indexOf(currentBoard));
}
@@ -772,7 +772,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
@Override
public void onResponse(Capabilities response) {
if (!response.isMaintenanceEnabled()) {
- if (response.getDeckVersion().isSupported(getApplicationContext())) {
+ if (response.getDeckVersion().isSupported()) {
runOnUiThread(() -> {
mainViewModel.setSyncManager(importSyncManager);
mainViewModel.setCurrentAccount(account);
@@ -796,7 +796,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener
});
});
} else {
- DeckLog.warn("Cannot import account because server version is too low (" + response.getDeckVersion() + "). Minimum server version is currently " + Version.minimumSupported(getApplicationContext()));
+ DeckLog.warn("Cannot import account because server version is too low (" + response.getDeckVersion() + "). Minimum server version is currently " + Version.minimumSupported());
runOnUiThread(() -> new BrandedAlertDialogBuilder(MainActivity.this)
.setTitle(R.string.update_deck)
.setMessage(getString(R.string.deck_outdated_please_update, response.getDeckVersion().getOriginalVersion()))
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java
index ac244b88e..62642971e 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainViewModel.java
@@ -58,7 +58,7 @@ public class MainViewModel extends AndroidViewModel {
public void setCurrentAccount(Account currentAccount) {
this.currentAccount.setValue(currentAccount);
- this.currentAccountIsSupportedVersion = currentAccount.getServerDeckVersionAsObject().isSupported(getApplication().getApplicationContext());
+ this.currentAccountIsSupportedVersion = currentAccount.getServerDeckVersionAsObject().isSupported();
}
public void setCurrentBoard(@NonNull Board currentBoard) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
index 546c82bfd..73cb2d5e4 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
@@ -124,7 +124,7 @@ public class EditActivity extends BrandedActivity {
viewModel.setCanEdit(fullBoard.getBoard().isPermissionEdit());
invalidateOptionsMenu();
if (viewModel.isCreateMode()) {
- viewModel.initializeNewCard(boardId, args.getLong(BUNDLE_KEY_STACK_ID), account.getServerDeckVersionAsObject().isSupported(this));
+ viewModel.initializeNewCard(boardId, args.getLong(BUNDLE_KEY_STACK_ID), account.getServerDeckVersionAsObject().isSupported());
invalidateOptionsMenu();
String title = args.getString(BUNDLE_KEY_TITLE);
if (!TextUtils.isEmpty(title)) {
@@ -145,7 +145,7 @@ public class EditActivity extends BrandedActivity {
.setPositiveButton(R.string.simple_close, (a, b) -> super.finish())
.show();
} else {
- viewModel.initializeExistingCard(boardId, fullCard, account.getServerDeckVersionAsObject().isSupported(this));
+ viewModel.initializeExistingCard(boardId, fullCard, account.getServerDeckVersionAsObject().isSupported());
invalidateOptionsMenu();
setupViewPager();
setupTitle();
diff --git a/app/src/main/res/values/setup.xml b/app/src/main/res/values/setup.xml
index f8f43fb1e..ae3aad84e 100644
--- a/app/src/main/res/values/setup.xml
+++ b/app/src/main/res/values/setup.xml
@@ -47,9 +47,6 @@
<string name="shared_preference_last_account" translatable="false">it.niedermann.nextcloud.deck.last_account</string>
<string name="shared_preference_last_board_for_account_" translatable="false">it.niedermann.nextcloud.deck.last_board_for_account_</string>
<string name="shared_preference_last_stack_for_account_and_board_" translatable="false">it.niedermann.nextcloud.deck.last_stack_for_board_</string>
- <integer name="minimum_server_app_major" translatable="false">0</integer>
- <integer name="minimum_server_app_minor" translatable="false">6</integer>
- <integer name="minimum_server_app_patch" translatable="false">4</integer>
<!-- Transitions -->
<string name="transition_attachment_preview" translatable="false">transition_attachment_preview_%1$s</string>