Skip to content

Commit 9602b40

Browse files
Merge pull request #15772 from nextcloud/sub
show outdated warning depending on subscription key
2 parents 2493285 + 2391368 commit 9602b40

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
@@ -84,7 +84,8 @@ import com.owncloud.android.db.ProviderMeta
8484
AutoMigration(from = 90, to = 91),
8585
AutoMigration(from = 91, to = 92),
8686
AutoMigration(from = 92, to = 93, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class),
87-
AutoMigration(from = 93, to = 94, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
87+
AutoMigration(from = 93, to = 94, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class),
88+
AutoMigration(from = 94, to = 95, spec = DatabaseMigrationUtil.ResetCapabilitiesPostMigration::class)
8889
],
8990
exportSchema = true
9091
)

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
@@ -431,7 +431,8 @@ class FileDisplayActivity :
431431
CapabilityUtils.checkOutdatedWarning(
432432
getResources(),
433433
user.get().server.version,
434-
capabilities.extendedSupport.isTrue
434+
capabilities.extendedSupport.isTrue,
435+
capabilities.hasValidSubscription.isTrue
435436
)
436437
) {
437438
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
@@ -18063,6 +18063,19 @@
1806318063
<sha256 value="b29d8928cba81c13d016ac2e0b7a7d40f1b2e71f8229d65efcffb871a27576de" origin="Generated by Gradle" reason="Artifact is not signed"/>
1806418064
</artifact>
1806518065
</component>
18066+
<component group="com.github.nextcloud" name="android-library" version="d525104338">
18067+
<artifact name="android-library-d525104338.aar">
18068+
<sha256 value="dbd608b7b39e8e89f82450f24a48fd0f084d264ea6b95b2993897e44de0954d3" origin="Generated by Gradle" reason="Artifact is not signed"/>
18069+
</artifact>
18070+
<artifact name="android-library-d525104338.module">
18071+
<sha256 value="65bb7aa76e0d9992d5afcd15ea59bc996d8ed29ce79f177fc3f1910f4bc286dc" origin="Generated by Gradle" reason="Artifact is not signed"/>
18072+
</artifact>
18073+
</component>
18074+
<component group="com.github.nextcloud" name="android-library" version="d525104338a94b61df6cf44041081d95ed2955c9">
18075+
<artifact name="android-library-d525104338a94b61df6cf44041081d95ed2955c9.pom">
18076+
<sha256 value="54aed157e9fbecdd01361b651f4f25163ffe6589d50c9506110f450e6faa9b01" origin="Generated by Gradle" reason="Artifact is not signed"/>
18077+
</artifact>
18078+
</component>
1806618079
<component group="com.github.nextcloud" name="android-library" version="d5f21fa1ec5b67c564983b0c8a07bc3acd96f695">
1806718080
<artifact name="android-library-d5f21fa1ec5b67c564983b0c8a07bc3acd96f695.aar">
1806818081
<sha256 value="95c86f501a4c1a2e055ba2d1fe68f5ffeed3613492bdaf0594abbae4b21b9227" origin="Generated by Gradle" reason="Artifact is not signed"/>

0 commit comments

Comments
 (0)