Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix styling of CardInputWidget #2055

Merged
merged 3 commits into from
Jan 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion example/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,13 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation "androidx.lifecycle:lifecycle-viewmodel:2.1.0"
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'
implementation 'com.google.android.material:material:1.1.0-rc01'

implementation 'com.google.android.gms:play-services-wallet:18.0.0'

/* Needed for RxAndroid */
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.16'
implementation 'io.reactivex.rxjava2:rxjava:2.2.17'

/* Needed for Rx Bindings on views */
implementation 'com.jakewharton.rxbinding2:rxbinding:2.2.0'
Expand Down
3 changes: 1 addition & 2 deletions example/res/values/themes.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primaryDark</item>
<item name="colorAccent">@color/accent</item>
Expand Down Expand Up @@ -117,5 +117,4 @@
<style name="Stripe3DS2FooterChevron">
<item name="tint">@color/threeds2_footer_header</item>
</style>

</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.PaymentConfiguration
import com.stripe.android.Stripe
import com.stripe.android.model.PaymentMethod
Expand All @@ -29,14 +28,14 @@ class CreateCardPaymentMethodActivity : AppCompatActivity() {
PaymentConfiguration.getInstance(this).publishableKey
)
}
private lateinit var snackbarContainer: View
private val snackbarController: SnackbarController by lazy {
SnackbarController(findViewById(android.R.id.content))
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_card_payment_methods)

snackbarContainer = findViewById(android.R.id.content)

rv_payment_methods.setHasFixedSize(false)
rv_payment_methods.layoutManager = LinearLayoutManager(this)
rv_payment_methods.adapter = adapter
Expand Down Expand Up @@ -67,8 +66,7 @@ class CreateCardPaymentMethodActivity : AppCompatActivity() {
}

private fun showSnackbar(message: String) {
Snackbar.make(snackbarContainer, message, Snackbar.LENGTH_LONG)
.show()
snackbarController.show(message)
}

private fun onCreatePaymentMethodStart() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.ApiResultCallback
import com.stripe.android.PaymentConfiguration
import com.stripe.android.Stripe
Expand Down Expand Up @@ -38,6 +37,9 @@ class CreateCardSourceActivity : AppCompatActivity() {
private val keyboardController: KeyboardController by lazy {
KeyboardController(this)
}
private val snackbarController: SnackbarController by lazy {
SnackbarController(findViewById(android.R.id.content))
}

private var alertDialog: AlertDialog? = null

Expand Down Expand Up @@ -185,8 +187,7 @@ class CreateCardSourceActivity : AppCompatActivity() {
}

private fun showSnackbar(message: String) {
Snackbar.make(findViewById(android.R.id.content), message, Snackbar.LENGTH_LONG)
.show()
snackbarController.show(message)
}

private companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.ApiResultCallback
import com.stripe.android.PaymentConfiguration
import com.stripe.android.Stripe
Expand All @@ -26,6 +25,10 @@ import kotlinx.android.synthetic.main.card_token_activity.*

class CreateCardTokenActivity : AppCompatActivity() {

private val snackbarController: SnackbarController by lazy {
SnackbarController(findViewById(android.R.id.content))
}

public override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.card_token_activity)
Expand Down Expand Up @@ -53,12 +56,7 @@ class CreateCardTokenActivity : AppCompatActivity() {
adapter.addToken(it)
})
} else {
Snackbar.make(
findViewById(android.R.id.content),
R.string.invalid_card_details,
Snackbar.LENGTH_SHORT
)
.show()
snackbarController.show(getString(R.string.invalid_card_details))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.CustomerSession
import com.stripe.android.StripeError
import com.stripe.android.model.Customer
Expand All @@ -21,6 +20,10 @@ import kotlinx.android.synthetic.main.activity_customer_session.*
*/
class CustomerSessionActivity : AppCompatActivity() {

private val snackbarController: SnackbarController by lazy {
SnackbarController(coordinator)
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_customer_session)
Expand All @@ -37,8 +40,6 @@ class CustomerSessionActivity : AppCompatActivity() {

btn_launch_payment_methods.isEnabled = false
btn_launch_payment_methods.setOnClickListener { launchWithCustomer() }

onRetrieveError("Error!!")
}

private fun launchWithCustomer() {
Expand Down Expand Up @@ -69,8 +70,7 @@ class CustomerSessionActivity : AppCompatActivity() {
private fun onRetrieveError(errorMessage: String) {
btn_launch_payment_methods.isEnabled = false
progress_bar.visibility = View.INVISIBLE
Snackbar.make(coordinator, errorMessage, Snackbar.LENGTH_LONG)
.show()
snackbarController.show(errorMessage)
}

private class CustomerRetrievalListenerImpl constructor(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import com.google.android.gms.wallet.PaymentDataRequest
import com.google.android.gms.wallet.PaymentsClient
import com.google.android.gms.wallet.Wallet
import com.google.android.gms.wallet.WalletConstants
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.ApiResultCallback
import com.stripe.android.GooglePayJsonFactory
import com.stripe.android.PaymentConfiguration
Expand All @@ -40,6 +39,9 @@ class PayWithGoogleActivity : AppCompatActivity() {
private val googlePayJsonFactory: GooglePayJsonFactory by lazy {
GooglePayJsonFactory(this)
}
private val snackbarController: SnackbarController by lazy {
SnackbarController(coordinator)
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -166,8 +168,7 @@ class PayWithGoogleActivity : AppCompatActivity() {
}

private fun showSnackbar(message: String) {
Snackbar.make(coordinator, message, Snackbar.LENGTH_SHORT)
.show()
snackbarController.show(message)
}

private companion object {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import android.view.View
import android.view.WindowManager
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
import com.google.android.material.snackbar.Snackbar
import com.stripe.android.CustomerSession
import com.stripe.android.PaymentSession
import com.stripe.android.PaymentSessionConfig
Expand Down Expand Up @@ -36,6 +35,9 @@ class PaymentSessionActivity : AppCompatActivity() {
private val notSelectedText: String by lazy {
getString(R.string.not_selected)
}
private val snackbarController: SnackbarController by lazy {
SnackbarController(coordinator)
}

private var paymentSessionData: PaymentSessionData? = null

Expand Down Expand Up @@ -226,8 +228,7 @@ class PaymentSessionActivity : AppCompatActivity() {
}

private fun showError(errorMessage: String) {
Snackbar.make(coordinator, errorMessage, Snackbar.LENGTH_LONG)
.show()
snackbarController.show(errorMessage)
}

private class PaymentSessionListenerImpl internal constructor(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package com.stripe.example.activity

import android.view.View
import com.google.android.material.snackbar.BaseTransientBottomBar
import com.google.android.material.snackbar.Snackbar

internal class SnackbarController internal constructor(val view: View) {
fun show(message: String) {
Snackbar.make(view, message, BaseTransientBottomBar.LENGTH_SHORT)
.show()
}
}
12 changes: 8 additions & 4 deletions stripe/res/layout/card_input_widget.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@
android:nextFocusForward="@+id/tl_expiry_date"
android:nextFocusDown="@+id/tl_expiry_date"
android:contentDescription="@string/acc_label_card_number"
app:hintEnabled="false">
app:hintEnabled="false"
style="@style/Stripe.CardInputWidget.TextInputLayout">
<com.stripe.android.view.CardNumberEditText
android:id="@+id/et_card_number"
android:layout_width="match_parent"
Expand Down Expand Up @@ -70,7 +71,8 @@
android:nextFocusLeft="@id/tl_card_number"
android:nextFocusUp="@id/tl_card_number"
android:contentDescription="@string/acc_label_expiry_date"
app:hintEnabled="false">
app:hintEnabled="false"
style="@style/Stripe.CardInputWidget.TextInputLayout">
<com.stripe.android.view.ExpiryDateEditText
android:id="@+id/et_expiry_date"
android:layout_width="match_parent"
Expand Down Expand Up @@ -99,7 +101,8 @@
android:nextFocusLeft="@id/tl_expiry_date"
android:nextFocusUp="@id/tl_expiry_date"
android:contentDescription="@string/cvc_number_hint"
app:hintEnabled="false">
app:hintEnabled="false"
style="@style/Stripe.CardInputWidget.TextInputLayout">
<com.stripe.android.view.CvcEditText
android:id="@+id/et_cvc"
android:layout_width="match_parent"
Expand All @@ -126,7 +129,8 @@
android:nextFocusLeft="@id/tl_cvc"
android:nextFocusUp="@id/tl_cvc"
android:contentDescription="@string/address_label_postal_code"
app:hintEnabled="false">
app:hintEnabled="false"
style="@style/Stripe.CardInputWidget.TextInputLayout">
<com.stripe.android.view.PostalCodeEditText
android:id="@+id/et_postal_code"
android:layout_width="match_parent"
Expand Down
4 changes: 4 additions & 0 deletions stripe/res/layout/card_multiline_widget.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
android:layout_height="wrap_content"
android:hint="@string/acc_label_card_number"
android:layout_marginTop="@dimen/stripe_add_card_element_vertical_margin"
style="@style/Widget.Design.TextInputLayout"
>

<com.stripe.android.view.CardNumberEditText
Expand Down Expand Up @@ -42,6 +43,7 @@
android:layout_marginEnd="@dimen/stripe_add_card_expiry_middle_margin"
android:layout_weight="1"
android:hint="@string/acc_label_expiry_date"
style="@style/Widget.Design.TextInputLayout"
>

<com.stripe.android.view.ExpiryDateEditText
Expand All @@ -63,6 +65,7 @@
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/stripe_add_card_expiry_middle_margin"
android:layout_weight="1"
style="@style/Widget.Design.TextInputLayout"
>

<com.stripe.android.view.CvcEditText
Expand All @@ -81,6 +84,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
style="@style/Widget.Design.TextInputLayout"
>

<com.stripe.android.view.PostalCodeEditText
Expand Down
7 changes: 7 additions & 0 deletions stripe/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,11 @@
</style>

<style name="Stripe.CardInputWidget.EditText" parent="Stripe.Base.CardInputWidget.EditText" />

<style name="Stripe.Base.CardInputWidget.TextInputLayout"
parent="Widget.Design.TextInputLayout">
</style>

<style name="Stripe.CardInputWidget.TextInputLayout"
parent="Stripe.Base.CardInputWidget.TextInputLayout" />
</resources>