|
|
|
package org.wownero.cyberwow
|
|
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
|
|
|
|
|
import io.flutter.embedding.android.FlutterActivity
|
|
|
|
import io.flutter.embedding.engine.FlutterEngine
|
|
|
|
import io.flutter.plugins.GeneratedPluginRegistrant
|
|
|
|
import io.flutter.plugin.common.ActivityLifecycleListener
|
|
|
|
import io.flutter.plugin.common.MethodCall
|
|
|
|
import io.flutter.plugin.common.MethodChannel
|
|
|
|
import io.flutter.plugin.common.MethodChannel.MethodCallHandler
|
|
|
|
|
|
|
|
import android.content.Intent
|
|
|
|
import android.os.Bundle
|
|
|
|
import android.util.Log
|
|
|
|
|
|
|
|
class MainActivity: FlutterActivity() {
|
|
|
|
private val CHANNEL = "send-intent"
|
|
|
|
private var initialIntentText:String = ""
|
|
|
|
private var initialIntentSet = false
|
|
|
|
private var _channel: MethodChannel? = null;
|
|
|
|
|
|
|
|
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
|
|
|
|
GeneratedPluginRegistrant.registerWith(flutterEngine);
|
|
|
|
|
|
|
|
val channel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL);
|
|
|
|
_channel = channel;
|
|
|
|
|
|
|
|
channel.setMethodCallHandler{
|
|
|
|
call, result ->
|
|
|
|
if (call.method == "getInitialIntent") {
|
|
|
|
result.success(initialIntentText)
|
|
|
|
} else if (call.method == "getBinaryDir") {
|
|
|
|
result.success(getApplicationInfo().nativeLibraryDir)
|
|
|
|
} else {
|
|
|
|
result.notImplemented()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
val intent = getIntent()
|
|
|
|
checkIntent(intent)
|
|
|
|
initialIntentSet = true
|
|
|
|
}
|
|
|
|
|
|
|
|
internal fun handleSendText(intent:Intent) {
|
|
|
|
val text:String? = intent.getStringExtra(Intent.EXTRA_TEXT)
|
|
|
|
if (initialIntentSet == false) {
|
|
|
|
initialIntentText = text ?: "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
internal fun checkIntent(intent: Intent) {
|
|
|
|
val _action = intent.getAction()
|
|
|
|
// Log.i("Main", "action: " + action)
|
|
|
|
|
|
|
|
if (Intent.ACTION_SEND.equals(_action)) {
|
|
|
|
val _type = intent.getType()
|
|
|
|
// Log.i("Main", "type: " + type)
|
|
|
|
|
|
|
|
if (_type == "text/plain") {
|
|
|
|
handleSendText(intent) // Handle text being sent
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|