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