Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ android {
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation ('es.situm:situm-sdk:3.32.0@aar') {
implementation ('es.situm:situm-sdk-feature-PRO-4089-local-viewer:3.32.0-DEV@aar') {
transitive = true
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import android.content.Intent
import android.net.Uri
import android.os.Looper
import android.util.Log
import androidx.annotation.NonNull
import com.situm.situm_flutter.webview.WebViewFactory
import es.situm.sdk.SitumSdk
import es.situm.sdk.communication.CommunicationConfigImpl
import es.situm.sdk.configuration.network.NetworkOptionsImpl
Expand Down Expand Up @@ -53,9 +53,10 @@ class SitumFlutterPlugin : FlutterPlugin, ActivityAware, MethodChannel.MethodCal
companion object {
private var initialized = false
const val CHANNEL_ID_SDK = "situm.com/flutter_sdk"
const val CHANNEL_ID_MAPVIEW = "situm.com/flutter_mapview"
}

override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
Log.d("Situm", "Situm> SitumFlutterPlugin> onAttachedToEngine initialized=$initialized")
// Firebase remote message issue:
if (initialized) {
Expand All @@ -66,9 +67,13 @@ class SitumFlutterPlugin : FlutterPlugin, ActivityAware, MethodChannel.MethodCal
channel.setMethodCallHandler(this)
navigation = Navigation.init(channel, handler)
viewerNavigation = ViewerNavigation.init(channel, handler)
// Register SDK MapView UI:
flutterPluginBinding
.platformViewRegistry
.registerViewFactory(CHANNEL_ID_MAPVIEW, WebViewFactory())
}

override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) {
Log.d("Situm", "Situm> SitumFlutterPlugin> onDetachedFromEngine - initialized=$initialized")
// onDetachedFromEngine should be called only when the app using this plugin is finalized,
// but should not be related to the Firebase issue.
Expand Down
46 changes: 46 additions & 0 deletions android/src/main/kotlin/com/situm/situm_flutter/webview/WebView.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
package com.situm.situm_flutter.webview

import android.content.Context
import android.util.Log
import android.view.View
import android.widget.FrameLayout
import android.widget.Toast
import es.situm.sdk.wayfinding.MapViewConfiguration
import es.situm.sdk.wayfinding.MapViewManager
import io.flutter.plugin.platform.PlatformView

class WebView(val context: Context, id: Int, creationParams: Map<String?, Any?>?) : PlatformView {
val view: FrameLayout

init {
view = FrameLayout(context).apply {
layoutParams = FrameLayout.LayoutParams(
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT
)
}
// TODO: incluír inicialmente un "loading" e logo facer "load"?
// TODO: pasar parámetros: MapViewConfiguration.fromMap() - creationParams?
val mapViewConfiguration = MapViewConfiguration.Builder()
.setBuildingIdentifier("7033") // Demo account
.setProfile("demo")
.setUseSdkCache(true)
.build()
MapViewManager.loadMapView(context, view, mapViewConfiguration) { loadResult ->
loadResult.onSuccess { controller ->
// TODO: fai falta o controller para postMessage.
}.onFailure {
// TODO: control de erros!
Toast.makeText(context, "Error loading MapView", Toast.LENGTH_LONG).show()
}
}
}

override fun getView(): View? {
return view
}

override fun dispose() {

}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.situm.situm_flutter.webview

import android.content.Context
import io.flutter.plugin.common.StandardMessageCodec
import io.flutter.plugin.platform.PlatformView
import io.flutter.plugin.platform.PlatformViewFactory

class WebViewFactory : PlatformViewFactory(StandardMessageCodec.INSTANCE) {
override fun create(context: Context, viewId: Int, args: Any?): PlatformView {
val creationParams = args as Map<String?, Any?>?
return WebView(context, viewId, creationParams)
}
}
20 changes: 7 additions & 13 deletions example/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,19 @@ PODS:
- Flutter (1.0.0)
- flutter_tts (0.0.1):
- Flutter
- Protobuf (3.29.4)
- situm_flutter (3.26.8):
- Protobuf (3.29.5)
- situm_flutter (3.26.21):
- Flutter
- SitumSDK (~> 3.31.0)
- SitumSDK (3.31.0):
- SitumSDK (~> 3.34.2)
- SitumSDK (3.34.2):
- Protobuf (~> 3.18)
- SSZipArchive (~> 2.4)
- SSZipArchive (2.4.3)
- webview_flutter_wkwebview (0.0.1):
- Flutter

DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_tts (from `.symlinks/plugins/flutter_tts/ios`)
- situm_flutter (from `.symlinks/plugins/situm_flutter/ios`)
- webview_flutter_wkwebview (from `.symlinks/plugins/webview_flutter_wkwebview/ios`)

SPEC REPOS:
trunk:
Expand All @@ -32,17 +29,14 @@ EXTERNAL SOURCES:
:path: ".symlinks/plugins/flutter_tts/ios"
situm_flutter:
:path: ".symlinks/plugins/situm_flutter/ios"
webview_flutter_wkwebview:
:path: ".symlinks/plugins/webview_flutter_wkwebview/ios"

SPEC CHECKSUMS:
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_tts: 0f492aab6accf87059b72354fcb4ba934304771d
Protobuf: 2e6de032ba12b9efb390ae550d1a243a5b19ddfc
situm_flutter: 0469718d710ee583c99acd73d815be7d978994a3
SitumSDK: 1f26f3de4297e7834d901d6b2077022710129f4d
Protobuf: 164aea2ae380c3951abdc3e195220c01d17400e0
situm_flutter: 6be48e773436cfb1ccd63c06d7eadb82513a2501
SitumSDK: 31a8c53c5949e7add0bbc182fff70349ec1b027f
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
webview_flutter_wkwebview: 4f3e50f7273d31e5500066ed267e3ae4309c5ae4

PODFILE CHECKSUM: b372eb01cab451b27c846ed62cbdd2b859c6b5a0

Expand Down
58 changes: 29 additions & 29 deletions example/ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@

/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3A41437728CDF76F55B64F6A /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A24E0C0EF7FBC545DC39E553 /* libPods-Runner.a */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
6F369E33677EEE60BC0D9FD5 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 29D3809A246AD6E9C2083485 /* libPods-Runner.a */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
Expand All @@ -32,49 +32,49 @@
/* Begin PBXFileReference section */
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
29D3809A246AD6E9C2083485 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = "<group>"; };
3C4F34DAEAE9273749973FC4 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = "<group>"; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
778A0C3548409DCD92420B2A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = "<group>"; };
84C5F028A9FC7C35B5ECB00A /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = "<group>"; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = "<group>"; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
CE0BE5956251C9291018982A /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
A24E0C0EF7FBC545DC39E553 /* libPods-Runner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-Runner.a"; sourceTree = BUILT_PRODUCTS_DIR; };
D2F284A7E27E06D5252131DA /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = "<group>"; };
DDF540DC4592EDFEFD371B6F /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
97C146EB1CF9000F007C117D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
6F369E33677EEE60BC0D9FD5 /* libPods-Runner.a in Frameworks */,
3A41437728CDF76F55B64F6A /* libPods-Runner.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
3A4C293D9F623C20013E12B8 /* Frameworks */ = {
5DF4543D869E774A26127270 /* Frameworks */ = {
isa = PBXGroup;
children = (
29D3809A246AD6E9C2083485 /* libPods-Runner.a */,
A24E0C0EF7FBC545DC39E553 /* libPods-Runner.a */,
);
name = Frameworks;
sourceTree = "<group>";
};
9179D30E401B2A0D38B06047 /* Pods */ = {
isa = PBXGroup;
children = (
778A0C3548409DCD92420B2A /* Pods-Runner.debug.xcconfig */,
CE0BE5956251C9291018982A /* Pods-Runner.release.xcconfig */,
3C4F34DAEAE9273749973FC4 /* Pods-Runner.profile.xcconfig */,
DDF540DC4592EDFEFD371B6F /* Pods-Runner.debug.xcconfig */,
D2F284A7E27E06D5252131DA /* Pods-Runner.release.xcconfig */,
84C5F028A9FC7C35B5ECB00A /* Pods-Runner.profile.xcconfig */,
);
path = Pods;
sourceTree = "<group>";
Expand All @@ -97,7 +97,7 @@
97C146F01CF9000F007C117D /* Runner */,
97C146EF1CF9000F007C117D /* Products */,
9179D30E401B2A0D38B06047 /* Pods */,
3A4C293D9F623C20013E12B8 /* Frameworks */,
5DF4543D869E774A26127270 /* Frameworks */,
);
sourceTree = "<group>";
};
Expand Down Expand Up @@ -131,14 +131,14 @@
isa = PBXNativeTarget;
buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
buildPhases = (
0D51A14E7FD7F6F7B09B24F7 /* [CP] Check Pods Manifest.lock */,
2857DA4F6E8B3F5813C2EB7B /* [CP] Check Pods Manifest.lock */,
9740EEB61CF901F6004384FC /* Run Script */,
97C146EA1CF9000F007C117D /* Sources */,
97C146EB1CF9000F007C117D /* Frameworks */,
97C146EC1CF9000F007C117D /* Resources */,
9705A1C41CF9048500538489 /* Embed Frameworks */,
3B06AD1E1E4923F5004D2608 /* Thin Binary */,
424D2BB824AEA1BB016E83B4 /* [CP] Copy Pods Resources */,
FD0656CFD7BBEE6C77B6E225 /* [CP] Copy Pods Resources */,
);
buildRules = (
);
Expand Down Expand Up @@ -197,7 +197,7 @@
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
0D51A14E7FD7F6F7B09B24F7 /* [CP] Check Pods Manifest.lock */ = {
2857DA4F6E8B3F5813C2EB7B /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
Expand Down Expand Up @@ -235,37 +235,37 @@
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
424D2BB824AEA1BB016E83B4 /* [CP] Copy Pods Resources */ = {
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
inputPaths = (
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
name = "Run Script";
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
FD0656CFD7BBEE6C77B6E225 /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
alwaysOutOfDate = 1;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "Run Script";
outputPaths = (
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */

Expand Down
Loading