Giter VIP home page Giter VIP logo

stripe-terminal-android's Introduction

Stripe Terminal Android

For information on migrating from earlier versions of the Android SDK, see the migration guide.

Requirements

The Stripe Terminal Android SDK is compatible with apps supporting Android API level 26* and above. Apps can be written using Kotlin or Java 8.

Note that attempting to override minSdkVersion to decrease the minimum supported API level will not work due to internal runtime API level validation.

Try the example app

The Stripe Terminal Android SDK includes two open-source example apps (one in Java and the other in Kotlin), which you can use to familiarize yourself with the SDK before starting your own integration. To build the example app:

  1. Clone this repo.
  2. Import the Example project into Android Studio.
  3. Navigate to our example backend and deploy it following the instructions in the README.
  4. In gradle.properties, set the URL of the backend you just deployed.
  5. Build and run the app. The app includes a reader simulator, so you have no need for a physical reader to start your integration. Note that while the example app will work in an Android emulator, you will only be able to connect to a simulated reader due to lack of Bluetooth capabilities.

Installation

To use the Android SDK, add the SDK to the dependencies block of your build.gradle file:

dependencies {
  implementation "com.stripe:stripeterminal:3.6.0"
}

Configure your app

Location access must be enabled in order to use the SDK. You’ll need to make sure that the ACCESS_FINE_LOCATION permission is enabled in your app. To do this, add the following check before you initialize the Terminal object:

if (ContextCompat.checkSelfPermission(getActivity(), 
  Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
    String[] permissions = {Manifest.permission.ACCESS_FINE_LOCATION};
        
    // REQUEST_CODE should be defined on your app level
    ActivityCompat.requestPermissions(getActivity(), permissions, REQUEST_CODE_LOCATION);
}

You should also verify that the user allowed the location permission, since the SDK won’t function without it. To do this, override the onRequestPermissionsResult method in your app and check the permission result.

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
    if (requestCode == REQUEST_CODE_LOCATION && grantResults.length > 0
            && grantResults[0] != PackageManager.PERMISSION_GRANTED) {
        throw new RuntimeException("Location services are required in order to " +
                "connect to a reader.");
    }
}

Note: Stripe needs to know where payments occur to reduce risks associated with those charges and to minimize disputes. If the SDK can’t determine the Android device’s location, payments are disabled until location access is restored.

Have an Application Class

The Android SDK is lifecycle aware. To prevent memory leaks and ensure proper cleanup of long-running Terminal SDK processes, your application must have the Application subclass where TerminalApplicationDelegate is used to inform the SDK of lifecycle events.

This subclass should call TerminalApplicationDelegate.onCreate from your application's onCreate method. For example:

// Substitute with your application name, and remember to keep it the same as your AndroidManifest.xml
class StripeTerminalApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        TerminalApplicationDelegate.onCreate(this)
    }
}

Lastly, don't forget to set your Application class in your AndroidManifest.xml accordingly. See the following taken from the example app:

<application
    android:name=".StripeTerminalApplication" // Or whatever your application class name is
    android:allowBackup="false"
    android:icon="@mipmap/launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/Theme.Example"
    tools:ignore="GoogleAppIndexingWarning">
    <activity android:name="com.stripe.example.MainActivity"
        android:screenOrientation="fullSensor">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Tap to Pay on Android (TTPA)

To use the Tap to Pay SDK, replace your existing stripeterminal dependencies in the dependencies block of your build.gradle file with the following:

dependencies {
  implementation "com.stripe:stripeterminal-localmobile:3.6.0"
  implementation "com.stripe:stripeterminal-core:3.6.0"
}

Please note that:

  • You must use an SDK version greater than the minimum SDK version documented in our user docs
  • The stripeterminal-localmobile SDK version must match the version you're using for other stripeterminal libraries.
  • There are no public APIs provided by this SDK. Please reference Stripe Terminal's public API references for more information on how to use the SDK.

Documentation

stripe-terminal-android's People

Contributors

bg-stripe avatar billfinn-stripe avatar chander-stripe avatar chenmin-stripe avatar chr-stripe avatar danwaters-stripe avatar dhenry-stripe avatar dps-stripe avatar fred-stripe avatar henryx-stripe avatar lins-stripe avatar maggiewhite-stripe avatar mshafrir-stripe avatar nazli-stripe avatar przemek9x9 avatar rv-stripe avatar sgaw-stripe avatar sjl-stripe avatar ugochukwu-stripe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

stripe-terminal-android's Issues

reader hangs at "remove card"

I just had a launch with stripe terminal on android and everything is working mostly, but every once in a while, when the status reads "remove card", and the card is removed, nothing happens. It never gets to "Collected Payment", I know this is not a lot of info, just now starting to look into it to see what is happening.
I checked the payments in the stripe portal, and there is a paymentIntent that is created, but never completed. The payment in the portal says "Payment started" with a status of "incomplete"
This happens randomly as most credit cards work with no issue.

Just looking for ideas on where to start.

Reader updated failed for unknown reason.

We get the following error when attempting to update the reader.

e = {TerminalException@7553} "com.stripe.stripeterminal.TerminalException" apiError = null errorCode = {TerminalException$TerminalErrorCode@7949} "READER_SOFTWARE_UPDATE_FAILED(380)" errorMessage = "Update failed for unknown reason" cause = {TerminalException@7553} "com.stripe.stripeterminal.TerminalException" detailMessage = null stackState = null stackTrace = {StackTraceElement[10]@7951} suppressedExceptions = {Collections$EmptyList@7952} size = 0 shadow$_klass_ = {Class@868} "class com.stripe.stripeterminal.TerminalException" shadow$_monitor_ = -1329362584

e.getStackTrace() = {StackTraceElement[10]@7994} 0 = {StackTraceElement@7995} "com.stripe.stripeterminal.BbposDeviceOtaControllerListener.onReturnTargetVersionResult(BbposDeviceOtaControllerListener.java:94)" 1 = {StackTraceElement@7996} "com.bbposstripe.bbdevice.ota.BBDeviceOTAController$10.run(SourceFile:157)" 2 = {StackTraceElement@7997} "android.os.Handler.handleCallback(Handler.java:815)" 3 = {StackTraceElement@7998} "android.os.Handler.dispatchMessage(Handler.java:104)" 4 = {StackTraceElement@7999} "android.os.Looper.loop(Looper.java:194)" 5 = {StackTraceElement@8000} "android.app.ActivityThread.main(ActivityThread.java:5637)" 6 = {StackTraceElement@8001} "java.lang.reflect.Method.invoke(Native Method)" 7 = {StackTraceElement@8002} "java.lang.reflect.Method.invoke(Method.java:372)" 8 = {StackTraceElement@8003} "com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)" 9 = {StackTraceElement@8004} "com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)"

Code block below:

public void tryToConnect() {
        presenter = this;

        Terminal terminal = getTerminal(application);

        if(terminal != null) {
            Reader connectedReader = terminal.getConnectedReader();
            if(connectedReader == null) {
                getViewState().showLoading();
                getViewState().showStatus(application.getString(R.string.init_sdk));
                try {
                    getViewState().showStatus("Discovering readers");

                    subscriptions.add(readersSubject
                            .subscribeOn(Schedulers.from(m_OtherWorkThreadPool))
                            .observeOn(AndroidSchedulers.mainThread())
                            .subscribe(
                                    reader -> {
                                        subscriptions.add(
                                            connectionSubject
                                                .subscribeOn(Schedulers.from(m_OtherWorkThreadPool))
                                                .observeOn(AndroidSchedulers.mainThread())
                                                .subscribe(
                                                      connected -> {
                                                          READER_CONNECTED = true;
                                                          getViewState().showStatus("Checking updates");
                                                          currentCancelable = terminal.checkForUpdate(new SoftwareCallback(reader, terminal));
                                                      } , error -> getViewState().showErrorMessage(error.getMessage())
                                                )
                                        );
                                        terminal.connectReader(reader, new ConnectionCallback());
                                    }, error -> getViewState().showErrorMessage(error.getMessage())
                            ));

                    currentCancelable = terminal.discoverReaders(new DiscoveryConfiguration(0, DeviceType.CHIPPER_2X, false),
                            new ReaderDiscoveryListener(), new DiscoveryCallback());

                } catch (Exception e) {
                    getViewState().showErrorMessage(e.getMessage());
                }
            } else {
                READER_CONNECTED = true;
                getViewState().showConnected(connectedReader.getSerialNumber());
                if(AUTO_CONNECT) {
                    getViewState().exit();
                }
            }
        } else {
            getViewState().showErrorMessage("Initializing stripe failed");
        }
    }

Tapping the card to do the payment doesn't work. Insert and swipe works.

Summary

Tapping the card to do the payment doesn't work, the BBPOS doesn't detect the tap. Insert and swipe works.

Code to reproduce

Terminal.getInstance().collectPaymentMethod(paymentIntent,
new ReaderDisplayListener() {
    @Override
    public void onRequestReaderInput(ReaderInputOptions options) {
    }

    @Override
    public void onRequestReaderDisplayMessage(ReaderDisplayMessage message) {
    }
},
new PaymentIntentCallback() {
    @Override
    public void onSuccess(PaymentIntent paymentIntent) {
        processPayment(paymentIntent, promise);
    }

    @Override
    public void onFailure(TerminalException exception) {
        exception.printStackTrace();
    }
});

Android version

Android 5.1

Impacted devices (Android devices or readers)

BBPOS Reader and Android devices running 5.1.1 to 9

SDK version

Version 1.0.0

Other information

It also doesn't work on Android 9.0

Handle transaction timeout

I create payment intent on backend side and retrieve it on android side.
After a while (didn't measure it but it is ~30s) terminal timeout.
I can find on android console

2019-03-15 11:13:05.697 1793-1793/com.ourStripeTest D/Log: onReturnTransactionResult(TIMEOUT)

How can we handle that scenario? I tried manually check payment status but it returns REQUIRES_SOURCE even when is timeout.

BACKEND_URL with a path fails for connection_token, you need relative paths to post for this to work.

I host a server here:
const val BACKEND_URL = "https://stellarkit.io/ruby/"
and here for testing
const val BACKEND_URL = "https://stellarkit.io/stripe/"

Your code is trying to access the url without the /stripe/ or /ruby/
url=https://stellarkit.io/connection_token (this is wrong)

See: https://stackoverflow.com/questions/32352159/retrofit-2-removes-characters-after-hostname-from-base-url

You must be sending an absolute path rather than a relative path for the post to connection_token.

it fails.
E/StripeTerminal: com.stripe.stripeterminal.model.external.ConnectionTokenException: Creating connection token failed
at com.stripe.example.network.ApiClient.createConnectionToken$kotlinapp_debug(ApiClient.kt:55)
at com.stripe.example.network.TokenProvider.fetchConnectionToken(TokenProvider.kt:15)
at com.stripe.stripeterminal.ConnectionTokenManager$refreshToken$1.run(ConnectionTokenManager.kt:71)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)

The Javascript terminal examples work just fine. The Java version does not.

[Help needed, not issue-with-app] How to automate whole terminal-android-payment process, without manually clicking buttons to select device from list and click collect-payment button

Hello Stripe-Team, first thanks for Example-demo-app.

I am using it for testing after I solved backend url-pathfixing error of slash(/) ,

Your example app is great but I need to automate it's process from start-to-end,

My device is BBPOS 2x Chipper(without display),

Current stripe app is having few steps to do card/swipe payment, as follows,

  1. open app, click button -> discover readers,

  2. Discover readers -> it shows list of devices,

  3. select any device,

  4. selected device will connected.

  5. click btn-> Collect card payment

  6. enter amount,

  7. click btn-> Collect payment->

  8. then It will start/wait/accept card, by swipe/tap/insert.

Now,
How I wanted to implement is:

  1. open app, it will discover all devices(in background),

  2. select first device(index=0) automatically,

  3. connect to first device(automatically),

  4. enter amount(which I will pass from my server, dynamically, using intent, app="https", not from android-app, but only from server),

  5. autoclick after I pass amount from backend only,

  6. then click automatically button -> collect payment.

Currenly, I have automated some clicks from stackoverflow-help, as here also I have changed fragments id and skipped payment page and amount-entering page,

but I only wanted to automate all steps, such that It will only use android-app to connect to hardware device and all will be automated,
and it will fetch data from server through indent-filter,( by passing schema=http, app=myApp, data=params needed)

If have experience in Android-then tell me how to do it, though I have figured it out most part by myself.

Problem with readReausableCard

we are facing problem with readReusableCard:

Payment was declined by reader ---> PAYMENT_DECLINED_BY_READER(650)

reader is previously detected and connected.
MWE:
public void createReusableCard() { ReadReusableCardParameters params = new ReadReusableCardParameters.Builder().build(); cancelable = terminal.readReusableCard(params, new ReaderListener(), new PaymentMethodCallback() { @Override public void onSuccess(PaymentMethod paymentMethod) { Log.i("FIND_ME", paymentMethod.getId()); } @Override public void onFailure(@Nonnull TerminalException e) { Log.i("FIND_ME", "error: " + e.getErrorMessage() + " ---> " + e.getErrorCode().toString()); } }); }

Example will not compile when using v1.0.0-rc2

Summary

I downloaded the latest and have
stripeTerminalVersion = '1.0.0-rc2'

Imports like import com.stripe.stripeterminal.model.external.Reader are not found.

If I set to
stripeTerminalVersion = '1.0.0-rc1'
It compiles and works correctly.

payment_method access

After creating payment intent, retrieving the intent on my server I call collectPaymentMethod which successfully returns the intent. Next I want to confirm the intent which requires a payment_method from the intent. We are not able to access the payment_method from the intent object.

Discovery process restrictions

I have several tablets running in my customer environments. I want to show a list of readers that are available for connection. If a reader is already connected to another tablet, I want to show it in a connected status. If a reader is not yet connected, I want to provide a connect button so the user can connect the desired reader. When I run discovery and a reader is connected, I get an error saying "You must disconnect from reader before discovering readers.". Is there a way to do what I have described?

Metadata example in sample.

Hey folks is it possible to get an example of adding some additional metadata to the transaction in the sample application? We tried to pass some along through with the transaction as per the docs but it doesn’t appear against the transaction in the API so I feel we maybe doing something wrong..

Null Pointer Exception java.lang.String com.stripe.stripeterminal.Reader.getSerialNumber()

We've noticed the following error on occasion, it looks like its related to having a bad reader connection.

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.stripe.stripeterminal.Reader.getSerialNumber()' on a null object reference (Most recent call first)
at com.stripe.stripeterminal.TerminalListenerProxy.onUnexpectedReaderDisconnect (TerminalListenerProxy.java:36)
at com.stripe.stripeterminal.TerminalStatusManager.unexpectedDisconnect (TerminalStatusManager.java:71)
at com.stripe.stripeterminal.BbposBluetoothAdapter.onDisconnectReader (BbposBluetoothAdapter.java:212)
at com.stripe.stripeterminal.BbposDeviceControllerListener.onBTDisconnected (BbposDeviceControllerListener.java:81)
at com.bbposstripe.bbdevice.BBDeviceController$111.run (SourceFile:2925)

Terminal Exception When Location Services is Off

When location services on the device is disabled and we attempt to initTerminal a non-descript terminalException is thrown rather than the usual location services exception that was thrown in previous builds. Turning on location services works just fine, we can modify our code to catch this error but it seems a step backwards to not provide the additional error message to handle the exception gracefully.

com.stripe.stripeterminal.TerminalException (Most recent call first)
at com.stripe.stripeterminal.Terminal.initTerminal (Terminal.java:75)
at au.com.ticketbooth.rfid.android.mvp.presenter.settings.StripeReaderConnectPresenter.getTerminal (StripeReaderConnectPresenter.java:313)
at au.com.ticketbooth.rfid.android.mvp.presenter.settings.StripeReaderConnectPresenter.tryToConnect (StripeReaderConnectPresenter.java:99)
at au.com.ticketbooth.rfid.android.ui.activities.settings.stripe.StripeReaderConnectActivity.onTryAgainClicked (StripeReaderConnectActivity.java:48)
at au.com.ticketbooth.rfid.android.ui.activities.settings.stripe.StripeReaderConnectActivity_ViewBinding$1.doClick (StripeReaderConnectActivity_ViewBinding.java:47)
at butterknife.internal.DebouncingOnClickListener.onClick (DebouncingOnClickListener.java:22)
Hide 9 non-project frames
at android.view.View.performClick (View.java:5675)
at android.view.View$PerformClick.run (View.java:22641)
at android.os.Handler.handleCallback (Handler.java:836)
at android.os.Handler.dispatchMessage (Handler.java:103)
at android.os.Looper.loop (Looper.java:203)
at android.app.ActivityThread.main (ActivityThread.java:6251)
at java.lang.reflect.Method.invoke (Method.java:-2)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:924)
client.android.android_version | 7.0
-- | --
client.android.phone_model | S962B
client.code_version | 253
client.timestamp | 1558595032 - 2019-05-23 05:03:52 pm
client.version_code | 253
environment | production
framework | android
language | java
level | error
notifier.name | rollbar-android
notifier.version | 1.4.0
person.email | release
platform | android
timestamp | 1558595034 - 2019-05-23 05:03:54 pm

ErrorCallback is not declared Public

Working through binding the package with Xamarin. Callback implements ErrorCallback which is not defined as public. It is causing linking issues on build. I am assuming this is just unique to the way Xamarin binds the C# to the Java code.

error: ErrorCallback is not public in com.stripe.stripeterminal; cannot be accessed from outside package

TerminalListener.onUnexpectedReaderDisconnect Reader parameter is null

According to the docs:

default void onUnexpectedReaderDisconnect(Reader reader)

The Terminal disconnected unexpectedly from the reader. In your implementation of this method, you may want to notify your user that the reader disconnected.

Parameters:
reader - The previously connected reader.

From my code:

class TerminalEventListener implements TerminalListener {

    private final RNReactNativeStripeTerminalModule manager;

    public void onUnexpectedReaderDisconnect(Reader reader) {     
        // This throws an error since reader is null:
        Log.i("UnexpectedDisconnect", reader.getSerialNumber());
    }

Generated Card ID is not returned in SDK

When processing a payment the stripe documentation says the following here.

https://stripe.com/docs/terminal/payments/saving-cards#saving-payment-intent-card

Save card details for online reuse from a customer’s in-person transaction. When you successfully process a PaymentIntent, the returned object contains a list of attempted charges in reverse chronological order—so the first is the successful one. This charge contains a generated_card ID.

However when actually processing a payment the generated card id is not returned via the SDK.

public static class CardPresentDetails { private String brand; private String country; @SerializedName("emv_auth_data") private String emvAuthData; @SerializedName("exp_month") private int expMonth; @SerializedName("exp_year") private int expYear; private String fingerprint; private String last4; private PaymentMethodDetails.ReceiptDetails receipt;

Illegal State Exception When Processing Payment

We're also seeing this get thrown when we try to process a payment as well, this results in an app crash, it says the device is connected when it looks like it actually isn't.

java.lang.IllegalStateException: Unexpected operation in progress. Expected: class com.stripe.stripeterminal.BbposBluetoothAdapter$CollectPaymentMethodOperation, found: class com.stripe.stripeterminal.BbposBluetoothAdapter$ConnectReaderOperation at com.stripe.stripeterminal.BbposBluetoothAdapter.validateOperationInProgress(BbposBluetoothAdapter.java:324) at com.stripe.stripeterminal.BbposBluetoothAdapter.onCancelCollectPaymentMethod(BbposBluetoothAdapter.java:164) at com.stripe.stripeterminal.BbposDeviceControllerListener.onReturnCancelCheckCardResult(BbposDeviceControllerListener.java:131) at com.bbposstripe.bbdevice.BBDeviceController$58.run(SourceFile:3281) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

Localization of ReaderInputOptions

Summary

The onRequestReaderInput callback is called with ReaderInputOptions. The class only has one public method toString(), which is not localized.

Since the options class represents a set of available options, i.e. tap, chip, swipe. A simple equality comparison is insufficient.

A lack of primitive representation also limits options for deferring localization to a hybrid app.

In contrast, ReaderInputOptions in the iOS SDK extends from OptionSet, with methods like contains: for quick check and rawValue for raw bit manipulations.

Appreciate all the hard work from your team! Everything else works beautifully. Thank you

Code to reproduce

N/A

Android version

All

Impacted devices (Android devices or readers)

All

SDK version

1.0.0-rc2

Other information

https://stripe.dev/stripe-terminal-android/com/stripe/stripeterminal/callable/ReaderDisplayListener.html#onRequestReaderInput-options-
https://stripe.dev/stripe-terminal-android/com/stripe/stripeterminal/model/external/ReaderInputOptions.html
https://stripe.com/docs/terminal/payments#collect-handling-events
https://stripe.dev/stripe-terminal-ios/docs/Enums/SCPReaderInputOptions.html
https://developer.apple.com/documentation/swift/optionset

StripeTerminal: READER_ERROR.BLUETOOTH_DISCONNECTED: Bluetooth unexpectedly disconnected during operation

getting that error in the example app "javaapp", version 1.0.0-rc1

09-27 14:21:31.620 5767-5837/com.stripe.example.javaapp W/StripeTerminal: INTEGRATION_ERROR.NOT_CONNECTED_TO_READER: Cannot disconnect bluetooth because bluetooth is not connected. com.stripe.stripeterminal.model.external.TerminalException at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.fail(BbposDeviceControllerListener.kt:743) at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.onError(BbposDeviceControllerListener.kt:559) at com.bbposstripe.bbdevice.BBDeviceController$10.run(SourceFile:3915) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:21:31.621 5767-5837/com.stripe.example.javaapp E/StripeTerminal: READER_ERROR.BLUETOOTH_DISCONNECTED: Bluetooth unexpectedly disconnected during operation. com.stripe.stripeterminal.model.external.TerminalException at com.stripe.stripeterminal.adapter.BbposBluetoothAdapter.onDisconnectReader(BbposBluetoothAdapter.kt:227) at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.onBTDisconnected(BbposDeviceControllerListener.kt:89) at com.bbposstripe.bbdevice.BBDeviceController$35.run(SourceFile:2102) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

please check full log here

09-27 14:20:54.589 5767-5767/? I/art: Late-enabling -Xcheck:jni 09-27 14:20:54.632 5767-5767/com.stripe.example.javaapp D/ActivityThread: hoder:android.app.IActivityManager$ContentProviderHolder@59d6f9,provider,holder.Provider:android.content.ContentProviderProxy@356963e 09-27 14:20:54.638 5767-5767/com.stripe.example.javaapp D/Proxy: setHttpRequestCheckHandler 09-27 14:20:54.661 5767-5767/com.stripe.example.javaapp D/ActivityThread: installProvider: context.getPackageName()=com.stripe.example.javaapp 09-27 14:20:54.665 5767-5767/com.stripe.example.javaapp D/ActivityThread: installProvider: context.getPackageName()=com.stripe.example.javaapp 09-27 14:20:54.690 5767-5767/com.stripe.example.javaapp D/LeakCanary: Installing AppWatcher 09-27 14:20:54.704 5767-5767/com.stripe.example.javaapp D/ActivityThread: installProvider: context.getPackageName()=com.stripe.example.javaapp 09-27 14:20:54.720 5767-5767/com.stripe.example.javaapp D/ActivityThread: BIND_APPLICATION handled : 0 / AppBindData{appInfo=ApplicationInfo{3dad2f16 com.stripe.example.javaapp}} 09-27 14:20:54.720 5767-5767/com.stripe.example.javaapp D/StrictMode: StrictMode policy violation; ~duration=4 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1152) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:182) at libcore.io.IoBridge.open(IoBridge.java:482) at java.io.FileInputStream.<init>(FileInputStream.java:76) at java.io.FileInputStream.<init>(FileInputStream.java:103) at com.facebook.stetho.common.ProcessUtil.readProcessName(ProcessUtil.java:49) at com.facebook.stetho.common.ProcessUtil.getProcessName(ProcessUtil.java:38) at com.facebook.stetho.server.AddressNameHelper.createCustomAddress(AddressNameHelper.java:20) at com.facebook.stetho.Stetho$Initializer.start(Stetho.java:449) at com.facebook.stetho.Stetho.initialize(Stetho.java:134) at com.facebook.stetho.Stetho.initializeWithDefaults(Stetho.java:105) at com.stripe.example.javaapp.StripeTerminalApplication.onCreate(StripeTerminalApplication.java:33) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4858) at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:20:54.721 5767-5767/com.stripe.example.javaapp D/StrictMode: StrictMode policy violation; ~duration=4 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1152) at libcore.io.BlockGuardOs.fstat(BlockGuardOs.java:132) at libcore.io.IoBridge.open(IoBridge.java:485) at java.io.FileInputStream.<init>(FileInputStream.java:76) at java.io.FileInputStream.<init>(FileInputStream.java:103) at com.facebook.stetho.common.ProcessUtil.readProcessName(ProcessUtil.java:49) at com.facebook.stetho.common.ProcessUtil.getProcessName(ProcessUtil.java:38) at com.facebook.stetho.server.AddressNameHelper.createCustomAddress(AddressNameHelper.java:20) at com.facebook.stetho.Stetho$Initializer.start(Stetho.java:449) at com.facebook.stetho.Stetho.initialize(Stetho.java:134) at com.facebook.stetho.Stetho.initializeWithDefaults(Stetho.java:105) at com.stripe.example.javaapp.StripeTerminalApplication.onCreate(StripeTerminalApplication.java:33) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4858) at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:20:54.721 5767-5767/com.stripe.example.javaapp D/StrictMode: StrictMode policy violation; ~duration=3 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=31 violation=2 at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1152) at libcore.io.BlockGuardOs.read(BlockGuardOs.java:229) at libcore.io.IoBridge.read(IoBridge.java:512) at java.io.FileInputStream.read(FileInputStream.java:177) at java.io.InputStream.read(InputStream.java:162) at com.facebook.stetho.common.ProcessUtil.readProcessName(ProcessUtil.java:52) at com.facebook.stetho.common.ProcessUtil.getProcessName(ProcessUtil.java:38) at com.facebook.stetho.server.AddressNameHelper.createCustomAddress(AddressNameHelper.java:20) at com.facebook.stetho.Stetho$Initializer.start(Stetho.java:449) at com.facebook.stetho.Stetho.initialize(Stetho.java:134) at com.facebook.stetho.Stetho.initializeWithDefaults(Stetho.java:105) at com.stripe.example.javaapp.StripeTerminalApplication.onCreate(StripeTerminalApplication.java:33) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1017) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4858) at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1531) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:20:54.721 5767-5767/com.stripe.example.javaapp V/ActivityThread: Handling launch of ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:20:54.724 5767-5787/com.stripe.example.javaapp I/stetho: Listening on @stetho_com.stripe.example.javaapp_devtools_remote 09-27 14:20:54.729 5767-5767/com.stripe.example.javaapp V/ActivityThread: ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}}: app=com.stripe.example.javaapp.StripeTerminalApplication@27c526a2, appName=com.stripe.example.javaapp, pkg=com.stripe.example.javaapp, comp={com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}, dir=/data/app/com.stripe.example.javaapp-1/base.apk 09-27 14:20:54.730 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:20:54.730 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:20:54.730 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:20:54.732 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:20:54.732 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:20:54.732 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:20:54.733 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:20:54.733 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:20:54.733 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:20:54.783 5767-5767/com.stripe.example.javaapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable 09-27 14:20:54.800 5767-5767/com.stripe.example.javaapp D/AccessibilityManager: setStateLocked: wasEnabled = false, mIsEnabled = false, wasTouchExplorationEnabled = false, mIsTouchExplorationEnabled = false, wasHighTextContrastEnabled = false, mIsHighTextContrastEnabled = false java.lang.Throwable: setStateLocked at android.view.accessibility.AccessibilityManager.setStateLocked(AccessibilityManager.java:553) at android.view.accessibility.AccessibilityManager.tryConnectToServiceLocked(AccessibilityManager.java:636) at android.view.accessibility.AccessibilityManager.<init>(AccessibilityManager.java:226) at android.view.accessibility.AccessibilityManager.getInstance(AccessibilityManager.java:206) at android.view.View.setFlags(View.java:9843) at android.view.ViewGroup.initViewGroup(ViewGroup.java:536) at android.view.ViewGroup.<init>(ViewGroup.java:525) at android.view.ViewGroup.<init>(ViewGroup.java:520) at android.view.ViewGroup.<init>(ViewGroup.java:516) at android.view.ViewGroup.<init>(ViewGroup.java:512) at android.widget.FrameLayout.<init>(FrameLayout.java:119) at com.android.internal.policy.impl.PhoneWindow$DecorView.<init>(PhoneWindow.java:2326) at com.android.internal.policy.impl.PhoneWindow.generateDecor(PhoneWindow.java:3463) at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3849) at com.android.internal.policy.impl.PhoneWindow.getDecorView(PhoneWindow.java:2042) at androidx.appcompat.app.AppCompatDelegateImpl.createSubDecor(AppCompatDelegateImpl.java:575) at androidx.appcompat.app.AppCompatDelegateImpl.ensureSubDecor(AppCompatDelegateImpl.java:518) at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:466) at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) at com.stripe.example.javaapp.MainActivity.onCreate(MainActivity.java:39) at android.app.Activity.performCreate(Activity.java:6092) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2481) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2608) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:20:54.813 5767-5767/com.stripe.example.javaapp I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper> 09-27 14:20:54.813 5767-5767/com.stripe.example.javaapp I/art: Rejecting re-init on previously-failed class java.lang.Class<androidx.core.view.ViewCompat$OnUnhandledKeyEventListenerWrapper> 09-27 14:20:54.859 5767-5767/com.stripe.example.javaapp D/BluetoothAdapter: isEnabled 09-27 14:20:54.896 5767-5767/com.stripe.example.javaapp V/ActivityThread: Performing resume of ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:20:55.056 5767-5767/com.stripe.example.javaapp D/BluetoothAdapter: 309019562: getState(). Returning 12 09-27 14:20:55.061 5767-5767/com.stripe.example.javaapp D/BluetoothAdapter: 309019562: getState(). Returning 12 09-27 14:20:55.134 5767-5767/com.stripe.example.javaapp V/SettingsInterface: invalidate [secure]: current 2 != cached 0 09-27 14:20:55.135 5767-5767/com.stripe.example.javaapp D/BluetoothAdapter: getName 09-27 14:20:55.179 5767-5783/com.stripe.example.javaapp I/art: Background sticky concurrent mark sweep GC freed 12015(956KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 10MB/11MB, paused 5.680ms total 51.103ms 09-27 14:20:55.181 5767-5791/com.stripe.example.javaapp D/StripeTerminal: class=ConnectionTokenManager message=fetchConnectionToken.onSuccess 09-27 14:20:55.300 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 1349(187KB) AllocSpace objects, 2(40KB) LOS objects, 26% free, 10MB/14MB, paused 5.618ms total 52.605ms 09-27 14:20:55.348 5767-5767/com.stripe.example.javaapp D/ActivityThread: ACT-AM_ON_RESUME_CALLED ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:20:55.348 5767-5767/com.stripe.example.javaapp V/ActivityThread: Resume ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} started activity: false, hideForNow: false, finished: false 09-27 14:20:55.348 5767-5767/com.stripe.example.javaapp V/PhoneWindow: DecorView setVisiblity: visibility = 4 ,Parent =null, this =com.android.internal.policy.impl.PhoneWindow$DecorView{697aa25 I.E..... R.....ID 0,0-0,0} 09-27 14:20:55.352 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: initialize DisplayEventReceiver 0x7f95c16b10 09-27 14:20:55.352 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: false 09-27 14:20:55.358 5767-5767/com.stripe.example.javaapp D/GraphicBuffer: register, handle(0x7f95d4f9c0) (w:1280 h:1600 s:1280 f:0x1 u:0x000100) 09-27 14:20:55.360 5767-5767/com.stripe.example.javaapp D/Atlas: Validating map... 09-27 14:20:55.364 5767-5767/com.stripe.example.javaapp D/ViewRootImpl: hardware acceleration is enabled, this = ViewRoot{d755b7d com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity,ident = 0} 09-27 14:20:55.368 5767-5767/com.stripe.example.javaapp V/ActivityThread: Resuming ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} with isForward=true 09-27 14:20:55.368 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:20:55.368 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:20:55.368 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:20:55.369 5767-5767/com.stripe.example.javaapp V/PhoneWindow: DecorView setVisiblity: visibility = 0 ,Parent =ViewRoot{d755b7d com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity,ident = 0}, this =com.android.internal.policy.impl.PhoneWindow$DecorView{697aa25 V.E..... R.....ID 0,0-0,0} 09-27 14:20:55.369 5767-5767/com.stripe.example.javaapp V/ActivityThread: Scheduling idle handler for ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:20:55.369 5767-5767/com.stripe.example.javaapp D/ActivityThread: ACT-LAUNCH_ACTIVITY handled : 0 / ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:20:55.420 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: CanvasContext() 0x7f95ca8f40 initialize 0x7fa0245e10 09-27 14:20:55.423 5767-5801/com.stripe.example.javaapp E/GED: Failed to get GED Log Buf, err(0) 09-27 14:20:55.423 5767-5801/com.stripe.example.javaapp I/OpenGLRenderer: Initialized EGL, version 1.4 09-27 14:20:55.423 5767-5801/com.stripe.example.javaapp D/MALI: eglCreateContext:206: [MALI] eglCreateContext display 0x7fa005f280, share context 0x0 here. 09-27 14:20:55.441 5767-5801/com.stripe.example.javaapp D/MALI: gles_context_new:248: Create GLES ctx 0x7f95e89008 successfully 09-27 14:20:55.441 5767-5801/com.stripe.example.javaapp D/MALI: eglCreateContext:543: [MALI] eglCreateContext end. Created context 0x7f95e79940 here. 09-27 14:20:55.442 5767-5801/com.stripe.example.javaapp I/OpenGLRenderer: Initializing program atlas... 09-27 14:20:55.442 5767-5801/com.stripe.example.javaapp D/ProgramBinary/Service: BpProgramBinaryService.getFileDescriptor 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp D/ProgramBinary/Service: BpProgramBinaryService.getProgramMapLen 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp D/ProgramBinary/Service: BpProgramBinaryService.getProgramMapArray 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp D/ProgramBinary/Service: BpProgramBinaryService.getProgramBinaryLen 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp I/OpenGLRenderer: Program binary detail: Binary length is 120912, program map length is 112. 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp I/OpenGLRenderer: Succeeded to mmap program binaries. File descriptor is 46, and path is /dev/ashmem��. 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp I/OpenGLRenderer: No need to use file discriptor anymore, close fd(46). 09-27 14:20:55.443 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: TaskManager() 0x7fa021d9e8, cpu = 4, thread = 2 09-27 14:20:55.444 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: Enabling debug mode 0 09-27 14:20:55.446 5767-5801/com.stripe.example.javaapp D/Surface: Surface::connect(this=0x7fa0245e00,api=1) 09-27 14:20:55.447 5767-5801/com.stripe.example.javaapp D/mali_winsys: new_window_surface returns 0x3000 09-27 14:20:55.448 5767-5801/com.stripe.example.javaapp D/Surface: Surface::allocateBuffers(this=0x7fa0245e00) 09-27 14:20:55.463 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: [TaskMgr] Running thread hwuiTask1 (5812) 09-27 14:20:55.463 5767-5801/com.stripe.example.javaapp D/OpenGLRenderer: [TaskMgr] Running thread hwuiTask2 (5813) 09-27 14:20:55.467 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.468 5767-5801/com.stripe.example.javaapp D/GraphicBuffer: register, handle(0x7f87888980) (w:720 h:1280 s:720 f:0x1 u:0x000b00) 09-27 14:20:55.491 5767-5767/com.stripe.example.javaapp V/InputMethodManager: onWindowFocus: null softInputMode=272 first=true flags=#81810100 09-27 14:20:55.491 5767-5767/com.stripe.example.javaapp V/InputMethodManager: START INPUT: com.android.internal.policy.impl.PhoneWindow$DecorView{697aa25 V.E..... R.....ID 0,0-720,1280} ic=null tba=android.view.inputmethod.EditorInfo@344fcf9c controlFlags=#104 09-27 14:20:55.507 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.508 5767-5801/com.stripe.example.javaapp D/GraphicBuffer: register, handle(0x7f95ff4de0) (w:720 h:1280 s:720 f:0x1 u:0x000b00) 09-27 14:20:55.514 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.515 5767-5801/com.stripe.example.javaapp D/GraphicBuffer: register, handle(0x7f95ff4200) (w:720 h:1280 s:720 f:0x1 u:0x000b00) 09-27 14:20:55.526 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.542 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.558 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.574 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.590 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:55.607 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.596 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.601 5767-5801/com.stripe.example.javaapp W/MALI: glDrawArrays:714: [MALI] glDrawArrays takes more than 5ms here. Total elapse time(us): 5355 09-27 14:20:56.619 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.631 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.646 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.660 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.675 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.691 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.708 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.724 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.740 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.783 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.792 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.807 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.821 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.837 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:20:56.853 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.292 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:21:07.292 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:21:07.292 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:21:07.359 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.365 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=discoverReaders 09-27 14:21:07.373 5767-5767/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key 43309c19-179d-444e-b541-4291602d7ccb 09-27 14:21:07.376 5767-5767/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.TerminalFragment with key 088dd367-dcc2-48eb-9717-65cba59e2374 09-27 14:21:07.391 5767-5767/com.stripe.example.javaapp D/ProgressBar: setMax, old = 100, new = 100, backtrace = android.widget.ProgressBar.<init>:300 android.widget.ProgressBar.<init>:262 android.widget.ProgressBar.<init>:258 java.lang.reflect.Constructor.newInstance:-2 java.lang.reflect.Constructor.newInstance:288 , this = android.widget.ProgressBar{f6c293 V.ED.... ........ 0,0-0,0 #7f0800a5 app:id/progress_bar} 09-27 14:21:07.392 5767-5767/com.stripe.example.javaapp D/ProgressBar: setProgress, old = 0, new = 0, max = 100, backtrace = android.widget.ProgressBar.setProgress:1311 android.widget.ProgressBar.<init>:302 android.widget.ProgressBar.<init>:262 android.widget.ProgressBar.<init>:258 java.lang.reflect.Constructor.newInstance:-2 , this = android.widget.ProgressBar{f6c293 V.ED.... ........ 0,0-0,0 #7f0800a5 app:id/progress_bar} 09-27 14:21:07.393 5767-5767/com.stripe.example.javaapp D/ProgressBar: setSecondaryProgress, old = 0, new = 0, max = 100, backtrace = android.widget.ProgressBar.<init>:304 android.widget.ProgressBar.<init>:262 android.widget.ProgressBar.<init>:258 java.lang.reflect.Constructor.newInstance:-2 java.lang.reflect.Constructor.newInstance:288 , this = android.widget.ProgressBar{f6c293 V.ED.... ........ 0,0-0,0 #7f0800a5 app:id/progress_bar} 09-27 14:21:07.408 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=discoverReaders 09-27 14:21:07.411 5767-5837/com.stripe.example.javaapp D/BluetoothAdapter: 309019562: getState(). Returning 12 09-27 14:21:07.414 5767-5837/com.stripe.example.javaapp D/BluetoothAdapter: 309019562: getState(). Returning 12 09-27 14:21:07.418 5767-5785/com.stripe.example.javaapp D/BluetoothLeScanner: onClientRegistered() - status=0 clientIf=1 09-27 14:21:07.419 5767-5837/com.stripe.example.javaapp I/BluetoothLeScanner: startRegisteration: mLeScanClients={com.stripe.stripeterminal.bbpos.BbposDeviceControllerImpl$startBLEScan$1@2ff08756=android.bluetooth.le.BluetoothLeScanner$BleScanCallbackWrapper@10f8f930} 09-27 14:21:07.432 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.439 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.455 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.471 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.487 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.500 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.516 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.532 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.548 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.564 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.581 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.597 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.613 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.629 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.645 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.661 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.678 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.694 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.710 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.726 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.742 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.761 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.775 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.791 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.807 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.823 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.839 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.855 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.872 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.888 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.904 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.920 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.936 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.952 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.968 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:07.984 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.001 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.017 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.033 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.049 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.065 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.081 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.098 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.114 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.130 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.146 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.163 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.178 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.195 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.211 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.227 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.243 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.262 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.275 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.291 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.308 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.324 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.340 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.356 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.372 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.388 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.405 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.421 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.437 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.453 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.469 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.486 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.501 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.518 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.534 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.550 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.566 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.582 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.598 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.615 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.631 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.647 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.663 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.679 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.695 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.712 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.728 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.744 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.761 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.776 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.792 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.808 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.825 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.841 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.857 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.873 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.889 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.905 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.921 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.938 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.954 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.970 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:08.986 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.003 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.019 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.035 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.052 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.067 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.083 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.099 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.115 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.132 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.148 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.164 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.180 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.196 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.213 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.228 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.245 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.261 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.277 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.294 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.309 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.325 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.341 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.358 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.374 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.390 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.406 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.423 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.439 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.455 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.471 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.487 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.503 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.520 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.536 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.552 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.568 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.584 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.600 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.616 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.633 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.649 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.665 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.683 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.697 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.714 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.729 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.745 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.762 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.778 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.794 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.811 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.827 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.843 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.859 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.875 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.891 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.907 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.923 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.939 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.956 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.972 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:09.988 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.004 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.020 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.036 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.053 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.070 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.085 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.101 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.117 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.133 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.149 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.166 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.182 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.198 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.215 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.230 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.246 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.264 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.279 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.295 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.312 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.327 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.343 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.359 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.377 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.393 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.410 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.424 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.440 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.457 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.473 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.489 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.505 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.521 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.538 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.554 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.570 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.586 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.603 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.623 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.634 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.650 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.667 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.683 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.699 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.715 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.733 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.747 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.765 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.780 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.796 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.812 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.829 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.845 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.862 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.878 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.895 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.911 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.927 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.944 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.960 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.976 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:10.992 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.010 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.024 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.042 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.056 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.073 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.087 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.103 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.119 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.135 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.152 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.167 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.184 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.200 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.217 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.233 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.250 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.270 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.284 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.297 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.313 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.329 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.345 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.361 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.377 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.394 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.413 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.431 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.445 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.460 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.476 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.492 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.509 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.525 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.541 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.557 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.573 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.589 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.610 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.623 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.639 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.653 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.670 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.686 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.702 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.718 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.735 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.750 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.766 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.783 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.798 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.815 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.830 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.846 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.863 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.879 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.899 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.913 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.927 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.944 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.959 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.976 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:11.992 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.008 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.025 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.041 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.059 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.073 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.089 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.105 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.121 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.137 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.154 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.170 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.186 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.203 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.218 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.235 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.251 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.270 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.284 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.300 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.317 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.331 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.348 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.364 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.379 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.380 5767-5767/com.stripe.example.javaapp D/LeakCanary: Already scheduled retained check, ignoring (found new object retained) 09-27 14:21:12.397 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.413 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.428 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.446 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.457 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained 09-27 14:21:12.460 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.476 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.493 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.509 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.525 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.536 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 16503(837KB) AllocSpace objects, 1(16KB) LOS objects, 25% free, 11MB/15MB, paused 1.457ms total 78.715ms 09-27 14:21:12.541 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.557 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.574 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.590 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.606 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.622 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.638 5767-5786/com.stripe.example.javaapp D/LeakCanary: No retained objects 09-27 14:21:12.639 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.655 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.671 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.687 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.703 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.719 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.735 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.751 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.768 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.784 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.800 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.816 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.833 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.848 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.865 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.881 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.898 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.914 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.930 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.948 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.963 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.978 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:12.994 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.010 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.026 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.042 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.059 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.076 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.093 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.108 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.125 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.141 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.157 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.173 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.189 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.205 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.223 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.236 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.252 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.272 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.285 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.301 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.317 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.333 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.349 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.366 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.382 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.398 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.415 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.431 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.447 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.465 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.479 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.496 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.512 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.527 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.544 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.560 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.576 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.592 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.610 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.627 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.640 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.656 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.673 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.689 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.705 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.721 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.737 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.753 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.769 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.785 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.802 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.818 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.834 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.850 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.866 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.883 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.900 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.916 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.933 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.949 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.965 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.981 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:13.998 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.013 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.029 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.044 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.060 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.076 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.093 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.109 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.125 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.141 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.157 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.173 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.189 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.205 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.222 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.239 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.254 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.270 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.286 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.303 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.319 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.335 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.351 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.368 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.384 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.400 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.416 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.433 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.454 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.466 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.481 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.496 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.512 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.529 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.545 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.561 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.577 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.595 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.611 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.627 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.644 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.665 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.677 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.690 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.707 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.723 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.738 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.755 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.771 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.787 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.804 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.820 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.822 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:14.826 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:14.827 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:14.830 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:14.849 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.854 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.868 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.884 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.900 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.916 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.935 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.949 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.965 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.981 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:14.997 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.014 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.030 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.046 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.062 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.078 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.095 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.111 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.127 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.143 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.159 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.176 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.192 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.207 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.223 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.240 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.241 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:15.242 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:15.256 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.275 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.288 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.304 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.322 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.339 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.355 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.369 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.385 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.401 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.417 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.434 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.450 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.466 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.482 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.498 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.515 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.530 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.547 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.563 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.579 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.596 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.611 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.627 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.644 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.660 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.676 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.692 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.708 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.724 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.741 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.758 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.774 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.790 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.806 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.822 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.840 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.854 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.870 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.886 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.902 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.918 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.935 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.951 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.968 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:15.984 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.000 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.017 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.031 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.047 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.049 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:16.050 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:16.064 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.080 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.096 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.112 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.128 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.145 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.161 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.178 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.194 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.210 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.226 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.243 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.259 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.276 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.294 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.306 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.322 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.338 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.355 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.371 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.387 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.404 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.420 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.436 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.452 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.468 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.485 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.503 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.520 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.535 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.548 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.564 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.569 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: FeatureProxyBase class constructor 09-27 14:21:16.569 5767-5767/com.stripe.example.javaapp D/MultiWindow: MultiWindowProxy constructor. 09-27 14:21:16.569 5767-5767/com.stripe.example.javaapp D/FeatureProxyBase: getService(), serviceName = multiwindow_service_v1 09-27 14:21:16.581 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.597 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.613 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.629 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.645 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.662 5767-5767/com.stripe.example.javaapp V/SettingsInterface: from settings cache , name = sound_effects_enabled , value = 0 09-27 14:21:16.662 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.663 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=connectReader serial_number=CHB204650000714 09-27 14:21:16.663 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=stopBLEScan 09-27 14:21:16.664 5767-5767/com.stripe.example.javaapp D/BluetoothAdapter: 309019562: getState(). Returning 12 09-27 14:21:16.664 5767-5767/com.stripe.example.javaapp I/BluetoothLeScanner: startRegisteration: mLeScanClients={com.stripe.stripeterminal.bbpos.BbposDeviceControllerImpl$startBLEScan$1@2ff08756=android.bluetooth.le.BluetoothLeScanner$BleScanCallbackWrapper@10f8f930} ,callback=com.stripe.stripeterminal.bbpos.BbposDeviceControllerImpl$startBLEScan$1@2ff08756 09-27 14:21:16.677 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=connectReader 09-27 14:21:16.678 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(CONNECTING) 09-27 14:21:16.678 5767-5837/com.stripe.example.javaapp I/ConnectionStatusChange: CONNECTING 09-27 14:21:16.680 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:16.680 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=connectBT(CHB204650000714) 09-27 14:21:16.683 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:16.684 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:16.685 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: getType: type = 2 09-27 14:21:16.687 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.690 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: getType: type = 2 09-27 14:21:16.691 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: getType: type = 2 09-27 14:21:16.694 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.696 5767-5837/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:16.696 5767-5837/com.stripe.example.javaapp D/BluetoothGatt: connect() - device: 2F:20:35:E0:03:11, auto: false 09-27 14:21:16.696 5767-5837/com.stripe.example.javaapp D/BluetoothGatt: registerApp() 09-27 14:21:16.696 5767-5837/com.stripe.example.javaapp D/BluetoothGatt: registerApp() - UUID=232b4e0c-5a28-4761-abf4-f24b63a1ff38 09-27 14:21:16.699 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onClientRegistered() - status=0 clientIf=1 09-27 14:21:16.699 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:16.710 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.725 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.741 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.761 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.774 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.791 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.807 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.822 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.839 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.855 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.871 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.887 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.903 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.920 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.935 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.952 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.968 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:16.984 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.001 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.016 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.032 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.049 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.065 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.081 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:17.253 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=1 device=2F:20:35:E0:03:11 09-27 14:21:17.253 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.253 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.253 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: discoverServices() - device: 2F:20:35:E0:03:11 09-27 14:21:17.253 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.806 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onGetService() - Device=2F:20:35:E0:03:11 UUID=00001800-0000-1000-8000-00805f9b34fb 09-27 14:21:17.806 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.806 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onGetService() - Device=2F:20:35:E0:03:11 UUID=00001801-0000-1000-8000-00805f9b34fb 09-27 14:21:17.806 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.807 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onGetService() - Device=2F:20:35:E0:03:11 UUID=0000ffa0-0000-1000-8000-00805f9b34fb 09-27 14:21:17.807 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.809 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=00002a00-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=2 09-27 14:21:17.809 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.810 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.811 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=00002a01-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=2 09-27 14:21:17.811 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.811 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.815 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=00002a05-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=2 09-27 14:21:17.815 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.815 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.815 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.819 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=16 09-27 14:21:17.819 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.819 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.819 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.819 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.821 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=0000ffa2-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=8 09-27 14:21:17.821 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.821 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.821 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.821 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.822 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onGetCharacteristic() - Device=2F:20:35:E0:03:11 UUID=0000ffa3-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 charProps=4 09-27 14:21:17.822 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.822 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.823 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.823 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.831 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onGetDescriptor() - Device=2F:20:35:E0:03:11 UUID=00002902-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0descrInstId=0 09-27 14:21:17.831 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.831 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.831 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.831 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onSearchComplete() = Device=2F:20:35:E0:03:11 Status=0 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: setCharacteristicNotification() - uuid: 0000ffa1-0000-1000-8000-00805f9b34fb enable: true 09-27 14:21:17.835 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.837 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: writeDescriptor() - uuid: 00002902-0000-1000-8000-00805f9b34fb 09-27 14:21:17.837 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.880 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onDescriptorWrite() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb status=0 srvcType=0 srvcInstId=0 charInstId=0 descrInstId=0 09-27 14:21:17.880 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.880 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.880 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:17.880 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.083 5767-5848/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:18.083 5767-5848/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.163 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onCharacteristicWrite() - Device=2F:20:35:E0:03:11 UUID=0000ffa2-0000-1000-8000-00805f9b34fb Status=0 srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.163 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.164 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.164 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.164 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.166 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.166 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.166 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.166 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.166 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.170 5767-5847/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:18.170 5767-5847/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.218 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onCharacteristicWrite() - Device=2F:20:35:E0:03:11 UUID=0000ffa2-0000-1000-8000-00805f9b34fb Status=0 srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.218 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.218 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.218 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.218 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.219 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.219 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.219 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.219 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.219 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.237 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.237 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.237 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.237 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.237 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.238 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.238 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.238 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.238 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.238 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.260 5767-5854/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:18.260 5767-5854/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.311 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onCharacteristicWrite() - Device=2F:20:35:E0:03:11 UUID=0000ffa2-0000-1000-8000-00805f9b34fb Status=0 srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.311 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.311 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.311 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.311 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.313 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.313 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.313 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.313 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.313 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.331 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.331 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.331 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.331 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.331 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.332 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.332 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.333 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.333 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.333 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.397 5767-5854/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 6708(353KB) AllocSpace objects, 1(68KB) LOS objects, 25% free, 11MB/15MB, paused 1.026ms total 84.192ms 09-27 14:21:18.397 5767-5852/com.stripe.example.javaapp I/art: WaitForGcToComplete blocked for 77.368ms for cause Explicit 09-27 14:21:18.452 5767-5852/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 40(1856B) AllocSpace objects, 0(0B) LOS objects, 25% free, 11MB/15MB, paused 729us total 53.824ms 09-27 14:21:18.454 5767-5852/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.454 5767-5852/com.stripe.example.javaapp D/BluetoothGatt: configureMTU() - device: 2F:20:35:E0:03:11 mtu: 132 09-27 14:21:18.454 5767-5852/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.480 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onConfigureMTU() - Device=2F:20:35:E0:03:11 mtu=132 status=0 09-27 14:21:18.480 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.482 5767-5767/com.stripe.example.javaapp D/BluetoothDevice: getName: name = CHB204650000714 09-27 14:21:18.482 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTConnected(CHB204650000714) 09-27 14:21:18.483 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=getDeviceInfo 09-27 14:21:18.494 5767-5853/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:18.494 5767-5853/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.544 5767-5852/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 468(38KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 951us total 64.164ms 09-27 14:21:18.575 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.575 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.575 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.575 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.575 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.578 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.578 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.578 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.578 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.578 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.594 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.594 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.594 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.594 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.594 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.595 5767-5815/com.stripe.example.javaapp D/BluetoothGatt: onNotify() - Device=2F:20:35:E0:03:11 UUID=0000ffa1-0000-1000-8000-00805f9b34fb srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:18.595 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.595 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.595 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.595 5767-5815/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:18.653 5767-5852/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 182(12KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 666us total 76.836ms 09-27 14:21:18.709 5767-5852/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 12(512B) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 887us total 54.596ms 09-27 14:21:21.564 5767-5853/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 45(1920B) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.216ms total 66.706ms 09-27 14:21:21.564 5767-5859/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:21.565 5767-5859/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic: mDeviceBusy = true, and return false 09-27 14:21:24.648 5767-5859/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 19(1072B) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.133ms total 82.322ms 09-27 14:21:24.649 5767-5862/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:24.649 5767-5862/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic: mDeviceBusy = true, and return false 09-27 14:21:27.733 5767-5862/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 36(1952B) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.135ms total 82.328ms 09-27 14:21:27.734 5767-5863/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:27.734 5767-5863/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic: mDeviceBusy = true, and return false 09-27 14:21:30.819 5767-5863/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 36(1952B) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.107ms total 83.766ms 09-27 14:21:30.820 5767-5865/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic() - uuid: 0000ffa2-0000-1000-8000-00805f9b34fb 09-27 14:21:30.820 5767-5865/com.stripe.example.javaapp D/BluetoothGatt: writeCharacteristic: mDeviceBusy = true, and return false 09-27 14:21:31.422 5767-5785/com.stripe.example.javaapp D/BluetoothGatt: onCharacteristicWrite() - Device=2F:20:35:E0:03:11 UUID=0000ffa2-0000-1000-8000-00805f9b34fb Status=133 srvcType=0 srvcInstId=0 charInstId=0 09-27 14:21:31.422 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.422 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.422 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.422 5767-5785/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.434 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=1 device=2F:20:35:E0:03:11 09-27 14:21:31.434 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.607 5767-5865/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 90(5KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 910us total 184.016ms 09-27 14:21:31.607 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.607 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:20:35:E0:03:11 09-27 14:21:31.607 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.608 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.608 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:20:35:E0:03:11 09-27 14:21:31.608 5767-5784/com.stripe.example.javaapp D/BluetoothDevice: mAddress: 2F:20:35:E0:03:11 09-27 14:21:31.609 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: close() 09-27 14:21:31.609 5767-5784/com.stripe.example.javaapp D/BluetoothGatt: unregisterApp() - mClientIf=1 09-27 14:21:31.611 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTDisconnected() 09-27 14:21:31.611 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(NOT_CONNECTED) 09-27 14:21:31.611 5767-5767/com.stripe.example.javaapp I/ConnectionStatusChange: NOT_CONNECTED 09-27 14:21:31.611 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onUnexpectedReaderDisconnect(CHB204650000714) 09-27 14:21:31.611 5767-5767/com.stripe.example.javaapp I/UnexpectedDisconnect: CHB204650000714 09-27 14:21:31.614 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=disconnectReader 09-27 14:21:31.614 5767-5837/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=disconnectBT 09-27 14:21:31.616 5767-5767/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message="onError(COMM_LINK_UNINITIALIZED, [String length 63]" 09-27 14:21:31.620 5767-5837/com.stripe.example.javaapp W/StripeTerminal: INTEGRATION_ERROR.NOT_CONNECTED_TO_READER: Cannot disconnect bluetooth because bluetooth is not connected. com.stripe.stripeterminal.model.external.TerminalException at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.fail(BbposDeviceControllerListener.kt:743) at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.onError(BbposDeviceControllerListener.kt:559) at com.bbposstripe.bbdevice.BBDeviceController$10.run(SourceFile:3915) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:21:31.621 5767-5837/com.stripe.example.javaapp E/StripeTerminal: READER_ERROR.BLUETOOTH_DISCONNECTED: Bluetooth unexpectedly disconnected during operation. com.stripe.stripeterminal.model.external.TerminalException at com.stripe.stripeterminal.adapter.BbposBluetoothAdapter.onDisconnectReader(BbposBluetoothAdapter.kt:227) at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.onBTDisconnected(BbposDeviceControllerListener.kt:89) at com.bbposstripe.bbdevice.BBDeviceController$35.run(SourceFile:2102) at android.os.Handler.handleCallback(Handler.java:815) at android.os.Handler.dispatchMessage(Handler.java:104) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 09-27 14:21:31.624 5767-5767/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key 57fe4c02-b77e-4006-957e-bb114c4525d6 09-27 14:21:31.625 5767-5767/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment with key 928df97f-8bde-4961-8ff8-a1b200972300 09-27 14:21:31.659 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.664 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.671 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.687 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.703 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.720 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.736 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.753 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.769 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.785 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:31.801 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.870 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.895 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.901 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.917 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.933 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.951 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.967 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:32.984 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.004 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.017 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.032 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.049 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.065 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.080 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.097 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.113 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:33.129 5767-5801/com.stripe.example.javaapp D/Surface: Surface::setBuffersDimensions(this=0x7fa0245e00,w=720,h=1280) 09-27 14:21:36.624 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained 09-27 14:21:36.701 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 2592(157KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 855us total 76.579ms 09-27 14:21:36.802 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:36.825 5767-5786/com.stripe.example.javaapp D/LeakCanary: Already scheduled retained check, ignoring (Showing retained objects notification) 09-27 14:21:36.825 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained 09-27 14:21:36.909 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 582(28KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 930us total 83.228ms 09-27 14:21:37.012 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:39.045 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:39.123 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 319(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.031ms total 77.068ms 09-27 14:21:39.227 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:41.265 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:41.370 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.035ms total 104.194ms 09-27 14:21:41.472 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:43.502 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:43.569 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.011ms total 65.861ms 09-27 14:21:43.673 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:45.713 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:45.785 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.038ms total 71.574ms 09-27 14:21:45.887 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:47.927 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:48.014 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.169ms total 85.873ms 09-27 14:21:48.124 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:50.155 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:50.225 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.216ms total 69.502ms 09-27 14:21:50.328 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:52.369 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:52.444 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.546ms total 74.386ms 09-27 14:21:52.546 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:54.575 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:54.668 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.003ms total 92.005ms 09-27 14:21:54.769 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:55.238 5767-5792/com.stripe.example.javaapp I/System.out: [CDS][DNS] getAllByNameImpl netId = 0 09-27 14:21:55.238 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: hostname=gator.stripe.com; servname=(null); cache_mode=(null), netid=0; mark=0 09-27 14:21:55.238 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0 09-27 14:21:55.238 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: hostname=gator.stripe.com; servname=(null); cache_mode=(null), netid=0; mark=0 09-27 14:21:55.238 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=1024; ai_family=0 09-27 14:21:56.775 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:56.861 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 13653(653KB) AllocSpace objects, 4(68KB) LOS objects, 24% free, 12MB/16MB, paused 1.126ms total 85.022ms 09-27 14:21:56.962 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:21:59.006 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:21:59.086 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 323(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.127ms total 78.941ms 09-27 14:21:59.190 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:01.228 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:01.311 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 12MB/16MB, paused 1.122ms total 82.654ms 09-27 14:22:01.419 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:02.505 5767-5792/com.stripe.example.javaapp D/libc-netbsd: getaddrinfo: gator.stripe.com get result from proxy >> 09-27 14:22:02.506 5767-5792/com.stripe.example.javaapp I/System.out: propertyValue:true 09-27 14:22:02.522 5767-5792/com.stripe.example.javaapp I/System.out: [CDS]rx timeout:10000 09-27 14:22:02.524 5767-5792/com.stripe.example.javaapp I/System.out: [socket][0] connection gator.stripe.com/54.187.119.242:443;LocalPort=53995(10000) 09-27 14:22:02.525 5767-5792/com.stripe.example.javaapp I/System.out: [CDS]connect[gator.stripe.com/54.187.119.242:443] tm:10 09-27 14:22:02.527 5767-5792/com.stripe.example.javaapp D/Posix: [Posix_connect Debug]Process com.stripe.example.javaapp :443 09-27 14:22:02.731 5767-5792/com.stripe.example.javaapp I/System.out: [socket][/10.137.1.92:53995] connected 09-27 14:22:02.747 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: hostname=gator.stripe.com; servname=(null); cache_mode=(null), netid=0; mark=0 09-27 14:22:02.749 5767-5792/com.stripe.example.javaapp D/libc-netbsd: [getaddrinfo]: ai_addrlen=0; ai_canonname=(null); ai_flags=4; ai_family=0 09-27 14:22:02.752 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_do_handshake fd=0x7f892ae624 shc=0x7f892ae628 timeout_millis=10000 client_mode=1 npn=0x0 09-27 14:22:02.753 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake ++ 09-27 14:22:02.755 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x10 ret=1 09-27 14:22:02.757 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 handshake start in UNKWN before/connect initialization 09-27 14:22:02.758 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback calling handshakeCompleted 09-27 14:22:02.760 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback completed 09-27 14:22:02.761 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:02.763 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:UNKWN before/connect initialization 09-27 14:22:02.763 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.764 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:02.764 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:23WCHA SSLv2/v3 write client hello A 09-27 14:22:02.764 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.765 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1002 ret=-1 09-27 14:22:02.765 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:error exit in 23RSHA SSLv2/v3 read server hello A 09-27 14:22:02.765 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.765 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake -- ret=-1 09-27 14:22:02.765 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_do_handshake ret=-1 errno=11 sslError=2 timeout_millis=10000 09-27 14:22:02.988 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake ++ 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3RSH_A SSLv3 read server hello A 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1002 ret=-1 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:error exit in 3RSC_A SSLv3 read server certificate A 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1002 ret=-1 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:error exit in 3RSC_A SSLv3 read server certificate A 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake -- ret=-1 09-27 14:22:02.989 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_do_handshake ret=-1 errno=11 sslError=2 timeout_millis=10000 09-27 14:22:03.001 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake ++ 09-27 14:22:03.004 5767-5792/com.stripe.example.javaapp E/NativeCrypto: ssl=0x7fa0238180 cert_verify_callback x509_store_ctx=0x7f892ae338 arg=0x0 09-27 14:22:03.004 5767-5792/com.stripe.example.javaapp E/NativeCrypto: ssl=0x7fa0238180 cert_verify_callback calling verifyCertificateChain authMethod=ECDHE_RSA 09-27 14:22:03.063 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 cert_verify_callback => 1 09-27 14:22:03.063 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.063 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3RSC_A SSLv3 read server certificate A 09-27 14:22:03.063 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.065 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.066 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3RSKEA SSLv3 read server key exchange A 09-27 14:22:03.066 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.066 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.066 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3RSD_A SSLv3 read server done A 09-27 14:22:03.067 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.076 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.076 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3WCKEA SSLv3 write client key exchange A 09-27 14:22:03.076 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.077 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.077 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3WCCSA SSLv3 write change cipher spec A 09-27 14:22:03.077 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.077 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.078 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3WFINA SSLv3 write finished A 09-27 14:22:03.078 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.079 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.079 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3FLUSH SSLv3 flush data 09-27 14:22:03.079 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.080 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1002 ret=-1 09-27 14:22:03.080 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:error exit in UNKWN SSLv3 read server session ticket A 09-27 14:22:03.080 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.080 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake -- ret=-1 09-27 14:22:03.081 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_do_handshake ret=-1 errno=11 sslError=2 timeout_millis=10000 09-27 14:22:03.279 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake ++ 09-27 14:22:03.281 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.282 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:UNKWN SSLv3 read server session ticket A 09-27 14:22:03.284 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.286 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1001 ret=1 09-27 14:22:03.288 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:3RFINA SSLv3 read finished A 09-27 14:22:03.289 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.291 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x20 ret=1 09-27 14:22:03.292 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 handshake done in SSLOK SSL negotiation finished successfully 09-27 14:22:03.294 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback calling handshakeCompleted 09-27 14:22:03.295 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback completed 09-27 14:22:03.295 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x1002 ret=1 09-27 14:22:03.296 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL_connect:ok exit in SSLOK SSL negotiation finished successfully 09-27 14:22:03.298 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:22:03.299 5767-5792/com.stripe.example.javaapp D/NativeCrypto: doing handshake -- ret=1 09-27 14:22:03.299 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_get_certificate => NULL 09-27 14:22:03.301 5767-5792/com.stripe.example.javaapp I/System.out: gba_cipher_suite:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 09-27 14:22:03.313 5767-5792/com.stripe.example.javaapp I/System.out: [CDS]rx timeout:0 09-27 14:22:03.314 5767-5792/com.stripe.example.javaapp I/System.out: [CDS]rx timeout:0 09-27 14:22:03.330 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f95dfb000 len=24 write_timeout_millis=0 09-27 14:22:03.331 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f95dfb000 len=15 write_timeout_millis=0 09-27 14:22:03.332 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f95dfb000 len=13 write_timeout_millis=0 09-27 14:22:03.343 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:03.345 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:03.349 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f95dfb000 len=7301 write_timeout_millis=0 09-27 14:22:03.351 5767-5792/com.stripe.example.javaapp D/NativeCrypto: sslNotify, appData=0x7f87a5dba0 ret=1 09-27 14:22:03.351 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 woken up by a token 09-27 14:22:03.351 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 read ret=1 09-27 14:22:03.354 5767-5907/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f9a16f000 len=9 write_timeout_millis=0 09-27 14:22:03.354 5767-5907/com.stripe.example.javaapp D/NativeCrypto: sslNotify, appData=0x7f87a5dba0 ret=1 09-27 14:22:03.355 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 woken up by a token 09-27 14:22:03.355 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 read ret=1 09-27 14:22:03.438 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:03.519 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 9628(434KB) AllocSpace objects, 1(40KB) LOS objects, 23% free, 12MB/16MB, paused 1.344ms total 75.888ms 09-27 14:22:03.621 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:05.668 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:05.748 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 1304(47KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.197ms total 79.384ms 09-27 14:22:05.849 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:06.081 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.279 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.280 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.280 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.302 5767-5792/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslWrite buf=0x7f95dfb000 len=1160 write_timeout_millis=0 09-27 14:22:06.302 5767-5792/com.stripe.example.javaapp D/NativeCrypto: sslNotify, appData=0x7f87a5dba0 ret=1 09-27 14:22:06.302 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 woken up by a token 09-27 14:22:06.302 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslSelect, appData=0x7f87a5dba0 read ret=1 09-27 14:22:06.767 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.786 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:06.787 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:22:07.882 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:07.973 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 5028(262KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.217ms total 90.057ms 09-27 14:22:08.077 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:10.113 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:10.192 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 335(14KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.121ms total 78.673ms 09-27 14:22:10.294 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:12.329 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:12.415 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.300ms total 85.416ms 09-27 14:22:12.516 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:14.522 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:14.597 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 317(13KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.407ms total 74.963ms 09-27 14:22:14.700 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:16.624 5767-5767/com.stripe.example.javaapp V/InputMethodManager: START INPUT: com.android.internal.policy.impl.PhoneWindow$DecorView{697aa25 V.E..... R....... 0,0-720,1280} ic=null tba=android.view.inputmethod.EditorInfo@8ba2c1e controlFlags=#100 09-27 14:22:16.719 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:16.793 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 344(15KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.055ms total 73.838ms 09-27 14:22:16.894 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:17.267 5767-5767/com.stripe.example.javaapp I/StripeTerminal: class=TerminalLifecycleObserver message=applicationDidEnterBackground appId=com.stripe.example.javaapp 09-27 14:22:17.271 5767-5767/com.stripe.example.javaapp D/ActivityThread: ACT-AM_ON_PAUSE_CALLED ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}} 09-27 14:22:17.272 5767-5767/com.stripe.example.javaapp D/ActivityThread: ACT-PAUSE_ACTIVITY handled : 0 / android.os.BinderProxy@623a284 09-27 14:22:17.276 5767-5767/com.stripe.example.javaapp V/ActivityThread: Finishing stop of ActivityRecord{819f097 token=android.os.BinderProxy@623a284 {com.stripe.example.javaapp/com.stripe.example.javaapp.MainActivity}}: show=true win=com.android.internal.policy.impl.PhoneWindow@74d8a1b 09-27 14:22:17.276 5767-5767/com.stripe.example.javaapp D/ActivityThread: ACT-STOP_ACTIVITY_SHOW handled : 0 / android.os.BinderProxy@623a284 09-27 14:22:17.276 5767-5767/com.stripe.example.javaapp D/LeakCanary: Already scheduled retained check, ignoring (app became invisible) 09-27 14:22:17.286 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:22:17.288 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:22:17.290 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:22:17.291 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:22:17.291 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:22:17.294 5767-5790/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:22:17.294 5767-5941/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:22:17.296 5767-5941/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:22:17.300 5767-5942/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:22:17.301 5767-5942/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:22:18.899 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:18.959 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 859(43KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 794us total 59.454ms 09-27 14:22:19.059 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:21.066 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:21.128 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 399(16KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.060ms total 61.948ms 09-27 14:22:21.231 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained objects, which is less than the visible threshold of 5 09-27 14:22:23.252 5767-5786/com.stripe.example.javaapp D/LeakCanary: Checking retained object because Showing retained objects notification 09-27 14:22:23.314 5767-5786/com.stripe.example.javaapp I/art: Explicit concurrent mark sweep GC freed 320(13KB) AllocSpace objects, 0(0B) LOS objects, 23% free, 12MB/16MB, paused 1.160ms total 61.076ms 09-27 14:22:23.416 5767-5786/com.stripe.example.javaapp D/LeakCanary: Found 2 retained references, dumping the heap 09-27 14:22:23.449 5767-5786/com.stripe.example.javaapp I/art: hprof: heap dump "/storage/sdcard0/Download/leakcanary-com.stripe.example.javaapp/2019-09-27_14-22-23_431.hprof" starting... 09-27 14:22:25.646 5767-5786/com.stripe.example.javaapp I/art: hprof: heap dump completed (25MB) in 2.196s 09-27 14:22:25.738 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-Creating service: CreateServiceData{token=android.os.BinderProxy@14abeefc className=leakcanary.internal.HeapAnalyzerService packageName=com.stripe.example.javaapp intent=null} 09-27 14:22:25.744 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-Calling onStartCommand: leakcanary.internal.HeapAnalyzerService@2edb985, flags=0, startId=1 09-27 14:22:25.744 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-CREATE_SERVICE handled : 0 / CreateServiceData{token=android.os.BinderProxy@14abeefc className=leakcanary.internal.HeapAnalyzerService packageName=com.stripe.example.javaapp intent=null} 09-27 14:22:25.744 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-SERVICE_ARGS handled : 0 / ServiceArgsData{token=android.os.BinderProxy@14abeefc startId=1 args=Intent { cmp=com.stripe.example.javaapp/leakcanary.internal.HeapAnalyzerService (has extras) }} 09-27 14:22:25.750 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: PARSING_HEAP_DUMP 09-27 14:22:29.084 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: FINDING_LEAKING_INSTANCES 09-27 14:22:36.155 5767-5782/com.stripe.example.javaapp I/art: WaitForGcToComplete blocked for 19.479ms for cause HeapTrim 09-27 14:22:39.644 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: FINDING_PATHS_TO_LEAKING_INSTANCES 09-27 14:22:40.550 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 71143(2002KB) AllocSpace objects, 1(20KB) LOS objects, 15% free, 21MB/25MB, paused 1.763ms total 104.105ms 09-27 14:22:41.475 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 110100(2MB) AllocSpace objects, 2(104KB) LOS objects, 14% free, 22MB/26MB, paused 1.744ms total 114.607ms 09-27 14:22:43.552 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 175021(4MB) AllocSpace objects, 1(132KB) LOS objects, 15% free, 21MB/25MB, paused 1.563ms total 107.798ms 09-27 14:22:44.310 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 95499(2MB) AllocSpace objects, 0(0B) LOS objects, 14% free, 23MB/27MB, paused 1.953ms total 122.701ms 09-27 14:22:45.356 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 115694(2MB) AllocSpace objects, 0(0B) LOS objects, 13% free, 26MB/30MB, paused 3.237ms total 156.772ms 09-27 14:22:46.184 5767-5782/com.stripe.example.javaapp I/art: WaitForGcToComplete blocked for 6.266ms for cause HeapTrim 09-27 14:22:46.448 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 122021(3MB) AllocSpace objects, 0(0B) LOS objects, 12% free, 28MB/32MB, paused 4.690ms total 190.199ms 09-27 14:22:48.619 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 231892(5MB) AllocSpace objects, 3(820KB) LOS objects, 13% free, 26MB/30MB, paused 1.392ms total 170.340ms 09-27 14:22:52.600 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 212187(5MB) AllocSpace objects, 0(0B) LOS objects, 14% free, 23MB/27MB, paused 1.349ms total 137.545ms 09-27 14:22:55.578 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 156284(4MB) AllocSpace objects, 1(516KB) LOS objects, 14% free, 23MB/27MB, paused 2.282ms total 112.949ms 09-27 14:22:56.583 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 105983(2MB) AllocSpace objects, 0(0B) LOS objects, 13% free, 25MB/29MB, paused 3.522ms total 139.583ms 09-27 14:22:57.612 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 146491(3MB) AllocSpace objects, 0(0B) LOS objects, 12% free, 27MB/31MB, paused 3.252ms total 167.811ms 09-27 14:22:59.840 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 179192(4MB) AllocSpace objects, 5(504KB) LOS objects, 12% free, 27MB/31MB, paused 1.303ms total 178.067ms 09-27 14:23:03.110 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 213267(5MB) AllocSpace objects, 4(168KB) LOS objects, 13% free, 26MB/30MB, paused 1.679ms total 171.261ms 09-27 14:23:05.483 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 171285(4MB) AllocSpace objects, 0(0B) LOS objects, 13% free, 25MB/29MB, paused 1.744ms total 164.696ms 09-27 14:23:06.740 5767-5783/com.stripe.example.javaapp I/art: Background sticky concurrent mark sweep GC freed 63039(1624KB) AllocSpace objects, 0(0B) LOS objects, 6% free, 26MB/27MB, paused 5.814ms total 37.278ms 09-27 14:23:09.047 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 196956(5MB) AllocSpace objects, 0(0B) LOS objects, 14% free, 24MB/28MB, paused 3.179ms total 137.183ms 09-27 14:23:10.965 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: FINDING_DOMINATORS 09-27 14:23:11.670 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 154748(4MB) AllocSpace objects, 0(0B) LOS objects, 14% free, 23MB/27MB, paused 2.307ms total 121.497ms 09-27 14:23:12.344 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 85495(2MB) AllocSpace objects, 1(1028KB) LOS objects, 14% free, 23MB/27MB, paused 2.172ms total 109.691ms 09-27 14:23:13.646 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 101157(2MB) AllocSpace objects, 0(0B) LOS objects, 13% free, 25MB/29MB, paused 2.337ms total 115.644ms 09-27 14:23:15.581 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 161374(4MB) AllocSpace objects, 0(0B) LOS objects, 13% free, 26MB/30MB, paused 2.425ms total 129.559ms 09-27 14:23:18.837 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 176961(4MB) AllocSpace objects, 5(704KB) LOS objects, 14% free, 24MB/28MB, paused 1.386ms total 113.537ms 09-27 14:23:20.135 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 71171(5MB) AllocSpace objects, 2(4MB) LOS objects, 12% free, 28MB/32MB, paused 1.530ms total 106.464ms 09-27 14:23:22.310 5767-5783/com.stripe.example.javaapp I/art: Background partial concurrent mark sweep GC freed 132819(3MB) AllocSpace objects, 4(4MB) LOS objects, 14% free, 23MB/27MB, paused 1.711ms total 104.411ms 09-27 14:23:23.224 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: COMPUTING_NATIVE_RETAINED_SIZE 09-27 14:23:25.832 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: COMPUTING_RETAINED_SIZE 09-27 14:23:25.955 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: BUILDING_LEAK_TRACES 09-27 14:23:25.989 5767-5944/com.stripe.example.javaapp D/LeakCanary: Analysis in progress, working on: REPORTING_HEAP_ANALYSIS 09-27 14:23:25.999 5767-5944/com.stripe.example.javaapp D/LeakCanary: HeapAnalysisSuccess(heapDumpFile=/storage/sdcard0/Download/leakcanary-com.stripe.example.javaapp/2019-09-27_14-22-23_431.hprof, createdAtTimeMillis=1569583405995, analysisDurationMillis=60245, applicationLeaks=[ApplicationLeak(className=com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment, leakTrace= ┬ ├─ android.bluetooth.le.BluetoothLeScanner$BleScanCallbackWrapper │ Leaking: UNKNOWN │ GC Root: Global variable in native code │ ↓ BluetoothLeScanner$BleScanCallbackWrapper.mScanCallback │ ~~~~~~~~~~~~~ ├─ com.stripe.stripeterminal.bbpos.BbposDeviceControllerImpl$startBLEScan$1 │ Leaking: UNKNOWN │ Anonymous subclass of android.bluetooth.le.ScanCallback │ ↓ BbposDeviceControllerImpl$startBLEScan$1.$listener │ ~~~~~~~~~ ╰→ com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment ​ Leaking: YES (Fragment#mFragmentManager is null and ObjectWatcher was watching this) ​ key = 928df97f-8bde-4961-8ff8-a1b200972300 ​ watchDurationMillis = 51792 ​ retainedDurationMillis = 46791 , retainedHeapByteSize=164164)], libraryLeaks=[]) 09-27 14:23:26.036 5767-5944/com.stripe.example.javaapp D/SQLiteDatabase: beginTransaction() 09-27 14:23:26.040 5767-5944/com.stripe.example.javaapp D/SQLiteDatabase: endTransaction() 09-27 14:23:26.069 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-Destroying service: leakcanary.internal.HeapAnalyzerService@2edb985 09-27 14:23:26.071 5767-5767/com.stripe.example.javaapp D/ActivityThread: SVC-STOP_SERVICE handled : 0 / android.os.BinderProxy@14abeefc 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 sslRead buf=0x7f9a15f000 len=8192,timeo=0 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x4004 ret=256 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL3 alert read:W:CN warning close notify 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 NativeCrypto_SSL_interrupt 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslNotify, appData=0x7f87a5dba0 ret=1 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: sslNotify, appData=0x7f87a5dba0 ret=1 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback where=0x4008 ret=256 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 SSL3 alert write:W:CN warning close notify 09-27 14:25:06.833 5767-5905/com.stripe.example.javaapp D/NativeCrypto: ssl=0x7fa0238180 info_callback ignored 09-27 14:25:06.834 5767-5905/com.stripe.example.javaapp I/System.out: [CDS]close[53995]

Retrolambda Plugin Throws Error

We've noticed the sdk throws a fatal exception when attempting to compile along with retrolambda plugin.

Caused by: com.android.tools.r8.utils.AbortException: Error: Default interface methods are only supported starting with Android N (--min-api 24): void com.stripe.stripeterminal.TerminalListener.onConnectionStatusChange(com.stripe.stripeterminal.ConnectionStatus)

dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
// classpath 'com.google.gms:google-services:3.0.0'
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
apply plugin: 'com.android.application'
apply plugin: 'me.tatarka.retrolambda'

android {
compileSdkVersion 28

defaultConfig {
minSdkVersion 21
targetSdkVersion 28
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

We've done an initial scout and all of the suggested fixes seem to avoid fixing the issue.

Invalid api key provided: null

It throws this error "Invalid api key provided: null". Than i turn off reader, wifi and bluetooth on android and reconnect reader again and all begin to work. I have some problems with wifi when connect reader but when android was already connected to wifi it continue to throw this error untill i reconnected all

Can't connect to physical-device BBPOS-Chipper to Android app for starting use of terminal-features.

I am using BBPOS-Chipper 2x Device,
wanted to connect to android-app(provided by stipe-terminal-android repo).

I have installed demo client app on android-device, wanted to connect to reader.
from examples given by stripe-team here,
I have followed steps mentioned there as follows.

  1. Deploy our example backend- I have created python-server in Odoo-ERP-12.
    created route as connection_token, running on localhost:port,
class TokenClass(http.Controller):
    @http.route(['/connection_token'], type='json', auth="public")
    def get_stripe_terminal_token(self, **post):
        # server-side code
        stripe.api_key = "sk_test_encrypted_key_can't_show"
        response_create_token = stripe.terminal.ConnectionToken.create()
        print("response_create_token = ", response_create_token)
        return response_create_token

when I try this using postman, it works and returns response_create_token.

2) Run the example application

added url of server as

  1. Connect to Simulated reader
    as I can't connect to physical reader, I tried connecting simulated reader.

and here I am facing error.

I have bundled app after giving backend-url and installed on my physical android phone, but can't connect to physical device, though it appears after clicking Discover Reader-> clicked on device-id -> it tried connecting but failed and returned to same screen as home screen.

my logs are follows:

Screenshot from 2019-10-31 17-41-38


        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
2019-10-31 17:36:59.339 24668-24668/com.stripe.example.javaapp D/StrictMode: StrictMode policy violation; ~duration=121 ms: android.os.strictmode.DiskReadViolation
        at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1504)
        at android.app.SharedPreferencesImpl.awaitLoadedLocked(SharedPreferencesImpl.java:256)
        at android.app.SharedPreferencesImpl.getBoolean(SharedPreferencesImpl.java:325)
        at com.stripe.example.javaapp.fragment.TerminalFragment.onCreate(TerminalFragment.java:46)
        at androidx.fragment.app.Fragment.performCreate(Fragment.java:2586)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:838)
        at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1197)
        at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1080)
        at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:119)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1866)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1824)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManagerImpl.java:1727)
        at androidx.fragment.app.FragmentManagerImpl.dispatchStateChange(FragmentManagerImpl.java:2663)
        at androidx.fragment.app.FragmentManagerImpl.dispatchResume(FragmentManagerImpl.java:2625)
        at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:268)
        at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:479)
        at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:468)
        at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:195)
        at android.app.Activity.performResume(Activity.java:7430)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3816)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3856)
        at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1831)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:201)
        at android.app.ActivityThread.main(ActivityThread.java:6806)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:873)
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp D/libEGL: eglInitialize: enter
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp I/Adreno: QUALCOMM build                   : 791494e, Id7006ec082
    Build Date                       : 12/09/18
    OpenGL ES Shader Compiler Version: EV031.24.02.00
    Local Branch                     : 
    Remote Branch                    : refs/tags/AU_LINUX_ANDROID_LA.UM.7.3.R1.09.00.00.423.045
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
2019-10-31 17:36:59.367 24668-24801/com.stripe.example.javaapp I/Adreno: Build Config                     : S P 6.0.7 AArch64
2019-10-31 17:36:59.356 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2912): avc: denied { search } for name="proc" dev="debugfs" ino=15061 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.369 24668-24801/com.stripe.example.javaapp I/Adreno: PFP: 0x016ee180, ME: 0x00000000
2019-10-31 17:36:59.356 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2913): avc: denied { search } for name="ctx" dev="debugfs" ino=15090 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp D/libEGL: eglInitialize: exit(res=1)
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp I/OpenGLRenderer: Initialized EGL, version 1.4
2019-10-31 17:36:59.372 24668-24801/com.stripe.example.javaapp D/OpenGLRenderer: Swap behavior 2
2019-10-31 17:36:59.366 24668-24668/com.stripe.example.javaapp W/RenderThread: type=1400 audit(0.0:2914): avc: denied { search } for name="ctx" dev="debugfs" ino=15090 scontext=u:r:untrusted_app:s0:c214,c256,c512,c768 tcontext=u:object_r:qti_debugfs:s0 tclass=dir permissive=0
2019-10-31 17:36:59.446 24668-24801/com.stripe.example.javaapp E/LB: fail to open file: No such file or directory
2019-10-31 17:37:06.854 24668-24781/com.stripe.example.javaapp I/example.javaap: ProcessProfilingInfo new_methods=3482 is saved saved_to_disk=1 resolve_classes_delay=8000
2019-10-31 17:37:06.934 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=discoverReaders
2019-10-31 17:37:06.941 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key d5987f8e-6735-45d6-bafb-3b4664621210
2019-10-31 17:37:06.946 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.TerminalFragment with key 44046d24-f3bb-440b-b42d-e3d1564b4792
2019-10-31 17:37:06.987 24668-24819/com.stripe.example.javaapp W/example.javaap: Accessing hidden field Lsun/misc/Unsafe;->theUnsafe:Lsun/misc/Unsafe; (light greylist, reflection)
2019-10-31 17:37:06.992 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=discoverReaders
2019-10-31 17:37:06.999 24668-24819/com.stripe.example.javaapp D/BluetoothAdapter: isLeEnabled(): ON
2019-10-31 17:37:07.001 24668-24694/com.stripe.example.javaapp D/BluetoothLeScanner: onScannerRegistered() - status=0 scannerId=8 mScannerId=0
2019-10-31 17:37:12.007 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:12.025 24668-24787/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 13030(986KB) AllocSpace objects, 21(420KB) LOS objects, 49% free, 3MB/6MB, paused 33us total 17.944ms
2019-10-31 17:37:12.130 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:12.132 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:12.132 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:17.596 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=Terminal message=connectReader serial_number=CHB204909002990
2019-10-31 17:37:17.597 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=stopBLEScan
2019-10-31 17:37:17.598 24668-24668/com.stripe.example.javaapp D/BluetoothAdapter: isLeEnabled(): ON
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=connectReader
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(CONNECTING)
2019-10-31 17:37:17.613 24668-24819/com.stripe.example.javaapp I/ConnectionStatusChange: CONNECTING
2019-10-31 17:37:17.615 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=connectBT(CHB204909002990)
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: connect() - device: 2F:24:66:C2:B6:51, auto: false
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: registerApp()
2019-10-31 17:37:17.628 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: registerApp() - UUID=6b0743d3-4dcf-4dbf-94a0-3936cb31de6e
2019-10-31 17:37:17.629 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onClientRegistered() - status=0 clientIf=8
2019-10-31 17:37:18.713 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=0 clientIf=8 device=2F:24:66:C2:B6:51
2019-10-31 17:37:18.714 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: discoverServices() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:19.156 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onConnectionUpdated() - Device=2F:24:66:C2:B6:51 interval=6 latency=0 timeout=500 status=0
2019-10-31 17:37:19.270 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onSearchComplete() = Device=2F:24:66:C2:B6:51 Status=0
2019-10-31 17:37:19.271 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: setCharacteristicNotification() - uuid: 0000ffa1-0000-1000-8000-00805f9b34fb enable: true
2019-10-31 17:37:19.333 24668-24694/com.stripe.example.javaapp D/BluetoothGatt: onConnectionUpdated() - Device=2F:24:66:C2:B6:51 interval=36 latency=0 timeout=500 status=0
2019-10-31 17:37:19.776 24668-24668/com.stripe.example.javaapp D/AudioManager: getStreamVolume isRestricted mode = 0
2019-10-31 17:37:19.901 24668-24842/com.stripe.example.javaapp D/BluetoothGatt: configureMTU() - device: 2F:24:66:C2:B6:51 mtu: 132
2019-10-31 17:37:19.923 24668-24844/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 3921(313KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 81us total 48.123ms
2019-10-31 17:37:19.965 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: onConfigureMTU() - Device=2F:24:66:C2:B6:51 mtu=132 status=0
2019-10-31 17:37:19.971 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTConnected(CHB204909002990)
2019-10-31 17:37:19.972 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=getDeviceInfo
2019-10-31 17:37:20.033 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 513(95KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 1.133ms total 60.700ms
2019-10-31 17:37:20.073 24668-24842/com.stripe.example.javaapp I/example.javaap: Waiting for a blocking GC Explicit
2019-10-31 17:37:20.100 24668-24843/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 294(101KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 70us total 43.071ms
2019-10-31 17:37:20.100 24668-24842/com.stripe.example.javaapp I/example.javaap: WaitForGcToComplete blocked Explicit on HeapTrim for 27.202ms
2019-10-31 17:37:20.128 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 27(47KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 40us total 27.659ms
2019-10-31 17:37:20.150 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 12(31KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 31us total 20.194ms
2019-10-31 17:37:20.167 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 17(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 23us total 15.970ms
2019-10-31 17:37:20.232 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 34(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 77us total 41.024ms
2019-10-31 17:37:20.345 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 47(63KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 53us total 18.881ms
2019-10-31 17:37:20.361 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 8(32KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 23us total 15.718ms
2019-10-31 17:37:20.379 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 10(31KB) AllocSpace objects, 0(0B) LOS objects, 50% free, 3MB/6MB, paused 23us total 16.111ms
2019-10-31 17:37:20.461 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 24(48KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 69us total 36.040ms
2019-10-31 17:37:20.572 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 28(47KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 83us total 21.329ms
2019-10-31 17:37:20.577 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message="onReturnDeviceInfo([Hashtable: {firmwareVersion, bootloaderVersion, hardwareVersion, pinKsn, trackKsn, macKsn, serialNumber, deviceSettingVersion, uid, productID, isCharging, isSupportedTrack3, isSupportedTrack2, isSupportedTrack1, batteryPercentage, emvKsn, terminalSettingVersion, formatID, vendorID, batteryLevel, bID, productId, isSupportedNfc, isUsbConnected}])"
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp I/StripeTerminal: class=BbposBluetoothAdapter reader_software_version=1.00.03.34-SZZZ_Generic_v37-30000
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(CONNECTED)
2019-10-31 17:37:20.579 24668-24668/com.stripe.example.javaapp I/ConnectionStatusChange: CONNECTED
2019-10-31 17:37:20.580 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=ConnectionTokenManager message=refreshToken
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap: Rejecting re-init on previously-failed class java.lang.Class<com.stripe.example.javaapp.network.ApiClient>: java.lang.ExceptionInInitializerError: 
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at java.lang.String com.stripe.example.javaapp.network.ApiClient.createConnectionToken() (ApiClient.java:46)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void com.stripe.example.javaapp.network.TokenProvider.fetchConnectionToken(com.stripe.stripeterminal.callable.ConnectionTokenCallback) (TokenProvider.java:16)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void com.stripe.stripeterminal.ConnectionTokenManager$refreshToken$1.run() (ConnectionTokenManager.kt:71)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at java.lang.Object java.util.concurrent.Executors$RunnableAdapter.call() (Executors.java:458)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void java.util.concurrent.FutureTask.run() (FutureTask.java:266)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) (ThreadPoolExecutor.java:1167)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void java.util.concurrent.ThreadPoolExecutor$Worker.run() (ThreadPoolExecutor.java:641)
2019-10-31 17:37:20.580 24668-24795/com.stripe.example.javaapp I/example.javaap:     at void java.lang.Thread.run() (Thread.java:764)
2019-10-31 17:37:20.583 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposBluetoothAdapter message=disconnectReader
2019-10-31 17:37:20.583 24668-24819/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceController message=disconnectBT
2019-10-31 17:37:20.594 24668-24842/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 472(45KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 67us total 18.625ms
2019-10-31 17:37:20.689 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: onClientConnectionState() - status=19 clientIf=8 device=2F:24:66:C2:B6:51
2019-10-31 17:37:20.738 24668-24819/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 207(105KB) AllocSpace objects, 0(0B) LOS objects, 49% free, 3MB/6MB, paused 70us total 45.357ms
2019-10-31 17:37:20.739 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.740 24668-24819/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.740 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: cancelOpen() - device: 2F:24:66:C2:B6:51
2019-10-31 17:37:20.741 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: close()
2019-10-31 17:37:20.741 24668-24840/com.stripe.example.javaapp D/BluetoothGatt: unregisterApp() - mClientIf=8
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=BbposDeviceControllerListener message=onBTDisconnected()
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp D/StripeTerminal: class=TerminalListenerProxy message=onConnectionStatusChange(NOT_CONNECTED)
2019-10-31 17:37:20.743 24668-24668/com.stripe.example.javaapp I/ConnectionStatusChange: NOT_CONNECTED
2019-10-31 17:37:20.744 24668-24819/com.stripe.example.javaapp E/StripeTerminal: NETWORK_ERROR.CONNECTION_TOKEN_PROVIDER_ERROR: java.lang.NoClassDefFoundError: com.stripe.example.javaapp.network.ApiClient
    com.stripe.stripeterminal.model.external.TerminalException
        at com.stripe.stripeterminal.ConnectionTokenManager.waitForToken(ConnectionTokenManager.kt:102)
        at com.stripe.stripeterminal.ConnectionTokenManager.getToken(ConnectionTokenManager.kt:49)
        at com.stripe.stripeterminal.TerminalSession$ConnectReaderOperation.run$stripeterminal_release(TerminalSession.kt:499)
        at com.stripe.stripeterminal.TerminalSession$enqueueOperation$1.run(TerminalSession.kt:208)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:458)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
        at java.lang.Thread.run(Thread.java:764)
2019-10-31 17:37:20.750 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of androidx.constraintlayout.widget.ConstraintLayout with key 1074ed5b-ca8a-4e0b-8f55-20fdc493f0b8
2019-10-31 17:37:20.753 24668-24668/com.stripe.example.javaapp D/LeakCanary: Watching instance of com.stripe.example.javaapp.fragment.discovery.DiscoveryFragment with key 281a9e67-0069-4035-b606-6db85c0ad9ef
2019-10-31 17:37:25.756 24668-24668/com.stripe.example.javaapp D/LeakCanary: Already scheduled retained check, ignoring (found new object retained)
2019-10-31 17:37:25.758 24668-24787/com.stripe.example.javaapp D/LeakCanary: Checking retained object because found new object retained
2019-10-31 17:37:25.800 24668-24787/com.stripe.example.javaapp I/example.javaap: Explicit concurrent copying GC freed 5340(377KB) AllocSpace objects, 27(540KB) LOS objects, 50% free, 3MB/6MB, paused 92us total 41.713ms
2019-10-31 17:37:25.904 24668-24787/com.stripe.example.javaapp D/LeakCanary: No retained objects
2019-10-31 17:37:59.205 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Reporting traces" num_traces=3
2019-10-31 17:38:00.753 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Sent 3 traces"
2019-10-31 17:38:00.754 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Reporting events" num_events=3
2019-10-31 17:38:01.460 24668-24796/com.stripe.example.javaapp D/StripeTerminal: class=LogFlusher message="Sent 3 events"
2019-10-31 17:38:17.710 24668-24668/com.stripe.example.javaapp I/StripeTerminal: class=TerminalLifecycleObserver message=applicationDidEnterBackground appId=com.stripe.example.javaapp
2019-10-31 17:38:17.964 24668-24668/com.stripe.example.javaapp W/StripeTerminal: class=TerminalLifecycleObserver message=application

Battery Percentage During Discover

Is there any way to get battery percentage after discovery?.
I am able get it after connecting to reader, but I need battery percentage after discovery also.

Provide Library outside of Gradle

I am working on a Xamarin app, and I had to nab the com.stripe:stripeterminal:1.0.0-b3 package out of gradle to load it into a Xamarin binding project. It would be great if this package was available to download from the Releases tab for when an update occurs in the future

Payment was declined by reader

Hey folks,

We've been seeing "payment was declined by reader" when attempting to start the payment process, this is before we even try to swipe the card.

2019-05-13 22:03:02.022 11099-11512/? E/Log: com.stripe.stripeterminal.TerminalException at com.stripe.stripeterminal.BbposDeviceControllerListener.fail(BbposDeviceControllerListener.java:842) at com.stripe.stripeterminal.BbposDeviceControllerListener.onError(BbposDeviceControllerListener.java:719) at com.bbposstripe.bbdevice.BBDeviceController$19.run(SourceFile:4601) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6548) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:857)

Connecting after app restart don't work

Please check this scenario:

  1. Start app connect reader first time and maybe make some transaction, all works
  2. Restart app

discoverReaders works, connectReader don't answer

getConnectedReader() in this case returns previous time connected reader
getConnectionStatus() returns CONNECTED

createPaymentIntent don't answer

Is there a way to check if Terminal object has been initialized ?

Is there a way to check if the Terminal object has been initialized before invoking the Terminal.initTerminal(), which throws an exception if already initialized?

I'm currently using the Terminal.getInstance() method which also throws an exception if it has not been initialized.

ReaderCallback not being called

I run discovery, show result to user, they click connect button, I run connectReader method, it connects, call back from discovery is called, callback from connect is never called. My connect method is below.

private void connectReader(int position){
Terminal.getInstance().connectReader(readerList.get(position), new ReaderCallback() {
@OverRide
public void onSuccess(Reader r) {
((Activity)_context).runOnUiThread(() -> {

                        Log.e("FoodMood:Stripe", "ManageTabletFragment:connectReader-> Connected to reader");
                        readerList.set(position, r);
                        terminalAdapter.notifyDataSetChanged();
                    });
                }

                @Override
                public void onFailure(@Nonnull TerminalException e) {
                    ((Activity)_context).runOnUiThread(() -> {

                        e.printStackTrace();
                        Log.e("FoodMood:Stripe", "ManageTabletFragment:connectReader-> Error connecting error " + e.getErrorMessage());
                    });
                }

            });
}

okhttp3 conflict with React Native

The version of okhttp3 being required by Stripe is 4.1.0 but react native only supports 3.12.1 - this has caused a crash in our application.

We're trying to circumvent this by overriding the version of okhttp in react native but will use this issue to track our progress, any thoughts you can provide would be helpful.

Thanks

Location not updating once connected

The dashboard states "Mobile readers like the BBPOS Chipper 2X BT will show up in this section after you connect to them for the first time." I have connected to my BBPOS reader successfully but nothing shows in the dashboard.

Location Services Not Being Detected

We're seeing a strange occurrence where we attempt to process a payment and the stripe library returns an error stating that we must enable location services, when we're clearly running location service and requesting both coarse and fine locations.

it takes restarting the application and turning off location services a number of times in order for the reader to accept the payment, however once it does the first payment after that it seems just fine.

It doesn't appear to be limited to one make or model, we've tried it on a half dozen in our lab and seeing consistent issues.

It only appears to be this latest 1.00+ range that was affected up till then it's worked just fine.

POS Machine not working from 2 days

I am working stripe terminal. its was working well with POS Machine as well as Stripe Simulator. From Last 2 days its not working. I am unable to connect.
Screenshot_20190512_153855

StripeTerminal: READER_ERROR.BLUETOOTH_DISCONNECTED: Bluetooth unexpectedly disconnected during operation

Still the same issue #70

device serial: CHB204902001016
used last example
library version 1.0.1
to make example work i just used secret = "pst_test_2FcW9n5NnF293zD77***************"
it always fails with this error during connecting the device and then jump back to the first fragment

12-12 14:48:14.630 30640-30693/com.stripe.example.javaapp E/StripeTerminal: READER_ERROR.BLUETOOTH_DISCONNECTED: Bluetooth unexpectedly disconnected during operation.
com.stripe.stripeterminal.model.external.TerminalException
at com.stripe.stripeterminal.adapter.BbposBluetoothAdapter.onDisconnectReader(BbposBluetoothAdapter.kt:229)
at com.stripe.stripeterminal.bbpos.BbposDeviceControllerListener.onBTDisconnected(BbposDeviceControllerListener.kt:93)
at com.stripe.bbpos.bbdevice.BBDeviceController$aaa042zz.run(SourceFile:1)
at android.os.Handler.handleCallback(Handler.java:815)
at android.os.Handler.dispatchMessage(Handler.java:104)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5637)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

Timeout with onRequestApplicationSelection

During a Live Mode charge with a MasterCard, the software will request an application selection with the List<{MASTERCARD}>

com.stripe.stripeterminal.BbposDeviceControllerListener.onRequestSelectApplication

As there is no method to handle this (I'm assuming it will be automatic just like the iOS version?), 10 seconds later the charge will time out.

Accessing hidden method causes crash

This happens directly at the Terminal.initTerminal(...) call.

Using:
com.stripe:stripeterminal:1.0.0-b9
compileSdkVersion 28
minSdkVersion 26
targetSdkVersion 26

and building with Java, not Kotlin.

2019-08-01 09:53:34.008 16143-16143 Accessing hidden method Ljava/lang/invoke/LambdaMetafactory;->metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; (blacklist, linking, denied)

Here is the stack trace:

2019-08-01 09:53:34.009 16143-16143/com.nudge.payment E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.nudge.payment, PID: 16143
    java.lang.NoSuchMethodError: No static method metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; in class Ljava/lang/invoke/LambdaMetafactory; or its super classes (declaration of 'java.lang.invoke.LambdaMetafactory' appears in /apex/com.android.runtime/javalib/core-oj.jar)
        at com.stripe.stripeterminal.ApplicationInfoModule.provideClock(ApplicationInfoModule.java:62)
        at com.stripe.stripeterminal.ApplicationInfoModule_ProvideClockFactory.proxyProvideClock(ApplicationInfoModule_ProvideClockFactory.java:29)
        at com.stripe.stripeterminal.ApplicationInfoModule_ProvideClockFactory.provideInstance(ApplicationInfoModule_ProvideClockFactory.java:20)
        at com.stripe.stripeterminal.ApplicationInfoModule_ProvideClockFactory.get(ApplicationInfoModule_ProvideClockFactory.java:16)
        at com.stripe.stripeterminal.ApplicationInfoModule_ProvideClockFactory.get(ApplicationInfoModule_ProvideClockFactory.java:7)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at com.stripe.stripeterminal.EventFactory_Factory.provideInstance(EventFactory_Factory.java:20)
        at com.stripe.stripeterminal.EventFactory_Factory.get(EventFactory_Factory.java:16)
        at com.stripe.stripeterminal.EventFactory_Factory.get(EventFactory_Factory.java:7)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at com.stripe.stripeterminal.DaggerTerminalComponent.getEventFactory(DaggerTerminalComponent.java:198)
        at com.stripe.stripeterminal.Terminal.initTerminal(Terminal.java:89)
        at nudge.payment.activities.MainActivity.onCreate(MainActivity.java:91)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3243)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3407)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7343)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:933)

BPos Messaging Changes To Fast

When we use this reader and deliberately put the card in the wrong way, swipe an EMV card (essentially to force the reader to tell the user to choose a different method) we get the following messages returned after one action..

This is when swiping a card that should be TAP or insert.
2019-05-23 17:17:16.120 7101-7101/? D/Log: class=BbposDeviceControllerListener message=onRequestDisplayText(INSERT_CARD)
2019-05-23 17:17:16.166 7101-7101/? D/Log: class=BbposDeviceControllerListener message=onRequestDisplayText(INSERT_SWIPE_OR_TRY_ANOTHER_CARD)
2019-05-23 17:17:16.201 7101-7101/? D/Log: class=BbposDeviceControllerListener message=onRequestDisplayText(PRESENT_CARD)
2019-05-23 17:17:16.237 7101-7101/? D/Log: class=BbposDeviceControllerListener message=onWaitingForCard(SWIPE_OR_INSERT_OR_TAP)
s

Realistically the messaging should be "Insert Card" and then hold there until operator tries again.

I've attached a video of what this looks like when outputing the messaging direct to screen.
https://drive.google.com/file/d/1sILPbTWGSUWYus_1zmH0YSh9CRdyx1Jw/view?usp=sharing

Reader software update not calling callback

We use the below code to update readers. The update occurs successfully but the callback is never called.

Terminal.getInstance().installUpdate(softwareUpdate, TerminalAdapter.this, new Callback() {
@OverRide
public void onSuccess() {
view.setEnabled(true);
selectedHolder.updateProgressBar.setVisibility(View.GONE);
Log.e("FoodMood:Stripe", "ManageTabletFragment:updateButtonListener-> installed update ");
}

                            @Override
                            public void onFailure(@NotNull TerminalException e) {
                                view.setEnabled(true);
                                selectedHolder.updateProgressBar.setVisibility(View.GONE);
                                Log.e("FoodMood:Stripe", "ManageTabletFragment:updateButtonListener-> Error installing update " + e.getErrorMessage());
                            }
                        });

Can't build the app

I get the following error when building. I see others have this issue out there with android studio, but I wasn't sure if anyone had a specific fix for this app.

Error:Internal error: (java.lang.ClassNotFoundException) com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index java.lang.ClassNotFoundException: com.google.wireless.android.sdk.stats.IntellijIndexingStats$Index at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at com.intellij.util.indexing.counters.IndexCounters.<clinit>(IndexCounters.java:34) at com.intellij.util.indexing.impl.MapReduceIndex.<init>(MapReduceIndex.java:85) at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex$CompilerMapReduceIndex.<init>(CompilerReferenceIndex.java:232) at org.jetbrains.jps.backwardRefs.index.CompilerReferenceIndex.<init>(CompilerReferenceIndex.java:79) at org.jetbrains.jps.backwardRefs.JavaCompilerBackwardReferenceIndex.<init>(JavaCompilerBackwardReferenceIndex.java:12) at org.jetbrains.jps.backwardRefs.JavaBackwardReferenceIndexWriter.initialize(JavaBackwardReferenceIndexWriter.java:79) at org.jetbrains.jps.incremental.java.JavaBuilder.buildStarted(JavaBuilder.java:148) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:363) at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:178) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:139) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:302) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:135) at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:228) at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Example throws terminal exception (unknown parameter)

02-18 13:11:01.628 11190-11228/com.stripe.example E/Log: com.stripe.stripeterminal.TerminalException
       at com.stripe.stripeterminal.ApiClient.decodeResponse(ApiClient.java:76)
       at com.stripe.stripeterminal.ApiClient.confirmPaymentIntent(ApiClient.java:39)
       at com.stripe.stripeterminal.TerminalSession$ConfirmPaymentIntentOperation.run(TerminalSession.java:593)
       at com.stripe.stripeterminal.TerminalSession.lambda$enqueueOperation$0(TerminalSession.java:192)
       at com.stripe.stripeterminal.-$$Lambda$TerminalSession$jBo4Xx9Ldr_iXUis4CS0byxws7Y.run(lambda)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)
02-18 13:11:01.632 11190-11228/com.stripe.example E/ConfirmPaymentIntentCallback: Received unknown parameter: source_data[card_present][ksn]
   com.stripe.stripeterminal.TerminalException
       at com.stripe.stripeterminal.ApiClient.decodeResponse(ApiClient.java:76)
       at com.stripe.stripeterminal.ApiClient.confirmPaymentIntent(ApiClient.java:39)
       at com.stripe.stripeterminal.TerminalSession$ConfirmPaymentIntentOperation.run(TerminalSession.java:593)
       at com.stripe.stripeterminal.TerminalSession.lambda$enqueueOperation$0(TerminalSession.java:192)
       at com.stripe.stripeterminal.-$$Lambda$TerminalSession$jBo4Xx9Ldr_iXUis4CS0byxws7Y.run(lambda)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
       at java.util.concurrent.FutureTask.run(FutureTask.java:237)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:818)
Message Input

App crashes on startup in v9

Wanted to let you guys know that the new b9 version crashes on startup for me. After hours of debugging I checked the commit history and realized I cloned the repo just a few hours after you guys pushed b9, so I checked out the b8 commit and everything instantly worked.

I no longer have the full log stack trace saved, but I had saved what I believe was the main issue:

At the top of the stack trace:

java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/ContextCompat;

This was happening inside the stripe terminal library class (the last non-library piece of code that the stack trace touched was Terminal.initTerminal inside the MainActivity initialize method.)

And later on in the stack trace near the bottom:

Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.ContextCompat" on path: DexPathList[[zip file "/data/app/com.stripe.example-viFzb5fMEEO584voUu6MzA==/base.apk"],nativeLibraryDirectories=[/data/app/com.stripe.example-viFzb5fMEEO584voUu6MzA==/lib/arm64, /system/lib64]]

My guess is it has something to do with the com.android.support upgrade to androidx.appcompat, or maybe something to do with the stripe terminal library still expecting the old support library, I have no idea.

Also disclaimer: I'm not by any means an android engineer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.