// Copyright 2022 Google LLC
|
//
|
// 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
|
//
|
// https://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.
|
|
|
import android.app.Application
|
import android.util.Log
|
import androidx.lifecycle.AndroidViewModel
|
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.viewModelScope
|
import com.google.recaptcha.sample.RecaptchaVisualException
|
import kotlinx.coroutines.launch
|
|
class MainActivityViewModel(
|
private val application: Application,
|
) : AndroidViewModel(application) {
|
|
private val backendRepository: BackendRepository = BackendRepository()
|
|
companion object {
|
const val TAG = "VisualTestApp"
|
}
|
|
private val _currentResponseText = MutableLiveData<String>()
|
val responseText: LiveData<String>
|
get() = _currentResponseText
|
|
fun onLoginButtonClicked(token: String) {
|
updateText("Loading ...")
|
viewModelScope.launch {
|
if (backendRepository.assessLoginAction(token)) {
|
updateText("User can Login")
|
} else {
|
updateText("User can't Login")
|
}
|
}
|
}
|
|
fun onTokenError(error: RecaptchaVisualException) {
|
updateText("Error: " + error.localizedMessage)
|
}
|
|
private fun updateText(message: String) {
|
_currentResponseText.value = message
|
Log.d(TAG, message)
|
}
|
}
|