diff --git a/android/app/build.gradle b/android/app/build.gradle
index fd64e6c..5619d8e 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -57,12 +57,12 @@ android {
signingConfigs {
- release {
- storeFile file("key.jks")
- storePassword "123456"
- keyAlias "key0"
- keyPassword "123456"
- }
+// release {
+// storeFile file("key.jks")
+// storePassword "123456"
+// keyAlias "key0"
+// keyPassword "123456"
+// }
}
@@ -71,15 +71,15 @@ android {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
+// signingConfig signingConfigs.release
}
debug {
debuggable true
- minifyEnabled true
- signingConfig signingConfigs.release
+ minifyEnabled false
+// signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index b47a018..422b834 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -46,6 +46,8 @@
+
+
+ when (call.method) {
+ "launchPenguin" -> {
+ print("the platform channel is being called" )
+ val args = call.arguments as Map?
+ Log.d("TAG", "configureFlutterEngine: $args")
+ println("args")
+ args?.let {
+ PenguinView(activity,100,args,flutterEngine.dartExecutor.binaryMessenger , activity = this,)
+ }
+ }
+ }
+ }
}
diff --git a/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinView.kt b/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinView.kt
index ebdb83c..f8cb3e9 100644
--- a/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinView.kt
+++ b/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinView.kt
@@ -2,8 +2,10 @@ package com.eventtan.app.penguin_flutter_sample.penguin
import android.app.Activity
import android.content.Context
+import android.content.Context.RECEIVER_EXPORTED
import android.content.IntentFilter
import android.graphics.Color
+import android.os.Build
import android.os.Handler
import android.os.Looper
import android.util.Log
@@ -11,6 +13,7 @@ import android.view.View
import android.view.ViewGroup
import android.widget.RelativeLayout
import android.widget.Toast
+import androidx.annotation.RequiresApi
import com.eventtan.test.penguin_flutter_sample.MainActivity
import com.eventtan.test.penguin_flutter_sample.PermissionManager.PermissionHelper
import com.eventtan.test.penguin_flutter_sample.PermissionManager.PermissionManager
@@ -30,16 +33,17 @@ import io.flutter.plugin.platform.PlatformView
* Implements `PlatformView` for rendering the view, `MethodChannel.MethodCallHandler` for handling method calls,
* and `PenNavUIDelegate` for handling SDK events.
*/
+@RequiresApi(Build.VERSION_CODES.O)
internal class PenguinView(
context: Context,
id: Int,
- creationParams: Map?,
+ val creationParams: Map,
messenger: BinaryMessenger,
activity: MainActivity
) : PlatformView, MethodChannel.MethodCallHandler, PenNavUIDelegate {
// The layout for displaying the Penguin UI
private val mapLayout: RelativeLayout = RelativeLayout(context)
- private val _context: Context = context.applicationContext
+ private val _context: Context = context
private val permissionResultReceiver: PermissionResultReceiver
private val permissionIntentFilter = IntentFilter("PERMISSION_RESULT_ACTION")
@@ -71,8 +75,8 @@ internal class PenguinView(
onPermissionsDenied()
}
}
-
- mContext.registerReceiver(permissionResultReceiver, permissionIntentFilter)
+//todo handle properly the way it in the main app check the sdk version and cal it appropiately
+ mContext.registerReceiver(permissionResultReceiver, permissionIntentFilter,RECEIVER_EXPORTED)
// Set the background color of the layout
mapLayout.setBackgroundColor(Color.RED)
@@ -155,12 +159,12 @@ internal class PenguinView(
private fun initPenguin() {
// Configure the PlugAndPlaySDK
PlugAndPlaySDK.configuration = PlugAndPlayConfiguration.Builder()
- .setBaseUrl("https://temp.penguinin.com", "https://temp.penguinin.com")
- .setServiceName("api", "pe")
- .setClientData("Client", "clientkey")
+ .setBaseUrl(creationParams["baseURL"], creationParams["positionURL"])
+ .setServiceName(creationParams["dataServiceName"], creationParams["positionServiceName"])
+ .setClientData(creationParams["clientID"], creationParams["clientKey"])
.setUserName("client")
.setLanguageID(Languages.en)
- .setSimulationModeEnabled(true)
+ .setSimulationModeEnabled(false)
.setEnableBackButton(true)
.setDeepLinkData("deeplink")
.setCustomizeColor("#2CA0AF")
@@ -189,16 +193,17 @@ internal class PenguinView(
* @param warningCode Optional warning code received from the SDK.
*/
override fun onPenNavSuccess(warningCode: String?) {
- if (_context is Activity) {
- _context.runOnUiThread {
- Toast.makeText(_context, "Success Info: $warningCode", Toast.LENGTH_SHORT).show()
- }
- } else {
- val handler = Handler(Looper.getMainLooper())
- handler.post {
- Toast.makeText(_context, "Success Info: $warningCode", Toast.LENGTH_SHORT).show()
- }
- }
+// if (_context is Activity) {
+// _context.runOnUiThread {
+// Toast.makeText(_context, "Success Info: $warningCode", Toast.LENGTH_SHORT).show()
+// }
+// } else {
+// println("the warming is presented $$warningCode")
+//// val handler = Handler(Looper.getMainLooper())
+//// handler.post {
+//// Toast.makeText(_context, "Success Info: $warningCode", Toast.LENGTH_SHORT).show()
+//// }
+// }
}
/**
diff --git a/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinViewFactory.kt b/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinViewFactory.kt
index 5ba640f..c58918f 100644
--- a/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinViewFactory.kt
+++ b/android/app/src/main/kotlin/com/eventtan/test/penguin_flutter_sample/penguin/PenguinViewFactory.kt
@@ -1,6 +1,8 @@
package com.eventtan.app.penguin_flutter_sample.penguin
import android.content.Context
+import android.os.Build
+import androidx.annotation.RequiresApi
import com.eventtan.test.penguin_flutter_sample.MainActivity
import io.flutter.plugin.common.BinaryMessenger
import io.flutter.plugin.common.StandardMessageCodec
@@ -28,9 +30,10 @@ class PenguinViewFactory(
* @param args Optional arguments passed for creating the view, expected to be a [Map].
* @return A new instance of [PenguinView].
*/
+ @RequiresApi(Build.VERSION_CODES.O)
override fun create(context: Context, viewId: Int, args: Any?): PlatformView {
// Cast the arguments to a Map if they are provided
- val creationParams = args as Map?
+ val creationParams = args as Map
// Instantiate and return the PenguinView with the provided parameters
return PenguinView(context, viewId, creationParams, messenger, mainActivity)
diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml
index 4e0eefd..3f7320d 100644
--- a/android/app/src/main/res/values/strings.xml
+++ b/android/app/src/main/res/values/strings.xml
@@ -12,6 +12,6 @@
UGVuZ3VpbklOX1Blbk5hdl9QSUY=
- mapbox_token
+ sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg
////////////////////////////////////////////
\ No newline at end of file
diff --git a/android/build.gradle b/android/build.gradle
index 0f2b41c..2e9680b 100644
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -2,20 +2,21 @@ buildscript {
repositories {
google()
mavenCentral()
- maven { url 'https://plugins.gradle.org/m2' }
+// maven { url 'https://plugins.gradle.org/m2' }
// maven { url 'https://jitpack.io' }
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'
- authentication {
- basic(BasicAuthentication)
- }
+
credentials {
username = 'mapbox'
- password = "sk.eyJ1IjoidmlyYWwtbW9ibWF4aW1lIiwiYSI6ImNseWZ0MzByYTAzZ2MyeHMxMXp3NWRscWYifQ.Dq-SRE-hyED1ojrJcq3JKA"
+ password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the enviroment variables.")
}
}
+ authentication {
+ basic(BasicAuthentication)
+ }
}
}
dependencies {
@@ -35,7 +36,7 @@ allprojects {
}
credentials {
username = 'mapbox'
- password = "sk.eyJ1IjoidmlyYWwtbW9ibWF4aW1lIiwiYSI6ImNseWZ0MzByYTAzZ2MyeHMxMXp3NWRscWYifQ.Dq-SRE-hyED1ojrJcq3JKA"
+ password = "sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the enviroment variables.")
}
diff --git a/android/gradle.properties b/android/gradle.properties
index a2ba77c..a674d24 100644
--- a/android/gradle.properties
+++ b/android/gradle.properties
@@ -4,5 +4,5 @@ android.enableJetifier=true
android.nonTransitiveRClass=false
android.nonFinalResIds=false
MAPBOX_USER_NAME = "mapbox"
-MAPBOX_DOWNLOADS_TOKEN="sk.eyJ1IjoidmlyYWwtbW9ibWF4aW1lIiwiYSI6ImNseWZ0MzByYTAzZ2MyeHMxMXp3NWRscWYifQ.Dq-SRE-hyED1ojrJcq3JKA"
+MAPBOX_DOWNLOADS_TOKEN="sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg"
diff --git a/android/settings.gradle b/android/settings.gradle
index 23208d4..6fe4440 100644
--- a/android/settings.gradle
+++ b/android/settings.gradle
@@ -13,13 +13,12 @@ pluginManagement {
google()
mavenCentral()
gradlePluginPortal()
- maven { url 'https://plugins.gradle.org/m2' }
maven { url 'https://jitpack.io' }
maven {
url 'https://api.mapbox.com/downloads/v2/releases/maven'
credentials {
username = 'mapbox'
- password = 'sk.eyJ1IjoidmlyYWwtbW9ibWF4aW1lIiwiYSI6ImNseWZ0MzByYTAzZ2MyeHMxMXp3NWRscWYifQ.Dq-SRE-hyED1ojrJcq3JKA'
+ password = 'sk.eyJ1IjoicndhaWQiLCJhIjoiY2x6NWo0bTMzMWZodzJrcGZpemYzc3Z4dSJ9.uSSZuwNSGCcCdPAiORECmg'
if (password == null || password == "") {
throw new GradleException("MAPBOX_DOWNLOADS_TOKEN isn't set. Set it to the project properties or to the enviroment variables.")
}