home side bar completed
built custom bottom nav for home new activity for ExploreWokaActivity research to blur the background with transparency Made 2 theme Home fragment and MyList Fragment Connected them with the side bar with respect to the selected theme
This commit is contained in:
35
app/src/main/java/com/woka/home/BlurBackground.kt
Normal file
35
app/src/main/java/com/woka/home/BlurBackground.kt
Normal file
@@ -0,0 +1,35 @@
|
||||
package com.woka.home
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Bitmap
|
||||
import android.renderscript.Allocation
|
||||
import android.renderscript.Element
|
||||
import android.renderscript.RenderScript
|
||||
import android.renderscript.ScriptIntrinsicBlur
|
||||
|
||||
class BlurBackground {
|
||||
companion object {
|
||||
private const val BITMAP_SCALE = 0.4f
|
||||
private const val BLUR_RADIUS = 7.5f
|
||||
|
||||
fun blur(context: Context, image: Bitmap): Bitmap {
|
||||
val width = (image.width * BITMAP_SCALE).toInt()
|
||||
val height = (image.height * BITMAP_SCALE).toInt()
|
||||
|
||||
val inputBitmap = Bitmap.createScaledBitmap(image, width, height, false)
|
||||
val outputBitmap = Bitmap.createBitmap(inputBitmap)
|
||||
|
||||
val rs = RenderScript.create(context)
|
||||
val script = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs))
|
||||
val tmpIn = Allocation.createFromBitmap(rs, inputBitmap)
|
||||
val tmpOut = Allocation.createFromBitmap(rs, outputBitmap)
|
||||
|
||||
script.setRadius(BLUR_RADIUS)
|
||||
script.setInput(tmpIn)
|
||||
script.forEach(tmpOut)
|
||||
tmpOut.copyTo(outputBitmap)
|
||||
|
||||
return outputBitmap
|
||||
}
|
||||
}
|
||||
}
|
||||
112
app/src/main/java/com/woka/home/BottomNavigation.kt
Normal file
112
app/src/main/java/com/woka/home/BottomNavigation.kt
Normal file
@@ -0,0 +1,112 @@
|
||||
package com.woka.home
|
||||
|
||||
import android.content.Context
|
||||
import android.content.res.ColorStateList
|
||||
import android.util.AttributeSet
|
||||
import android.widget.FrameLayout
|
||||
import android.widget.ImageView
|
||||
import android.widget.TextView
|
||||
import androidx.cardview.widget.CardView
|
||||
import com.woka.R
|
||||
import com.woka.utils.toast
|
||||
|
||||
class BottomNavigation: FrameLayout {
|
||||
|
||||
companion object{
|
||||
const val HOME = 1
|
||||
const val EXPLORE_WOKA = 2
|
||||
const val MY_LIST = 3
|
||||
}
|
||||
|
||||
private var bottomTabSelectListener: OnBottomTabSelectListener? = null
|
||||
|
||||
fun setOnBottomTabSelectListener(listener: OnBottomTabSelectListener){
|
||||
bottomTabSelectListener = listener
|
||||
}
|
||||
|
||||
private var selectedItem = HOME
|
||||
|
||||
fun getSelectedTab() = selectedItem
|
||||
|
||||
// colors
|
||||
private val primaryColor = ColorStateList.valueOf(context.getColor(R.color.color_primary))
|
||||
private val darkGray = ColorStateList.valueOf(context.getColor(android.R.color.darker_gray))
|
||||
|
||||
// uis
|
||||
private var homeCard: CardView? = null
|
||||
private var exploreCard: CardView? = null
|
||||
private var myListCard: CardView? = null
|
||||
|
||||
private var homeImg: ImageView? = null
|
||||
private var homeTxt: TextView? = null
|
||||
|
||||
private var myListImg: ImageView? = null
|
||||
private var myListTxt: TextView? = null
|
||||
|
||||
init {
|
||||
val view = inflate(context, R.layout.layout_bottom_nav, this)
|
||||
|
||||
homeCard = view.findViewById(R.id.home_bn)
|
||||
exploreCard = view.findViewById(R.id.explore_woka_bn)
|
||||
myListCard = view.findViewById(R.id.my_list_bn)
|
||||
|
||||
homeImg = view.findViewById(R.id.home_img_bn)
|
||||
homeTxt = view.findViewById(R.id.home_txt_bn)
|
||||
|
||||
myListImg = view.findViewById(R.id.my_list_img_bn)
|
||||
myListTxt = view.findViewById(R.id.my_list_txt_bn)
|
||||
|
||||
clickEvents()
|
||||
}
|
||||
|
||||
constructor(context: Context): super(context)
|
||||
|
||||
constructor(context: Context, attrs: AttributeSet): super(context, attrs)
|
||||
|
||||
constructor(context: Context, attrs: AttributeSet, style: Int): super(context, attrs, style)
|
||||
|
||||
fun clickEvents(){
|
||||
|
||||
homeCard?.setOnClickListener {
|
||||
if (selectedItem != HOME){
|
||||
selectTab(HOME)
|
||||
}
|
||||
}
|
||||
|
||||
exploreCard?.setOnClickListener {
|
||||
if (selectedItem != EXPLORE_WOKA) {
|
||||
bottomTabSelectListener?.onBottomTabSelected(EXPLORE_WOKA)
|
||||
}
|
||||
}
|
||||
|
||||
myListCard?.setOnClickListener {
|
||||
if (selectedItem != MY_LIST) {
|
||||
selectTab(MY_LIST)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
fun selectTab(tab: Int){
|
||||
if (tab == HOME){
|
||||
homeImg?.imageTintList = primaryColor
|
||||
homeTxt?.setTextColor(primaryColor)
|
||||
|
||||
myListImg?.imageTintList = darkGray
|
||||
myListTxt?.setTextColor(darkGray)
|
||||
}else if (tab == MY_LIST){
|
||||
myListImg?.imageTintList = primaryColor
|
||||
myListTxt?.setTextColor(primaryColor)
|
||||
|
||||
homeImg?.imageTintList = darkGray
|
||||
homeTxt?.setTextColor(darkGray)
|
||||
}
|
||||
|
||||
bottomTabSelectListener?.onBottomTabSelected(tab)
|
||||
selectedItem = tab
|
||||
}
|
||||
|
||||
interface OnBottomTabSelectListener{
|
||||
fun onBottomTabSelected(tab: Int)
|
||||
}
|
||||
}
|
||||
33
app/src/main/java/com/woka/home/ExploreWokaActivity.kt
Normal file
33
app/src/main/java/com/woka/home/ExploreWokaActivity.kt
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.woka.home
|
||||
|
||||
import android.graphics.Bitmap
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.drawable.BitmapDrawable
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.woka.R
|
||||
import com.woka.databinding.ActivityExploreWokaBinding
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
|
||||
|
||||
class ExploreWokaActivity : WokaBaseActivity() {
|
||||
|
||||
private lateinit var binding: ActivityExploreWokaBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enableEdgeToEdge()
|
||||
binding = ActivityExploreWokaBinding.inflate(layoutInflater)
|
||||
|
||||
setContentView(binding.root)
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
|
||||
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
|
||||
insets
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,33 +1,41 @@
|
||||
package com.woka.home
|
||||
|
||||
import android.graphics.Color
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.Gravity
|
||||
import android.view.View.GONE
|
||||
import android.view.View.VISIBLE
|
||||
import android.view.WindowManager
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.core.view.GravityCompat
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.bumptech.glide.Glide
|
||||
import com.woka.BuildConfig
|
||||
import com.woka.R
|
||||
import com.woka.WokaApp.Companion.userPrefs
|
||||
import com.woka.databinding.ActivityHomeBinding
|
||||
import com.woka.home.BottomNavigation.Companion.EXPLORE_WOKA
|
||||
import com.woka.home.BottomNavigation.Companion.HOME
|
||||
import com.woka.home.BottomNavigation.Companion.MY_LIST
|
||||
import com.woka.home.fragments.Home1Fragment
|
||||
import com.woka.home.fragments.Home2Fragment
|
||||
import com.woka.home.fragments.MyListFragment
|
||||
import com.woka.mvvm.userDataModels.UserDataResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.utils.LOCALE_ENGLISH
|
||||
import com.woka.utils.LOCALE_HINDI
|
||||
import com.woka.utils.TAG
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.toast
|
||||
|
||||
class HomeActivity : WokaBaseActivity(), Observer<ApiResult<UserDataResponse>> {
|
||||
class HomeActivity : WokaBaseActivity(), Observer<ApiResult<UserDataResponse>>, BottomNavigation.OnBottomTabSelectListener {
|
||||
|
||||
private lateinit var binding: ActivityHomeBinding
|
||||
|
||||
private lateinit var viewModel: HomeViewModel
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enableEdgeToEdge()
|
||||
@@ -39,6 +47,8 @@ class HomeActivity : WokaBaseActivity(), Observer<ApiResult<UserDataResponse>> {
|
||||
insets
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this)[HomeViewModel::class.java]
|
||||
|
||||
userPrefs?.userLiveData?.observe(this, this)
|
||||
|
||||
initViews()
|
||||
@@ -46,16 +56,25 @@ class HomeActivity : WokaBaseActivity(), Observer<ApiResult<UserDataResponse>> {
|
||||
clickEvents()
|
||||
}
|
||||
|
||||
override fun onBackPressed() {
|
||||
if (binding.bottomNav.getSelectedTab() != HOME){
|
||||
binding.bottomNav.selectTab(HOME)
|
||||
}else {
|
||||
super.onBackPressed()
|
||||
}
|
||||
}
|
||||
|
||||
private fun initViews() {
|
||||
binding.apply {
|
||||
val versionName = "VER ${BuildConfig.VERSION_NAME}"
|
||||
sbVersion.text = versionName
|
||||
|
||||
bottomNav.setOnItemSelectedListener {
|
||||
if (bottomNav.selectedItemId != it.itemId)
|
||||
toast(it.title.toString())
|
||||
|
||||
true
|
||||
}
|
||||
bottomNav.setOnBottomTabSelectListener(this@HomeActivity)
|
||||
}
|
||||
|
||||
selectTheme(userPrefs?.appTheme?: Theme.THEME_ONE, true)
|
||||
|
||||
selectLanguage(userPrefs?.appLanguage?: LOCALE_ENGLISH, true)
|
||||
}
|
||||
|
||||
private fun clickEvents() {
|
||||
@@ -67,9 +86,99 @@ class HomeActivity : WokaBaseActivity(), Observer<ApiResult<UserDataResponse>> {
|
||||
closeDrawer.setOnClickListener {
|
||||
homeDrawer.closeDrawer(GravityCompat.END)
|
||||
}
|
||||
|
||||
sbTheme1.setOnClickListener {
|
||||
selectTheme(Theme.THEME_ONE)
|
||||
}
|
||||
|
||||
sbTheme2.setOnClickListener {
|
||||
selectTheme(Theme.THEME_TWO)
|
||||
}
|
||||
|
||||
sbEnglish.setOnClickListener {
|
||||
selectLanguage(LOCALE_ENGLISH)
|
||||
}
|
||||
|
||||
sbHindi.setOnClickListener {
|
||||
selectLanguage(LOCALE_HINDI)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun selectTheme(theme: Theme, init: Boolean = false){
|
||||
if (init || userPrefs?.appTheme != theme){
|
||||
// changing ui
|
||||
binding.apply {
|
||||
when(theme){
|
||||
Theme.THEME_ONE -> {
|
||||
sbTheme1Selected.visibility = VISIBLE
|
||||
sbTheme2Selected.visibility = GONE
|
||||
}
|
||||
Theme.THEME_TWO -> {
|
||||
sbTheme2Selected.visibility = VISIBLE
|
||||
sbTheme1Selected.visibility = GONE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
userPrefs?.appTheme = theme
|
||||
|
||||
binding.homeDrawer.closeDrawer(GravityCompat.END)
|
||||
binding.bottomNav.selectTab(HOME)
|
||||
}
|
||||
}
|
||||
|
||||
private fun selectLanguage(locale: String, init: Boolean = false){
|
||||
if (init || userPrefs?.appLanguage != locale){
|
||||
binding.apply {
|
||||
when(locale){
|
||||
LOCALE_ENGLISH -> {
|
||||
sbEnglish.setTextColor(ContextCompat.getColor(this@HomeActivity, R.color.color_primary_dark))
|
||||
sbEnglish.background = ContextCompat.getDrawable(this@HomeActivity, R.drawable.lang_tab_bg)
|
||||
|
||||
sbHindi.setTextColor(ContextCompat.getColor(this@HomeActivity, R.color.white))
|
||||
sbHindi.background = ContextCompat.getDrawable(this@HomeActivity, android.R.color.transparent)
|
||||
}
|
||||
LOCALE_HINDI -> {
|
||||
sbHindi.setTextColor(ContextCompat.getColor(this@HomeActivity, R.color.color_primary_dark))
|
||||
sbHindi.background = ContextCompat.getDrawable(this@HomeActivity, R.drawable.lang_tab_bg)
|
||||
|
||||
sbEnglish.setTextColor(ContextCompat.getColor(this@HomeActivity, R.color.white))
|
||||
sbEnglish.background = ContextCompat.getDrawable(this@HomeActivity, android.R.color.transparent)
|
||||
}
|
||||
}
|
||||
|
||||
userPrefs?.appLanguage = locale
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// on bottom navigation tab is selected
|
||||
override fun onBottomTabSelected(tab: Int) {
|
||||
when (tab){
|
||||
HOME -> {
|
||||
if (userPrefs?.appTheme == Theme.THEME_TWO){
|
||||
supportFragmentManager.beginTransaction()
|
||||
.replace(R.id.fc_home, Home2Fragment.newInstance())
|
||||
.commit()
|
||||
}else{
|
||||
supportFragmentManager.beginTransaction()
|
||||
.replace(R.id.fc_home, Home1Fragment.newInstance())
|
||||
.commit()
|
||||
}
|
||||
}
|
||||
EXPLORE_WOKA -> {
|
||||
startActivity(Intent(this, ExploreWokaActivity::class.java))
|
||||
}
|
||||
MY_LIST -> {
|
||||
supportFragmentManager.beginTransaction()
|
||||
.replace(R.id.fc_home, MyListFragment.newInstance())
|
||||
.commit()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// observer for userdata changes
|
||||
override fun onChanged(value: ApiResult<UserDataResponse>) {
|
||||
when(value){
|
||||
is ApiResult.Error -> {}
|
||||
|
||||
5
app/src/main/java/com/woka/home/HomeViewModel.kt
Normal file
5
app/src/main/java/com/woka/home/HomeViewModel.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
package com.woka.home
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class HomeViewModel: ViewModel()
|
||||
15
app/src/main/java/com/woka/home/Theme.kt
Normal file
15
app/src/main/java/com/woka/home/Theme.kt
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.woka.home
|
||||
|
||||
enum class Theme(val id: Int){
|
||||
THEME_ONE(1),
|
||||
THEME_TWO(2);
|
||||
|
||||
companion object{
|
||||
fun create(id: Int): Theme{
|
||||
return when(id){
|
||||
1 -> THEME_ONE
|
||||
else -> THEME_TWO
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25
app/src/main/java/com/woka/home/fragments/Home1Fragment.kt
Normal file
25
app/src/main/java/com/woka/home/fragments/Home1Fragment.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.woka.home.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.woka.databinding.FragmentHome1Binding
|
||||
|
||||
class Home1Fragment : Fragment() {
|
||||
|
||||
private lateinit var binding: FragmentHome1Binding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = FragmentHome1Binding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance() = Home1Fragment()
|
||||
}
|
||||
}
|
||||
25
app/src/main/java/com/woka/home/fragments/Home2Fragment.kt
Normal file
25
app/src/main/java/com/woka/home/fragments/Home2Fragment.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.woka.home.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.woka.databinding.FragmentHome2Binding
|
||||
|
||||
class Home2Fragment : Fragment() {
|
||||
|
||||
private lateinit var binding: FragmentHome2Binding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = FragmentHome2Binding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance() = Home2Fragment()
|
||||
}
|
||||
}
|
||||
25
app/src/main/java/com/woka/home/fragments/MyListFragment.kt
Normal file
25
app/src/main/java/com/woka/home/fragments/MyListFragment.kt
Normal file
@@ -0,0 +1,25 @@
|
||||
package com.woka.home.fragments
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.fragment.app.Fragment
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import com.woka.databinding.FragmentMyListBinding
|
||||
|
||||
class MyListFragment : Fragment() {
|
||||
|
||||
private lateinit var binding: FragmentMyListBinding
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?,
|
||||
savedInstanceState: Bundle?
|
||||
): View? {
|
||||
binding = FragmentMyListBinding.inflate(inflater, container, false)
|
||||
return binding.root
|
||||
}
|
||||
|
||||
companion object {
|
||||
fun newInstance() = MyListFragment()
|
||||
}
|
||||
}
|
||||
@@ -10,6 +10,8 @@ import androidx.core.app.ActivityOptionsCompat
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.woka.databinding.FragmentLanguageBinding
|
||||
import com.woka.onboard.OnboardActivity
|
||||
import com.woka.utils.LOCALE_ENGLISH
|
||||
import com.woka.utils.LOCALE_HINDI
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.changeLocale
|
||||
|
||||
@@ -39,12 +41,12 @@ class LanguageFragment : Fragment() {
|
||||
|
||||
private fun clickEvents() {
|
||||
binding.english.setOnClickListener {
|
||||
requireActivity().changeLocale("en")
|
||||
requireActivity().changeLocale(LOCALE_ENGLISH)
|
||||
gotoOnboardActivity()
|
||||
}
|
||||
|
||||
binding.hindi.setOnClickListener {
|
||||
requireActivity().changeLocale("hi")
|
||||
requireActivity().changeLocale(LOCALE_HINDI)
|
||||
gotoOnboardActivity()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.provider.Settings
|
||||
import android.provider.Settings.Secure
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.woka.home.Theme
|
||||
import com.woka.mvvm.UserApiService
|
||||
import com.woka.mvvm.UserRepository
|
||||
import com.woka.mvvm.userDataModels.UserData
|
||||
@@ -21,21 +22,27 @@ import kotlinx.coroutines.launch
|
||||
|
||||
class UserPreference(context: Context) {
|
||||
|
||||
companion object{
|
||||
companion object {
|
||||
private const val USER_PREFERENCE = "woka_user_preferences"
|
||||
private const val APP_LANGUAGE = "app_language"
|
||||
private const val APP_THEME = "app_theme"
|
||||
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)
|
||||
private val userPrefs: SharedPreferences =
|
||||
context.getSharedPreferences(USER_PREFERENCE, MODE_PRIVATE)
|
||||
|
||||
@SuppressLint("HardwareIds")
|
||||
val deviceId: String = Secure.getString(context.contentResolver, Secure.ANDROID_ID)
|
||||
|
||||
var appLanguage: String
|
||||
get() = userPrefs.getString(APP_LANGUAGE, "en")?:"en"
|
||||
get() = userPrefs.getString(APP_LANGUAGE, "en") ?: "en"
|
||||
set(value) = userPrefs.edit().putString(APP_LANGUAGE, value).apply()
|
||||
var appTheme: Theme
|
||||
get() = Theme.create(userPrefs.getInt(APP_THEME, 1))
|
||||
set(value) = userPrefs.edit().putInt(APP_THEME, value.id).apply()
|
||||
|
||||
var accessToken: String?
|
||||
get() = userPrefs.getString(ACCESS_TOKEN, null)
|
||||
@@ -49,13 +56,14 @@ class UserPreference(context: Context) {
|
||||
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 userRepository =
|
||||
UserRepository(RetrofitHelper.getRetrofit().create(UserApiService::class.java))
|
||||
|
||||
private val _userLiveData = MutableLiveData<ApiResult<UserDataResponse>>()
|
||||
val userLiveData: LiveData<ApiResult<UserDataResponse>>
|
||||
get() = _userLiveData
|
||||
|
||||
fun loadUserData(){
|
||||
fun loadUserData() {
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
_userLiveData.postValue(ApiResult.Loading())
|
||||
_userLiveData.postValue(userRepository.getUserData())
|
||||
|
||||
@@ -5,5 +5,10 @@ const val TAG = "aditya_testing"
|
||||
const val PARENT_TYPE = "2"
|
||||
const val CHILD_TYPE = "1"
|
||||
|
||||
// networking
|
||||
const val NO_INTERNET_MESSAGE = "Make sure you are connected to internet"
|
||||
const val UNKNOWN_ERROR_MESSAGE = "An unknown error occurred"
|
||||
const val UNKNOWN_ERROR_MESSAGE = "An unknown error occurred"
|
||||
|
||||
// language code
|
||||
const val LOCALE_HINDI = "hi"
|
||||
const val LOCALE_ENGLISH = "en"
|
||||
@@ -18,6 +18,6 @@ open class WokaBaseActivity: AppCompatActivity() {
|
||||
configuration.fontScale = min(configuration.fontScale.toDouble(), 1.0).toFloat()
|
||||
applyOverrideConfiguration(configuration)
|
||||
super.attachBaseContext(newBase)
|
||||
changeLocale(userPrefs?.appLanguage?:"en")
|
||||
changeLocale(userPrefs?.appLanguage?: LOCALE_ENGLISH)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user