diff --git a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/AnalyticsClientTest.java b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/AnalyticsClientTest.java index 75cb26566c..929ef9bf5a 100644 --- a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/AnalyticsClientTest.java +++ b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/AnalyticsClientTest.java @@ -14,7 +14,6 @@ import androidx.work.testing.WorkManagerTestInitHelper; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/ApiClientTest.java b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/ApiClientTest.java index 2daae5fab7..18e04be9fc 100644 --- a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/ApiClientTest.java +++ b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/ApiClientTest.java @@ -1,6 +1,10 @@ package com.braintreepayments.api; -import androidx.appcompat.app.AppCompatActivity; +import static com.braintreepayments.api.Assertions.assertIsANonce; +import static junit.framework.Assert.fail; + +import android.content.Context; + import androidx.test.core.app.ApplicationProvider; import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; @@ -8,17 +12,11 @@ import org.json.JSONObject; import org.junit.Before; import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.concurrent.CountDownLatch; -import static com.braintreepayments.api.Assertions.assertIsANonce; -import static junit.framework.Assert.fail; - -import android.content.Context; - @RunWith(AndroidJUnit4ClassRunner.class) public class ApiClientTest { diff --git a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/BraintreeClientTest.java b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/BraintreeClientTest.java index 3a359dba9e..d7ec2db373 100644 --- a/BraintreeCore/src/androidTest/java/com/braintreepayments/api/BraintreeClientTest.java +++ b/BraintreeCore/src/androidTest/java/com/braintreepayments/api/BraintreeClientTest.java @@ -1,20 +1,19 @@ package com.braintreepayments.api; +import static junit.framework.Assert.assertNotNull; + +import android.content.Context; + import androidx.annotation.Nullable; import androidx.test.core.app.ApplicationProvider; import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.concurrent.CountDownLatch; -import static junit.framework.Assert.assertNotNull; - -import android.content.Context; - @RunWith(AndroidJUnit4ClassRunner.class) public class BraintreeClientTest { diff --git a/BraintreeCore/src/main/java/com/braintreepayments/api/BraintreeGraphQLResponseParser.kt b/BraintreeCore/src/main/java/com/braintreepayments/api/BraintreeGraphQLResponseParser.kt index d6a011cde7..b5e1a679bd 100644 --- a/BraintreeCore/src/main/java/com/braintreepayments/api/BraintreeGraphQLResponseParser.kt +++ b/BraintreeCore/src/main/java/com/braintreepayments/api/BraintreeGraphQLResponseParser.kt @@ -24,8 +24,8 @@ internal class BraintreeGraphQLResponseParser @VisibleForTesting constructor( val errors = JSONObject(response).optJSONArray(GraphQLConstants.Keys.ERRORS) if (errors == null) return response - for (i in 0 until errors!!.length()) { - val error = errors!!.getJSONObject(i) + for (i in 0 until errors.length()) { + val error = errors.getJSONObject(i) val extensions = error.optJSONObject(GraphQLConstants.Keys.EXTENSIONS) val message = Json.optString( error, diff --git a/BraintreeCore/src/main/java/com/braintreepayments/api/DeviceInspector.kt b/BraintreeCore/src/main/java/com/braintreepayments/api/DeviceInspector.kt index 75e7f51967..ef24799e6b 100644 --- a/BraintreeCore/src/main/java/com/braintreepayments/api/DeviceInspector.kt +++ b/BraintreeCore/src/main/java/com/braintreepayments/api/DeviceInspector.kt @@ -30,7 +30,6 @@ class DeviceInspector @VisibleForTesting internal constructor( File("/system/app/Superuser.apk") ) - @VisibleForTesting internal fun getDeviceMetadata( context: Context?, sessionId: String?, diff --git a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeClientUnitTest.kt b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeClientUnitTest.kt index ff06a595d9..dbdb32c151 100644 --- a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeClientUnitTest.kt +++ b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeClientUnitTest.kt @@ -510,7 +510,7 @@ class BraintreeClientUnitTest { manifestValidator.isUrlSchemeDeclaredInAndroidManifest( applicationContext, "a-url-scheme", - any() + FragmentActivity::class.java ) } returns true diff --git a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeGraphQLResponseParserUnitTest.kt b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeGraphQLResponseParserUnitTest.kt index 5d300fd039..c333036476 100644 --- a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeGraphQLResponseParserUnitTest.kt +++ b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeGraphQLResponseParserUnitTest.kt @@ -4,9 +4,7 @@ import io.mockk.every import io.mockk.mockk import org.junit.Assert.* import org.junit.Before -import org.junit.Rule import org.junit.Test -import org.junit.rules.ExpectedException import java.net.HttpURLConnection class BraintreeGraphQLResponseParserUnitTest { @@ -14,10 +12,6 @@ class BraintreeGraphQLResponseParserUnitTest { private lateinit var urlConnection: HttpURLConnection private lateinit var baseParser: BaseHttpResponseParser - @Rule - @JvmField - var exceptionRule: ExpectedException = ExpectedException.none() - @Before fun beforeEach() { baseParser = mockk() @@ -38,14 +32,16 @@ class BraintreeGraphQLResponseParserUnitTest { @Test @Throws(Exception::class) fun parse_propagatesExceptionsByDefault() { - exceptionRule.expect(Exception::class.java) - exceptionRule.expectMessage("error") - val exception = Exception("error") every { baseParser.parse(123, urlConnection) } throws exception val sut = BraintreeGraphQLResponseParser(baseParser) - sut.parse(123, urlConnection) + try { + sut.parse(123, urlConnection) + fail("should not get here") + } catch (actualException: Exception) { + assertSame(exception, actualException) + } } @Test diff --git a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeHttpResponseParserUnitTest.kt b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeHttpResponseParserUnitTest.kt index 516e78ead7..041f9d9780 100644 --- a/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeHttpResponseParserUnitTest.kt +++ b/BraintreeCore/src/test/java/com/braintreepayments/api/BraintreeHttpResponseParserUnitTest.kt @@ -2,11 +2,9 @@ package com.braintreepayments.api import io.mockk.every import io.mockk.mockk -import org.junit.Assert.assertEquals +import org.junit.Assert.* import org.junit.Before -import org.junit.Rule import org.junit.Test -import org.junit.rules.ExpectedException import java.net.HttpURLConnection class BraintreeHttpResponseParserUnitTest { @@ -14,10 +12,6 @@ class BraintreeHttpResponseParserUnitTest { private lateinit var urlConnection: HttpURLConnection private lateinit var baseParser: BaseHttpResponseParser - @Rule - @JvmField - var exceptionRule: ExpectedException = ExpectedException.none() - @Before fun beforeEach() { baseParser = mockk() @@ -36,34 +30,36 @@ class BraintreeHttpResponseParserUnitTest { @Test @Throws(Exception::class) fun parse_propagatesExceptionsByDefault() { - exceptionRule.expect(Exception::class.java) - exceptionRule.expectMessage("error") - val exception = Exception("error") every { baseParser.parse(123, urlConnection) } throws exception val sut = BraintreeHttpResponseParser(baseParser) - sut.parse(123, urlConnection) + try { + sut.parse(123, urlConnection) + fail("should not get here") + } catch (actualException: Exception) { + assertSame(exception, actualException) + } } @Test @Throws(Exception::class) fun parse_whenBaseParserThrowsAuthorizationException_throwsNewAuthorizationExceptionWithMessage() { - exceptionRule.expect(AuthorizationException::class.java) - exceptionRule.expectMessage("There was an error") - val authorizationException = AuthorizationException(Fixtures.ERROR_RESPONSE) every { baseParser.parse(123, urlConnection) } throws authorizationException val sut = BraintreeHttpResponseParser(baseParser) - sut.parse(123, urlConnection) + try { + sut.parse(123, urlConnection) + fail("should not get here") + } catch (actualException: AuthorizationException) { + assertEquals("There was an error", actualException.message) + } } @Test @Throws(Exception::class) fun parse_whenBaseParserThrowsUnprocessibleEntityException_throwsErrorWithResponseException() { - exceptionRule.expect(ErrorWithResponse::class.java) - exceptionRule.expectMessage("There was an error") val unprocessableEntityException = UnprocessableEntityException(Fixtures.ERROR_RESPONSE) every { @@ -71,6 +67,11 @@ class BraintreeHttpResponseParserUnitTest { } throws unprocessableEntityException val sut = BraintreeHttpResponseParser(baseParser) - sut.parse(123, urlConnection) + try { + sut.parse(123, urlConnection) + fail("should not get here") + } catch (actualException: ErrorWithResponse) { + assertEquals("There was an error", actualException.message) + } } } \ No newline at end of file diff --git a/BraintreeCore/src/test/java/com/braintreepayments/api/UUIDHelperUnitTest.kt b/BraintreeCore/src/test/java/com/braintreepayments/api/UUIDHelperUnitTest.kt index fca9dab46e..162d62af06 100644 --- a/BraintreeCore/src/test/java/com/braintreepayments/api/UUIDHelperUnitTest.kt +++ b/BraintreeCore/src/test/java/com/braintreepayments/api/UUIDHelperUnitTest.kt @@ -3,8 +3,8 @@ package com.braintreepayments.api import io.mockk.every import io.mockk.mockk import io.mockk.verify -import junit.framework.Assert.assertEquals -import junit.framework.Assert.assertNotNull +import org.junit.Assert.assertEquals +import org.junit.Assert.assertNotNull import org.junit.Test import java.util.* diff --git a/BraintreeCore/src/test/java/com/braintreepayments/api/VisaCheckoutConfigurationUnitTest.kt b/BraintreeCore/src/test/java/com/braintreepayments/api/VisaCheckoutConfigurationUnitTest.kt index 8ebf630989..081430ddb4 100644 --- a/BraintreeCore/src/test/java/com/braintreepayments/api/VisaCheckoutConfigurationUnitTest.kt +++ b/BraintreeCore/src/test/java/com/braintreepayments/api/VisaCheckoutConfigurationUnitTest.kt @@ -37,7 +37,7 @@ class VisaCheckoutConfigurationUnitTest { assertFalse(sut.isEnabled) assertEquals("", sut.apiKey) assertEquals("", sut.externalClientId) - assertTrue(sut.acceptedCardBrands!!.isEmpty()) + assertTrue(sut.acceptedCardBrands.isEmpty()) } @Test @@ -46,6 +46,6 @@ class VisaCheckoutConfigurationUnitTest { assertFalse(sut.isEnabled) assertEquals("", sut.apiKey) assertEquals("", sut.externalClientId) - assertTrue(sut.acceptedCardBrands!!.isEmpty()) + assertTrue(sut.acceptedCardBrands.isEmpty()) } } \ No newline at end of file diff --git a/BraintreeDataCollector/src/androidTest/java/com/braintreepayments/api/DataCollectorTest.java b/BraintreeDataCollector/src/androidTest/java/com/braintreepayments/api/DataCollectorTest.java index 718d182a24..bc8298aa82 100644 --- a/BraintreeDataCollector/src/androidTest/java/com/braintreepayments/api/DataCollectorTest.java +++ b/BraintreeDataCollector/src/androidTest/java/com/braintreepayments/api/DataCollectorTest.java @@ -1,10 +1,15 @@ package com.braintreepayments.api; +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.assertNull; +import static junit.framework.Assert.fail; + import android.content.Context; import android.text.TextUtils; import androidx.annotation.Nullable; -import androidx.appcompat.app.AppCompatActivity; import androidx.test.core.app.ApplicationProvider; import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner; @@ -14,18 +19,11 @@ import org.json.JSONObject; import org.junit.After; import org.junit.Before; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import java.util.concurrent.CountDownLatch; -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertNull; -import static junit.framework.Assert.fail; - @RunWith(AndroidJUnit4ClassRunner.class) public class DataCollectorTest { diff --git a/Card/src/androidTest/java/com/braintreepayments/api/CardClientTest.java b/Card/src/androidTest/java/com/braintreepayments/api/CardClientTest.java index 6fdb8f5850..cdaf59264d 100644 --- a/Card/src/androidTest/java/com/braintreepayments/api/CardClientTest.java +++ b/Card/src/androidTest/java/com/braintreepayments/api/CardClientTest.java @@ -1,12 +1,18 @@ package com.braintreepayments.api; +import static com.braintreepayments.api.CardNumber.VISA; +import static com.braintreepayments.api.Fixtures.TOKENIZATION_KEY; +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.assertTrue; + import android.content.Context; import androidx.test.core.app.ApplicationProvider; import org.json.JSONException; import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -15,13 +21,6 @@ import java.util.Collection; import java.util.concurrent.CountDownLatch; -import static com.braintreepayments.api.CardNumber.VISA; -import static com.braintreepayments.api.Fixtures.TOKENIZATION_KEY; -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertTrue; - @RunWith(Parameterized.class) public class CardClientTest { diff --git a/Card/src/main/java/com/braintreepayments/api/AuthenticationInsight.java b/Card/src/main/java/com/braintreepayments/api/AuthenticationInsight.java index fb8c8320f8..c9c3ed6bde 100644 --- a/Card/src/main/java/com/braintreepayments/api/AuthenticationInsight.java +++ b/Card/src/main/java/com/braintreepayments/api/AuthenticationInsight.java @@ -4,7 +4,6 @@ import android.os.Parcelable; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import org.json.JSONObject; diff --git a/Demo/src/main/java/com/braintreepayments/demo/BraintreeClientCallback.java b/Demo/src/main/java/com/braintreepayments/demo/BraintreeClientCallback.java index 8b09704708..3515ac0254 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/BraintreeClientCallback.java +++ b/Demo/src/main/java/com/braintreepayments/demo/BraintreeClientCallback.java @@ -1,10 +1,10 @@ package com.braintreepayments.demo; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import com.braintreepayments.api.BraintreeClient; +// NEXT MAJOR VERSION: remove public interface BraintreeClientCallback { void onResult(@NonNull BraintreeClient braintreeClient); } diff --git a/Demo/src/main/java/com/braintreepayments/demo/CardFragment.java b/Demo/src/main/java/com/braintreepayments/demo/CardFragment.java index 129bb072ab..a3d39e5142 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/CardFragment.java +++ b/Demo/src/main/java/com/braintreepayments/demo/CardFragment.java @@ -1,5 +1,8 @@ package com.braintreepayments.demo; +import static android.view.View.GONE; +import static android.view.View.VISIBLE; + import android.app.ProgressDialog; import android.os.Bundle; import android.text.TextUtils; @@ -14,18 +17,16 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentActivity; -import androidx.lifecycle.ViewModelProvider; import androidx.navigation.fragment.NavHostFragment; import com.braintreepayments.api.AmericanExpressClient; import com.braintreepayments.api.AmericanExpressRewardsBalance; import com.braintreepayments.api.BraintreeClient; -import com.braintreepayments.api.PaymentMethodNonce; -import com.braintreepayments.api.BrowserSwitchResult; import com.braintreepayments.api.Card; import com.braintreepayments.api.CardClient; import com.braintreepayments.api.CardNonce; import com.braintreepayments.api.DataCollector; +import com.braintreepayments.api.PaymentMethodNonce; import com.braintreepayments.api.ThreeDSecureAdditionalInformation; import com.braintreepayments.api.ThreeDSecureClient; import com.braintreepayments.api.ThreeDSecureListener; @@ -48,9 +49,6 @@ import com.braintreepayments.cardform.view.CardForm; import com.google.android.material.textfield.TextInputLayout; -import static android.view.View.GONE; -import static android.view.View.VISIBLE; - public class CardFragment extends BaseFragment implements OnCardFormSubmitListener, OnCardFormFieldFocusedListener, ThreeDSecureListener { private static final String EXTRA_THREE_D_SECURE_REQUESTED = "com.braintreepayments.demo.EXTRA_THREE_D_SECURE_REQUESTED"; diff --git a/Demo/src/main/java/com/braintreepayments/demo/DemoActivity.java b/Demo/src/main/java/com/braintreepayments/demo/DemoActivity.java index 6bc3f7e26e..824860bc28 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/DemoActivity.java +++ b/Demo/src/main/java/com/braintreepayments/demo/DemoActivity.java @@ -3,7 +3,6 @@ import android.app.AlertDialog; import android.content.Intent; import android.content.SharedPreferences; -import android.content.pm.PackageManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; @@ -15,7 +14,6 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import androidx.core.app.ActivityCompat; -import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import androidx.navigation.NavController; import androidx.navigation.fragment.NavHostFragment; @@ -27,8 +25,6 @@ import java.util.Arrays; import java.util.List; -import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; - public class DemoActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback, ActionBar.OnNavigationListener { private BraintreeClient braintreeClient; @@ -126,17 +122,18 @@ public boolean onCreateOptionsMenu(Menu menu) { @Override public boolean onOptionsItemSelected(MenuItem item) { - switch (item.getItemId()) { - case R.id.reset: - performReset(); - return true; - case R.id.settings: - NavController navController = getNavController(); - navController.navigate(R.id.open_settings_fragment); - return true; - default: - return false; + boolean didHandleSelection = false; + + int itemId = item.getItemId(); + if (itemId == R.id.reset) { + performReset(); + didHandleSelection = true; + } else if (itemId == R.id.settings) { + NavController navController = getNavController(); + navController.navigate(R.id.open_settings_fragment); + didHandleSelection = true; } + return didHandleSelection; } @Override diff --git a/Demo/src/main/java/com/braintreepayments/demo/DisplayNonceFragment.java b/Demo/src/main/java/com/braintreepayments/demo/DisplayNonceFragment.java index 7651d4b7bf..80c17c1e59 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/DisplayNonceFragment.java +++ b/Demo/src/main/java/com/braintreepayments/demo/DisplayNonceFragment.java @@ -8,7 +8,6 @@ import android.widget.TextView; import androidx.fragment.app.Fragment; -import androidx.navigation.NavDirections; import androidx.navigation.fragment.NavHostFragment; import com.braintreepayments.api.PaymentMethodNonce; diff --git a/Demo/src/main/java/com/braintreepayments/demo/PayPalFragment.java b/Demo/src/main/java/com/braintreepayments/demo/PayPalFragment.java index 45c10943e6..b033f9fa52 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/PayPalFragment.java +++ b/Demo/src/main/java/com/braintreepayments/demo/PayPalFragment.java @@ -21,8 +21,6 @@ import com.braintreepayments.api.PayPalListener; import com.braintreepayments.api.PaymentMethodNonce; -import java.util.Random; - public class PayPalFragment extends BaseFragment implements PayPalListener { private String deviceData; diff --git a/Demo/src/main/java/com/braintreepayments/demo/PayPalNativeCheckoutRequestFactory.java b/Demo/src/main/java/com/braintreepayments/demo/PayPalNativeCheckoutRequestFactory.java index b113e29765..985665c1b5 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/PayPalNativeCheckoutRequestFactory.java +++ b/Demo/src/main/java/com/braintreepayments/demo/PayPalNativeCheckoutRequestFactory.java @@ -2,9 +2,8 @@ import android.content.Context; -import com.braintreepayments.api.PayPalNativeCheckoutRequest; import com.braintreepayments.api.PayPalNativeCheckoutPaymentIntent; -import com.braintreepayments.api.PayPalNativeRequest; +import com.braintreepayments.api.PayPalNativeCheckoutRequest; import com.braintreepayments.api.PayPalNativeCheckoutVaultRequest; import com.braintreepayments.api.PostalAddress; diff --git a/Demo/src/main/java/com/braintreepayments/demo/RandomDollarAmount.java b/Demo/src/main/java/com/braintreepayments/demo/RandomDollarAmount.java index 87af238143..50be1343ec 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/RandomDollarAmount.java +++ b/Demo/src/main/java/com/braintreepayments/demo/RandomDollarAmount.java @@ -1,5 +1,6 @@ package com.braintreepayments.demo; +import java.util.Locale; import java.util.Random; public class RandomDollarAmount { @@ -10,6 +11,6 @@ private RandomDollarAmount() {} public static String getNext() { int dollars = random.nextInt(100); - return String.format("%d.00", dollars); + return String.format(Locale.getDefault(), "%d.00", dollars); } } diff --git a/Demo/src/main/java/com/braintreepayments/demo/SEPADirectDebitTestHelper.java b/Demo/src/main/java/com/braintreepayments/demo/SEPADirectDebitTestHelper.java index 9f28e59235..76c922b141 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/SEPADirectDebitTestHelper.java +++ b/Demo/src/main/java/com/braintreepayments/demo/SEPADirectDebitTestHelper.java @@ -3,6 +3,7 @@ import java.math.BigInteger; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.concurrent.ThreadLocalRandom; /** @@ -54,6 +55,6 @@ private static String checksum(long bankCode, String branchCode, String accountN BigInteger bban = new BigInteger(bbanString); BigInteger modResult = bban.mod(BigInteger.valueOf(97)); BigInteger subtractionResult = BigInteger.valueOf(98).subtract(modResult); - return String.format("%02d", subtractionResult); + return String.format(Locale.getDefault(), "%02d", subtractionResult); } } diff --git a/Demo/src/main/java/com/braintreepayments/demo/SamsungPayFragment.java b/Demo/src/main/java/com/braintreepayments/demo/SamsungPayFragment.java index ce838e0e75..29b3ec4b6d 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/SamsungPayFragment.java +++ b/Demo/src/main/java/com/braintreepayments/demo/SamsungPayFragment.java @@ -60,7 +60,7 @@ private void setupSamsungPayButton() { } else { if (error instanceof SamsungPayException) { SamsungPayException samsungPayError = (SamsungPayException) error; - @SamsungPayError int errorCode = samsungPayError.getErrorCode(); + int errorCode = samsungPayError.getErrorCode(); switch (errorCode) { case SamsungPayError.SAMSUNG_PAY_APP_NEEDS_UPDATE: dialogMessage = "Need to update Samsung Pay app..."; diff --git a/Demo/src/main/java/com/braintreepayments/demo/VenmoFragment.java b/Demo/src/main/java/com/braintreepayments/demo/VenmoFragment.java index 635c37c091..9db4aa5eea 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/VenmoFragment.java +++ b/Demo/src/main/java/com/braintreepayments/demo/VenmoFragment.java @@ -10,7 +10,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.FragmentActivity; -import androidx.lifecycle.ViewModelProvider; import androidx.navigation.NavDirections; import androidx.navigation.fragment.NavHostFragment; @@ -18,10 +17,8 @@ import com.braintreepayments.api.VenmoAccountNonce; import com.braintreepayments.api.VenmoClient; import com.braintreepayments.api.VenmoListener; -import com.braintreepayments.api.VenmoOnActivityResultCallback; import com.braintreepayments.api.VenmoPaymentMethodUsage; import com.braintreepayments.api.VenmoRequest; -import com.braintreepayments.api.VenmoTokenizeAccountCallback; public class VenmoFragment extends BaseFragment implements VenmoListener { diff --git a/Demo/src/main/java/com/braintreepayments/demo/internal/ApiClient.java b/Demo/src/main/java/com/braintreepayments/demo/internal/ApiClient.java index c720936f39..b9e4ca9ae1 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/internal/ApiClient.java +++ b/Demo/src/main/java/com/braintreepayments/demo/internal/ApiClient.java @@ -3,18 +3,11 @@ import com.braintreepayments.demo.ClientTokenRequest; import com.braintreepayments.demo.TransactionRequest; import com.braintreepayments.demo.models.ClientToken; -import com.braintreepayments.demo.models.Nonce; -import com.braintreepayments.demo.models.PaymentMethodToken; import com.braintreepayments.demo.models.Transaction; import retrofit.Callback; import retrofit.http.Body; -import retrofit.http.Field; -import retrofit.http.FormUrlEncoded; -import retrofit.http.GET; import retrofit.http.POST; -import retrofit.http.Path; -import retrofit.http.Query; public interface ApiClient { diff --git a/Demo/src/main/java/com/braintreepayments/demo/models/ClientToken.java b/Demo/src/main/java/com/braintreepayments/demo/models/ClientToken.java index b71a9654fc..f3c5e83f1a 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/models/ClientToken.java +++ b/Demo/src/main/java/com/braintreepayments/demo/models/ClientToken.java @@ -1,12 +1,8 @@ package com.braintreepayments.demo.models; -import com.google.gson.annotations.SerializedName; - public class ClientToken { - private String value; - public String getValue() { return value; } diff --git a/Demo/src/main/java/com/braintreepayments/demo/views/SummaryEditTestPreference.java b/Demo/src/main/java/com/braintreepayments/demo/views/SummaryEditTestPreference.java index f7895fb0c5..bc06a0634e 100644 --- a/Demo/src/main/java/com/braintreepayments/demo/views/SummaryEditTestPreference.java +++ b/Demo/src/main/java/com/braintreepayments/demo/views/SummaryEditTestPreference.java @@ -1,8 +1,6 @@ package com.braintreepayments.demo.views; -import android.annotation.TargetApi; import android.content.Context; -import android.os.Build.VERSION_CODES; import android.util.AttributeSet; import androidx.preference.EditTextPreference; @@ -26,7 +24,6 @@ public SummaryEditTestPreference(Context context, AttributeSet attrs, int defSty init(); } - @TargetApi(VERSION_CODES.LOLLIPOP) public SummaryEditTestPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(); diff --git a/Demo/src/main/res/drawable-xhdpi/logo_android_pay.png b/Demo/src/main/res/drawable-xhdpi/logo_android_pay.png deleted file mode 100644 index 223dd05166..0000000000 Binary files a/Demo/src/main/res/drawable-xhdpi/logo_android_pay.png and /dev/null differ diff --git a/Demo/src/main/res/layout/fragment_local_payment.xml b/Demo/src/main/res/layout/fragment_local_payment.xml index f57bfcc83e..ad6cd7826d 100644 --- a/Demo/src/main/res/layout/fragment_local_payment.xml +++ b/Demo/src/main/res/layout/fragment_local_payment.xml @@ -22,5 +22,5 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" - android:text="This feature uses a hard-coded sandbox tokenization key that is enabled for this local payment." /> + android:text="@string/bt_local_payment_description" /> \ No newline at end of file diff --git a/Demo/src/main/res/values/strings.xml b/Demo/src/main/res/values/strings.xml index 7e1fde510d..acf288ca97 100644 --- a/Demo/src/main/res/values/strings.xml +++ b/Demo/src/main/res/values/strings.xml @@ -123,4 +123,7 @@ Start SamsungPay + + This feature uses a hard-coded sandbox tokenization key that is enabled for this local payment. + diff --git a/Demo/src/main/res/values/styles.xml b/Demo/src/main/res/values/styles.xml index caf9377500..303005a777 100644 --- a/Demo/src/main/res/values/styles.xml +++ b/Demo/src/main/res/values/styles.xml @@ -4,7 +4,7 @@ match_parent wrap_content 12dp - polite + polite