diff --git a/android/src/main/java/com/squareup/sdk/reader/flutter/SquareReaderSdkFlutterPlugin.java b/android/src/main/java/com/squareup/sdk/reader/flutter/SquareReaderSdkFlutterPlugin.java index c57d878..9418006 100644 --- a/android/src/main/java/com/squareup/sdk/reader/flutter/SquareReaderSdkFlutterPlugin.java +++ b/android/src/main/java/com/squareup/sdk/reader/flutter/SquareReaderSdkFlutterPlugin.java @@ -157,7 +157,12 @@ private void initializeReaderSdk() { return; } - ReaderSdk.initialize(currentActivity.getApplication()); - sdkInitialized = true; + try { + ReaderSdk.initialize(currentActivity.getApplication()); + sdkInitialized = true; + } catch (IllegalStateException e) { + // allow double-initialization; devs _should_ init in Application.onCreate, + // but to be non-breaking we try here also in case they didn't. + } } -} +} \ No newline at end of file diff --git a/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.kt b/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.java similarity index 81% rename from example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.kt rename to example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.java index d20f9ef..105a6b3 100644 --- a/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.kt +++ b/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainActivity.java @@ -15,8 +15,10 @@ */ package com.example.flutter.squareup.sdk.reader; -import io.flutter.embedding.android.FlutterActivity +import androidx.annotation.NonNull; -class MainActivity: FlutterActivity() { +import io.flutter.embedding.android.FlutterActivity; + +public class MainActivity extends FlutterActivity { } diff --git a/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.kt b/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.java similarity index 64% rename from example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.kt rename to example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.java index bddc3fe..1eb228c 100644 --- a/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.kt +++ b/example/android/app/src/main/java/com/example/flutter/squareup/sdk/reader/MainApplication.java @@ -15,7 +15,18 @@ */ package com.example.flutter.squareup.sdk.reader; -import io.flutter.app.FlutterApplication +import com.squareup.sdk.reader.ReaderSdk; +import io.flutter.app.FlutterApplication; -class MainApplication: FlutterApplication() { +import io.flutter.view.FlutterMain; + + +public class MainApplication extends FlutterApplication { + + @Override + public void onCreate() { + super.onCreate(); + ReaderSdk.initialize(this); + FlutterMain.startInitialization(this); + } } diff --git a/pubspec.yaml b/pubspec.yaml index f1b4b4a..2b7c158 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: square_reader_sdk description: An open source Flutter plugin for calling Square’s native Reader SDK implementations to take in-person payments on iOS and Android. -version: 4.0.0 +version: 4.0.1 homepage: https://github.com/square/reader-sdk-flutter-plugin environment: