Skip to content

Commit 49da9a5

Browse files
Merge pull request #15907 from nextcloud/backport/15772/stable-3.34
[stable-3.34] show outdated warning depending on subscription key
2 parents 50428e2 + 8bd0ad7 commit 49da9a5

File tree

10 files changed

+1253
-17
lines changed

10 files changed

+1253
-17
lines changed

app/schemas/com.nextcloud.client.database.NextcloudDatabase/95.json

Lines changed: 1215 additions & 0 deletions
Large diffs are not rendered by default.

app/src/androidTest/java/com/owncloud/android/utils/theme/CapabilityUtilsIT.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,14 @@ class CapabilityUtilsIT : AbstractIT() {
3232
assertTrue(test(OwnCloudVersion.nextcloud_20))
3333
}
3434

35-
private fun test(version: OwnCloudVersion): Boolean =
36-
CapabilityUtils.checkOutdatedWarning(targetContext.resources, version, false)
35+
@Test
36+
fun checkOutdatedWarningWithSubscription() {
37+
assertFalse(test(NextcloudVersion.nextcloud_31))
38+
assertFalse(test(NextcloudVersion.nextcloud_30))
39+
40+
assertFalse(test(OwnCloudVersion.nextcloud_20, true))
41+
}
42+
43+
private fun test(version: OwnCloudVersion, hasValidSubscription: Boolean = false): Boolean =
44+
CapabilityUtils.checkOutdatedWarning(targetContext.resources, version, false, hasValidSubscription)
3745
}

app/src/main/java/com/nextcloud/client/database/NextcloudDatabase.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ import com.owncloud.android.db.ProviderMeta
8282
AutoMigration(from = 90, to = 91),
8383
AutoMigration(from = 91, to = 92),
8484
AutoMigration(from = 92, to = 93, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class),
85-
AutoMigration(from = 93, to = 94, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
85+
AutoMigration(from = 93, to = 94, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class),
86+
AutoMigration(from = 94, to = 95, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
8687
],
8788
exportSchema = true
8889
)

app/src/main/java/com/nextcloud/client/database/entity/CapabilityEntity.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,7 @@ data class CapabilityEntity(
144144
@ColumnInfo(name = ProviderTableMeta.CAPABILITIES_USER_STATUS_SUPPORTS_BUSY)
145145
val userStatusSupportsBusy: Int?,
146146
@ColumnInfo(name = ProviderTableMeta.CAPABILITIES_WINDOWS_COMPATIBLE_FILENAMES)
147-
val isWCFEnabled: Int?
147+
val isWCFEnabled: Int?,
148+
@ColumnInfo(name = ProviderTableMeta.CAPABILITIES_HAS_VALID_SUBSCRIPTION)
149+
val hasValidSubscription: Int?
148150
)

app/src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848

4949
import com.blikoon.qrcodescanner.QrCodeActivity;
5050
import com.google.android.material.button.MaterialButton;
51-
import com.google.android.material.snackbar.Snackbar;
5251
import com.google.gson.Gson;
5352
import com.google.gson.JsonObject;
5453
import com.google.gson.JsonParser;
@@ -105,7 +104,6 @@
105104
import com.owncloud.android.utils.ErrorMessageAdapter;
106105
import com.owncloud.android.utils.PermissionUtil;
107106
import com.owncloud.android.utils.WebViewUtil;
108-
import com.owncloud.android.utils.theme.CapabilityUtils;
109107
import com.owncloud.android.utils.theme.ViewThemeUtils;
110108

111109
import java.io.InputStream;
@@ -1104,13 +1102,6 @@ private void onGetServerInfoFinish(RemoteOperationResult result) {
11041102
// 4. we got the authentication method required by the server
11051103
mServerInfo = (GetServerInfoOperation.ServerInfo) (result.getData().get(0));
11061104

1107-
// show outdated warning
1108-
if (CapabilityUtils.checkOutdatedWarning(getResources(),
1109-
mServerInfo.mVersion,
1110-
mServerInfo.hasExtendedSupport)) {
1111-
DisplayUtils.showServerOutdatedSnackbar(this, Snackbar.LENGTH_INDEFINITE);
1112-
}
1113-
11141105
if (webViewUser != null && !webViewUser.isEmpty() &&
11151106
webViewPassword != null && !webViewPassword.isEmpty()) {
11161107
checkBasicAuthorization(webViewUser, webViewPassword);

app/src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2420,6 +2420,8 @@ private ContentValues createContentValues(String accountName, OCCapability capab
24202420
contentValues.put(ProviderTableMeta.CAPABILITIES_NOTES_FOLDER_PATH, capability.getNotesFolderPath());
24212421

24222422
contentValues.put(ProviderTableMeta.CAPABILITIES_DEFAULT_PERMISSIONS, capability.getDefaultPermissions());
2423+
2424+
contentValues.put(ProviderTableMeta.CAPABILITIES_HAS_VALID_SUBSCRIPTION, capability.getHasValidSubscription().getValue());
24232425

24242426
return contentValues;
24252427
}
@@ -2605,6 +2607,7 @@ private OCCapability createCapabilityInstance(Cursor cursor) {
26052607
capability.setNotesFolderPath(getString(cursor, ProviderTableMeta.CAPABILITIES_NOTES_FOLDER_PATH));
26062608

26072609
capability.setDefaultPermissions(getInt(cursor, ProviderTableMeta.CAPABILITIES_DEFAULT_PERMISSIONS));
2610+
capability.setHasValidSubscription(getBoolean(cursor, ProviderTableMeta.CAPABILITIES_HAS_VALID_SUBSCRIPTION));
26082611
}
26092612

26102613
return capability;

app/src/main/java/com/owncloud/android/db/ProviderMeta.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*/
2424
public class ProviderMeta {
2525
public static final String DB_NAME = "filelist";
26-
public static final int DB_VERSION = 94;
26+
public static final int DB_VERSION = 95;
2727

2828
private ProviderMeta() {
2929
// No instance
@@ -290,6 +290,7 @@ static public class ProviderTableMeta implements BaseColumns {
290290
public static final String CAPABILITIES_FILES_DOWNLOAD_LIMIT_DEFAULT = "files_download_limit_default";
291291
public static final String CAPABILITIES_NOTES_FOLDER_PATH = "notes_folder_path";
292292
public static final String CAPABILITIES_DEFAULT_PERMISSIONS = "default_permissions";
293+
public static final String CAPABILITIES_HAS_VALID_SUBSCRIPTION = "has_valid_subscription";
293294

294295
//Columns of Uploads table
295296
public static final String UPLOADS_LOCAL_PATH = "local_path";

app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,8 @@ class FileDisplayActivity :
429429
CapabilityUtils.checkOutdatedWarning(
430430
getResources(),
431431
user.get().server.version,
432-
capabilities.extendedSupport.isTrue
432+
capabilities.extendedSupport.isTrue,
433+
capabilities.hasValidSubscription.isTrue
433434
)
434435
) {
435436
DisplayUtils.showServerOutdatedSnackbar(this, Snackbar.LENGTH_LONG)

app/src/main/java/com/owncloud/android/utils/theme/CapabilityUtils.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,11 @@ public static void updateCapability(OCCapability capability) {
8181

8282
public static boolean checkOutdatedWarning(Resources resources,
8383
OwnCloudVersion version,
84-
boolean hasExtendedSupport) {
84+
boolean hasExtendedSupport,
85+
boolean hasValidSubscription) {
8586
return resources.getBoolean(R.bool.show_outdated_server_warning) &&
8687
(MainApp.OUTDATED_SERVER_VERSION.isSameMajorVersion(version) ||
8788
version.isOlderThan(MainApp.OUTDATED_SERVER_VERSION))
88-
&& !hasExtendedSupport;
89+
&& !hasExtendedSupport && !hasValidSubscription;
8990
}
9091
}

gradle/verification-metadata.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16531,6 +16531,19 @@
1653116531
<sha256 value="b29d8928cba81c13d016ac2e0b7a7d40f1b2e71f8229d65efcffb871a27576de" origin="Generated by Gradle" reason="Artifact is not signed"/>
1653216532
</artifact>
1653316533
</component>
16534+
<component group="com.github.nextcloud" name="android-library" version="d525104338">
16535+
<artifact name="android-library-d525104338.aar">
16536+
<sha256 value="dbd608b7b39e8e89f82450f24a48fd0f084d264ea6b95b2993897e44de0954d3" origin="Generated by Gradle" reason="Artifact is not signed"/>
16537+
</artifact>
16538+
<artifact name="android-library-d525104338.module">
16539+
<sha256 value="65bb7aa76e0d9992d5afcd15ea59bc996d8ed29ce79f177fc3f1910f4bc286dc" origin="Generated by Gradle" reason="Artifact is not signed"/>
16540+
</artifact>
16541+
</component>
16542+
<component group="com.github.nextcloud" name="android-library" version="d525104338a94b61df6cf44041081d95ed2955c9">
16543+
<artifact name="android-library-d525104338a94b61df6cf44041081d95ed2955c9.pom">
16544+
<sha256 value="54aed157e9fbecdd01361b651f4f25163ffe6589d50c9506110f450e6faa9b01" origin="Generated by Gradle" reason="Artifact is not signed"/>
16545+
</artifact>
16546+
</component>
1653416547
<component group="com.github.nextcloud" name="android-library" version="d5f21fa1ec5b67c564983b0c8a07bc3acd96f695">
1653516548
<artifact name="android-library-d5f21fa1ec5b67c564983b0c8a07bc3acd96f695.aar">
1653616549
<sha256 value="95c86f501a4c1a2e055ba2d1fe68f5ffeed3613492bdaf0594abbae4b21b9227" origin="Generated by Gradle" reason="Artifact is not signed"/>

0 commit comments

Comments
 (0)