import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
+import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.lib.resources.status.GetRemoteStatusOperation;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import com.owncloud.android.operations.DetectAuthenticationMethodOperation.AuthenticationMethod;
-import com.owncloud.android.utils.Log_OC;
import android.content.Context;
private static final String TAG = GetServerInfoOperation.class.getSimpleName();
private String mUrl;
- private String mAuthTokenType;
private Context mContext;
private ServerInfo mResultData;
* Constructor.
*
* @param url URL to an ownCloud server.
- * @param authTokenType Identifies the authorization token supported by the caller;
- * TODO ugly dependency, get rid of it.
* @param context Android context; needed to check network state
* TODO ugly dependency, get rid of it.
*/
- public GetServerInfoOperation(String url, String authTokenType, Context context) {
+ public GetServerInfoOperation(String url, Context context) {
mUrl = trimWebdavSuffix(url);
- mAuthTokenType = authTokenType;
mContext = context;
mResultData = new ServerInfo();
protected RemoteOperationResult run(OwnCloudClient client) {
// first: check the status of the server (including its version)
- GetRemoteStatusOperation getStatus = new GetRemoteStatusOperation(mUrl, mContext);
+ GetRemoteStatusOperation getStatus = new GetRemoteStatusOperation(mContext);
RemoteOperationResult result = getStatus.execute(client);
-
+
if (result.isSuccess()) {
// second: get authentication method required by the server
mResultData.mVersion = (OwnCloudVersion)(result.getData().get(0));
- boolean isSslConn = (result.getCode() == ResultCode.OK_SSL);
- mResultData.mBaseUrl = normalizeProtocolPrefix(mUrl, isSslConn);
+ mResultData.mIsSslConn = (result.getCode() == ResultCode.OK_SSL);
+ mResultData.mBaseUrl = normalizeProtocolPrefix(mUrl, mResultData.mIsSslConn);
RemoteOperationResult detectAuthResult = detectAuthorizationMethod(client);
// third: merge results
private RemoteOperationResult detectAuthorizationMethod(OwnCloudClient client) {
Log_OC.d(TAG, "Trying empty authorization to detect authentication method");
- String webdav_path = AccountUtils.getWebdavPath(mResultData.mVersion, mAuthTokenType);
- String webdav_url = mResultData.mBaseUrl + webdav_path;
DetectAuthenticationMethodOperation operation =
- new DetectAuthenticationMethodOperation(mContext, webdav_url);
+ new DetectAuthenticationMethodOperation(mContext);
return operation.execute(client);
}
public static class ServerInfo {
- public OwnCloudVersion mVersion;
- public String mBaseUrl;
- public AuthenticationMethod mAuthMethod;
+ public OwnCloudVersion mVersion = null;
+ public String mBaseUrl = "";
+ public AuthenticationMethod mAuthMethod = AuthenticationMethod.UNKNOWN;
+ public boolean mIsSslConn = false;
}
}