HomeActivity creation and connection
get user api integration in UserPreference.kte
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
xmlns:tools="http://schemas.android.com/tools" >
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.Woka"
|
||||
tools:targetApi="31">
|
||||
tools:targetApi="31" >
|
||||
<activity
|
||||
android:name=".home.HomeActivity"
|
||||
android:exported="false" />
|
||||
@@ -27,7 +27,7 @@
|
||||
android:name=".onboard.WelcomeActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.App.Starting">
|
||||
android:theme="@style/Theme.App.Starting" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
|
||||
@@ -1,13 +1,20 @@
|
||||
package com.woka.home
|
||||
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.utils.TAG
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class HomeActivity : AppCompatActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enableEdgeToEdge()
|
||||
@@ -17,5 +24,7 @@ class HomeActivity : AppCompatActivity() {
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
||||
insets
|
||||
}
|
||||
|
||||
Log.d(TAG, "onCreate: ${userPrefs?.userType} ${userPrefs?.accessToken}")
|
||||
}
|
||||
}
|
||||
12
app/src/main/java/com/woka/mvvm/UserApiService.kt
Normal file
12
app/src/main/java/com/woka/mvvm/UserApiService.kt
Normal file
@@ -0,0 +1,12 @@
|
||||
package com.woka.mvvm
|
||||
|
||||
import com.woka.mvvm.userDataModels.UserDataResponse
|
||||
import com.woka.networking.ApiResponse
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.GET
|
||||
|
||||
interface UserApiService {
|
||||
|
||||
@GET("get_user_data")
|
||||
suspend fun getUserData(): Response<ApiResponse<UserDataResponse>>
|
||||
}
|
||||
14
app/src/main/java/com/woka/mvvm/UserRepository.kt
Normal file
14
app/src/main/java/com/woka/mvvm/UserRepository.kt
Normal file
@@ -0,0 +1,14 @@
|
||||
package com.woka.mvvm
|
||||
|
||||
import com.woka.mvvm.userDataModels.UserDataResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.networking.RetrofitHelper.handleApiCall
|
||||
|
||||
class UserRepository(private val userApiService: UserApiService) {
|
||||
|
||||
suspend fun getUserData(): ApiResult<UserDataResponse>{
|
||||
return handleApiCall{
|
||||
userApiService.getUserData()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class ChildDetail(
|
||||
val avatar_name: String?,
|
||||
val id: Int?,
|
||||
val interest_topic: List<InterestTopic?>?,
|
||||
val user_id: Int?
|
||||
)
|
||||
6
app/src/main/java/com/woka/mvvm/userDataModels/Gender.kt
Normal file
6
app/src/main/java/com/woka/mvvm/userDataModels/Gender.kt
Normal file
@@ -0,0 +1,6 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class Gender(
|
||||
val gender_name: String?,
|
||||
val id: Int?
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class InterestTopic(
|
||||
val id: Int?,
|
||||
val topic_name: String?
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class Language(
|
||||
val id: Int?,
|
||||
val language_name: String?
|
||||
)
|
||||
@@ -1,10 +1,10 @@
|
||||
package com.woka.onboard.models
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class Result(
|
||||
data class UserData(
|
||||
val already_logged_in: Boolean,
|
||||
val avtar: String?,
|
||||
val birthdate: String?,
|
||||
val child_detail: Any?,
|
||||
val child_detail: ChildDetail?,
|
||||
val email: String?,
|
||||
val fullname: String?,
|
||||
val gender: Gender?,
|
||||
@@ -14,6 +14,6 @@ data class Result(
|
||||
val language_master_id: Int?,
|
||||
val last_login: String?,
|
||||
val remember_token: String?,
|
||||
val user_type: String?,
|
||||
val user_type: Int?,
|
||||
val username: String?
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class UserDataResponse(
|
||||
val result: UserData?,
|
||||
val userNotificationData: UserNotificationData?,
|
||||
val userNotificationsCount: Int?
|
||||
)
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.woka.mvvm.userDataModels
|
||||
|
||||
data class UserNotificationData(
|
||||
val created_at: String?,
|
||||
val description: String?,
|
||||
val image_url: String?,
|
||||
val is_home_notification_read: Int?,
|
||||
val is_read: Int?,
|
||||
val is_specific_time_notification: Int?,
|
||||
val link: Any?,
|
||||
val post_type: Int?,
|
||||
val title: String?,
|
||||
val type: String?,
|
||||
val user_id: Int?
|
||||
)
|
||||
@@ -8,6 +8,7 @@ import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.onboard.models.LoginResponse
|
||||
import com.woka.utils.NO_INTERNET_MESSAGE
|
||||
import com.woka.utils.UNKNOWN_ERROR_MESSAGE
|
||||
import com.woka.utils.UserType
|
||||
import kotlinx.coroutines.delay
|
||||
import okhttp3.Credentials
|
||||
import okhttp3.Interceptor
|
||||
@@ -41,6 +42,12 @@ object RetrofitHelper {
|
||||
request.addHeader("device-id", userPrefs?.deviceId!!)
|
||||
request.addHeader("Authorization", Credentials.basic(BuildConfig.WOKA_USER_NAME, BuildConfig.WOKA_PASSWORD))
|
||||
|
||||
if (userPrefs?.userType == UserType.CHILD || userPrefs?.userType == UserType.GUARDIAN){
|
||||
userPrefs?.accessToken?.let {
|
||||
request.addHeader("access-token", it)
|
||||
}
|
||||
}
|
||||
|
||||
chain.proceed(request.build())
|
||||
})
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.woka.onboard.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.transition.TransitionInflater
|
||||
@@ -8,16 +9,28 @@ import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.WindowManager
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.databinding.FragmentOnboardBinding
|
||||
import com.woka.home.HomeActivity
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.onboard.OnboardingAdapter
|
||||
import com.woka.onboard.mvvm.OnboardViewModel
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.toast
|
||||
|
||||
class OnboardFragment : Fragment() {
|
||||
|
||||
private lateinit var binding: FragmentOnboardBinding
|
||||
|
||||
private lateinit var viewModel: OnboardViewModel
|
||||
|
||||
private lateinit var progressView: ProgressView
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
sharedElementEnterTransition = TransitionInflater.from(context).inflateTransition(android.R.transition.move)
|
||||
@@ -28,8 +41,13 @@ class OnboardFragment : Fragment() {
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = FragmentOnboardBinding.inflate(inflater, container, false)
|
||||
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
|
||||
activity?.window?.statusBarColor = Color.parseColor("#55cffe")
|
||||
activity?.let {
|
||||
it.window?.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
|
||||
it.window?.statusBarColor = Color.parseColor("#55cffe")
|
||||
|
||||
viewModel = ViewModelProvider(it)[OnboardViewModel::class.java]
|
||||
progressView = ProgressView(it)
|
||||
}
|
||||
return binding.root
|
||||
}
|
||||
|
||||
@@ -39,6 +57,40 @@ class OnboardFragment : Fragment() {
|
||||
initViews()
|
||||
|
||||
clickEvents()
|
||||
|
||||
viewModel.guestLogin.observe(viewLifecycleOwner){
|
||||
when(it){
|
||||
is ApiResult.Error -> {
|
||||
progressView.hide()
|
||||
toast(it.errorMessage)
|
||||
}
|
||||
is ApiResult.Loading -> {
|
||||
progressView.show(getString(R.string.please_wait))
|
||||
}
|
||||
is ApiResult.Success -> {
|
||||
progressView.hide()
|
||||
it.data?.let {data ->
|
||||
toast(it.message)
|
||||
|
||||
userPrefs?.userType = UserType.GUEST
|
||||
userPrefs?.guestUserName = data.fullname
|
||||
|
||||
activity?.let { activity->
|
||||
startActivity(Intent(activity, HomeActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
})
|
||||
activity.finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
null -> {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
viewModel.clearGuestLoginData()
|
||||
}
|
||||
|
||||
private fun initViews() {
|
||||
@@ -62,6 +114,10 @@ class OnboardFragment : Fragment() {
|
||||
login.setOnClickListener {
|
||||
findNavController().navigate(R.id.action_onboardFragment_to_signInFragment)
|
||||
}
|
||||
|
||||
guest.setOnClickListener {
|
||||
viewModel.guestLogin()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ import com.woka.onboard.models.RegisterRequestData
|
||||
import com.woka.onboard.mvvm.OnboardViewModel
|
||||
import com.woka.utils.Gender
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.toast
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
@@ -136,8 +137,17 @@ class SelectAvatarFragment : Fragment() {
|
||||
activity?.let {activity ->
|
||||
toast(it.message)
|
||||
|
||||
startActivity(Intent(activity, HomeActivity::class.java))
|
||||
activity.finish()
|
||||
it.data?.result?.let { result->
|
||||
|
||||
// saving to user prefs
|
||||
userPrefs?.accessToken = result.remember_token?:"no_token_received"
|
||||
userPrefs?.userType = UserType.createUserType(result.user_type)
|
||||
|
||||
startActivity(Intent(activity, HomeActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
})
|
||||
activity.finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
null -> {}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.woka.onboard.fragments
|
||||
|
||||
import android.content.Intent
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
@@ -11,12 +12,15 @@ import android.widget.Toast
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.navigation.fragment.findNavController
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.databinding.FragmentSignInBinding
|
||||
import com.woka.home.HomeActivity
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_RESET_PASSWORD_INTENT
|
||||
import com.woka.onboard.mvvm.OnboardViewModel
|
||||
import com.woka.utils.DecisionDialog
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.toast
|
||||
|
||||
class SignInFragment : Fragment() {
|
||||
@@ -80,6 +84,12 @@ class SignInFragment : Fragment() {
|
||||
dialog.show()
|
||||
}else{
|
||||
toast(it.message)
|
||||
|
||||
// saving to user prefs
|
||||
userPrefs?.accessToken = data.remember_token?:"no_value_received"
|
||||
userPrefs?.userType = UserType.createUserType(data.user_type)
|
||||
|
||||
gotoHomeActivity()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -100,6 +110,7 @@ class SignInFragment : Fragment() {
|
||||
is ApiResult.Success -> {
|
||||
progressView.hide()
|
||||
toast(it.message)
|
||||
gotoHomeActivity()
|
||||
}
|
||||
null -> {}
|
||||
}
|
||||
@@ -145,4 +156,13 @@ class SignInFragment : Fragment() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun gotoHomeActivity(){
|
||||
activity?.let { activity->
|
||||
startActivity(Intent(activity, HomeActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
})
|
||||
activity.finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class Gender(
|
||||
val gender_name: String,
|
||||
val id: Int
|
||||
)
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class GenderX(
|
||||
val gender_name: String,
|
||||
val id: Int
|
||||
)
|
||||
6
app/src/main/java/com/woka/onboard/models/Guest.kt
Normal file
6
app/src/main/java/com/woka/onboard/models/Guest.kt
Normal file
@@ -0,0 +1,6 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class Guest(
|
||||
val fullname: String?,
|
||||
val username: String?
|
||||
)
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class Language(
|
||||
val id: Int,
|
||||
val language_name: String
|
||||
)
|
||||
@@ -1,6 +0,0 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class LanguageX(
|
||||
val id: Int,
|
||||
val language_name: String
|
||||
)
|
||||
@@ -1,4 +1,7 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
import com.woka.mvvm.userDataModels.UserData
|
||||
|
||||
data class LoginResponse(
|
||||
val result: Result?
|
||||
val result: UserData?
|
||||
)
|
||||
@@ -1,18 +0,0 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
data class RegisterData(
|
||||
val already_logged_in: Boolean,
|
||||
val avtar: String,
|
||||
val birthdate: String,
|
||||
val child_detail: Any,
|
||||
val email: String,
|
||||
val fullname: String,
|
||||
val gender: GenderX,
|
||||
val id: Int,
|
||||
val language: LanguageX,
|
||||
val language_master_id: Int,
|
||||
val last_login: String,
|
||||
val remember_token: String,
|
||||
val user_type: String,
|
||||
val username: String
|
||||
)
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.woka.onboard.models
|
||||
|
||||
import com.woka.mvvm.userDataModels.UserData
|
||||
|
||||
data class RegisterResponse(
|
||||
val result: RegisterData
|
||||
val result: UserData
|
||||
)
|
||||
@@ -4,6 +4,7 @@ import com.woka.networking.ApiResponse
|
||||
import com.woka.onboard.models.AvatarList
|
||||
import com.woka.onboard.models.ChildListResponse
|
||||
import com.woka.onboard.models.ForgotPasswrodOTPResponse
|
||||
import com.woka.onboard.models.Guest
|
||||
import com.woka.onboard.models.InterestTopicResponse
|
||||
import com.woka.onboard.models.LoginResponse
|
||||
import com.woka.onboard.models.RegisterRequestData
|
||||
@@ -56,4 +57,7 @@ interface OnboardApiService {
|
||||
@POST("update_password")
|
||||
suspend fun updatePassword(@Body body: FormBody): Response<ApiResponse<Any>>
|
||||
|
||||
@POST("guest_login")
|
||||
suspend fun guestLogin(@Body body: FormBody): Response<ApiResponse<Guest>>
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.woka.onboard.mvvm
|
||||
|
||||
import com.woka.WokaApp
|
||||
import com.woka.networking.ApiResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.networking.RetrofitHelper.handleApiCall
|
||||
@@ -7,6 +8,7 @@ import com.woka.networking.RetrofitHelper.handleApiResponse
|
||||
import com.woka.onboard.models.AvatarList
|
||||
import com.woka.onboard.models.ChildListResponse
|
||||
import com.woka.onboard.models.ForgotPasswrodOTPResponse
|
||||
import com.woka.onboard.models.Guest
|
||||
import com.woka.onboard.models.InterestTopicResponse
|
||||
import com.woka.onboard.models.LoginResponse
|
||||
import com.woka.onboard.models.RegisterRequestData
|
||||
@@ -148,4 +150,17 @@ class OnboardRepository(private val apiService: OnboardApiService) {
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun guestLogin(): ApiResult<Guest>{
|
||||
return handleApiCall {
|
||||
apiService.guestLogin(
|
||||
FormBody.Builder()
|
||||
.add("language_id", if (WokaApp.userPrefs?.appLanguage == "hi") "2" else "1")
|
||||
.add("user_type", "3")
|
||||
.add("one_signal_player_id", "test")
|
||||
.add("device_type", "1")
|
||||
.build()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import com.woka.onboard.models.AvatarList
|
||||
import com.woka.onboard.models.Child
|
||||
import com.woka.onboard.models.ChildListResponse
|
||||
import com.woka.onboard.models.ForgotPasswrodOTPResponse
|
||||
import com.woka.onboard.models.Guest
|
||||
import com.woka.onboard.models.InterestTopicResponse
|
||||
import com.woka.onboard.models.LoginResponse
|
||||
import com.woka.onboard.models.RegisterRequestData
|
||||
@@ -39,6 +40,12 @@ class OnboardViewModel: ViewModel(){
|
||||
val interestTopics = mutableSetOf<Int>()
|
||||
|
||||
// live_data
|
||||
// onboard fragment
|
||||
private val _guestLogin = MutableLiveData<ApiResult<Guest>?>()
|
||||
fun clearGuestLoginData() = _guestLogin.postValue(null)
|
||||
val guestLogin: LiveData<ApiResult<Guest>?>
|
||||
get() = _guestLogin
|
||||
|
||||
/*
|
||||
Login Fragment
|
||||
*/
|
||||
@@ -118,6 +125,14 @@ class OnboardViewModel: ViewModel(){
|
||||
val updatePasswordLiveData: LiveData<ApiResult<Any>?>
|
||||
get() = _updatePasswordLiveData
|
||||
|
||||
fun guestLogin(){
|
||||
viewModelScope.launch {
|
||||
_guestLogin.postValue(ApiResult.Loading())
|
||||
val response = repository.guestLogin()
|
||||
_guestLogin.postValue(response)
|
||||
}
|
||||
}
|
||||
|
||||
fun login(userName: String, password: String){
|
||||
viewModelScope.launch {
|
||||
_loginLiveData.postValue(ApiResult.Loading())
|
||||
|
||||
@@ -6,12 +6,27 @@ import android.content.Context.MODE_PRIVATE
|
||||
import android.content.SharedPreferences
|
||||
import android.provider.Settings
|
||||
import android.provider.Settings.Secure
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.woka.mvvm.UserApiService
|
||||
import com.woka.mvvm.UserRepository
|
||||
import com.woka.mvvm.userDataModels.UserData
|
||||
import com.woka.mvvm.userDataModels.UserDataResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.networking.RetrofitHelper
|
||||
import com.woka.utils.UserType
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class UserPreference(context: Context) {
|
||||
|
||||
companion object{
|
||||
private const val USER_PREFERENCE = "woka_user_preferences"
|
||||
private const val APP_LANGUAGE = "app_language"
|
||||
private const val ACCESS_TOKEN = "access_token"
|
||||
private const val USER_TYPE = "user_type"
|
||||
private const val GUEST_USER_NAME = "guest_user_name"
|
||||
}
|
||||
|
||||
private val userPrefs: SharedPreferences = context.getSharedPreferences(USER_PREFERENCE, MODE_PRIVATE)
|
||||
@@ -21,4 +36,29 @@ class UserPreference(context: Context) {
|
||||
var appLanguage: String
|
||||
get() = userPrefs.getString(APP_LANGUAGE, "en")?:"en"
|
||||
set(value) = userPrefs.edit().putString(APP_LANGUAGE, value).apply()
|
||||
|
||||
var accessToken: String?
|
||||
get() = userPrefs.getString(ACCESS_TOKEN, null)
|
||||
set(value) = userPrefs.edit().putString(ACCESS_TOKEN, value).apply()
|
||||
|
||||
var userType: UserType
|
||||
get() = UserType.createUserType(userPrefs.getInt(USER_TYPE, -1))
|
||||
set(value) = userPrefs.edit().putInt(USER_TYPE, value.id).apply()
|
||||
|
||||
var guestUserName: String?
|
||||
get() = userPrefs.getString(GUEST_USER_NAME, null)
|
||||
set(value) = userPrefs.edit().putString(GUEST_USER_NAME, value).apply()
|
||||
|
||||
private val userRepository = UserRepository(RetrofitHelper.getRetrofit().create(UserApiService::class.java))
|
||||
|
||||
private val _userLiveData = MutableLiveData<ApiResult<UserDataResponse>>()
|
||||
val userLiveData: LiveData<ApiResult<UserDataResponse>>
|
||||
get() = _userLiveData
|
||||
|
||||
fun loadUserData(){
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
_userLiveData.postValue(ApiResult.Loading())
|
||||
_userLiveData.postValue(userRepository.getUserData())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.woka.utils
|
||||
|
||||
const val TAG = "aditya_testing"
|
||||
|
||||
const val PARENT_TYPE = "2"
|
||||
const val CHILD_TYPE = "1"
|
||||
|
||||
|
||||
19
app/src/main/java/com/woka/utils/UserType.kt
Normal file
19
app/src/main/java/com/woka/utils/UserType.kt
Normal file
@@ -0,0 +1,19 @@
|
||||
package com.woka.utils
|
||||
|
||||
enum class UserType(val id: Int) {
|
||||
CHILD(1),
|
||||
GUARDIAN(2),
|
||||
GUEST(3),
|
||||
NONE(-1);
|
||||
|
||||
companion object{
|
||||
fun createUserType(id: Int?): UserType{
|
||||
return when(id){
|
||||
1 -> CHILD
|
||||
2 -> GUARDIAN
|
||||
3 -> GUEST
|
||||
else -> NONE
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".home.HomeActivity">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -45,6 +45,7 @@
|
||||
android:layout_marginVertical="10dp"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
android:textAlignment="center"
|
||||
|
||||
android:textColor="@color/color_primary"
|
||||
tools:text="This is message that will be shown as subtitle"
|
||||
|
||||
Reference in New Issue
Block a user