Auto-review
This commit is contained in:
parent
a17932e17e
commit
4b2f8e9174
|
@ -47,7 +47,7 @@ internal fun IdentityServerEntity.Companion.setUrl(realm: Realm,
|
||||||
|
|
||||||
internal fun IdentityServerEntity.Companion.setToken(realm: Realm,
|
internal fun IdentityServerEntity.Companion.setToken(realm: Realm,
|
||||||
newToken: String?) {
|
newToken: String?) {
|
||||||
getOrCreate(realm).apply {
|
get(realm)?.apply {
|
||||||
token = newToken
|
token = newToken
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ internal fun IdentityServerEntity.Companion.setToken(realm: Realm,
|
||||||
internal fun IdentityServerEntity.Companion.setHashDetails(realm: Realm,
|
internal fun IdentityServerEntity.Companion.setHashDetails(realm: Realm,
|
||||||
pepper: String,
|
pepper: String,
|
||||||
algorithms: List<String>) {
|
algorithms: List<String>) {
|
||||||
getOrCreate(realm).apply {
|
get(realm)?.apply {
|
||||||
hashLookupPepper = pepper
|
hashLookupPepper = pepper
|
||||||
hashLookupAlgorithm = RealmList<String>().apply { addAll(algorithms) }
|
hashLookupAlgorithm = RealmList<String>().apply { addAll(algorithms) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package im.vector.riotx.features.terms
|
||||||
|
|
||||||
|
import im.vector.riotx.core.platform.VectorViewModelAction
|
||||||
|
|
||||||
|
sealed class ReviewTermsAction : VectorViewModelAction {
|
||||||
|
data class LoadTerms(val preferredLanguageCode: String) : ReviewTermsAction()
|
||||||
|
data class MarkTermAsAccepted(val url: String, val accepted: Boolean) : ReviewTermsAction()
|
||||||
|
object Accept : ReviewTermsAction()
|
||||||
|
}
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package im.vector.riotx.features.terms
|
||||||
|
|
||||||
|
import im.vector.riotx.core.platform.VectorViewEvents
|
||||||
|
|
||||||
|
sealed class ReviewTermsViewEvents : VectorViewEvents {
|
||||||
|
data class Failure(val throwable: Throwable, val finish: Boolean) : ReviewTermsViewEvents()
|
||||||
|
object Success : ReviewTermsViewEvents()
|
||||||
|
}
|
|
@ -16,9 +16,7 @@
|
||||||
package im.vector.riotx.features.terms
|
package im.vector.riotx.features.terms
|
||||||
|
|
||||||
import com.airbnb.mvrx.ActivityViewModelContext
|
import com.airbnb.mvrx.ActivityViewModelContext
|
||||||
import com.airbnb.mvrx.Async
|
|
||||||
import com.airbnb.mvrx.Loading
|
import com.airbnb.mvrx.Loading
|
||||||
import com.airbnb.mvrx.MvRxState
|
|
||||||
import com.airbnb.mvrx.MvRxViewModelFactory
|
import com.airbnb.mvrx.MvRxViewModelFactory
|
||||||
import com.airbnb.mvrx.Success
|
import com.airbnb.mvrx.Success
|
||||||
import com.airbnb.mvrx.Uninitialized
|
import com.airbnb.mvrx.Uninitialized
|
||||||
|
@ -29,34 +27,9 @@ import im.vector.matrix.android.api.MatrixCallback
|
||||||
import im.vector.matrix.android.api.session.Session
|
import im.vector.matrix.android.api.session.Session
|
||||||
import im.vector.matrix.android.api.session.terms.GetTermsResponse
|
import im.vector.matrix.android.api.session.terms.GetTermsResponse
|
||||||
import im.vector.riotx.core.extensions.exhaustive
|
import im.vector.riotx.core.extensions.exhaustive
|
||||||
import im.vector.riotx.core.platform.VectorViewEvents
|
|
||||||
import im.vector.riotx.core.platform.VectorViewModel
|
import im.vector.riotx.core.platform.VectorViewModel
|
||||||
import im.vector.riotx.core.platform.VectorViewModelAction
|
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
|
|
||||||
data class Term(
|
|
||||||
val url: String,
|
|
||||||
val name: String,
|
|
||||||
val version: String? = null,
|
|
||||||
val accepted: Boolean = false
|
|
||||||
)
|
|
||||||
|
|
||||||
data class ReviewTermsViewState(
|
|
||||||
val termsList: Async<List<Term>> = Uninitialized,
|
|
||||||
val acceptingTerms: Async<Unit> = Uninitialized
|
|
||||||
) : MvRxState
|
|
||||||
|
|
||||||
sealed class ReviewTermsAction : VectorViewModelAction {
|
|
||||||
data class LoadTerms(val preferredLanguageCode: String) : ReviewTermsAction()
|
|
||||||
data class MarkTermAsAccepted(val url: String, val accepted: Boolean) : ReviewTermsAction()
|
|
||||||
object Accept : ReviewTermsAction()
|
|
||||||
}
|
|
||||||
|
|
||||||
sealed class ReviewTermsViewEvents : VectorViewEvents {
|
|
||||||
data class Failure(val throwable: Throwable, val finish: Boolean) : ReviewTermsViewEvents()
|
|
||||||
object Success : ReviewTermsViewEvents()
|
|
||||||
}
|
|
||||||
|
|
||||||
class ReviewTermsViewModel @AssistedInject constructor(
|
class ReviewTermsViewModel @AssistedInject constructor(
|
||||||
@Assisted initialState: ReviewTermsViewState,
|
@Assisted initialState: ReviewTermsViewState,
|
||||||
private val session: Session
|
private val session: Session
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package im.vector.riotx.features.terms
|
||||||
|
|
||||||
|
import com.airbnb.mvrx.Async
|
||||||
|
import com.airbnb.mvrx.MvRxState
|
||||||
|
import com.airbnb.mvrx.Uninitialized
|
||||||
|
|
||||||
|
data class ReviewTermsViewState(
|
||||||
|
val termsList: Async<List<Term>> = Uninitialized,
|
||||||
|
val acceptingTerms: Async<Unit> = Uninitialized
|
||||||
|
) : MvRxState
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2020 New Vector Ltd
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package im.vector.riotx.features.terms
|
||||||
|
|
||||||
|
data class Term(
|
||||||
|
val url: String,
|
||||||
|
val name: String,
|
||||||
|
val version: String? = null,
|
||||||
|
val accepted: Boolean = false
|
||||||
|
)
|
Loading…
Reference in New Issue