From 0343d5d74f52be0cf78ff9f0b43697e5cd3d92be Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Fri, 8 Feb 2019 22:29:02 +0530 Subject: [PATCH 01/15] Disabled text fields and buttons during progress. --- .../openevent/general/auth/LoginFragment.kt | 10 +++++----- .../openevent/general/auth/LoginViewModel.kt | 3 +++ .../openevent/general/auth/SignUpFragment.kt | 7 ++++++- app/src/main/res/layout/fragment_login.xml | 19 ++++++++++--------- app/src/main/res/layout/fragment_signup.xml | 3 ++- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 8892e086b1..3b18eedb23 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -14,9 +14,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.navigation.Navigation.findNavController import com.google.android.material.snackbar.Snackbar -import kotlinx.android.synthetic.main.fragment_login.email -import kotlinx.android.synthetic.main.fragment_login.loginButton -import kotlinx.android.synthetic.main.fragment_login.password +import kotlinx.android.synthetic.main.fragment_login.* import kotlinx.android.synthetic.main.fragment_login.view.email import kotlinx.android.synthetic.main.fragment_login.view.loginCoordinatorLayout import kotlinx.android.synthetic.main.fragment_login.view.forgotPassword @@ -157,7 +155,10 @@ class LoginFragment : Fragment() { private fun handleProgressBar(show: Boolean) { rootView.progressBar.isVisible = show - loginButton.isEnabled = !show + loginButton.isVisible = !show + email.isEnabled = !show + password.isEnabled = !show + forgotPassword.isVisible = !show } private fun redirectToEvents() { @@ -166,7 +167,6 @@ class LoginFragment : Fragment() { } private fun onEmailEntered(enable: Boolean) { - rootView.loginButton.isEnabled = enable rootView.forgotPassword.isVisible = enable } diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt index b639916b49..3a2ccf4b2c 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt @@ -57,6 +57,9 @@ class LoginViewModel( if (email.isNullOrEmpty() || password.isNullOrEmpty()) { mutableError.value = "Email or Password cannot be empty!" return true + } else if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) { + mutableError.value = "Invalid email address!" + return true } return false } diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index 0173fc3aff..6d63050c35 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -77,7 +77,12 @@ class SignUpFragment : Fragment() { .nonNull() .observe(this, Observer { rootView.progressBarSignUp.isVisible = it - signUpButton.isEnabled = !it + signUpButton.isVisible = !it + usernameSignUp.isEnabled = !it + passwordSignUp.isEnabled = !it + confirmPasswords.isEnabled = !it + firstNameText.isEnabled = !it + lastNameText.isEnabled = !it }) signUpViewModel.showNoInternetDialog diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index a2e23bf6d0..f44a6a5f0f 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -76,14 +76,21 @@ android:id="@+id/loginButton" android:layout_width="match_parent" android:layout_height="wrap_content" - android:enabled="false" android:layout_marginTop="@dimen/padding_large" - android:layout_marginBottom="@dimen/padding_large" + android:layout_marginBottom="@dimen/padding_medium" android:padding="@dimen/padding_medium" android:textColor="@android:color/white" android:backgroundTint="@color/colorPrimary" android:text="@string/login" /> + + - @@ -134,6 +134,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" + android:layout_marginTop="@dimen/layout_margin_large" android:visibility="gone" /> From 28ada1ef7ed657e3c8b76c3b9a7101cf4bd92539 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans <37517284+angmas1@users.noreply.github.com> Date: Sat, 9 Feb 2019 00:47:17 +0530 Subject: [PATCH 02/15] Updated to pass travis build. --- .../java/org/fossasia/openevent/general/auth/LoginViewModel.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt index 3a2ccf4b2c..f936ce5a3d 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginViewModel.kt @@ -57,7 +57,7 @@ class LoginViewModel( if (email.isNullOrEmpty() || password.isNullOrEmpty()) { mutableError.value = "Email or Password cannot be empty!" return true - } else if(!Patterns.EMAIL_ADDRESS.matcher(email).matches()) { + } else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) { mutableError.value = "Invalid email address!" return true } From 646bcd6cee7160f1e593bc9a5f351c3441fc3c17 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans <37517284+angmas1@users.noreply.github.com> Date: Sat, 9 Feb 2019 03:30:01 +0530 Subject: [PATCH 03/15] Removed wild imports. --- .../org/fossasia/openevent/general/auth/LoginFragment.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 3b18eedb23..2e05275ba6 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -14,7 +14,10 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.navigation.Navigation.findNavController import com.google.android.material.snackbar.Snackbar -import kotlinx.android.synthetic.main.fragment_login.* +import kotlinx.android.synthetic.main.fragment_login.email +import kotlinx.android.synthetic.main.fragment_login.password +import kotlinx.android.synthetic.main.fragment_login.loginButton +import kotlinx.android.synthetic.main.fragment_login.forgotPassword import kotlinx.android.synthetic.main.fragment_login.view.email import kotlinx.android.synthetic.main.fragment_login.view.loginCoordinatorLayout import kotlinx.android.synthetic.main.fragment_login.view.forgotPassword From 351c74fa821940c3cfd89090a1efa3097428200e Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Mon, 11 Feb 2019 18:28:59 +0530 Subject: [PATCH 04/15] Replaced progressbar in fragment with progress dialog. --- .../openevent/general/auth/LoginFragment.kt | 23 ++++++++++--------- .../openevent/general/auth/SignUpFragment.kt | 19 ++++++++------- app/src/main/res/layout/dialog_progress.xml | 22 ++++++++++++++++++ app/src/main/res/layout/fragment_login.xml | 8 ------- app/src/main/res/layout/fragment_signup.xml | 8 ------- 5 files changed, 43 insertions(+), 37 deletions(-) create mode 100644 app/src/main/res/layout/dialog_progress.xml diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 22664ac0cf..bb51820b46 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -1,5 +1,6 @@ package org.fossasia.openevent.general.auth +import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.SpannableStringBuilder @@ -8,6 +9,7 @@ import android.view.LayoutInflater import android.view.MenuItem import android.view.View import android.view.ViewGroup +import android.view.Window import androidx.appcompat.app.AppCompatActivity import androidx.core.view.isVisible import androidx.fragment.app.Fragment @@ -17,14 +19,11 @@ import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.activity_main.navigationAuth import kotlinx.android.synthetic.main.fragment_login.email import kotlinx.android.synthetic.main.fragment_login.password -import kotlinx.android.synthetic.main.fragment_login.loginButton -import kotlinx.android.synthetic.main.fragment_login.forgotPassword import kotlinx.android.synthetic.main.fragment_login.view.email import kotlinx.android.synthetic.main.fragment_login.view.loginCoordinatorLayout import kotlinx.android.synthetic.main.fragment_login.view.forgotPassword import kotlinx.android.synthetic.main.fragment_login.view.loginButton import kotlinx.android.synthetic.main.fragment_login.view.loginLayout -import kotlinx.android.synthetic.main.fragment_login.view.progressBar import kotlinx.android.synthetic.main.fragment_login.view.sentEmailLayout import kotlinx.android.synthetic.main.fragment_login.view.tick import org.fossasia.openevent.general.R @@ -57,6 +56,11 @@ class LoginFragment : Fragment() { setHasOptionsMenu(true) showSnackbar() + val dialog = Dialog(context) + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) + dialog.setCancelable(false) + dialog.setContentView(R.layout.dialog_progress) + smartAuthViewModel.buildCredential(activity, null) if (loginViewModel.isLoggedIn()) @@ -82,13 +86,13 @@ class LoginFragment : Fragment() { loginViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it) + handleProgressBar(it, dialog) }) smartAuthViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it) + handleProgressBar(it, dialog) }) loginViewModel.showNoInternetDialog @@ -172,12 +176,9 @@ class LoginFragment : Fragment() { smartAuthViewModel.requestCredentials(activity) } - private fun handleProgressBar(show: Boolean) { - rootView.progressBar.isVisible = show - loginButton.isVisible = !show - email.isEnabled = !show - password.isEnabled = !show - forgotPassword.isVisible = !show + private fun handleProgressBar(show: Boolean, dialog: Dialog) { + if (show) dialog.show() + else if (dialog.isShowing) dialog.dismiss() } private fun redirectToEvents() { diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index 6d63050c35..cf7ea7aa6d 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -1,15 +1,16 @@ package org.fossasia.openevent.general.auth +import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater import android.view.MenuItem import android.view.View +import android.view.Window import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.appcompat.app.AppCompatActivity -import androidx.core.view.isVisible import androidx.fragment.app.Fragment import androidx.lifecycle.Observer import androidx.navigation.Navigation.findNavController @@ -18,10 +19,8 @@ import kotlinx.android.synthetic.main.fragment_signup.confirmPasswords import kotlinx.android.synthetic.main.fragment_signup.firstNameText import kotlinx.android.synthetic.main.fragment_signup.lastNameText import kotlinx.android.synthetic.main.fragment_signup.passwordSignUp -import kotlinx.android.synthetic.main.fragment_signup.signUpButton import kotlinx.android.synthetic.main.fragment_signup.textInputLayoutPassword import kotlinx.android.synthetic.main.fragment_signup.usernameSignUp -import kotlinx.android.synthetic.main.fragment_signup.view.progressBarSignUp import kotlinx.android.synthetic.main.fragment_signup.view.signUpButton import kotlinx.android.synthetic.main.fragment_signup.view.lastNameText import kotlinx.android.synthetic.main.fragment_signup.view.passwordSignUp @@ -50,6 +49,11 @@ class SignUpFragment : Fragment() { } setHasOptionsMenu(true) + val dialog = Dialog(context) + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) + dialog.setCancelable(false) + dialog.setContentView(R.layout.dialog_progress) + lateinit var confirmPassword: String val signUp = SignUp() @@ -76,13 +80,8 @@ class SignUpFragment : Fragment() { signUpViewModel.progress .nonNull() .observe(this, Observer { - rootView.progressBarSignUp.isVisible = it - signUpButton.isVisible = !it - usernameSignUp.isEnabled = !it - passwordSignUp.isEnabled = !it - confirmPasswords.isEnabled = !it - firstNameText.isEnabled = !it - lastNameText.isEnabled = !it + if (it) dialog.show() + else if (dialog.isShowing) dialog.dismiss() }) signUpViewModel.showNoInternetDialog diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml new file mode 100644 index 0000000000..ecfc96633f --- /dev/null +++ b/app/src/main/res/layout/dialog_progress.xml @@ -0,0 +1,22 @@ + + + + + + + diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml index f44a6a5f0f..3598dc5cb5 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -83,14 +83,6 @@ android:backgroundTint="@color/colorPrimary" android:text="@string/login" /> - - - - From 9427d23dea5ac9a23a02126b395c1df25eae072a Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Tue, 12 Feb 2019 16:45:55 +0530 Subject: [PATCH 05/15] Made the dialog smaller and moved it to utils. --- .../openevent/general/auth/LoginFragment.kt | 18 ++++------------- .../openevent/general/auth/SignUpFragment.kt | 12 +++-------- .../openevent/general/utils/ProgressDialog.kt | 20 +++++++++++++++++++ app/src/main/res/layout/dialog_progress.xml | 11 +++++----- app/src/main/res/values/dimens.xml | 2 ++ 5 files changed, 34 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index bb51820b46..3fdebccaa8 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -1,6 +1,5 @@ package org.fossasia.openevent.general.auth -import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.SpannableStringBuilder @@ -9,7 +8,6 @@ import android.view.LayoutInflater import android.view.MenuItem import android.view.View import android.view.ViewGroup -import android.view.Window import androidx.appcompat.app.AppCompatActivity import androidx.core.view.isVisible import androidx.fragment.app.Fragment @@ -28,6 +26,7 @@ import kotlinx.android.synthetic.main.fragment_login.view.sentEmailLayout import kotlinx.android.synthetic.main.fragment_login.view.tick import org.fossasia.openevent.general.R import org.fossasia.openevent.general.search.SmartAuthViewModel +import org.fossasia.openevent.general.utils.ProgressDialog import org.fossasia.openevent.general.utils.Utils import org.fossasia.openevent.general.utils.Utils.hideSoftKeyboard import org.fossasia.openevent.general.utils.extensions.nonNull @@ -48,6 +47,7 @@ class LoginFragment : Fragment() { ): View? { rootView = inflater.inflate(R.layout.fragment_login, container, false) + val progressDialog = ProgressDialog(context) val thisActivity = activity if (thisActivity is AppCompatActivity) { thisActivity.supportActionBar?.title = "Login" @@ -56,11 +56,6 @@ class LoginFragment : Fragment() { setHasOptionsMenu(true) showSnackbar() - val dialog = Dialog(context) - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) - dialog.setCancelable(false) - dialog.setContentView(R.layout.dialog_progress) - smartAuthViewModel.buildCredential(activity, null) if (loginViewModel.isLoggedIn()) @@ -86,13 +81,13 @@ class LoginFragment : Fragment() { loginViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it, dialog) + progressDialog.showOrDismiss(it) }) smartAuthViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it, dialog) + progressDialog.showOrDismiss(it) }) loginViewModel.showNoInternetDialog @@ -176,11 +171,6 @@ class LoginFragment : Fragment() { smartAuthViewModel.requestCredentials(activity) } - private fun handleProgressBar(show: Boolean, dialog: Dialog) { - if (show) dialog.show() - else if (dialog.isShowing) dialog.dismiss() - } - private fun redirectToEvents() { findNavController(rootView).popBackStack(R.id.eventsFragment, false) Snackbar.make(rootView, R.string.welcome_back, Snackbar.LENGTH_SHORT).show() diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index cf7ea7aa6d..4a0b871483 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -1,13 +1,11 @@ package org.fossasia.openevent.general.auth -import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater import android.view.MenuItem import android.view.View -import android.view.Window import android.view.ViewGroup import android.view.inputmethod.EditorInfo import androidx.appcompat.app.AppCompatActivity @@ -26,6 +24,7 @@ import kotlinx.android.synthetic.main.fragment_signup.view.lastNameText import kotlinx.android.synthetic.main.fragment_signup.view.passwordSignUp import kotlinx.android.synthetic.main.fragment_signup.view.signupNestedScrollView import org.fossasia.openevent.general.R +import org.fossasia.openevent.general.utils.ProgressDialog import org.fossasia.openevent.general.utils.Utils import org.fossasia.openevent.general.utils.extensions.nonNull import org.koin.androidx.viewmodel.ext.android.viewModel @@ -42,6 +41,7 @@ class SignUpFragment : Fragment() { ): View? { rootView = inflater.inflate(R.layout.fragment_signup, container, false) + val progressDialog = ProgressDialog(context) val thisActivity = activity if (thisActivity is AppCompatActivity) { thisActivity.supportActionBar?.title = "Sign Up" @@ -49,11 +49,6 @@ class SignUpFragment : Fragment() { } setHasOptionsMenu(true) - val dialog = Dialog(context) - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) - dialog.setCancelable(false) - dialog.setContentView(R.layout.dialog_progress) - lateinit var confirmPassword: String val signUp = SignUp() @@ -80,8 +75,7 @@ class SignUpFragment : Fragment() { signUpViewModel.progress .nonNull() .observe(this, Observer { - if (it) dialog.show() - else if (dialog.isShowing) dialog.dismiss() + progressDialog.showOrDismiss(it) }) signUpViewModel.showNoInternetDialog diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt b/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt new file mode 100644 index 0000000000..043f5f5e5c --- /dev/null +++ b/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt @@ -0,0 +1,20 @@ +package org.fossasia.openevent.general.utils + +import android.app.Dialog +import android.content.Context +import android.view.Window +import org.fossasia.openevent.general.R + +class ProgressDialog(context: Context?) { + private val dialog = Dialog(context) + init { + dialog.setCancelable(false) + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) + dialog.setContentView(R.layout.dialog_progress) + } + + fun showOrDismiss(show: Boolean) { + if (show && !dialog.isShowing) dialog.show() + else if (!show && dialog.isShowing) dialog.dismiss() + } +} diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml index ecfc96633f..ce8bc4d930 100644 --- a/app/src/main/res/layout/dialog_progress.xml +++ b/app/src/main/res/layout/dialog_progress.xml @@ -1,11 +1,11 @@ @@ -14,9 +14,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" - android:paddingLeft="@dimen/padding_large" - android:paddingRight="@dimen/padding_extra_large" + android:paddingRight="@dimen/padding_extreme_large" android:text="Loading..." - android:textSize="@dimen/text_size_expanded_title" /> + android:textSize="@dimen/text_size_large" /> diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 736896ad13..1321c314fb 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -26,6 +26,7 @@ 8dp 16dp 32dp + 128dp 12dp @@ -49,6 +50,7 @@ 250dp 16dp 16dp + 64dp 24dp From 78c556f1172cde3e8f056b06252f09e3889bd9ea Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Thu, 14 Feb 2019 20:06:25 +0530 Subject: [PATCH 06/15] Removed ProgressDialog class and made function in utils.kt --- .../openevent/general/auth/LoginFragment.kt | 15 +++++++++----- .../openevent/general/auth/SignUpFragment.kt | 6 +++--- .../openevent/general/utils/ProgressDialog.kt | 20 ------------------- .../fossasia/openevent/general/utils/Utils.kt | 10 ++++++++++ 4 files changed, 23 insertions(+), 28 deletions(-) delete mode 100644 app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 3fdebccaa8..0080652b33 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -1,5 +1,6 @@ package org.fossasia.openevent.general.auth +import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.SpannableStringBuilder @@ -26,7 +27,6 @@ import kotlinx.android.synthetic.main.fragment_login.view.sentEmailLayout import kotlinx.android.synthetic.main.fragment_login.view.tick import org.fossasia.openevent.general.R import org.fossasia.openevent.general.search.SmartAuthViewModel -import org.fossasia.openevent.general.utils.ProgressDialog import org.fossasia.openevent.general.utils.Utils import org.fossasia.openevent.general.utils.Utils.hideSoftKeyboard import org.fossasia.openevent.general.utils.extensions.nonNull @@ -47,7 +47,7 @@ class LoginFragment : Fragment() { ): View? { rootView = inflater.inflate(R.layout.fragment_login, container, false) - val progressDialog = ProgressDialog(context) + val progressDialog = Utils.progressDialog(context) val thisActivity = activity if (thisActivity is AppCompatActivity) { thisActivity.supportActionBar?.title = "Login" @@ -81,14 +81,14 @@ class LoginFragment : Fragment() { loginViewModel.progress .nonNull() .observe(this, Observer { - progressDialog.showOrDismiss(it) + handleProgressBar(it, progressDialog) }) smartAuthViewModel.progress .nonNull() .observe(this, Observer { - progressDialog.showOrDismiss(it) - }) + handleProgressBar(it, progressDialog) + }) loginViewModel.showNoInternetDialog .nonNull() @@ -171,6 +171,11 @@ class LoginFragment : Fragment() { smartAuthViewModel.requestCredentials(activity) } + private fun handleProgressBar(show: Boolean, dialog: Dialog) { + if (show && !dialog.isShowing) dialog.show() + else if (!show && dialog.isShowing) dialog.dismiss() + } + private fun redirectToEvents() { findNavController(rootView).popBackStack(R.id.eventsFragment, false) Snackbar.make(rootView, R.string.welcome_back, Snackbar.LENGTH_SHORT).show() diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index 4a0b871483..37fc3755c7 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -24,7 +24,6 @@ import kotlinx.android.synthetic.main.fragment_signup.view.lastNameText import kotlinx.android.synthetic.main.fragment_signup.view.passwordSignUp import kotlinx.android.synthetic.main.fragment_signup.view.signupNestedScrollView import org.fossasia.openevent.general.R -import org.fossasia.openevent.general.utils.ProgressDialog import org.fossasia.openevent.general.utils.Utils import org.fossasia.openevent.general.utils.extensions.nonNull import org.koin.androidx.viewmodel.ext.android.viewModel @@ -41,7 +40,7 @@ class SignUpFragment : Fragment() { ): View? { rootView = inflater.inflate(R.layout.fragment_signup, container, false) - val progressDialog = ProgressDialog(context) + val progressDialog = Utils.progressDialog(context) val thisActivity = activity if (thisActivity is AppCompatActivity) { thisActivity.supportActionBar?.title = "Sign Up" @@ -75,7 +74,8 @@ class SignUpFragment : Fragment() { signUpViewModel.progress .nonNull() .observe(this, Observer { - progressDialog.showOrDismiss(it) + if (it && !progressDialog.isShowing) progressDialog.show() + else if (!it && progressDialog.isShowing) progressDialog.dismiss() }) signUpViewModel.showNoInternetDialog diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt b/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt deleted file mode 100644 index 043f5f5e5c..0000000000 --- a/app/src/main/java/org/fossasia/openevent/general/utils/ProgressDialog.kt +++ /dev/null @@ -1,20 +0,0 @@ -package org.fossasia.openevent.general.utils - -import android.app.Dialog -import android.content.Context -import android.view.Window -import org.fossasia.openevent.general.R - -class ProgressDialog(context: Context?) { - private val dialog = Dialog(context) - init { - dialog.setCancelable(false) - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) - dialog.setContentView(R.layout.dialog_progress) - } - - fun showOrDismiss(show: Boolean) { - if (show && !dialog.isShowing) dialog.show() - else if (!show && dialog.isShowing) dialog.dismiss() - } -} diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index ee9d7a8933..002b2e35c4 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -1,10 +1,12 @@ package org.fossasia.openevent.general.utils import android.app.AlertDialog +import android.app.Dialog import android.content.Context import android.graphics.BitmapFactory import android.net.Uri import android.view.View +import android.view.Window import android.view.animation.AnimationUtils import android.view.inputmethod.InputMethodManager import androidx.annotation.DrawableRes @@ -44,6 +46,14 @@ object Utils { .show() } + fun progressDialog(context: Context?) : Dialog { + val dialog = Dialog(context) + dialog.setCancelable(false) + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) + dialog.setContentView(R.layout.dialog_progress) + return dialog + } + fun showSoftKeyboard(context: Context?, view: View) { view.requestFocus() val manager = context?.getSystemService(Context.INPUT_METHOD_SERVICE) From af03715681d1ecab0f343b8e12ee988267f229f7 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans <37517284+angmas1@users.noreply.github.com> Date: Thu, 14 Feb 2019 20:22:33 +0530 Subject: [PATCH 07/15] Spot error --- app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index 285e171ec4..fbfc97c6da 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -46,7 +46,7 @@ object Utils { .show() } - fun progressDialog(context: Context?) : Dialog { + fun progressDialog(context: Context?): Dialog { val dialog = Dialog(context) dialog.setCancelable(false) dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) From 5585795559564b1a67f2fc8a6c2bd838a24fb16d Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Thu, 14 Feb 2019 23:42:50 +0530 Subject: [PATCH 08/15] Created extension function. --- .../fossasia/openevent/general/auth/LoginFragment.kt | 10 +++++----- .../java/org/fossasia/openevent/general/utils/Utils.kt | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 0080652b33..3856077925 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -81,13 +81,13 @@ class LoginFragment : Fragment() { loginViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it, progressDialog) + progressDialog.show(it) }) smartAuthViewModel.progress .nonNull() .observe(this, Observer { - handleProgressBar(it, progressDialog) + progressDialog.show(it) }) loginViewModel.showNoInternetDialog @@ -171,9 +171,9 @@ class LoginFragment : Fragment() { smartAuthViewModel.requestCredentials(activity) } - private fun handleProgressBar(show: Boolean, dialog: Dialog) { - if (show && !dialog.isShowing) dialog.show() - else if (!show && dialog.isShowing) dialog.dismiss() + private fun Dialog.show(show: Boolean) { + if (show && !this.isShowing) this.show() + else if (!show && this.isShowing) this.dismiss() } private fun redirectToEvents() { diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index fbfc97c6da..796d9f8fc6 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -47,6 +47,7 @@ object Utils { } fun progressDialog(context: Context?): Dialog { + /**Initializes progress dialog.*/ val dialog = Dialog(context) dialog.setCancelable(false) dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) From e58ed2dcd457a108c5b75fd462b52778bee5e5a3 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Fri, 15 Feb 2019 00:07:22 +0530 Subject: [PATCH 09/15] Used extension function in signupfragment. --- .../fossasia/openevent/general/auth/SignUpFragment.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index 37fc3755c7..03592affcb 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -1,5 +1,6 @@ package org.fossasia.openevent.general.auth +import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.TextWatcher @@ -74,8 +75,7 @@ class SignUpFragment : Fragment() { signUpViewModel.progress .nonNull() .observe(this, Observer { - if (it && !progressDialog.isShowing) progressDialog.show() - else if (!it && progressDialog.isShowing) progressDialog.dismiss() + progressDialog.show(it) }) signUpViewModel.showNoInternetDialog @@ -128,6 +128,11 @@ class SignUpFragment : Fragment() { Snackbar.make(rootView, R.string.logged_in_automatically, Snackbar.LENGTH_SHORT).show() } + private fun Dialog.show(show: Boolean) { + if (show && !this.isShowing) this.show() + else if (!show && this.isShowing) this.dismiss() + } + override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { android.R.id.home -> { From 7abf946123d95750acdbed37ee85c49a73b27219 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Fri, 15 Feb 2019 14:57:23 +0530 Subject: [PATCH 10/15] Added extension function to Utils.kt --- .../fossasia/openevent/general/auth/LoginFragment.kt | 10 +++------- .../fossasia/openevent/general/auth/SignUpFragment.kt | 7 +------ .../java/org/fossasia/openevent/general/utils/Utils.kt | 6 ++++++ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt index 3856077925..a013096dd3 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/LoginFragment.kt @@ -1,6 +1,5 @@ package org.fossasia.openevent.general.auth -import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.SpannableStringBuilder @@ -28,7 +27,9 @@ import kotlinx.android.synthetic.main.fragment_login.view.tick import org.fossasia.openevent.general.R import org.fossasia.openevent.general.search.SmartAuthViewModel import org.fossasia.openevent.general.utils.Utils +import org.fossasia.openevent.general.utils.Utils.show import org.fossasia.openevent.general.utils.Utils.hideSoftKeyboard +import org.fossasia.openevent.general.utils.Utils.progressDialog import org.fossasia.openevent.general.utils.extensions.nonNull import org.koin.androidx.viewmodel.ext.android.viewModel @@ -47,7 +48,7 @@ class LoginFragment : Fragment() { ): View? { rootView = inflater.inflate(R.layout.fragment_login, container, false) - val progressDialog = Utils.progressDialog(context) + val progressDialog = progressDialog(context) val thisActivity = activity if (thisActivity is AppCompatActivity) { thisActivity.supportActionBar?.title = "Login" @@ -171,11 +172,6 @@ class LoginFragment : Fragment() { smartAuthViewModel.requestCredentials(activity) } - private fun Dialog.show(show: Boolean) { - if (show && !this.isShowing) this.show() - else if (!show && this.isShowing) this.dismiss() - } - private fun redirectToEvents() { findNavController(rootView).popBackStack(R.id.eventsFragment, false) Snackbar.make(rootView, R.string.welcome_back, Snackbar.LENGTH_SHORT).show() diff --git a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt index 03592affcb..9558093df4 100644 --- a/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt +++ b/app/src/main/java/org/fossasia/openevent/general/auth/SignUpFragment.kt @@ -1,6 +1,5 @@ package org.fossasia.openevent.general.auth -import android.app.Dialog import android.os.Bundle import android.text.Editable import android.text.TextWatcher @@ -26,6 +25,7 @@ import kotlinx.android.synthetic.main.fragment_signup.view.passwordSignUp import kotlinx.android.synthetic.main.fragment_signup.view.signupNestedScrollView import org.fossasia.openevent.general.R import org.fossasia.openevent.general.utils.Utils +import org.fossasia.openevent.general.utils.Utils.show import org.fossasia.openevent.general.utils.extensions.nonNull import org.koin.androidx.viewmodel.ext.android.viewModel @@ -128,11 +128,6 @@ class SignUpFragment : Fragment() { Snackbar.make(rootView, R.string.logged_in_automatically, Snackbar.LENGTH_SHORT).show() } - private fun Dialog.show(show: Boolean) { - if (show && !this.isShowing) this.show() - else if (!show && this.isShowing) this.dismiss() - } - override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { android.R.id.home -> { diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index 796d9f8fc6..2e1b0e8a38 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -55,6 +55,12 @@ object Utils { return dialog } + fun Dialog.show(show: Boolean) { + /**Extends dialog.show()*/ + if (show && !this.isShowing) this.show() + else if (!show && this.isShowing) this.dismiss() + } + fun showSoftKeyboard(context: Context?, view: View) { view.requestFocus() val manager = context?.getSystemService(Context.INPUT_METHOD_SERVICE) From fb58b28937ae2b3573e72ed2bef570a89237b343 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Sat, 16 Feb 2019 09:15:32 +0530 Subject: [PATCH 11/15] Replaced custom dialog with progress dialog --- .../fossasia/openevent/general/utils/Utils.kt | 10 ++++----- app/src/main/res/layout/dialog_progress.xml | 21 ------------------- 2 files changed, 5 insertions(+), 26 deletions(-) delete mode 100644 app/src/main/res/layout/dialog_progress.xml diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index 2e1b0e8a38..9c964a6e8f 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -1,7 +1,7 @@ package org.fossasia.openevent.general.utils import android.app.AlertDialog -import android.app.Dialog +import android.app.ProgressDialog import android.content.Context import android.graphics.BitmapFactory import android.net.Uri @@ -46,16 +46,16 @@ object Utils { .show() } - fun progressDialog(context: Context?): Dialog { + fun progressDialog(context: Context?): ProgressDialog { /**Initializes progress dialog.*/ - val dialog = Dialog(context) + val dialog = ProgressDialog(context) dialog.setCancelable(false) dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) - dialog.setContentView(R.layout.dialog_progress) + dialog.setMessage("Loading...") return dialog } - fun Dialog.show(show: Boolean) { + fun ProgressDialog.show(show: Boolean) { /**Extends dialog.show()*/ if (show && !this.isShowing) this.show() else if (!show && this.isShowing) this.dismiss() diff --git a/app/src/main/res/layout/dialog_progress.xml b/app/src/main/res/layout/dialog_progress.xml deleted file mode 100644 index ce8bc4d930..0000000000 --- a/app/src/main/res/layout/dialog_progress.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - From fe5e39de3599a011a1ed474e701788298816b58c Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Sat, 16 Feb 2019 11:14:19 +0530 Subject: [PATCH 12/15] Removed unneeded code. --- .../main/java/org/fossasia/openevent/general/utils/Utils.kt | 5 ++--- app/src/main/res/values/dimens.xml | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index 9c964a6e8f..73e6836a76 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -50,15 +50,14 @@ object Utils { /**Initializes progress dialog.*/ val dialog = ProgressDialog(context) dialog.setCancelable(false) - dialog.requestWindowFeature(Window.FEATURE_NO_TITLE) dialog.setMessage("Loading...") return dialog } fun ProgressDialog.show(show: Boolean) { /**Extends dialog.show()*/ - if (show && !this.isShowing) this.show() - else if (!show && this.isShowing) this.dismiss() + if (show) this.show() + else this.dismiss() } fun showSoftKeyboard(context: Context?, view: View) { diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1321c314fb..736896ad13 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -26,7 +26,6 @@ 8dp 16dp 32dp - 128dp 12dp @@ -50,7 +49,6 @@ 250dp 16dp 16dp - 64dp 24dp From affc0df8809c62e55e5e34ff5203bd415bc44922 Mon Sep 17 00:00:00 2001 From: Anunay Rajhans Date: Sat, 16 Feb 2019 11:28:46 +0530 Subject: [PATCH 13/15] Spotless fixed. --- app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index 73e6836a76..c9109d91a4 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -6,7 +6,6 @@ import android.content.Context import android.graphics.BitmapFactory import android.net.Uri import android.view.View -import android.view.Window import android.view.animation.AnimationUtils import android.view.inputmethod.InputMethodManager import androidx.annotation.DrawableRes From 1a69341ecab5f4ee236c580fdbc7fb3512b57203 Mon Sep 17 00:00:00 2001 From: Areeb Jamal Date: Sat, 16 Feb 2019 18:45:05 +0530 Subject: [PATCH 14/15] Update app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt Co-Authored-By: angmas1 <37517284+angmas1@users.noreply.github.com> --- app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index c9109d91a4..e11a8a4915 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -54,7 +54,6 @@ object Utils { } fun ProgressDialog.show(show: Boolean) { - /**Extends dialog.show()*/ if (show) this.show() else this.dismiss() } From bb05aa3302a01cf22b29bab0a5673aa1cba5f8af Mon Sep 17 00:00:00 2001 From: Areeb Jamal Date: Sat, 16 Feb 2019 18:45:17 +0530 Subject: [PATCH 15/15] Update app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt Co-Authored-By: angmas1 <37517284+angmas1@users.noreply.github.com> --- app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt index e11a8a4915..9fde585af7 100644 --- a/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt +++ b/app/src/main/java/org/fossasia/openevent/general/utils/Utils.kt @@ -46,7 +46,6 @@ object Utils { } fun progressDialog(context: Context?): ProgressDialog { - /**Initializes progress dialog.*/ val dialog = ProgressDialog(context) dialog.setCancelable(false) dialog.setMessage("Loading...")