diff --git a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt index fa0ce54..aa839bb 100644 --- a/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt +++ b/app/src/main/java/com/woka/home/fragments/Home2Fragment.kt @@ -5,20 +5,86 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.lifecycle.ViewModelProvider +import com.woka.R +import com.woka.WokaApp import com.woka.databinding.FragmentHome2Binding +import com.woka.home.HomeViewModel +import com.woka.mvvm.userDataModels.UserDataResponse +import com.woka.networking.ApiResult +import com.woka.utils.UserType +import com.woka.utils.toast class Home2Fragment : Fragment() { private lateinit var binding: FragmentHome2Binding + private lateinit var viewModel: HomeViewModel + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? - ): View? { + ): View { binding = FragmentHome2Binding.inflate(inflater, container, false) + + activity?.let { + viewModel = ViewModelProvider(it)[HomeViewModel::class.java] + } + + setObservers() + + clickEvents() + return binding.root } + private fun clickEvents(){ + binding.apply { + webSeries.setOnClickListener { + toast("toast") + } + } + } + + private fun setObservers() { + WokaApp.userPrefs?.userLiveData?.observe(viewLifecycleOwner) { + if (it is ApiResult.Success) { + updateUserData(it.data) + } + } + + viewModel.localeChangeLiveData.observe(viewLifecycleOwner) { + binding.apply { + helloTxt.text = getString(R.string.hello) + welcomeText.text = getString(R.string.welcome_to_wokaland) + + webSeriesTxt.text = getString(R.string.web_series) + liveTvTxt.text = getString(R.string.live_tv) + shopTxt.text = getString(R.string.shop) + karaokeTxt.text = getString(R.string.karaoke) + audioBooksTxt.text = getString(R.string.audio_books) + gamesTxt.text = getString(R.string.games) + wokaFmTxt.text = getString(R.string.woka_fm) + + exploreWokaTxt.text = getString(R.string.explore_woka) + comingSoonTxt.text = getString(R.string.coming_soonn_on_woka) + + } + } + } + + private fun updateUserData(data: UserDataResponse?) { + binding.apply { + val name = if (WokaApp.userPrefs?.userType == UserType.GUEST) WokaApp.userPrefs?.guestUserName + else data?.result?.fullname + + if (!name.isNullOrEmpty()) { + val text = ", ${name.split(" ")[0]}" + userName.text = text + } + } + } + companion object { fun newInstance() = Home2Fragment() } diff --git a/app/src/main/java/com/woka/utils/PressableCard.kt b/app/src/main/java/com/woka/utils/PressableCard.kt new file mode 100644 index 0000000..6fcace7 --- /dev/null +++ b/app/src/main/java/com/woka/utils/PressableCard.kt @@ -0,0 +1,110 @@ +package com.woka.utils + +import android.content.Context +import android.util.AttributeSet +import android.util.Log +import android.view.MotionEvent +import android.view.MotionEvent.ACTION_CANCEL +import android.view.MotionEvent.ACTION_DOWN +import android.view.MotionEvent.ACTION_OUTSIDE +import android.view.MotionEvent.ACTION_SCROLL +import android.view.MotionEvent.ACTION_UP +import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout +import android.widget.ScrollView +import androidx.core.view.ScrollingView +import com.woka.R +import kotlin.math.abs + +class PressableCard : FrameLayout { + + companion object { + private const val DEFAULT_SCALE_WHEN_PRESS = 0.9f + private const val DEFAULT_SCALE = 1f + + private const val DEFAULT_ALPHA_WHEN_PRESS = 0.5f + private const val DEFAULT_ALPHA = 1f + + private const val MIN_MOMENT_AFTER_TOUCH = 25f + } + + enum class PressableType(value: Int){ + SCALE(0), FADE(1); + } + + constructor(context: Context?) : super(context!!) + constructor(context: Context?, attrs: AttributeSet?) : super( + context!!, attrs + ){ + setPressType(attrs) + } + + constructor(context: Context?, attrs: AttributeSet?, defStyle: Int) : super( + context!!, attrs, defStyle + ) { + setPressType(attrs) + } + + // attributes + private var pressType: PressableType? = PressableType.SCALE + + private fun setPressType(attrs: AttributeSet?){ + val attributes = context.obtainStyledAttributes(attrs, R.styleable.PressableCard) + val value = attributes.getInt(R.styleable.PressableCard_pressType, 0) + pressType = when(value){ + 1 -> PressableType.FADE + else -> PressableType.SCALE + } + attributes.recycle() + } + + private fun refresh() { + if (isPressed) { + if (pressType == PressableType.SCALE){ + scaleX = (DEFAULT_SCALE_WHEN_PRESS) + scaleY = (DEFAULT_SCALE_WHEN_PRESS) + }else if (pressType == PressableType.FADE){ + alpha = DEFAULT_ALPHA_WHEN_PRESS + } + invalidate() + return + } + if (pressType == PressableType.SCALE){ + scaleX = (DEFAULT_SCALE) + scaleY = (DEFAULT_SCALE) + }else if (pressType == PressableType.FADE){ + alpha = DEFAULT_ALPHA + } + invalidate() + } + + override fun setPressed(pressed: Boolean) { + super.setPressed(pressed) + refresh() + } + + override fun onTouchEvent(event: MotionEvent): Boolean { + + when (event.action){ + ACTION_DOWN -> setPressed(true) + ACTION_UP -> { + setPressed(false) + val x = event.x + val y = event.y + val isInside = x > 0 && x < width && y > 0 && y < height + if (isInside) { + performClick() + } + } + ACTION_CANCEL -> setPressed(false) + ACTION_SCROLL -> setPressed(false) + ACTION_OUTSIDE -> setPressed(false) + } + return true + } + + override fun performClick(): Boolean { + return super.performClick() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/woka/home/PressableImageView.kt b/app/src/main/java/com/woka/utils/PressableImageView.kt similarity index 67% rename from app/src/main/java/com/woka/home/PressableImageView.kt rename to app/src/main/java/com/woka/utils/PressableImageView.kt index cba7593..72622c0 100644 --- a/app/src/main/java/com/woka/home/PressableImageView.kt +++ b/app/src/main/java/com/woka/utils/PressableImageView.kt @@ -1,4 +1,4 @@ -package com.woka.home +package com.woka.utils import android.content.Context import android.util.AttributeSet @@ -33,16 +33,20 @@ class PressableImageView : AppCompatImageView { } override fun onTouchEvent(event: MotionEvent): Boolean { - if (event.action == MotionEvent.ACTION_DOWN) { - setPressed(true) - } else if (event.action == MotionEvent.ACTION_UP) { - setPressed(false) - val x = event.x - val y = event.y - val isInside = x > 0 && x < width && y > 0 && y < height - if (isInside) { - performClick() + when (event.action){ + MotionEvent.ACTION_DOWN -> setPressed(true) + MotionEvent.ACTION_UP -> { + setPressed(false) + val x = event.x + val y = event.y + val isInside = x > 0 && x < width && y > 0 && y < height + if (isInside) { + performClick() + } } + MotionEvent.ACTION_CANCEL -> setPressed(false) + MotionEvent.ACTION_SCROLL -> setPressed(false) + MotionEvent.ACTION_OUTSIDE -> setPressed(false) } return true } diff --git a/app/src/main/res/drawable-hdpi/img_audio_books_t2.png b/app/src/main/res/drawable-hdpi/img_audio_books_t2.png new file mode 100644 index 0000000..6bdee61 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_karaoke_t2.png b/app/src/main/res/drawable-hdpi/img_karaoke_t2.png new file mode 100644 index 0000000..298e4bd Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_live_tv_t2.png b/app/src/main/res/drawable-hdpi/img_live_tv_t2.png new file mode 100644 index 0000000..7b293b2 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_play_t2.png b/app/src/main/res/drawable-hdpi/img_play_t2.png new file mode 100644 index 0000000..80a07e9 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_shop_t2.png b/app/src/main/res/drawable-hdpi/img_shop_t2.png new file mode 100644 index 0000000..f886ef8 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_web_series_t2.png b/app/src/main/res/drawable-hdpi/img_web_series_t2.png new file mode 100644 index 0000000..11a77ec Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-hdpi/img_woka_fm_t2.png b/app/src/main/res/drawable-hdpi/img_woka_fm_t2.png new file mode 100644 index 0000000..9a5cd44 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_audio_books_t2.png b/app/src/main/res/drawable-ldpi/img_audio_books_t2.png new file mode 100644 index 0000000..f9020cc Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_karaoke_t2.png b/app/src/main/res/drawable-ldpi/img_karaoke_t2.png new file mode 100644 index 0000000..305eb24 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_live_tv_t2.png b/app/src/main/res/drawable-ldpi/img_live_tv_t2.png new file mode 100644 index 0000000..7c036eb Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_play_t2.png b/app/src/main/res/drawable-ldpi/img_play_t2.png new file mode 100644 index 0000000..97c4c51 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_shop_t2.png b/app/src/main/res/drawable-ldpi/img_shop_t2.png new file mode 100644 index 0000000..735e42a Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_web_series_t2.png b/app/src/main/res/drawable-ldpi/img_web_series_t2.png new file mode 100644 index 0000000..da77353 Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-ldpi/img_woka_fm_t2.png b/app/src/main/res/drawable-ldpi/img_woka_fm_t2.png new file mode 100644 index 0000000..65c4cca Binary files /dev/null and b/app/src/main/res/drawable-ldpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_audio_books_t2.png b/app/src/main/res/drawable-mdpi/img_audio_books_t2.png new file mode 100644 index 0000000..5c43b21 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_karaoke_t2.png b/app/src/main/res/drawable-mdpi/img_karaoke_t2.png new file mode 100644 index 0000000..63a03f3 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_live_tv_t2.png b/app/src/main/res/drawable-mdpi/img_live_tv_t2.png new file mode 100644 index 0000000..303c608 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_play_t2.png b/app/src/main/res/drawable-mdpi/img_play_t2.png new file mode 100644 index 0000000..32c7ae0 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_shop_t2.png b/app/src/main/res/drawable-mdpi/img_shop_t2.png new file mode 100644 index 0000000..e668fbc Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_web_series_t2.png b/app/src/main/res/drawable-mdpi/img_web_series_t2.png new file mode 100644 index 0000000..393e3e9 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-mdpi/img_woka_fm_t2.png b/app/src/main/res/drawable-mdpi/img_woka_fm_t2.png new file mode 100644 index 0000000..19f47ee Binary files /dev/null and b/app/src/main/res/drawable-mdpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_audio_books_t2.png b/app/src/main/res/drawable-xhdpi/img_audio_books_t2.png new file mode 100644 index 0000000..159e4aa Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_karaoke_t2.png b/app/src/main/res/drawable-xhdpi/img_karaoke_t2.png new file mode 100644 index 0000000..33e2755 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_live_tv_t2.png b/app/src/main/res/drawable-xhdpi/img_live_tv_t2.png new file mode 100644 index 0000000..8446208 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_play_t2.png b/app/src/main/res/drawable-xhdpi/img_play_t2.png new file mode 100644 index 0000000..0ba7608 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_shop_t2.png b/app/src/main/res/drawable-xhdpi/img_shop_t2.png new file mode 100644 index 0000000..fc9972c Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_web_series_t2.png b/app/src/main/res/drawable-xhdpi/img_web_series_t2.png new file mode 100644 index 0000000..09424e1 Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-xhdpi/img_woka_fm_t2.png b/app/src/main/res/drawable-xhdpi/img_woka_fm_t2.png new file mode 100644 index 0000000..ead9dab Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_audio_books_t2.png b/app/src/main/res/drawable-xxhdpi/img_audio_books_t2.png new file mode 100644 index 0000000..0c4f3c4 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_karaoke_t2.png b/app/src/main/res/drawable-xxhdpi/img_karaoke_t2.png new file mode 100644 index 0000000..60b5d7a Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_live_tv_t2.png b/app/src/main/res/drawable-xxhdpi/img_live_tv_t2.png new file mode 100644 index 0000000..a087a1c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_play_t2.png b/app/src/main/res/drawable-xxhdpi/img_play_t2.png new file mode 100644 index 0000000..6c94f3c Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_shop_t2.png b/app/src/main/res/drawable-xxhdpi/img_shop_t2.png new file mode 100644 index 0000000..6a52059 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_web_series_t2.png b/app/src/main/res/drawable-xxhdpi/img_web_series_t2.png new file mode 100644 index 0000000..673008f Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-xxhdpi/img_woka_fm_t2.png b/app/src/main/res/drawable-xxhdpi/img_woka_fm_t2.png new file mode 100644 index 0000000..7915ff5 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_audio_books_t2.png b/app/src/main/res/drawable-xxxhdpi/img_audio_books_t2.png new file mode 100644 index 0000000..4616579 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_audio_books_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_karaoke_t2.png b/app/src/main/res/drawable-xxxhdpi/img_karaoke_t2.png new file mode 100644 index 0000000..e4818b0 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_karaoke_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_live_tv_t2.png b/app/src/main/res/drawable-xxxhdpi/img_live_tv_t2.png new file mode 100644 index 0000000..00a0b08 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_live_tv_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_play_t2.png b/app/src/main/res/drawable-xxxhdpi/img_play_t2.png new file mode 100644 index 0000000..ae7a881 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_play_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_shop_t2.png b/app/src/main/res/drawable-xxxhdpi/img_shop_t2.png new file mode 100644 index 0000000..37caae6 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_shop_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_web_series_t2.png b/app/src/main/res/drawable-xxxhdpi/img_web_series_t2.png new file mode 100644 index 0000000..536e01d Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_web_series_t2.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/img_woka_fm_t2.png b/app/src/main/res/drawable-xxxhdpi/img_woka_fm_t2.png new file mode 100644 index 0000000..bdafffc Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/img_woka_fm_t2.png differ diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml index 8c7cfb3..eee78f2 100644 --- a/app/src/main/res/layout/activity_home.xml +++ b/app/src/main/res/layout/activity_home.xml @@ -16,7 +16,7 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - - + + diff --git a/app/src/main/res/layout/fragment_home2.xml b/app/src/main/res/layout/fragment_home2.xml index 5ecb8ba..a55e9a1 100644 --- a/app/src/main/res/layout/fragment_home2.xml +++ b/app/src/main/res/layout/fragment_home2.xml @@ -8,14 +8,6 @@ android:background="@color/color_primary" tools:context=".home.fragments.Home1Fragment"> - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home_1.xml b/app/src/main/res/layout/fragment_home_1.xml index b5d0a7e..2553ae6 100644 --- a/app/src/main/res/layout/fragment_home_1.xml +++ b/app/src/main/res/layout/fragment_home_1.xml @@ -7,7 +7,7 @@ tools:background="@drawable/grad_evening" tools:context=".home.fragments.Home1Fragment"> - - - - - - - - लॉगइन / रजिस्टर करें लॉग आउट कर रहे हैं क्या आप Woka ऐप से लॉग आउट करना चाहते हैं? + वोका एफएम + खेल + जल्द ही Woka पर आ रहा है \ No newline at end of file diff --git a/app/src/main/res/values/custom_resources.xml b/app/src/main/res/values/custom_resources.xml new file mode 100644 index 0000000..dab1d37 --- /dev/null +++ b/app/src/main/res/values/custom_resources.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1a2bb45..a75d568 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -131,4 +131,7 @@ Logging you out Woka Do you want to log out of Woka app? + WOKA FM + GAMES + Coming soonn on Woka \ No newline at end of file