diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ae4f024..53232c8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,15 +16,18 @@
android:theme="@style/Theme.Woka"
tools:targetApi="31">
+ android:windowSoftInputMode="adjustPan" />
+
diff --git a/app/src/main/java/com/woka/home/HomeActivity.kt b/app/src/main/java/com/woka/home/HomeActivity.kt
new file mode 100644
index 0000000..87417fc
--- /dev/null
+++ b/app/src/main/java/com/woka/home/HomeActivity.kt
@@ -0,0 +1,21 @@
+package com.woka.home
+
+import android.os.Bundle
+import androidx.activity.enableEdgeToEdge
+import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import com.woka.R
+
+class HomeActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContentView(R.layout.activity_home)
+ 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
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/woka/onboard/OnboardActivity.kt b/app/src/main/java/com/woka/onboard/OnboardActivity.kt
index aee0a55..bb31bd5 100644
--- a/app/src/main/java/com/woka/onboard/OnboardActivity.kt
+++ b/app/src/main/java/com/woka/onboard/OnboardActivity.kt
@@ -4,8 +4,9 @@ import android.media.MediaPlayer
import android.os.Bundle
import androidx.activity.enableEdgeToEdge
import androidx.core.view.ViewCompat
-import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
+import androidx.navigation.NavOptions
+import androidx.navigation.fragment.NavHostFragment
import com.woka.R
import com.woka.utils.WokaBaseActivity
@@ -23,6 +24,13 @@ class OnboardActivity : WokaBaseActivity() {
insets
}
+// val hostFragment = supportFragmentManager.findFragmentById(R.id.fc_onboard) as NavHostFragment
+// hostFragment.navController.navigate(R.id.action_onboardFragment_to_signInFragment,
+// null,
+// NavOptions.Builder()
+// .setPopUpTo(R.id.onboardFragment, true)
+// .build())
+
player = MediaPlayer.create(this, R.raw.audiotwo)
player?.isLooping = true
}
diff --git a/app/src/main/java/com/woka/onboard/fragments/GetCodeFragment.kt b/app/src/main/java/com/woka/onboard/fragments/GetCodeFragment.kt
index d988a5e..a99066e 100644
--- a/app/src/main/java/com/woka/onboard/fragments/GetCodeFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/GetCodeFragment.kt
@@ -25,6 +25,7 @@ import com.woka.utils.CHILD_TYPE
import com.woka.utils.PARENT_TYPE
import com.woka.utils.ProgressView
import com.woka.utils.closeKeyboard
+import com.woka.utils.toast
import kotlinx.coroutines.launch
/*
@@ -87,7 +88,7 @@ class GetCodeFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -96,10 +97,7 @@ class GetCodeFragment : Fragment() {
is ApiResult.Success -> {
viewModel.startOTPTimeCountDown()
- Toast.makeText(
- activity,
- "${it.message}", Toast.LENGTH_SHORT
- ).show()
+ toast(it.message)
progressView.hide()
uniqueString = it.data?.unique_string ?: ""
@@ -115,7 +113,7 @@ class GetCodeFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ activity?.toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -124,7 +122,7 @@ class GetCodeFragment : Fragment() {
is ApiResult.Success -> {
viewModel.startOTPTimeCountDown()
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT).show()
+ activity?.toast(it.message)
progressView.hide()
viewModel.clearForgotPwdSendOTPData()
@@ -138,7 +136,7 @@ class GetCodeFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -154,8 +152,7 @@ class GetCodeFragment : Fragment() {
val listOfChild = viewModel.getChildList(email)
progressView.hide()
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT)
- .show()
+ toast(it.message)
if (listOfChild is ApiResult.Error) {
if (listOfChild.error is NoSuccessError) {
@@ -163,11 +160,7 @@ class GetCodeFragment : Fragment() {
gotoSignUpFragment()
} else {
// some other error happened
- Toast.makeText(
- activity,
- "${listOfChild.errorMessage}",
- Toast.LENGTH_SHORT
- ).show()
+ toast(listOfChild.errorMessage)
}
} else if (listOfChild is ApiResult.Success && listOfChild.data?.result != null) {
// child list is available
@@ -188,8 +181,7 @@ class GetCodeFragment : Fragment() {
} else {
// child type
progressView.hide()
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT)
- .show()
+ toast(it.message)
gotoSignUpFragment()
}
@@ -203,7 +195,7 @@ class GetCodeFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -212,11 +204,7 @@ class GetCodeFragment : Fragment() {
is ApiResult.Success -> {
progressView.hide()
- Toast.makeText(
- activity,
- "${it.message}", Toast.LENGTH_SHORT
- )
- .show()
+ toast(it.message)
findNavController().navigate(R.id.action_getCodeFragment_to_newPasswordFragment2,
Bundle().apply
@@ -344,10 +332,7 @@ class GetCodeFragment : Fragment() {
private fun getOTP(): String? {
binding.apply {
if (et1.text.isEmpty() || et2.text.isEmpty() || et3.text.isEmpty() || et4.text.isEmpty()) {
- Toast.makeText(
- activity,
- getString(R.string.please_enter_otp_code), Toast.LENGTH_SHORT
- ).show()
+ toast(getString(R.string.please_enter_otp_code))
return null
}
return "${et1.text}${et2.text}${et3.text}${et4.text}"
diff --git a/app/src/main/java/com/woka/onboard/fragments/GetEmailFragment.kt b/app/src/main/java/com/woka/onboard/fragments/GetEmailFragment.kt
index 3e644e9..37c31fd 100644
--- a/app/src/main/java/com/woka/onboard/fragments/GetEmailFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/GetEmailFragment.kt
@@ -19,6 +19,7 @@ import com.woka.onboard.mvvm.OnboardViewModel
import com.woka.utils.CHILD_TYPE
import com.woka.utils.PARENT_TYPE
import com.woka.utils.ProgressView
+import com.woka.utils.toast
/*
This fragment is to get the email user input
@@ -75,7 +76,7 @@ class GetEmailFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -99,7 +100,7 @@ class GetEmailFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -129,7 +130,7 @@ class GetEmailFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
diff --git a/app/src/main/java/com/woka/onboard/fragments/GetMoreInfoFragment.kt b/app/src/main/java/com/woka/onboard/fragments/GetMoreInfoFragment.kt
index 8d0f1ce..0106031 100644
--- a/app/src/main/java/com/woka/onboard/fragments/GetMoreInfoFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/GetMoreInfoFragment.kt
@@ -21,6 +21,7 @@ import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_UNDER_16
import com.woka.onboard.models.Interest
import com.woka.onboard.mvvm.OnboardViewModel
import com.woka.utils.Gender
+import com.woka.utils.toast
import java.util.Calendar
class GetMoreInfoFragment : Fragment() {
@@ -88,12 +89,11 @@ class GetMoreInfoFragment : Fragment() {
next.setOnClickListener {
if (viewModel.selectedGender == Gender.NONE) {
- Toast.makeText(activity, getString(R.string.select_a_gender), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.select_a_gender))
return@setOnClickListener
}
if (isUnder16 && viewModel.interestTopics.isEmpty()){
- Toast.makeText(activity,
- getString(R.string.please_select_your_interests), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.please_select_your_interests))
return@setOnClickListener
}
diff --git a/app/src/main/java/com/woka/onboard/fragments/NewPasswordFragment.kt b/app/src/main/java/com/woka/onboard/fragments/NewPasswordFragment.kt
index 3dee8c1..5c529f1 100644
--- a/app/src/main/java/com/woka/onboard/fragments/NewPasswordFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/NewPasswordFragment.kt
@@ -14,6 +14,7 @@ import com.woka.networking.ApiResult
import com.woka.onboard.fragments.GetCodeFragment.Companion.EMAIL_ARG
import com.woka.onboard.mvvm.OnboardViewModel
import com.woka.utils.ProgressView
+import com.woka.utils.toast
class NewPasswordFragment : Fragment() {
@@ -52,14 +53,14 @@ class NewPasswordFragment : Fragment() {
when(it){
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
progressView.show()
}
is ApiResult.Success -> {
progressView.hide()
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT).show()
+ toast(it.message)
findNavController().popBackStack(R.id.signInFragment, false)
}
null -> {}
@@ -97,15 +98,13 @@ class NewPasswordFragment : Fragment() {
password.text?.let { pwdTxt ->
if (pwdTxt.length < 6){
allOkay = false
- Toast.makeText(activity,
- getString(R.string.must_be_at_least_6_characters), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.must_be_at_least_6_characters))
}else {
// password is valid
confirmPassword.text?.let {confirmPwdTxt ->
if (confirmPwdTxt.toString() != pwdTxt.toString()){
allOkay = false
- Toast.makeText(activity,
- getString(R.string.password_does_not_match), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.password_does_not_match))
}
}
}
diff --git a/app/src/main/java/com/woka/onboard/fragments/SelectAvatarFragment.kt b/app/src/main/java/com/woka/onboard/fragments/SelectAvatarFragment.kt
index e3062f7..3fca38f 100644
--- a/app/src/main/java/com/woka/onboard/fragments/SelectAvatarFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/SelectAvatarFragment.kt
@@ -1,5 +1,6 @@
package com.woka.onboard.fragments
+import android.content.Intent
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
@@ -11,6 +12,7 @@ import androidx.lifecycle.ViewModelProvider
import com.woka.R
import com.woka.WokaApp.Companion.userPrefs
import com.woka.databinding.FragmentSelectAvatarBinding
+import com.woka.home.HomeActivity
import com.woka.networking.ApiResult
import com.woka.onboard.AvatarAdapter
import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_UNDER_16
@@ -19,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.toast
import java.text.SimpleDateFormat
import java.util.Locale
@@ -62,8 +65,7 @@ class SelectAvatarFragment : Fragment() {
next.setOnClickListener {
if (viewModel.selectedAvatarPos == null) {
- Toast.makeText(activity,
- getString(R.string.please_select_an_avatar), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.please_select_an_avatar))
return@setOnClickListener
}
@@ -84,7 +86,6 @@ class SelectAvatarFragment : Fragment() {
)
}
- Log.d("aditya_testing", "clickEvents: $registerRequestData")
viewModel.registerUser(registerRequestData)
}
}
@@ -96,7 +97,7 @@ class SelectAvatarFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -125,16 +126,19 @@ class SelectAvatarFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
progressView.show(getString(R.string.please_wait))
}
is ApiResult.Success -> {
progressView.hide()
- Log.d("aditya_testing", "onViewCreated: ${it.data}")
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT)
- .show()
+ activity?.let {activity ->
+ toast(it.message)
+
+ startActivity(Intent(activity, HomeActivity::class.java))
+ activity.finish()
+ }
}
null -> {}
}
diff --git a/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt b/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt
index f525bf7..b6032a5 100644
--- a/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/SignInFragment.kt
@@ -17,6 +17,7 @@ import com.woka.onboard.fragments.GetEmailFragment.Companion.IS_RESET_PASSWORD_I
import com.woka.onboard.mvvm.OnboardViewModel
import com.woka.utils.DecisionDialog
import com.woka.utils.ProgressView
+import com.woka.utils.toast
class SignInFragment : Fragment() {
@@ -67,7 +68,7 @@ class SignInFragment : Fragment() {
when(it){
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
progressView.show()
@@ -78,7 +79,7 @@ class SignInFragment : Fragment() {
if (data.already_logged_in){
dialog.show()
}else{
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT).show()
+ toast(it.message)
}
}
}
@@ -90,14 +91,15 @@ class SignInFragment : Fragment() {
when(it){
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
+
}
is ApiResult.Loading -> {
progressView.show()
}
is ApiResult.Success -> {
progressView.hide()
- Toast.makeText(activity, "${it.message}", Toast.LENGTH_SHORT).show()
+ toast(it.message)
}
null -> {}
}
@@ -134,13 +136,12 @@ class SignInFragment : Fragment() {
password.text?.let { password ->
if (password.length < 6){
- Toast.makeText(activity,
- getString(R.string.password_must_be_at_least_6_characters), Toast.LENGTH_SHORT).show()
+ toast(getString(R.string.password_must_be_at_least_6_characters))
return@setOnClickListener
}
viewModel.login(username.text.toString(), password.toString())
- }?:Toast.makeText(activity, getString(R.string.something_went_wrong), Toast.LENGTH_SHORT).show()
+ }?:toast(getString(R.string.something_went_wrong))
}
}
}
diff --git a/app/src/main/java/com/woka/onboard/fragments/SignUpFragment.kt b/app/src/main/java/com/woka/onboard/fragments/SignUpFragment.kt
index 647c3bc..a7430ce 100644
--- a/app/src/main/java/com/woka/onboard/fragments/SignUpFragment.kt
+++ b/app/src/main/java/com/woka/onboard/fragments/SignUpFragment.kt
@@ -18,6 +18,7 @@ import com.woka.onboard.mvvm.OnboardViewModel
import com.woka.utils.CHILD_TYPE
import com.woka.utils.PARENT_TYPE
import com.woka.utils.ProgressView
+import com.woka.utils.toast
class SignUpFragment : Fragment() {
@@ -62,7 +63,7 @@ class SignUpFragment : Fragment() {
when (it) {
is ApiResult.Error -> {
progressView.hide()
- Toast.makeText(activity, "${it.errorMessage}", Toast.LENGTH_SHORT).show()
+ toast(it.errorMessage)
}
is ApiResult.Loading -> {
@@ -121,9 +122,7 @@ class SignUpFragment : Fragment() {
email?.let {
val userType = if (isUnder16) CHILD_TYPE else PARENT_TYPE
viewModel.checkUserNameExist(it, username.text.toString(), userType)
- } ?: Toast.makeText(activity,
- getString(R.string.something_went_wrong), Toast.LENGTH_SHORT)
- .show()
+ } ?: toast(getString(R.string.something_went_wrong))
}
}
}
@@ -145,11 +144,7 @@ class SignUpFragment : Fragment() {
if (password.text != null && password.text!!.length < 6) {
allOkay = false
- Toast.makeText(
- activity,
- getString(R.string.password_must_be_at_least_6_characters),
- Toast.LENGTH_SHORT
- ).show()
+ toast(getString(R.string.password_must_be_at_least_6_characters))
}
}
diff --git a/app/src/main/java/com/woka/utils/Extensions.kt b/app/src/main/java/com/woka/utils/Extensions.kt
index 63ce23f..d09c7b1 100644
--- a/app/src/main/java/com/woka/utils/Extensions.kt
+++ b/app/src/main/java/com/woka/utils/Extensions.kt
@@ -7,6 +7,8 @@ import android.view.View
import android.view.View.GONE
import android.view.View.VISIBLE
import android.view.inputmethod.InputMethodManager
+import android.widget.Toast
+import androidx.fragment.app.Fragment
import com.woka.WokaApp.Companion.userPrefs
import java.util.Locale
@@ -39,4 +41,12 @@ fun Activity.closeKeyboard(){
(this.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager)
.hideSoftInputFromWindow(it.windowToken, 0)
}
+}
+
+fun Context.toast(text: String?, length: Int = Toast.LENGTH_SHORT){
+ Toast.makeText(this, "$text", length).show()
+}
+
+fun Fragment.toast(text: String?, length: Int = Toast.LENGTH_SHORT){
+ activity?.toast(text, length)
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_home.xml b/app/src/main/res/layout/activity_home.xml
new file mode 100644
index 0000000..d27c75c
--- /dev/null
+++ b/app/src/main/res/layout/activity_home.xml
@@ -0,0 +1,10 @@
+
+
+
+
\ No newline at end of file