Make the OAuth authorization available or not depending upon a variable in oauth.xml
authorDavid A. Velasco <dvelasco@solidgear.es>
Wed, 27 Mar 2013 12:39:00 +0000 (13:39 +0100)
committerDavid A. Velasco <dvelasco@solidgear.es>
Wed, 27 Mar 2013 12:39:00 +0000 (13:39 +0100)
res/values/oauth2_configuration.xml
src/com/owncloud/android/authentication/AuthenticatorActivity.java

index c3d5c72..e56f225 100644 (file)
@@ -1,5 +1,10 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
+    <!-- Flag to configure OAuth availability in the app.
+        3 valid values now: on, off, optional  
+     -->
+    <string name="oauth2_mode">off</string>
+    
     <!-- constants that must be respected by the authorization server; if changed, the app must be rebuild -->
     <string name="oauth2_redirect_scheme">owncloud</string>
     <string name="oauth2_redirect_uri">owncloud://callback</string>
     <!-- constants that must be respected by the authorization server; if changed, the app must be rebuild -->
     <string name="oauth2_redirect_scheme">owncloud</string>
     <string name="oauth2_redirect_uri">owncloud://callback</string>
index 44ebf6a..cc1b648 100644 (file)
@@ -87,6 +87,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
     private static final String KEY_IS_SSL_CONN = "IS_SSL_CONN";\r
     private static final String KEY_OAUTH2_STATUS_TEXT = "OAUTH2_STATUS_TEXT";\r
     private static final String KEY_OAUTH2_STATUS_ICON = "OAUTH2_STATUS_ICON";\r
     private static final String KEY_IS_SSL_CONN = "IS_SSL_CONN";\r
     private static final String KEY_OAUTH2_STATUS_TEXT = "OAUTH2_STATUS_TEXT";\r
     private static final String KEY_OAUTH2_STATUS_ICON = "OAUTH2_STATUS_ICON";\r
+    \r
+    private static final String OAUTH_MODE_ON = "on";\r
+    private static final String OAUTH_MODE_OFF = "off";\r
+    private static final String OAUTH_MODE_OPTIONAL = "optional";\r
 \r
     private static final int DIALOG_LOGIN_PROGRESS = 0;\r
     private static final int DIALOG_SSL_VALIDATOR = 1;\r
 \r
     private static final int DIALOG_LOGIN_PROGRESS = 0;\r
     private static final int DIALOG_SSL_VALIDATOR = 1;\r
@@ -154,7 +158,6 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
         mOkButton = findViewById(R.id.buttonOK);\r
         mAuthStatusLayout = (TextView) findViewById(R.id.auth_status_text); \r
         \r
         mOkButton = findViewById(R.id.buttonOK);\r
         mAuthStatusLayout = (TextView) findViewById(R.id.auth_status_text); \r
         \r
-\r
         /// complete label for 'register account' button\r
         Button b = (Button) findViewById(R.id.account_register);\r
         if (b != null) {\r
         /// complete label for 'register account' button\r
         Button b = (Button) findViewById(R.id.account_register);\r
         if (b != null) {\r
@@ -179,7 +182,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             \r
             /// retrieve extras from intent\r
             String tokenType = getIntent().getExtras().getString(AccountAuthenticator.KEY_AUTH_TOKEN_TYPE);\r
             \r
             /// retrieve extras from intent\r
             String tokenType = getIntent().getExtras().getString(AccountAuthenticator.KEY_AUTH_TOKEN_TYPE);\r
-            boolean oAuthRequired = AccountAuthenticator.AUTH_TOKEN_TYPE_ACCESS_TOKEN.equals(tokenType);\r
+            boolean oAuthRequired = AccountAuthenticator.AUTH_TOKEN_TYPE_ACCESS_TOKEN.equals(tokenType) || OAUTH_MODE_ON.equals(getString(R.string.oauth2_mode));\r
             \r
             mAccount = getIntent().getExtras().getParcelable(EXTRA_ACCOUNT);\r
             if (mAccount != null) {\r
             \r
             mAccount = getIntent().getExtras().getParcelable(EXTRA_ACCOUNT);\r
             if (mAccount != null) {\r
@@ -201,6 +204,10 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
             loadSavedInstanceState(savedInstanceState);\r
         }\r
         \r
             loadSavedInstanceState(savedInstanceState);\r
         }\r
         \r
+        if (!OAUTH_MODE_OPTIONAL.equals(getString(R.string.oauth2_mode))) {\r
+            mOAuth2Check.setVisibility(View.GONE);\r
+        }\r
+        \r
         if (mAction == ACTION_UPDATE_TOKEN) {\r
             /// lock things that should not change\r
             mHostUrlInput.setEnabled(false);\r
         if (mAction == ACTION_UPDATE_TOKEN) {\r
             /// lock things that should not change\r
             mHostUrlInput.setEnabled(false);\r