Addchild key when parent adding child
Logging-out user when success is 4 for session expired WebView for Terms and conditions and privacy policy DisclaimerActivity and showing static content Notification count view and showing count from user data MoreActivity - Song api integration and showing songs
This commit is contained in:
@@ -16,11 +16,17 @@
|
||||
android:theme="@style/Theme.Woka"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".home.sidebar.addchild.AddChildActivity"
|
||||
android:exported="false" />
|
||||
android:name=".modules.disclaimer.DisclaimerActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".modules.webview.WebViewActivity"
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".home.sidebar.profile.UserProfileActivity"
|
||||
android:exported="false" />
|
||||
android:exported="false"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity
|
||||
android:name=".home.sidebar.support.SupportActivity"
|
||||
android:exported="false"
|
||||
|
||||
@@ -39,6 +39,9 @@ import com.woka.home.sidebar.aboutwoka.AboutActivity
|
||||
import com.woka.home.sidebar.faqs.FaqActivity
|
||||
import com.woka.home.sidebar.profile.UserProfileActivity
|
||||
import com.woka.home.sidebar.support.SupportActivity
|
||||
import com.woka.modules.disclaimer.DisclaimerActivity
|
||||
import com.woka.modules.webview.WebViewActivity
|
||||
import com.woka.modules.webview.WebViewActivity.Companion.WEB_VIEW_URL
|
||||
import com.woka.userdata.userDataModels.UserDataResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.onboard.OnboardActivity
|
||||
@@ -48,8 +51,10 @@ import com.woka.onboard.OnboardActivity.Companion.ONBOARD_ACTIVITY_INTENT
|
||||
import com.woka.utils.DecisionDialog
|
||||
import com.woka.utils.LOCALE_ENGLISH
|
||||
import com.woka.utils.LOCALE_HINDI
|
||||
import com.woka.utils.PRIVACY_N_POLICY_URL
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.TAG
|
||||
import com.woka.utils.TERMS_N_CONDITIONS_URL
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.changeLocale
|
||||
@@ -57,6 +62,7 @@ import com.woka.utils.hide
|
||||
import com.woka.utils.lightStatusBar
|
||||
import com.woka.utils.show
|
||||
import com.woka.utils.toast
|
||||
import kotlin.math.min
|
||||
|
||||
class HomeActivity : WokaBaseActivity(),
|
||||
Observer<ApiResult<UserDataResponse>?>,
|
||||
@@ -331,6 +337,28 @@ class HomeActivity : WokaBaseActivity(),
|
||||
}
|
||||
}
|
||||
|
||||
sbTermsNConditionsCard.setOnClickListener {
|
||||
startActivity(
|
||||
Intent(this@HomeActivity, WebViewActivity::class.java).apply {
|
||||
putExtra(WEB_VIEW_URL, TERMS_N_CONDITIONS_URL)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
sbPrivacyNPolicyCard.setOnClickListener {
|
||||
startActivity(
|
||||
Intent(this@HomeActivity, WebViewActivity::class.java).apply {
|
||||
putExtra(WEB_VIEW_URL, PRIVACY_N_POLICY_URL)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
sbDisclaimerCard.setOnClickListener {
|
||||
startActivity(
|
||||
Intent(this@HomeActivity, DisclaimerActivity::class.java)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -504,6 +532,15 @@ class HomeActivity : WokaBaseActivity(),
|
||||
sbBtn.text = getString(R.string.logout)
|
||||
}
|
||||
}
|
||||
|
||||
value.data?.userNotificationsCount?.let {
|
||||
if (it == 0){
|
||||
binding.notiCountView.hide()
|
||||
}else{
|
||||
binding.notiCountView.show()
|
||||
binding.notiCount.text = "${min(it, 99)}"
|
||||
}
|
||||
}?:binding.notiCountView.hide()
|
||||
}
|
||||
|
||||
null -> {}
|
||||
|
||||
@@ -7,16 +7,19 @@ import android.view.WindowManager
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import com.google.android.exoplayer2.ExoPlayer
|
||||
import com.woka.R
|
||||
import com.woka.databinding.ActivityMoreHomeBinding
|
||||
import com.woka.modules.blogs.BlogsAdapter
|
||||
import com.woka.modules.blogs.BlogsRepository
|
||||
import com.woka.modules.wokasongs.WokaSongsAdapter
|
||||
import com.woka.modules.wokasongs.WokaSongsRepository
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.hide
|
||||
import com.woka.utils.lightStatusBar
|
||||
import com.woka.utils.show
|
||||
import com.woka.utils.toast
|
||||
|
||||
class MoreHomeActivity : WokaBaseActivity() {
|
||||
|
||||
@@ -24,6 +27,12 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
|
||||
private lateinit var blogsAdapter: BlogsAdapter
|
||||
|
||||
private lateinit var viewModel: MoreViewModel
|
||||
|
||||
private lateinit var songsAdapter: WokaSongsAdapter
|
||||
|
||||
private var player: ExoPlayer? = null
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
with(window){
|
||||
@@ -45,7 +54,10 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
lightStatusBar()
|
||||
}
|
||||
|
||||
viewModel = ViewModelProvider(this)[MoreViewModel::class.java]
|
||||
|
||||
blogsAdapter = BlogsAdapter()
|
||||
songsAdapter = WokaSongsAdapter()
|
||||
|
||||
initViews()
|
||||
|
||||
@@ -65,6 +77,7 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
private fun initViews(){
|
||||
binding.apply {
|
||||
rvBlogs.adapter = blogsAdapter
|
||||
rvWokaSongs.adapter = songsAdapter
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +85,6 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
BlogsRepository.blogsLiveData.observe(this){
|
||||
when(it){
|
||||
is ApiResult.Error -> {
|
||||
toast(it.errorMessage)
|
||||
binding.blogsTxt.hide()
|
||||
binding.rvBlogs.hide()
|
||||
}
|
||||
@@ -91,5 +103,27 @@ class MoreHomeActivity : WokaBaseActivity() {
|
||||
null -> {}
|
||||
}
|
||||
}
|
||||
|
||||
WokaSongsRepository.wokaSongsLiveData.observe(this){
|
||||
when(it){
|
||||
is ApiResult.Error -> {
|
||||
binding.wokaSongsTxt.hide()
|
||||
binding.rvWokaSongs.hide()
|
||||
}
|
||||
is ApiResult.Loading -> {
|
||||
binding.wokaSongsTxt.hide()
|
||||
binding.rvWokaSongs.hide()
|
||||
}
|
||||
is ApiResult.Success -> {
|
||||
|
||||
it.data?.paint_data?.let {songList ->
|
||||
binding.wokaSongsTxt.show()
|
||||
binding.rvWokaSongs.show()
|
||||
|
||||
songsAdapter.submitList(songList)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
7
app/src/main/java/com/woka/home/MoreViewModel.kt
Normal file
7
app/src/main/java/com/woka/home/MoreViewModel.kt
Normal file
@@ -0,0 +1,7 @@
|
||||
package com.woka.home
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class MoreViewModel: ViewModel() {
|
||||
|
||||
}
|
||||
@@ -16,6 +16,7 @@ import com.woka.userdata.userDataModels.UserData
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.utils.Gender
|
||||
import com.woka.utils.ProgressView
|
||||
import com.woka.utils.UserType
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.hide
|
||||
import com.woka.utils.toast
|
||||
@@ -44,11 +45,23 @@ class UserProfileActivity : WokaBaseActivity() {
|
||||
viewModel = ViewModelProvider(this)[ProfileViewModel::class.java]
|
||||
progressView = ProgressView(this, getString(R.string.please_wait))
|
||||
|
||||
initViews()
|
||||
|
||||
clickEvents()
|
||||
|
||||
setObservers()
|
||||
}
|
||||
|
||||
private fun initViews() {
|
||||
binding.apply {
|
||||
genderMTxt.text = if (userPrefs?.userType == UserType.GUARDIAN) getString(R.string.male)
|
||||
else getString(R.string.boy)
|
||||
|
||||
genderFTxt.text = if (userPrefs?.userType == UserType.GUARDIAN) getString(R.string.female)
|
||||
else getString(R.string.girl)
|
||||
}
|
||||
}
|
||||
|
||||
private fun clickEvents() {
|
||||
binding.apply {
|
||||
genderM.setOnClickListener { selectGender(Gender.MALE) }
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.woka.modules
|
||||
|
||||
import com.woka.modules.blogs.models.BlogsResponse
|
||||
import com.woka.modules.faqs.models.FaqResponse
|
||||
import com.woka.modules.wokasongs.models.WokaSongsResponse
|
||||
import com.woka.networking.ApiResponse
|
||||
import okhttp3.FormBody
|
||||
import retrofit2.Response
|
||||
@@ -22,4 +23,7 @@ interface ModuleApiService {
|
||||
|
||||
@POST("user_queries_store")
|
||||
suspend fun supportForUser(@Body body: FormBody): Response<ApiResponse<Any>>
|
||||
|
||||
@POST("song_listing")
|
||||
suspend fun getWokaSongs(): Response<ApiResponse<WokaSongsResponse>>
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.woka.modules.disclaimer
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.woka.R
|
||||
import com.woka.databinding.ActivityDisclaimerBinding
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
|
||||
class DisclaimerActivity : WokaBaseActivity() {
|
||||
|
||||
private lateinit var binding: ActivityDisclaimerBinding
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enableEdgeToEdge()
|
||||
binding = ActivityDisclaimerBinding.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
|
||||
}
|
||||
|
||||
binding.backBtn.setOnClickListener {
|
||||
onBackPressedDispatcher.onBackPressed()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.woka.modules.webview
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.graphics.Bitmap
|
||||
import android.os.Build
|
||||
import android.os.Bundle
|
||||
import android.webkit.WebResourceRequest
|
||||
import android.webkit.WebSettings
|
||||
import android.webkit.WebView
|
||||
import android.webkit.WebViewClient
|
||||
import android.widget.ProgressBar
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.core.view.ViewCompat
|
||||
import androidx.core.view.WindowInsetsCompat
|
||||
import com.woka.R
|
||||
import com.woka.databinding.ActivityWebViewBinding
|
||||
import com.woka.utils.WEBSITE_BASE_URL
|
||||
import com.woka.utils.WokaBaseActivity
|
||||
import com.woka.utils.hide
|
||||
import com.woka.utils.show
|
||||
|
||||
class WebViewActivity : WokaBaseActivity() {
|
||||
|
||||
companion object{
|
||||
const val WEB_VIEW_URL = "web_view_url"
|
||||
}
|
||||
|
||||
private lateinit var binding: ActivityWebViewBinding
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
enableEdgeToEdge()
|
||||
binding = ActivityWebViewBinding.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
|
||||
}
|
||||
|
||||
intent.getStringExtra(WEB_VIEW_URL)?.let {
|
||||
val webSettings: WebSettings = binding.webView.getSettings()
|
||||
webSettings.javaScriptEnabled = true
|
||||
|
||||
webSettings.allowFileAccess = false;
|
||||
webSettings.allowContentAccess = false;
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
webSettings.safeBrowsingEnabled = true
|
||||
};
|
||||
|
||||
binding.webView.setWebViewClient(SecureWebViewClient(binding.progressBar))
|
||||
|
||||
binding.webView.loadUrl(it)
|
||||
}
|
||||
}
|
||||
|
||||
private class SecureWebViewClient(val progressBar: ProgressBar) : WebViewClient() {
|
||||
|
||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||
super.onPageStarted(view, url, favicon)
|
||||
progressBar.show()
|
||||
}
|
||||
|
||||
override fun onPageFinished(view: WebView?, url: String?) {
|
||||
super.onPageFinished(view, url)
|
||||
progressBar.hide()
|
||||
}
|
||||
|
||||
override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest): Boolean {
|
||||
val url = request.url.toString()
|
||||
return !url.startsWith(WEBSITE_BASE_URL)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.woka.modules.wokasongs
|
||||
|
||||
import android.view.LayoutInflater
|
||||
import android.view.ViewGroup
|
||||
import androidx.recyclerview.widget.AsyncDifferConfig
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
import androidx.recyclerview.widget.ListAdapter
|
||||
import androidx.recyclerview.widget.RecyclerView.ViewHolder
|
||||
import com.woka.databinding.WokaSongViewHolderBinding
|
||||
import com.woka.modules.wokasongs.models.SongData
|
||||
import java.util.concurrent.Executors
|
||||
|
||||
class WokaSongsAdapter(config: AsyncDifferConfig<SongData>): ListAdapter<SongData, WokaSongsAdapter.SongViewHolder>(config) {
|
||||
|
||||
inner class SongViewHolder(val binding: WokaSongViewHolderBinding): ViewHolder(binding.root)
|
||||
|
||||
companion object{
|
||||
private val DIFF_UTILS = object : DiffUtil.ItemCallback<SongData>(){
|
||||
override fun areItemsTheSame(oldItem: SongData, newItem: SongData): Boolean =
|
||||
oldItem.id == newItem.id
|
||||
|
||||
override fun areContentsTheSame(oldItem: SongData, newItem: SongData): Boolean =
|
||||
oldItem == newItem
|
||||
}
|
||||
|
||||
private val ASYNC_DIFF_CONFIG = AsyncDifferConfig.Builder(DIFF_UTILS)
|
||||
.setBackgroundThreadExecutor(Executors.newSingleThreadExecutor())
|
||||
.build()
|
||||
}
|
||||
|
||||
constructor(): this(ASYNC_DIFF_CONFIG)
|
||||
|
||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): SongViewHolder {
|
||||
return SongViewHolder(
|
||||
WokaSongViewHolderBinding.inflate(LayoutInflater.from(parent.context),
|
||||
parent, false)
|
||||
)
|
||||
}
|
||||
|
||||
override fun onBindViewHolder(holder: SongViewHolder, position: Int) {
|
||||
val songData = getItem(position)
|
||||
holder.binding.apply {
|
||||
title.text = songData.title
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.woka.modules.wokasongs
|
||||
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.woka.modules.ModuleApiService
|
||||
import com.woka.modules.wokasongs.models.WokaSongsResponse
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.networking.RetrofitHelper
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
object WokaSongsRepository {
|
||||
|
||||
private val apiService = RetrofitHelper.getRetrofit().create(ModuleApiService::class.java)
|
||||
|
||||
private val _wokaSongsLiveData = MutableLiveData<ApiResult<WokaSongsResponse>>()
|
||||
val wokaSongsLiveData: LiveData<ApiResult<WokaSongsResponse>>
|
||||
get() = _wokaSongsLiveData
|
||||
|
||||
init {
|
||||
loadWokaSongs()
|
||||
}
|
||||
|
||||
private suspend fun getWokaSongs(): ApiResult<WokaSongsResponse>{
|
||||
return RetrofitHelper.handleApiCall {
|
||||
apiService.getWokaSongs()
|
||||
}
|
||||
}
|
||||
|
||||
private fun loadWokaSongs(){
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
_wokaSongsLiveData.postValue(ApiResult.Loading())
|
||||
_wokaSongsLiveData.postValue(getWokaSongs())
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.woka.modules.wokasongs.models
|
||||
|
||||
data class ContentMoreDetail(
|
||||
val content_id: Int?,
|
||||
val description: String?,
|
||||
val id: Int?,
|
||||
val language_master_id: Int?,
|
||||
val post_type: Int?,
|
||||
val tags_keywords: String?,
|
||||
val title: String?,
|
||||
val url: String?
|
||||
)
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.woka.modules.wokasongs.models
|
||||
|
||||
data class SongData(
|
||||
val age_range_data: List<Any?>?,
|
||||
val age_range_master_id: String?,
|
||||
val bookmark_count: Int?,
|
||||
val category_data: List<Any?>?,
|
||||
val category_master_id: String?,
|
||||
val content_more_details: List<ContentMoreDetail?>?,
|
||||
val description: String?,
|
||||
val gender_data: List<Any?>?,
|
||||
val gender_master_id: String?,
|
||||
val id: Int?,
|
||||
val is_liked: Boolean?,
|
||||
val language_master_id: Int?,
|
||||
val likes_count: Int?,
|
||||
val mark_as_favourite: Boolean?,
|
||||
val release_date: String?,
|
||||
val song_duration: String?,
|
||||
val tags_keyword: String?,
|
||||
val thumbnail_image: String?,
|
||||
val title: String?
|
||||
)
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.woka.modules.wokasongs.models
|
||||
|
||||
data class WokaSongsResponse(
|
||||
val paint_data: List<SongData?>?,
|
||||
val total_records: Int?
|
||||
)
|
||||
@@ -83,10 +83,17 @@ object RetrofitHelper {
|
||||
fun <T>handleApiResponse(response: Response<ApiResponse<T>>): ApiResult<T> {
|
||||
if (response.isSuccessful) {
|
||||
val body = response.body() ?: return ApiResult.Error(errorMessage = "Empty Response")
|
||||
return if (body.success == 1) {
|
||||
ApiResult.Success(body.data, body.message)
|
||||
} else {
|
||||
ApiResult.Error(errorMessage = body.message, error = NoSuccessError())
|
||||
return when (body.success) {
|
||||
1 -> {
|
||||
ApiResult.Success(body.data, body.message)
|
||||
}
|
||||
4 -> {
|
||||
userPrefs?.logout(true)
|
||||
ApiResult.Error(errorMessage = body.message, error = SessionExpiredError())
|
||||
}
|
||||
else -> {
|
||||
ApiResult.Error(errorMessage = body.message, error = NoSuccessError())
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return ApiResult.Error(errorMessage = response.message())
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package com.woka.networking
|
||||
|
||||
class SessionExpiredError: Throwable()
|
||||
@@ -78,7 +78,7 @@ class SelectAvatarFragment : Fragment() {
|
||||
|
||||
val registerRequestData = with(viewModel){
|
||||
RegisterRequestData(
|
||||
add_child = "0",
|
||||
add_child = if (viewModel.addChildIntent) "1" else "0",
|
||||
avtar = adapter?.avatarList?.get(selectedAvatarPos!!)?.avatar_name,
|
||||
birthdate = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(selectedDOB.time),
|
||||
email = email,
|
||||
|
||||
@@ -132,6 +132,7 @@ class SignUpFragment : Fragment() {
|
||||
passwordTitle.text = getString(R.string.password)
|
||||
|
||||
viewModel.email = email
|
||||
viewModel.addChildIntent = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,9 +95,13 @@ class SplashFragment : Fragment(), Observer<ApiResult<UserDataResponse>?> {
|
||||
if (userPrefs?.userType == UserType.NONE){
|
||||
// none of the user is logged in
|
||||
// going through normal onboard process
|
||||
val extras = FragmentNavigatorExtras(binding.logo to "logo")
|
||||
findNavController().navigate(R.id.action_splashFragment_to_languageFragment,
|
||||
null, null, extras)
|
||||
try {
|
||||
val extras = FragmentNavigatorExtras(binding.logo to "logo")
|
||||
findNavController().navigate(R.id.action_splashFragment_to_languageFragment,
|
||||
null, null, extras)
|
||||
} catch (e: Exception) {
|
||||
// do nothing
|
||||
}
|
||||
}else{
|
||||
// going to home activity as any of the user is logged in
|
||||
activity?.let {
|
||||
|
||||
@@ -36,6 +36,8 @@ class OnboardViewModel: ViewModel(){
|
||||
var name: String? = null
|
||||
var password: String? = null
|
||||
|
||||
var addChildIntent: Boolean = false
|
||||
|
||||
var childList: List<Child>? = null
|
||||
val interestTopics = mutableSetOf<Int>()
|
||||
|
||||
|
||||
@@ -3,12 +3,14 @@ package com.woka.userPreference
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.content.Context.MODE_PRIVATE
|
||||
import android.content.Intent
|
||||
import android.content.SharedPreferences
|
||||
import android.provider.Settings.Secure
|
||||
import androidx.lifecycle.LiveData
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import com.woka.home.Theme
|
||||
import com.woka.networking.ApiResult
|
||||
import com.woka.onboard.OnboardActivity
|
||||
import com.woka.userdata.UserRepository
|
||||
import com.woka.userdata.userDataModels.UserData
|
||||
import com.woka.userdata.userDataModels.UserDataResponse
|
||||
@@ -17,7 +19,7 @@ import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class UserPreference(context: Context) {
|
||||
class UserPreference(val context: Context) {
|
||||
|
||||
companion object {
|
||||
private const val USER_PREFERENCE = "woka_user_preferences"
|
||||
@@ -95,9 +97,15 @@ class UserPreference(context: Context) {
|
||||
}
|
||||
}
|
||||
|
||||
fun logout(){
|
||||
fun logout(openLoginScreen: Boolean = false){
|
||||
accessToken = null
|
||||
userType = if (guestUserName == null) UserType.NONE else UserType.GUEST
|
||||
_userLiveData.postValue(null)
|
||||
|
||||
if (openLoginScreen){
|
||||
context.startActivity(Intent(context, OnboardActivity::class.java).apply {
|
||||
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11,4 +11,9 @@ const val UNKNOWN_ERROR_MESSAGE = "An unknown error occurred"
|
||||
|
||||
// language code
|
||||
const val LOCALE_HINDI = "hi"
|
||||
const val LOCALE_ENGLISH = "en"
|
||||
const val LOCALE_ENGLISH = "en"
|
||||
|
||||
// website urls
|
||||
const val WEBSITE_BASE_URL = "https://www.wokaland.com/"
|
||||
const val TERMS_N_CONDITIONS_URL = "https://www.wokaland.com/terms/"
|
||||
const val PRIVACY_N_POLICY_URL = "https://www.wokaland.com/privacy-policy/"
|
||||
7
app/src/main/res/drawable/ic_pause.xml
Normal file
7
app/src/main/res/drawable/ic_pause.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<vector android:height="44dp" android:viewportHeight="24"
|
||||
android:viewportWidth="24" android:width="44dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<group>
|
||||
<clip-path android:fillType="evenOdd" android:pathData="M10.0038,19.5015C10.0195,19.7603 9.8234,19.9839 9.5607,20.0035C9.5411,20.0035 9.5215,20.0035 9.5019,20.0035H6.502C6.2432,20.0191 6.0196,19.8231 6,19.5603C6,19.5407 6,19.5211 6,19.5015V4.502C5.9843,4.2432 6.1804,4.0196 6.4432,4C6.4628,4 6.4824,4 6.502,4H9.5019C9.7607,3.9843 9.9842,4.1804 10.0038,4.4432C10.0038,4.4628 10.0038,4.4824 10.0038,4.502V19.5015ZM18.0036,4.5059C18.0193,4.2471 17.8232,4.0236 17.5605,4.004C17.5408,4.004 17.5212,4.004 17.5016,4.004H14.5017C14.2429,3.9883 14.0194,4.1843 13.9998,4.4471C13.9998,4.4667 13.9998,4.4863 13.9998,4.5059V19.5054C13.9841,19.7642 14.1802,19.9878 14.4429,20.0074C14.4625,20.0074 14.4821,20.0074 14.5017,20.0074H17.5016C17.7604,20.0231 17.984,19.827 18.0036,19.5643C18.0036,19.5446 18.0036,19.525 18.0036,19.5054V4.5059Z"/>
|
||||
<path android:fillColor="@color/jw_icons_active" android:pathData="M0,0h24v24h-24z"/>
|
||||
</group>
|
||||
</vector>
|
||||
7
app/src/main/res/drawable/ic_play.xml
Normal file
7
app/src/main/res/drawable/ic_play.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<vector android:height="44dp" android:viewportHeight="24"
|
||||
android:viewportWidth="24" android:width="44dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<group>
|
||||
<clip-path android:fillType="evenOdd" android:pathData="M6.364,19.955C6.265,20.0316 6.1245,20.0125 6.0479,19.9135C6.0095,19.8624 5.9936,19.7985 6.0031,19.7378V4.2651C5.9808,4.1437 6.0638,4.0256 6.1852,4.0032C6.2491,3.9936 6.3129,4.0096 6.3608,4.0479L21.1118,11.8114C21.3098,11.9168 21.3098,12.0861 21.1118,12.1915L6.364,19.955Z"/>
|
||||
<path android:fillColor="@color/jw_icons_active" android:pathData="M0,0h24v24h-24z"/>
|
||||
</group>
|
||||
</vector>
|
||||
74
app/src/main/res/layout/activity_disclaimer.xml
Normal file
74
app/src/main/res/layout/activity_disclaimer.xml
Normal file
@@ -0,0 +1,74 @@
|
||||
<?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"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/faq_bg"
|
||||
tools:context=".modules.disclaimer.DisclaimerActivity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back_btn"
|
||||
android:layout_width="@dimen/_27sdp"
|
||||
android:layout_height="@dimen/_25sdp"
|
||||
android:contentDescription="@string/back_btn"
|
||||
android:src="@drawable/ic_arrow_back_full"
|
||||
android:scaleType="fitXY"
|
||||
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
android:translationZ="1dp"
|
||||
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
|
||||
app:tint="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:translationZ="1dp"
|
||||
|
||||
android:text="@string/disclaimer"
|
||||
android:fontFamily="@font/exo_2_bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_13ssp"
|
||||
|
||||
android:layout_marginStart="10dp"
|
||||
|
||||
app:layout_constraintStart_toEndOf="@id/back_btn"
|
||||
app:layout_constraintTop_toTopOf="@id/back_btn"
|
||||
app:layout_constraintBottom_toBottomOf="@id/back_btn"
|
||||
|
||||
/>
|
||||
|
||||
<ScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/back_btn"
|
||||
|
||||
android:layout_marginTop="10dp"
|
||||
android:scrollbars="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:text="@string/disclaimer_txt"
|
||||
android:fontFamily="@font/exo_2"
|
||||
android:textColor="@color/white"
|
||||
|
||||
android:justificationMode="inter_word"
|
||||
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:paddingBottom="15dp"
|
||||
|
||||
tools:targetApi="o" />
|
||||
|
||||
</ScrollView>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
@@ -16,24 +16,61 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<com.woka.utils.PressableImageView
|
||||
android:id="@+id/notifications"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/_35sdp"
|
||||
android:layout_height="@dimen/_35sdp"
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="@dimen/_37sdp"
|
||||
android:layout_height="@dimen/_37sdp"
|
||||
app:layout_constraintEnd_toStartOf="@id/side_menu"
|
||||
app:layout_constraintBottom_toBottomOf="@id/side_menu"
|
||||
app:layout_constraintTop_toTopOf="@id/side_menu"
|
||||
|
||||
android:layout_margin="15dp"
|
||||
|
||||
android:elevation="5dp"
|
||||
android:elevation="5dp">
|
||||
|
||||
android:contentDescription="@string/image"
|
||||
android:src="@drawable/img_notification"
|
||||
android:scaleType="fitXY"
|
||||
/>
|
||||
<com.woka.utils.PressableImageView
|
||||
android:id="@+id/notifications"
|
||||
android:visibility="visible"
|
||||
android:layout_width="@dimen/_35sdp"
|
||||
android:layout_height="@dimen/_35sdp"
|
||||
|
||||
android:contentDescription="@string/image"
|
||||
android:src="@drawable/img_notification"
|
||||
android:scaleType="fitXY"
|
||||
|
||||
android:layout_centerVertical="true"
|
||||
/>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/noti_count_view"
|
||||
android:visibility="gone"
|
||||
android:layout_width="17dp"
|
||||
android:layout_height="17dp"
|
||||
|
||||
android:layout_alignParentEnd="true"
|
||||
app:cardBackgroundColor="@android:color/holo_red_light"
|
||||
app:cardCornerRadius="8dp"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/noti_count"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="99"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/exo_2"
|
||||
android:textSize="11sp"
|
||||
android:singleLine="true"
|
||||
|
||||
android:layout_gravity="center"
|
||||
android:gravity="center"
|
||||
android:textAlignment="center"
|
||||
|
||||
/>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<com.woka.utils.PressableImageView
|
||||
android:id="@+id/side_menu"
|
||||
@@ -564,23 +601,26 @@
|
||||
android:gravity="center_vertical"
|
||||
>
|
||||
|
||||
<TextView
|
||||
<com.woka.utils.PressableCard
|
||||
android:id="@+id/sb_terms_n_conditions_card"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:pressType="fade">
|
||||
|
||||
android:text="@string/terms_conditions"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
android:text="@string/terms_conditions"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
/>
|
||||
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
/>
|
||||
</com.woka.utils.PressableCard>
|
||||
|
||||
<View
|
||||
android:layout_width="0.5dp"
|
||||
@@ -591,23 +631,26 @@
|
||||
android:layout_marginHorizontal="2dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
<com.woka.utils.PressableCard
|
||||
android:id="@+id/sb_privacy_n_policy_card"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:pressType="fade">
|
||||
|
||||
android:text="@string/privacy_policy"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
android:text="@string/privacy_policy"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
/>
|
||||
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
/>
|
||||
</com.woka.utils.PressableCard>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
@@ -619,24 +662,26 @@
|
||||
android:layout_marginVertical="8dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
<com.woka.utils.PressableCard
|
||||
android:id="@+id/sb_disclaimer_card"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:pressType="fade">
|
||||
|
||||
android:text="@string/disclaimer"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
android:text="@string/disclaimer"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_10ssp"
|
||||
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
|
||||
android:foreground="?android:attr/selectableItemBackground"
|
||||
/>
|
||||
android:paddingVertical="5dp"
|
||||
android:paddingHorizontal="5dp"
|
||||
/>
|
||||
|
||||
</com.woka.utils.PressableCard>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
|
||||
@@ -17,18 +17,14 @@
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
android:translationZ="1dp"
|
||||
|
||||
android:layout_marginTop="@dimen/_30sdp"
|
||||
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.woka.utils.PressableImageView
|
||||
android:id="@+id/more"
|
||||
@@ -60,7 +56,7 @@
|
||||
android:text="@string/coming_soonn_on_woka"
|
||||
android:fontFamily="@font/exo_2_bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_16ssp"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
@@ -152,7 +148,7 @@
|
||||
android:text="@string/blogs"
|
||||
android:fontFamily="@font/exo_2_bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_16ssp"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
@@ -171,6 +167,33 @@
|
||||
android:layout_marginVertical="5dp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/woka_songs_txt"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:text="@string/woka_songs"
|
||||
android:fontFamily="@font/exo_2_bold"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="@dimen/_14ssp"
|
||||
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
|
||||
android:layout_marginHorizontal="15dp"
|
||||
|
||||
/>
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/rv_woka_songs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
|
||||
android:orientation="vertical"
|
||||
tools:listitem="@layout/woka_song_view_holder"
|
||||
android:layout_marginVertical="5dp"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
27
app/src/main/res/layout/activity_web_view.xml
Normal file
27
app/src/main/res/layout/activity_web_view.xml
Normal file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/color_primary"
|
||||
tools:context=".modules.webview.WebViewActivity">
|
||||
|
||||
<WebView
|
||||
android:id="@+id/web_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
|
||||
android:layout_centerInParent="true"
|
||||
android:indeterminateTint="@color/color_primary"
|
||||
android:indeterminate="true"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
105
app/src/main/res/layout/woka_song_view_holder.xml
Normal file
105
app/src/main/res/layout/woka_song_view_holder.xml
Normal file
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.woka.utils.PressableCard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
|
||||
app:pressType="scale"
|
||||
app:scaleFrom="0.97"
|
||||
>
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
app:cardBackgroundColor="@color/color_primary"
|
||||
app:cardCornerRadius="10dp"
|
||||
>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:layout_marginVertical="12dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/play_btn"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
android:contentDescription="@string/image"
|
||||
android:src="@drawable/ic_play"
|
||||
android:scaleType="fitXY"
|
||||
|
||||
android:layout_centerVertical="true"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
android:layout_toEndOf="@id/play_btn"
|
||||
android:layout_centerVertical="true"
|
||||
|
||||
tools:text="AA ZARA"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/exo_2_medium"
|
||||
|
||||
android:layout_marginStart="10dp"
|
||||
|
||||
/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/current_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="00:00"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/exo_2"
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="/"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/exo_2"
|
||||
|
||||
android:layout_marginHorizontal="5dp"
|
||||
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/total_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
tools:text="01:30"
|
||||
android:textColor="@color/white"
|
||||
android:fontFamily="@font/exo_2"
|
||||
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
</com.woka.utils.PressableCard>
|
||||
@@ -120,4 +120,11 @@
|
||||
<string name="blogs">ब्लॉग</string>
|
||||
<string name="masila">मासिला</string>
|
||||
<string name="play_trailer">ट्रेलर चलाएं</string>
|
||||
<string name="update_profile">प्रोफ़ाइल अपडेट करें</string>
|
||||
<string name="full_name">पूरा नाम</string>
|
||||
<string name="your_birthdate">आपकी जन्म तिथि</string>
|
||||
<string name="update">अपडेट</string>
|
||||
<string name="add_child_account">बच्चे का खाता जोड़ें</string>
|
||||
<string name="child_name">बच्चे का नाम</string>
|
||||
<string name="enter_your_child_s_name">अपने बच्चे का नाम दर्ज करें</string>
|
||||
</resources>
|
||||
@@ -138,14 +138,14 @@
|
||||
<string name="blogs">Blogs</string>
|
||||
<string name="masila">MASILA</string>
|
||||
<string name="play_trailer">PLAY TRAILER</string>
|
||||
<string name="about_woka_description">WOKA endeavours to make this world a happier and a safe place for Children. A world where families and communities unite joyfully in celebration of their unity and learn from each other\'s diversity.</string>
|
||||
<string name="frequently_asked_questions">Frequently asked questions</string>
|
||||
<string name="subject">Subject</string>
|
||||
<string name="message">Message</string>
|
||||
<string name="enter_your_message">Enter your message</string>
|
||||
<string name="submit">Submit</string>
|
||||
<string name="email">Email</string>
|
||||
<string name="name">Name</string>
|
||||
<string name="about_woka_description" translatable="false">WOKA endeavours to make this world a happier and a safe place for Children. A world where families and communities unite joyfully in celebration of their unity and learn from each other\'s diversity.</string>
|
||||
<string name="frequently_asked_questions" translatable="false">Frequently asked questions</string>
|
||||
<string name="subject" translatable="false">Subject</string>
|
||||
<string name="message" translatable="false">Message</string>
|
||||
<string name="enter_your_message" translatable="false">Enter your message</string>
|
||||
<string name="submit" translatable="false">Submit</string>
|
||||
<string name="email" translatable="false">Email</string>
|
||||
<string name="name" translatable="false">Name</string>
|
||||
<string name="update_profile">Update profile</string>
|
||||
<string name="full_name">Full name</string>
|
||||
<string name="your_birthdate">Your birthdate</string>
|
||||
@@ -153,9 +153,12 @@
|
||||
<string name="add_child_account">Add child account</string>
|
||||
<string name="child_name">CHILD NAME</string>
|
||||
<string name="enter_your_child_s_name">Enter your child\'s name</string>
|
||||
<string name="add_child_account_eng">Add child account</string>
|
||||
<string name="deactivate_woka_account">DeActivate WOKA account?</string>
|
||||
<string name="by_clicking_on_the_button_below_your_account_will_get_deactivated_your_data_will_be_erased_after_a_month">By clicking on the button below your account will get deactivated. Your data will be erased after a month.</string>
|
||||
<string name="activate_woka_account">Activate WOKA account</string>
|
||||
<string name="would_you_like_to_re_activate_your_account">Would you like to re-activate your account?</string>
|
||||
<string name="add_child_account_eng" translatable="false">Add child account</string>
|
||||
<string name="deactivate_woka_account" translatable="false">DeActivate WOKA account?</string>
|
||||
<string name="by_clicking_on_the_button_below_your_account_will_get_deactivated_your_data_will_be_erased_after_a_month" translatable="false">By clicking on the button below your account will get deactivated. Your data will be erased after a month.</string>
|
||||
<string name="activate_woka_account" translatable="false">Activate WOKA account</string>
|
||||
<string name="would_you_like_to_re_activate_your_account" translatable="false">Would you like to re-activate your account?</string>
|
||||
|
||||
<string name="disclaimer_txt" translatable="false">THE USER AGREES AND UNDERSTANDS THAT THE PLATFORM IS PROVIDED BY US ON AN “AS IS” AND “AS AVAILABLE” BASIS AND WE MAKE NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, AS TO THE OPERATION OF THE PLATFORM OR THE INFORMATION AND CONTENT INCLUDED ON THE PLATFORM. YOU EXPRESSLY AGREE THAT YOUR USE OF THE PLATFORM IS AT YOUR SOLE RISK.\n\nTO THE FULLEST EXTENT PERMISSIBLE BY APPLICABLE LAW, WE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED. WE DO NOT WARRANT THAT THE PLATFORM, ITS SERVERS, OR EMAIL/OTHER COMMUNICATION SENT FROM THE PLATFORM ARE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. WE WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND ARISING FROM THE USE OF THE PLATFORM, INCLUDING, BUT NOT LIMITED TO DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, AND CONSEQUENTIAL DAMAGES.\n\nALL INTERACTION, COMMUNICATION, DEALING, OR TRANSACTION BETWEEN THE USERS AND THE THIRD-PARTY PROVIDER IN RESPECT OF ANY PRODUCTS/SERVICES OFFERED BY THE THIRD-PARTY PROVIDER IS A SEPARATE AND INDEPENDENT TRANSACTION BETWEEN THE USER AND SUCH THIRD-PARTY PROVIDER WITHOUT ANY LIABILITY ACCRUING TO OR ON US FOR ANY MATTERS ARISING OUT OF OR IN RELATION TO THE SAME. THE USER EXPRESSLY AGREES AND ACKNOWLEDGES TO HOLD HARMLESS US IN RESPECT OF ANY COST, CLAIMS, DAMAGE, LOSS, OR EXPENSES ACCRUED, SUFFERED, INCURRED BY US OR ANY THIRD PARTY ARISING OUT OF OR IN CONNECTION WITH ANY SUCH COMMUNICATION, INTERACTION, DEALINGS, AND TRANSACTIONS BETWEEN THE USER AND THIRD-PARTY PROVIDERS. THE USER ACKNOWLEDGES THAT WE DO NOT HAVE ANY CONTROL OVER SUCH DEALINGS AND TRANSACTIONS AND PLAYS NO DETERMINATIVE ROLE IN THE PERFORMANCE IN RESPECT OF THE SAME AND WE SHALL NOT BE LIABLE FOR THE OUTCOMES OF SUCH COMMUNICATION, INTERACTION, DEALINGS, AND TRANSACTIONS BETWEEN THE USERS AND THE THIRD-PARTY PROVIDERS.\n\nWE DO NOT WARRANT, ENDORSE, GUARANTEE, OR ASSUME RESPONSIBILITY FOR ANY PRODUCT OR SERVICE ADVERTISED OR OFFERED BY A THIRD-PARTY PROVIDER IN ANY MANNER AND WE WILL NOT BE A PARTY TO OR IN ANY WAY BE RESPONSIBLE FOR ANY TRANSACTION BETWEEN YOU AND SUCH PARTY PROVIDER. AS WITH THE PURCHASE OF A PRODUCT OR SERVICE THROUGH ANY MEDIUM THROUGH SUCH THIRD-PARTY PROVIDER, YOU SHOULD USE YOUR BEST JUDGMENT AND EXERCISE CAUTION WHERE APPROPRIATE.</string>
|
||||
<string name="woka_songs">WOKA Songs</string>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user