Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -400,4 +400,9 @@ default void onDarkThemeModeChanged(DarkMode mode) {

boolean startAutoUploadOnStart();
void setLastAutoUploadOnStartTime(long timeInMillisecond);

String getDismissedOutdatedServerVersion();

void setDismissedOutdatedServerVersion(String version);

}
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@ public final class AppPreferencesImpl implements AppPreferences {
private static final String PREF__SELECTED_ACCOUNT_NAME = "select_oc_account";
private static final String PREF__MIGRATED_USER_ID = "migrated_user_id";
private static final String PREF__PHOTO_SEARCH_TIMESTAMP = "photo_search_timestamp";
private static final String PREF__DISMISSED_OUTDATED_SERVER_VERSION = "dismissed_outdated_server_version";
private static final String PREF__PIN_BRUTE_FORCE_COUNT = "pin_brute_force_count";
private static final String PREF__UID_PID = "uid_pid";

Expand Down Expand Up @@ -877,4 +878,15 @@ public boolean startAutoUploadOnStart() {
public void setLastAutoUploadOnStartTime(long timeInMillisecond) {
preferences.edit().putLong(AUTO_PREF__LAST_AUTO_UPLOAD_ON_START, timeInMillisecond).apply();
}

@Override
public String getDismissedOutdatedServerVersion() {
return preferences.getString(PREF__DISMISSED_OUTDATED_SERVER_VERSION, "");
}

@Override
public void setDismissedOutdatedServerVersion(String version) {
preferences.edit().putString(PREF__DISMISSED_OUTDATED_SERVER_VERSION, version).apply();
}

}
4 changes: 2 additions & 2 deletions app/src/main/java/com/nextcloud/utils/SnackbarUtil.kt
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ object SnackbarUtil {
?.also { snackbar -> onMainThread(snackbar::show) }

@JvmStatic
fun showServerOutdated(activity: Activity?, duration: Int) {
fun showServerOutdated(activity: Activity?, duration: Int, onDismiss: (() -> Unit)? = null) {
create(activity.hostView(), R.string.outdated_server, duration)
?.setAction(R.string.dismiss) { }
?.setAction(R.string.dismiss) { onDismiss?.invoke() }
?.let { snackbar -> onMainThread(snackbar::show) }
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -490,7 +490,13 @@ class FileDisplayActivity :
capability.hasValidSubscription.isTrue
)
if (isOutdated) {
SnackbarUtil.showServerOutdated(this, Snackbar.LENGTH_LONG)
val serverVersion = currentUser.server.version.toString()
val dismissedVersion = preferences.getDismissedOutdatedServerVersion()
if (serverVersion != dismissedVersion) {
SnackbarUtil.showServerOutdated(this, Snackbar.LENGTH_LONG) {
preferences.setDismissedOutdatedServerVersion(serverVersion)
}
}
}
}

Expand Down