diff --git a/app/src/main/java/me/gilo/wc/di/ActivitiesModule.java b/app/src/main/java/me/gilo/wc/di/ActivitiesModule.java index 6774184..b51a939 100644 --- a/app/src/main/java/me/gilo/wc/di/ActivitiesModule.java +++ b/app/src/main/java/me/gilo/wc/di/ActivitiesModule.java @@ -8,6 +8,7 @@ import me.gilo.wc.MainActivity; import me.gilo.wc.ui.WooDroidActivity; import me.gilo.wc.ui.customer.BasicCustomerDetailsActivity; import me.gilo.wc.ui.customer.BillingAddressActivity; +import me.gilo.wc.ui.customer.ProfileActivity; import me.gilo.wc.ui.customer.ShippingAddressActivity; import me.gilo.wc.ui.home.HomeActivity; import me.gilo.wc.ui.product.ProductActivity; @@ -43,4 +44,7 @@ abstract class ActivitiesModule { @ContributesAndroidInjector abstract ShippingAddressActivity contributesShippingAddressActivity(); + @ContributesAndroidInjector + abstract ProfileActivity contributesProfileActivity(); + } diff --git a/app/src/main/java/me/gilo/wc/ui/customer/BasicCustomerDetailsActivity.kt b/app/src/main/java/me/gilo/wc/ui/customer/BasicCustomerDetailsActivity.kt index 025a3ce..bd25bc2 100644 --- a/app/src/main/java/me/gilo/wc/ui/customer/BasicCustomerDetailsActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/customer/BasicCustomerDetailsActivity.kt @@ -25,6 +25,7 @@ class BasicCustomerDetailsActivity : WooDroidActivity() { override lateinit var viewModel : CustomerViewModel private val pattern = Pattern.compile(EMAIL_PATTERN) private var matcher: Matcher? = null + lateinit var customer: Customer override fun attachBaseContext(newBase: Context) { super.attachBaseContext(ViewPumpContextWrapper.wrap(newBase)) @@ -54,7 +55,7 @@ class BasicCustomerDetailsActivity : WooDroidActivity() { Status.SUCCESS ->{ stopShowingLoading() - var customer = response.data()[0] + customer = response.data()[0] etEmail.setText(customer.email) etFirstName.setText(customer.firstName) @@ -84,13 +85,12 @@ class BasicCustomerDetailsActivity : WooDroidActivity() { val lastName = etLastName.text.toString() val username = etUsername.text.toString() - var customer = Customer() customer.email = email customer.firstName = firstName customer.lastName = lastName customer.username = username - viewModel.create(customer).observe(this, Observer { + viewModel.update(customer.id, customer).observe(this, Observer { response-> when (response!!.status()){ Status.LOADING ->{ @@ -99,7 +99,7 @@ class BasicCustomerDetailsActivity : WooDroidActivity() { Status.SUCCESS ->{ stopShowingLoading() - startActivity(Intent(baseContext, BillingAddressActivity::class.java)) + finish() } Status.ERROR ->{ diff --git a/app/src/main/java/me/gilo/wc/ui/customer/BillingAddressActivity.kt b/app/src/main/java/me/gilo/wc/ui/customer/BillingAddressActivity.kt index 7561ca6..3a17fcf 100644 --- a/app/src/main/java/me/gilo/wc/ui/customer/BillingAddressActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/customer/BillingAddressActivity.kt @@ -119,7 +119,7 @@ class BillingAddressActivity : WooDroidActivity() { Status.SUCCESS ->{ stopShowingLoading() - startActivity(Intent(baseContext, BillingAddressActivity::class.java)) + finish() } Status.ERROR ->{ diff --git a/app/src/main/java/me/gilo/wc/ui/customer/ProfileActivity.kt b/app/src/main/java/me/gilo/wc/ui/customer/ProfileActivity.kt index 2723d2d..8a87fbc 100644 --- a/app/src/main/java/me/gilo/wc/ui/customer/ProfileActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/customer/ProfileActivity.kt @@ -2,20 +2,16 @@ package me.gilo.wc.ui.customer 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_profile.* -import kotlinx.android.synthetic.main.customer_basic_details.* +import kotlinx.android.synthetic.main.content_profile.* +import me.gilo.wc.R import me.gilo.wc.common.Status import me.gilo.wc.ui.WooDroidActivity import me.gilo.wc.viewmodels.CustomerViewModel -import java.util.regex.Matcher -import java.util.regex.Pattern class ProfileActivity : WooDroidActivity() { @@ -29,12 +25,21 @@ class ProfileActivity : WooDroidActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_profile) - viewModel = getViewModel(CustomerViewModel::class.java) + setSupportActionBar(toolbar) + title = "Profile" + tvBasicDetailsEdit.setOnClickListener{startActivity(Intent(baseContext, BasicCustomerDetailsActivity::class.java))} + tvBillingAddressEdit.setOnClickListener{startActivity(Intent(baseContext, BillingAddressActivity::class.java))} + tvShippingAddressEdit.setOnClickListener{startActivity(Intent(baseContext, ShippingAddressActivity::class.java))} + + } + + override fun onResume() { + super.onResume() + + viewModel = getViewModel(CustomerViewModel::class.java) customer() - - } @@ -50,6 +55,13 @@ class ProfileActivity : WooDroidActivity() { stopShowingLoading() var customer = response.data()[0] + tvBasicDetailsName.text = customer.firstName + " " + customer.lastName + + tvEmail.text = "Email : " + customer.email + tvUsername.text = "Username : " + customer.username + + tvShippingAddress.text = customer.shippingAddress.toString() + tvBillingAddress.text = customer.billingAddress.toString() } diff --git a/app/src/main/java/me/gilo/wc/ui/customer/ShippingAddressActivity.kt b/app/src/main/java/me/gilo/wc/ui/customer/ShippingAddressActivity.kt index c7b0beb..4386c3e 100644 --- a/app/src/main/java/me/gilo/wc/ui/customer/ShippingAddressActivity.kt +++ b/app/src/main/java/me/gilo/wc/ui/customer/ShippingAddressActivity.kt @@ -112,7 +112,7 @@ class ShippingAddressActivity : WooDroidActivity() { Status.SUCCESS ->{ stopShowingLoading() - startActivity(Intent(baseContext, BillingAddressActivity::class.java)) + finish() } Status.ERROR ->{ diff --git a/app/src/main/java/me/gilo/wc/ui/home/ProfileFragment.kt b/app/src/main/java/me/gilo/wc/ui/home/ProfileFragment.kt index 44c944b..f207833 100644 --- a/app/src/main/java/me/gilo/wc/ui/home/ProfileFragment.kt +++ b/app/src/main/java/me/gilo/wc/ui/home/ProfileFragment.kt @@ -1,11 +1,16 @@ package me.gilo.wc.ui.home +import android.content.Intent import android.os.Bundle import android.support.v4.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import com.google.firebase.auth.FirebaseAuth +import kotlinx.android.synthetic.main.fragment_profile.* +import me.gilo.raison.ui.user.onboarding.SignUpActivity import me.gilo.wc.R +import me.gilo.wc.ui.customer.ProfileActivity import me.gilo.wc.viewmodels.ProductViewModel @@ -32,6 +37,13 @@ class ProfileFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + llMyProfile.setOnClickListener{ + if (FirebaseAuth.getInstance().currentUser != null) { + startActivity(Intent(activity, ProfileActivity::class.java)) + }else{ + startActivity(Intent(activity, SignUpActivity::class.java)) + } + } } diff --git a/app/src/main/res/layout/content_profile.xml b/app/src/main/res/layout/content_profile.xml index 8308be1..45886b7 100644 --- a/app/src/main/res/layout/content_profile.xml +++ b/app/src/main/res/layout/content_profile.xml @@ -54,6 +54,7 @@ android:padding="16dp"> + + + @@ -115,26 +142,33 @@ android:padding="16dp"> - + + + - + + diff --git a/app/src/main/res/layout/fragment_profile.xml b/app/src/main/res/layout/fragment_profile.xml index 2a54035..81c9e6d 100644 --- a/app/src/main/res/layout/fragment_profile.xml +++ b/app/src/main/res/layout/fragment_profile.xml @@ -242,6 +242,7 @@ >