Browse Source

use grey theme if no theming of elements is possible

tobiasKaminsky 7 years ago
parent
commit
d80ac412c0

+ 2 - 1
build.gradle

@@ -178,7 +178,8 @@ dependencies {
     compile name: 'touch-image-view'
     compile 'com.android.support:multidex:1.0.1'
 
-    compile 'com.github.nextcloud:android-library:1.0.21'
+//    compile 'com.github.nextcloud:android-library:1.0.21'
+    compile project(':nextcloud-android-library')
     compile "com.android.support:support-v4:${supportLibraryVersion}"
     compile "com.android.support:design:${supportLibraryVersion}"
     compile 'com.jakewharton:disklrucache:2.0.2'

+ 1 - 1
settings.gradle

@@ -1 +1 @@
-include ':'
+include ':nextcloud-android-library'

+ 2 - 1
src/main/java/com/owncloud/android/MainApp.java

@@ -105,7 +105,8 @@ public class MainApp extends MultiDexApplication {
         if (isSamlAuth) {
             OwnCloudClientManagerFactory.setDefaultPolicy(Policy.SINGLE_SESSION_PER_ACCOUNT);
         } else {
-            OwnCloudClientManagerFactory.setDefaultPolicy(Policy.ALWAYS_NEW_CLIENT);
+            OwnCloudClientManagerFactory
+                    .setDefaultPolicy(Policy.SINGLE_SESSION_PER_ACCOUNT_IF_SERVER_SUPPORTS_SERVER_MONITORING);
         }
 
         // initialise thumbnails cache on background thread

+ 16 - 8
src/main/java/com/owncloud/android/authentication/AuthenticatorActivity.java

@@ -776,7 +776,13 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
 
             OwnCloudCredentials credentials = null;
             if (BASIC_TOKEN_TYPE.equals(mAuthTokenType)) {
-                credentials = OwnCloudCredentialsFactory.newBasicCredentials(username, password);
+                String version = savedInstanceState.getString(KEY_OC_VERSION);
+                OwnCloudVersion ocVersion = (version != null) ? new OwnCloudVersion(version) : null;
+                credentials = OwnCloudCredentialsFactory.newBasicCredentials(
+                        username,
+                        password,
+                        (ocVersion != null && ocVersion.isPreemptiveAuthenticationPreferred())
+                );
 
             } else if (OAUTH_TOKEN_TYPE.equals(mAuthTokenType)) {
                 credentials = OwnCloudCredentialsFactory.newBearerCredentials(mAuthToken);
@@ -1088,12 +1094,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             return;
         }
 
-        if (AccountTypeUtils.getAuthTokenTypeAccessToken(MainApp.getAccountType()).
-                equals(mAuthTokenType)) {
-
+        if (AccountTypeUtils.getAuthTokenTypeAccessToken(MainApp.getAccountType()).equals(mAuthTokenType)) {
             startOauthorization();
-        } else if (AccountTypeUtils.getAuthTokenTypeSamlSessionCookie(MainApp.getAccountType()).
-                equals(mAuthTokenType)) {
+        } else if (AccountTypeUtils.getAuthTokenTypeSamlSessionCookie(MainApp.getAccountType())
+                .equals(mAuthTokenType)) {
 
             startSamlBasedFederatedSingleSignOnAuthorization();
         } else {
@@ -1125,8 +1129,12 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         dialog.show(getSupportFragmentManager(), WAIT_DIALOG_TAG);
 
         /// validate credentials accessing the root folder
-        OwnCloudCredentials credentials = OwnCloudCredentialsFactory.newBasicCredentials(username,
-                password);
+        OwnCloudCredentials credentials = OwnCloudCredentialsFactory.newBasicCredentials(
+                username,
+                password,
+                (mServerInfo != null && mServerInfo.mVersion != null
+                        && mServerInfo.mVersion.isPreemptiveAuthenticationPreferred())
+        );
         accessRootFolder(credentials);
     }