diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index bc6a554..ef62e98 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,6 +13,11 @@
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
+
+
anonymousSignIn() {
+ final CompletionGenericLiveData completion = new CompletionGenericLiveData();
+
+ FirebaseAuth auth = FirebaseAuth.getInstance();
+ auth.signInAnonymously().addOnCompleteListener(completion);
+
+ return completion;
+
+ }
+
public CompletionGenericLiveData signUp(String email, String password) {
final CompletionGenericLiveData completion = new CompletionGenericLiveData();
diff --git a/app/src/main/java/me/gilo/wc/ui/onboarding/AnonymousSignInActivity.kt b/app/src/main/java/me/gilo/wc/ui/onboarding/AnonymousSignInActivity.kt
new file mode 100644
index 0000000..34cea0e
--- /dev/null
+++ b/app/src/main/java/me/gilo/wc/ui/onboarding/AnonymousSignInActivity.kt
@@ -0,0 +1,70 @@
+package me.gilo.wc.ui.onboarding
+
+import android.arch.lifecycle.Observer
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.support.design.widget.Snackbar
+import android.support.v7.app.AppCompatActivity
+import android.widget.Toast
+import io.github.inflationx.viewpump.ViewPumpContextWrapper
+import me.gilo.wc.R
+
+import kotlinx.android.synthetic.main.activity_anonymous_sign_in.*
+import kotlinx.android.synthetic.main.content_sign_in.*
+import me.gilo.raison.ui.user.onboarding.SignUpActivity
+import me.gilo.wc.common.BaseActivity
+import me.gilo.wc.common.Status
+import me.gilo.wc.ui.WooDroidActivity
+import me.gilo.wc.ui.home.HomeActivity
+import me.gilo.wc.ui.state.ProgressDialogFragment
+import me.gilo.wc.viewmodels.UserViewModel
+import java.util.regex.Matcher
+import java.util.regex.Pattern
+
+class AnonymousSignInActivity : WooDroidActivity() {
+
+
+ override lateinit var viewModel : UserViewModel
+
+ override fun attachBaseContext(newBase: Context) {
+ super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase))
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_anonymous_sign_in)
+
+ viewModel = getViewModel(UserViewModel::class.java)
+ anonymousSignIn()
+
+ }
+
+ private fun anonymousSignIn() {
+ viewModel.anonymousSignIn().observe(this, Observer {
+ response->
+ when (response!!.status()){
+ Status.LOADING ->{
+ showLoading("Setting you up with an account", "This will only take a short while")
+ }
+
+ Status.SUCCESS ->{
+ stopShowingLoading()
+ startActivity(Intent(baseContext, HomeActivity::class.java))
+
+ }
+
+ Status.ERROR ->{
+ stopShowingLoading()
+ Toast.makeText(baseContext, "Something went wrong", Toast.LENGTH_LONG).show()
+ }
+
+ Status.EMPTY ->{
+ stopShowingLoading()
+ }
+
+ }
+ })
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/me/gilo/wc/ui/onboarding/SignInActivity.kt b/app/src/main/java/me/gilo/wc/ui/onboarding/SignInActivity.kt
index 3d341f6..cbd79f6 100644
--- a/app/src/main/java/me/gilo/wc/ui/onboarding/SignInActivity.kt
+++ b/app/src/main/java/me/gilo/wc/ui/onboarding/SignInActivity.kt
@@ -11,19 +11,20 @@ import kotlinx.android.synthetic.main.content_sign_in.*
import me.gilo.wc.R
import me.gilo.wc.common.BaseActivity
import me.gilo.wc.common.Status
+import me.gilo.wc.ui.WooDroidActivity
import me.gilo.wc.ui.home.HomeActivity
import me.gilo.wc.ui.state.ProgressDialogFragment
+import me.gilo.wc.viewmodels.CustomerViewModel
import me.gilo.wc.viewmodels.UserViewModel
import org.json.JSONObject
import java.util.regex.Matcher
import java.util.regex.Pattern
-class SignInActivity : BaseActivity() {
+class SignInActivity : WooDroidActivity() {
- lateinit var viewModel : UserViewModel
- val TAG = this::getLocalClassName
+ override lateinit var viewModel : UserViewModel
private lateinit var progressDialog: ProgressDialogFragment
private val pattern = Pattern.compile(EMAIL_PATTERN)
@@ -107,17 +108,6 @@ class SignInActivity : BaseActivity() {
return matcher!!.matches()
}
- private fun showLoading(title: String, message: String) {
- val manager = supportFragmentManager
- progressDialog = ProgressDialogFragment.newInstance(title, message)
- progressDialog.isCancelable = false
- progressDialog.show(manager, "progress")
- }
-
- private fun stopShowingLoading() {
- progressDialog.dismiss()
- }
-
companion object {
private const val EMAIL_PATTERN = "^[a-zA-Z0-9#_~!$&'()*+,;=:.\"(),:;<>@\\[\\]\\\\]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$"
}
diff --git a/app/src/main/java/me/gilo/wc/ui/onboarding/SignUpActivity.kt b/app/src/main/java/me/gilo/wc/ui/onboarding/SignUpActivity.kt
index cd73418..b4ff499 100644
--- a/app/src/main/java/me/gilo/wc/ui/onboarding/SignUpActivity.kt
+++ b/app/src/main/java/me/gilo/wc/ui/onboarding/SignUpActivity.kt
@@ -13,15 +13,16 @@ import me.gilo.wc.common.BaseActivity
import me.gilo.wc.common.Status
import me.gilo.wc.models.User
+import me.gilo.wc.ui.WooDroidActivity
import me.gilo.wc.ui.home.HomeActivity
import me.gilo.wc.ui.state.ProgressDialogFragment
import me.gilo.wc.viewmodels.UserViewModel
import java.util.regex.Matcher
import java.util.regex.Pattern
-class SignUpActivity : BaseActivity() {
+class SignUpActivity : WooDroidActivity() {
- lateinit var viewModel : UserViewModel
+ override lateinit var viewModel : UserViewModel
val TAG = this::getLocalClassName
private lateinit var progressDialog: ProgressDialogFragment
@@ -186,17 +187,6 @@ class SignUpActivity : BaseActivity() {
return matcher!!.matches()
}
- private fun showLoading(title: String, message: String) {
- val manager = supportFragmentManager
- progressDialog = ProgressDialogFragment.newInstance(title, message)
- progressDialog.isCancelable = false
- progressDialog.show(manager, "progress")
- }
-
- private fun stopShowingLoading() {
- progressDialog.dismiss()
- }
-
companion object {
private const val EMAIL_PATTERN = "^[a-zA-Z0-9#_~!$&'()*+,;=:.\"(),:;<>@\\[\\]\\\\]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*$"
}
diff --git a/app/src/main/java/me/gilo/wc/viewmodels/UserViewModel.java b/app/src/main/java/me/gilo/wc/viewmodels/UserViewModel.java
index 500cdbf..b2e85cf 100644
--- a/app/src/main/java/me/gilo/wc/viewmodels/UserViewModel.java
+++ b/app/src/main/java/me/gilo/wc/viewmodels/UserViewModel.java
@@ -29,6 +29,10 @@ public final class UserViewModel extends ViewModel {
return firebaseUserRepository.login(username, password);
}
+ public CompletionGenericLiveData anonymousSignIn() {
+ return firebaseUserRepository.anonymousSignIn();
+ }
+
public CompletionGenericLiveData firebaseLogin(String email, String password) {
return firebaseUserRepository.login(email, password);
}
diff --git a/app/src/main/res/layout/activity_anonymous_sign_in.xml b/app/src/main/res/layout/activity_anonymous_sign_in.xml
new file mode 100644
index 0000000..bacaabd
--- /dev/null
+++ b/app/src/main/res/layout/activity_anonymous_sign_in.xml
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index edba38f..0c020ed 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_anonymous_sign_in.xml b/app/src/main/res/layout/content_anonymous_sign_in.xml
new file mode 100644
index 0000000..e862d92
--- /dev/null
+++ b/app/src/main/res/layout/content_anonymous_sign_in.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ 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 a1c478a..6967612 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -45,5 +45,6 @@
CartActivity
CheckoutActivity
+ AnonymousSignInActivity