Login credentials: keep the default uri (even if null).

We need this for etebase compat.
pull/131/head
Tom Hacohen 4 years ago
parent 65861b3f1c
commit ee8c8d8fe1

@ -13,6 +13,7 @@ import com.etesync.journalmanager.Crypto
import com.etesync.journalmanager.Exceptions import com.etesync.journalmanager.Exceptions
import com.etesync.journalmanager.JournalAuthenticator import com.etesync.journalmanager.JournalAuthenticator
import com.etesync.journalmanager.UserInfoManager import com.etesync.journalmanager.UserInfoManager
import com.etesync.syncadapter.Constants
import com.etesync.syncadapter.log.Logger import com.etesync.syncadapter.log.Logger
import com.etesync.syncadapter.model.CollectionInfo import com.etesync.syncadapter.model.CollectionInfo
import okhttp3.HttpUrl import okhttp3.HttpUrl
@ -36,15 +37,17 @@ class BaseConfigurationFinder(protected val context: Context, protected val cred
val cardDavConfig = findInitialConfiguration(CollectionInfo.Type.ADDRESS_BOOK) val cardDavConfig = findInitialConfiguration(CollectionInfo.Type.ADDRESS_BOOK)
val calDavConfig = findInitialConfiguration(CollectionInfo.Type.CALENDAR) val calDavConfig = findInitialConfiguration(CollectionInfo.Type.CALENDAR)
val authenticator = JournalAuthenticator(httpClient, credentials.uri?.toHttpUrlOrNull()!!) val uri = credentials.uri ?: URI(Constants.serviceUrl.toString())
val authenticator = JournalAuthenticator(httpClient, uri.toHttpUrlOrNull()!!)
var authtoken: String? = null var authtoken: String? = null
var userInfo: UserInfoManager.UserInfo? = null var userInfo: UserInfoManager.UserInfo? = null
try { try {
authtoken = authenticator.getAuthToken(credentials.userName, credentials.password) authtoken = authenticator.getAuthToken(credentials.userName, credentials.password)
val authenticatedHttpClient = HttpClient.Builder(context, credentials.uri.host, authtoken!!).build().okHttpClient val authenticatedHttpClient = HttpClient.Builder(context, uri.host, authtoken!!).build().okHttpClient
val userInfoManager = UserInfoManager(authenticatedHttpClient, credentials.uri.toHttpUrlOrNull()!!) val userInfoManager = UserInfoManager(authenticatedHttpClient, uri.toHttpUrlOrNull()!!)
userInfo = userInfoManager.fetch(credentials.userName) userInfo = userInfoManager.fetch(credentials.userName)
} catch (e: Exceptions.HttpException) { } catch (e: Exceptions.HttpException) {
Logger.log.warning(e.message) Logger.log.warning(e.message)
@ -55,7 +58,7 @@ class BaseConfigurationFinder(protected val context: Context, protected val cred
} }
return Configuration( return Configuration(
credentials.uri, uri,
credentials.userName, authtoken, credentials.userName, authtoken,
cardDavConfig, calDavConfig, cardDavConfig, calDavConfig,
userInfo, userInfo,

@ -15,22 +15,7 @@ import com.etesync.syncadapter.log.Logger
import java.net.URI import java.net.URI
import java.net.URISyntaxException import java.net.URISyntaxException
class LoginCredentials(_uri: URI?, val userName: String, val password: String) : Parcelable { class LoginCredentials(val uri: URI?, val userName: String, val password: String) : Parcelable {
val uri: URI?
init {
var uri = _uri
if (uri == null) {
try {
uri = URI(Constants.serviceUrl.toString())
} catch (e: URISyntaxException) {
Logger.log.severe("Should never happen, it's a constant")
}
}
this.uri = uri
}
override fun describeContents(): Int { override fun describeContents(): Int {
return 0 return 0

Loading…
Cancel
Save