Coder Social home page Coder Social logo

navigine / indoor-navigation-android-mobile-sdk-2.0 Goto Github PK

View Code? Open in Web Editor NEW
34.0 4.0 15.0 709.21 MB

SDK for Android to develop own indoor navigation apps, and Navigine demo application for Android to test indoor navigation. Now you get one code for all types of devices with less resource use.

License: Other

Java 100.00%
navigation indoor-positioning indoor sdk-android navigine-sdk android demo-application sdk

indoor-navigation-android-mobile-sdk-2.0's Introduction

Android SDK 2.0

The following sections describe the contents of the Navigine Android SDK repository. The files in our public repository for Android are:

  • Sources of the Navigine Demo Application for Android
  • Navigine SDK for Android in form of a AAR file

Useful Links

  • SDK Documentation
  • Refer to the Navigine official documentation for complete list of downloads, useful materials, information about the company, and so on.
  • Get started with Navigine to get full access to Navigation services, SDKs, and applications.
  • Refer to the Navigine User Manual for complete product usage guidelines.
  • Find company contact information at the official website under Contact tab.

Values and benefits

Enhanced User Experience: An Indoor Navigation SDK for Android provides users with an intuitive and seamless navigation experience within indoor environments. It helps them easily navigate complex spaces such as shopping malls, airports, museums, or hospitals, reducing confusion and improving overall user satisfaction.

Accurate Positioning: The SDK utilizes advanced positioning technologies, such as Bluetooth Low Energy (BLE), Wi-Fi, UWB etc., to achieve high accuracy in indoor positioning. Users can rely on precise location information to navigate to specific destinations, find points of interest, and locate desired products or services within a venue.

Indoor Mapping and Wayfinding: The SDK offers indoor mapping capabilities, allowing developers to integrate detailed maps of indoor spaces into their Android applications. Users can benefit from interactive maps, highlighted routes, and turn-by-turn directions to efficiently navigate through the venue and reach their desired destinations.

Location-Based Services: With an Indoor Navigation SDK, developers can build Android applications that offer location-based services tailored to specific indoor environments. This opens up opportunities to provide personalized recommendations, targeted promotions, and context-aware information based on the user's location within the venue.

Integration with Existing Apps: The SDK can be seamlessly integrated into existing Android applications, enhancing their functionality with indoor navigation capabilities. This enables businesses and organizations to leverage their existing user base and infrastructure, saving time and resources while providing a value-added service to their customers.

Improved Operational Efficiency: For businesses and organizations, an Indoor Navigation SDK can optimize operational efficiency. It can assist in managing crowds, monitoring visitor flows, and optimizing resource allocation within a venue. This data-driven approach helps businesses streamline their operations, improve staff productivity, and enhance the overall visitor experience.

Analytics and Insights: An Indoor Navigation SDK often includes analytics and reporting functionalities, providing valuable insights into user behavior, traffic patterns, and popular areas within a venue. Businesses can leverage this data to make informed decisions, optimize space utilization, and identify opportunities for improvements or revenue generation.

Multi-Venue Support: Many Indoor Navigation SDKs offer support for multiple venues, allowing businesses to provide a consistent navigation experience across different locations. This flexibility is particularly beneficial for large retail chains, airports, or exhibition centers with multiple venues under their operation.

Customization and Branding: The SDK provides customization options, allowing developers to tailor the indoor navigation experience to match their branding and user interface guidelines. This ensures a consistent and cohesive user experience within the application, reinforcing brand identity and familiarity.

Developer-Friendly Tools and Support: Indoor Navigation SDKs come with comprehensive documentation, developer tools, and dedicated support channels. This empowers developers to efficiently integrate and utilize the SDK, accelerating the development process and ensuring a smooth implementation.

Android Demo Application

Navigine Demo application for Android enables you to test indoor navigation as well as measure your target location's radiomap. Source files as well as compiled application reside in the Navigine folder and nested folders.

To get the Navigine demo application for Android,

For complete guidelines on using the Demo, refer to the corresponding sections in the Navigine User Manual, or refer to the Help file incorporated into the application.

Below, you can see some screenshots of the Demo representing locations list, defined location levels, navigation bar, and debug process.

img/locations.png      img/navigation.png      img/debug.png

Navigation SDK and Implementation

Navigine SDK for Android applications enables you to develop your own indoor navigation apps using the well-developed methods, classes, and functions created by the Navigine team. The SDK file resides in the libs folder.

Find formal description of Navigine-SDK API including the list of classes and their public fields and methods at Navigine SDK wiki.

Using .aar file in Android Studio

  • Download libnavigine.aar file from current repositories libs folder;
  • In your project choose File -> New -> New module -> Import .JAR/.AAR Package;
  • Select downloaded libnavigine.aar file and add it to your project as new module;
  • Add following lines inside dependencies module in your apps build.gradle file:
  implementation project(":libnavigine")
  • Start using Navigine SDK.

Using with Jitpack

Will be added soon...

Android&HW compatibility

Indoor positioning SDK and applications require Android 8.0 or higher as well your smartphone should have BLE 4.0 or higher.

We are testing our SDK and Apps on the following smartphones: Nexus Pixel 3 (Android 12), Honor 30 pro (Android 10), Xiaomi Redmi 9C (Android 10), Samsung A20 (Android 10, 11), Huawei P20 lite (Android 9), Xiaomi Note (Android 8).

indoor-navigation-android-mobile-sdk-2.0's People

Contributors

alexeypanyov avatar apetrovnavigine avatar elvinash avatar mrcrambo avatar nikitadavidoff avatar paveltychinin avatar tartaryn 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

Watchers

 avatar  avatar  avatar  avatar

indoor-navigation-android-mobile-sdk-2.0's Issues

SIGABRT after downloading location data

Describe the bug
Using Release 1.2.8
After selecting a location to download, app crashes shortly after successfully downloading location (green tick is shown).

To Reproduce

  1. Click on Location List item to download.
  2. Crashes shortly after download is successful.
    App consistently crashes after the line /NAVIGINE_LOG: Path: ''

Smartphone (please complete the following information):

  • Amlogic 905X2
  • OS: Android 8.1

Additional context
Logcat Output

2021-10-29 16:41:28.287 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Parsing URL: 'https://api.navigine.com'
2021-10-29 16:41:28.287 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Schema: 'https'
2021-10-29 16:41:28.287 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Host: 'api.navigine.com'
2021-10-29 16:41:28.287 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Port: '443'
2021-10-29 16:41:28.287 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Path: ''
2021-10-29 16:41:28.288 6349-6349/com.navigine.navigine.demo A/libc: /Volumes/Android/buildbot/src/android/ndk-release-r22/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating with uncaught exception of type djinni::jni_exception: std::exception" failed
2021-10-29 16:41:28.288 6349-6349/com.navigine.navigine.demo A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 6349 (e.navigine.demo), pid 6349 (e.navigine.demo)
2021-10-29 16:41:28.309 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:28.313 6349-6420/com.navigine.navigine.demo I/NAVIGINE_LOG: Host: api.navigine.com
2021-10-29 16:41:28.325 6349-6449/com.navigine.navigine.demo I/NAVIGINE_LOG: Saving dns cache record: api.navigine.com -> 185.206.165.59 valid until Fri Oct 29 09:41:28 2021
2021-10-29 16:41:28.382 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:28.385 6451-6451/? I/crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2021-10-29 16:41:28.386 3125-3125/? I//system/bin/tombstoned: received crash request for pid 6349
2021-10-29 16:41:28.388 6451-6451/? I/crash_dump32: performing dump of process 6349 (target tid = 6349)
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: Build fingerprint: 'Amlogic/u211/u211:8.1.0/OPM1.171019.011/20210406:user/test-keys'
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: Revision: '0'
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: ABI: 'arm'
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: pid: 6349, tid: 6349, name: e.navigine.demo  >>> com.navigine.navigine.demo <<<
2021-10-29 16:41:28.389 6451-6451/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2021-10-29 16:41:28.393 6451-6451/? A/DEBUG: Abort message: '/Volumes/Android/buildbot/src/android/ndk-release-r22/toolchain/llvm-project/libcxx/../../../toolchain/llvm-project/libcxxabi/src/abort_message.cpp:72: abort_message: assertion "terminating with uncaught exception of type djinni::jni_exception: std::exception" failed'
2021-10-29 16:41:28.393 6451-6451/? A/DEBUG:     r0 00000000  r1 000018cd  r2 00000006  r3 00000008
2021-10-29 16:41:28.394 6451-6451/? A/DEBUG:     r4 000018cd  r5 000018cd  r6 ffb6bcac  r7 0000010c
2021-10-29 16:41:28.394 6451-6451/? A/DEBUG:     r8 00000000  r9 ffb6c1c8  sl cfc708a8  fp 00000001
2021-10-29 16:41:28.394 6451-6451/? A/DEBUG:     ip ffb6bcf4  sp ffb6bc98  lr f2678c7b  pc f26726ac  cpsr 200b0030
2021-10-29 16:41:28.396 6451-6451/? A/DEBUG: backtrace:
2021-10-29 16:41:28.396 6451-6451/? A/DEBUG:     #00 pc 0001a6ac  /system/lib/libc.so (abort+63)
2021-10-29 16:41:28.396 6451-6451/? A/DEBUG:     #01 pc 0001a8cd  /system/lib/libc.so (__assert2+20)
2021-10-29 16:41:28.396 6451-6451/? A/DEBUG:     #02 pc 00198b07  /data/app/com.navigine.navigine.demo-1y-OkOsKOpjQAuEIkaqJLQ==/base.apk (offset 0x4ad000)
2021-10-29 16:41:28.454 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:28.945 3123-5088/? I/chatty: uid=1046(mediacodec) deo.encoder.avc identical 5 lines
2021-10-29 16:41:29.049 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:29.149 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:29.184 3485-3485/? I/com.android.phone: Looking for service [email protected]::IRadio/slot1
2021-10-29 16:41:29.186 3485-3485/? I/com.android.phone: Looking for service [email protected]::IOemHook/slot1
2021-10-29 16:41:29.251 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:29.355 3123-5088/? I/FASTGX_RC: base qp - 4:16
2021-10-29 16:41:29.688 3262-3271/? I/zygote: Background concurrent copying GC freed 181866(7MB) AllocSpace objects, 16(768KB) LOS objects, 42% free, 9MB/16MB, paused 130us total 113.342ms
2021-10-29 16:41:30.178 3125-3125/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_05
2021-10-29 16:41:30.182 3262-6452/? W/ActivityManager:   Force finishing activity com.navigine.navigine.demo/.MainActivity
2021-10-29 16:41:30.186 3262-3280/? I/BootReceiver: Copying /data/tombstones/tombstone_05 to DropBox (SYSTEM_TOMBSTONE)
2021-10-29 16:41:30.192 3262-3277/? W/ActivityManager: edwin--->pkg_info.toString()===== NavigineDemo
2021-10-29 16:41:30.192 3262-3277/? W/ActivityManager: edwin--->window_show = true
2021-10-29 16:41:30.193 3262-3277/? I/ActivityManager: Showing crash dialog for package com.navigine.navigine.demo u0

onPositionUpdated(Position position) returning wrong position

Describe the bug
The Position returned in the play store's application is correct, but the position returned from the latest code in the repository is incorrect. In the demo app here, the onPositionListener returns very accurate positions in some parts of one hallway, but wrong ones in another part of the same hallway.

Note: the beacons detected and distances to them are correct on both. The position is not though.

To Reproduce
Either start positioning in the section of the hallway where I am not positioned properly or start from another correct position then move towards it.

Expected behavior
Correct Position returned from the PositionListener's callback.

Screenshots
The parts with green checkmarks. I am not located correctly in the red section.
image

This shows how it is locating me wrong at two different places:
image

Beacon distribution is the same (alternating between the two walls along the hallway). It works perfectly everywhere on the app from the play store but not using the SDK or demo app.

Smartphone (please complete the following information):

  • Device: Google Pixel 4
  • OS: Android
  • Version: 11

Error when login: JNI DETECTED ERROR IN APPLICATION: static jfieldID 0x705d2b60 not valid for class java.lang.Class<com.navigine.navigine.demo.NavigineApp>

Describe the bug
When tapping "Login" App crashes with error:

2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504] JNI DETECTED ERROR IN APPLICATION: static jfieldID 0x705d2b60 not valid for class java.lang.Class<com.navigine.navigine.demo.NavigineApp>
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]     in call to GetStaticObjectField
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504] "Thread-3" prio=10 tid=18 Runnable
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   | group="main" sCount=0 dsCount=0 flags=0 obj=0x12f00000 self=0x7f75433c00
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   | sysTid=13892 nice=-10 cgrp=default sched=0/0 handle=0x7f5fe204f0
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   | state=R schedstat=( 1357134 0 6 ) utm=0 stm=0 core=6 HZ=100
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   | stack=0x7f5fd26000-0x7f5fd28000 stackSize=1005KB
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   | held mutexes= "mutator lock"(shared held)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #00 pc 00000000003982fc  /system/lib64/libart.so (_ZN3art15DumpNativeStackERNSt3__113basic_ostreamIcNS0_11char_traitsIcEEEEiP12BacktraceMapPKcPNS_9ArtMethodEPv+212)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #01 pc 000000000045e608  /system/lib64/libart.so (_ZNK3art6Thread9DumpStackERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEEbP12BacktraceMapb+348)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #02 pc 00000000002d687c  /system/lib64/libart.so (_ZN3art9JavaVMExt8JniAbortEPKcS2_+1040)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #03 pc 00000000002d6cfc  /system/lib64/libart.so (_ZN3art9JavaVMExt9JniAbortVEPKcS2_St9__va_list+116)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #04 pc 0000000000108be0  /system/lib64/libart.so (_ZN3art11ScopedCheck6AbortFEPKcz+148)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #05 pc 000000000010eef0  /system/lib64/libart.so (_ZN3art11ScopedCheck18CheckStaticFieldIDERNS_18ScopedObjectAccessEP7_jclassP9_jfieldID+180)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #06 pc 000000000010e7b4  /system/lib64/libart.so (_ZN3art11ScopedCheck16CheckFieldAccessERNS_18ScopedObjectAccessEP8_jobjectP9_jfieldIDbNS_9Primitive4TypeE+72)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #07 pc 000000000010e0a0  /system/lib64/libart.so (_ZN3art8CheckJNI8GetFieldEPKcP7_JNIEnvP8_jobjectP9_jfieldIDbNS_9Primitive4TypeE+696)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #08 pc 000000000006a360  /data/app/com.navigine.navigine.demo-sgEsADwcKWUkzy3u9W_ANg==/base.apk (???)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #09 pc 0000000000162a0c  /data/app/com.navigine.navigine.demo-sgEsADwcKWUkzy3u9W_ANg==/base.apk (???)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #10 pc 00000000000897b4  /data/app/com.navigine.navigine.demo-sgEsADwcKWUkzy3u9W_ANg==/base.apk (???)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #11 pc 0000000000029780  /data/app/com.navigine.navigine.demo-sgEsADwcKWUkzy3u9W_ANg==/base.apk (???)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #12 pc 000000000002bd30  /data/app/com.navigine.navigine.demo-sgEsADwcKWUkzy3u9W_ANg==/base.apk (???)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #13 pc 00000000000662ac  /system/lib64/libc.so (_ZL15__pthread_startPv+36)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   native: #14 pc 000000000001f0a8  /system/lib64/libc.so (__start_thread+68)
2021-10-13 16:32:41.146 13535-13892/com.navigine.navigine.demo A/zygote64: java_vm_ext.cc:504]   (no managed stack frames)

To Reproduce
Steps to reproduce the behavior:

  1. Run App
  2. Enter the account key or email. Click 'Login'
  3. App crashes

If account field is empty, then this error does not occur.

Smartphone (please complete the following information):

  • Device: Moto Z2 Force
  • OS: Android 8.0.0

NavigationManager: Position update error (code: 30)

Describe the bug
The application has code like this:

NavigationManager.addPositionListener(new PositionListener() {
  @Override
  public void onPositionUpdated(Position position) {
    Log.d("NavigineApp", "onPositionUpdated()");
    CurrentPosition = position;
  }

  @Override
  public void onPositionError(Error error) {
    Log.d("NavigineApp", "onPositionError(). Message: " + error.getMessage());
  }
});

At the same time, I get the following error:
Message: Position update error (code: 30)

After a few minutes of running the application, the location may begin to be determined. But this always happens for a very long time.

What does this error mean?

Smartphone (please complete the following information):

  • Device: Moto Z2 Force
  • OS: Android 8.0.0

Additional context
This code is part of the React Native application.

Sublocation image SVG support

The sublocation SVG image is used in client.navigine.com. But it doesn't load in the app.
I get an error:
onFailed(). Message:Graphics error: Image format not supported! (code: -1)

Empty DT HASH error,

I have tried SDK attached and I am having empty DT hash error, even I have mentioned correct USER_HASH if it is related to that. Screenshoot of error log is attached
image

<LocationPoint>.getLocationId() return 0

Describe the bug
The application has code like this:

RouteManager.addRouteListener(new RouteListener() {
    @Override
    public void onPathsUpdated(ArrayList<RoutePath> routePaths){
      CurrentRoutePaths = routePaths;
      for (int j = 0; j < CurrentRoutePaths.size(); j++)
      {
        RoutePath CurrentRoutePath = CurrentRoutePaths.get(j);
        ArrayList<LocationPoint> routePoints = CurrentRoutePath.getPoints();
        for (int r = 0; r < routePoints.size(); r++)
        {
          Point lPoint = routePoints.get(r).getPoint();
          Log.d("NavigineApp", String.format(Locale.ENGLISH, "Location: %s, Sublocation: %s", routePoints.get(r).getLocationId(), routePoints.get(r).getSublocationId()));
        }
      }
    }
});

Current LocationId is set. But getLocationId() always function return "0".

Smartphone (please complete the following information):

  • Device: Moto Z2 Force
  • OS: Android 8.0.0

Additional context
This code is part of the React Native application.

Crash App when calling mNavigineSdk.getLocationManager()

I create React Native bridge with this SDK.
When I call mNavigineSdk.getLocationManager() string App crashing.

Logcat output:

    --------- beginning of system
2021-10-18 16:53:28.671 20673-20760/com.mobileway D/NavigineApp: initializeSdk()
2021-10-18 16:53:28.671 20673-20760/com.mobileway D/NavigineApp: UserHash: D536-A0D5-4BEE-25CE
2021-10-18 16:53:28.690 20673-20760/com.mobileway I/NAVIGINE_LOG: NavigineSDK version: 1.2.5
2021-10-18 16:53:28.690 20673-20880/com.mobileway I/NAVIGINE_LOG: Saving dns cache record: api.navigine.com -> 185.206.165.59 valid until Mon Oct 18 17:53:28 2021
2021-10-18 16:53:28.690 20673-20885/com.mobileway I/NAVIGINE_LOG: Parsing URL: 'https://api.navigine.com'
2021-10-18 16:53:28.690 20673-20885/com.mobileway I/NAVIGINE_LOG: Schema: 'https'
2021-10-18 16:53:28.690 20673-20885/com.mobileway I/NAVIGINE_LOG: Host: 'api.navigine.com'
2021-10-18 16:53:28.691 20673-20885/com.mobileway I/NAVIGINE_LOG: Port: '443'
2021-10-18 16:53:28.691 20673-20885/com.mobileway I/NAVIGINE_LOG: Path: ''
2021-10-18 16:53:28.691 20673-20885/com.mobileway I/NAVIGINE_LOG: Host: api.navigine.com
2021-10-18 16:53:28.699 20673-20877/com.mobileway I/NAVIGINE_LOG: Host: api.navigine.com
2021-10-18 16:53:28.704 20673-20886/com.mobileway I/NAVIGINE_LOG: Saving dns cache record: api.navigine.com -> 185.206.165.59 valid until Mon Oct 18 17:53:28 2021
2021-10-18 16:53:28.714 20673-20888/com.mobileway I/NAVIGINE_LOG: Saving dns cache record: api.navigine.com -> 185.206.165.59 valid until Mon Oct 18 17:53:28 2021
2021-10-18 16:53:28.779 20673-20873/com.mobileway I/NAVIGINE_LOG: Resolved api.navigine.com to 185.206.165.59
2021-10-18 16:53:28.779 20673-20873/com.mobileway I/NAVIGINE_LOG: Seeding the random number generator...
2021-10-18 16:53:28.779 20673-20873/com.mobileway I/NAVIGINE_LOG: Loading the CA root certificate ...
2021-10-18 16:53:28.792 20673-20885/com.mobileway I/NAVIGINE_LOG: Resolved api.navigine.com to 185.206.165.59
2021-10-18 16:53:28.792 20673-20885/com.mobileway I/NAVIGINE_LOG: Seeding the random number generator...
2021-10-18 16:53:28.792 20673-20885/com.mobileway I/NAVIGINE_LOG: Loading the CA root certificate ...
2021-10-18 16:53:28.799 20673-20877/com.mobileway I/NAVIGINE_LOG: Resolved api.navigine.com to 185.206.165.59
2021-10-18 16:53:28.800 20673-20877/com.mobileway I/NAVIGINE_LOG: Seeding the random number generator...
2021-10-18 16:53:28.800 20673-20877/com.mobileway I/NAVIGINE_LOG: Loading the CA root certificate ...
2021-10-18 16:53:28.823 20673-20873/com.mobileway I/NAVIGINE_LOG: Connecting to tcp/185.206.165.59/ 443...
2021-10-18 16:53:28.827 20673-20885/com.mobileway I/NAVIGINE_LOG: Connecting to tcp/185.206.165.59/ 443...
2021-10-18 16:53:28.833 20673-20877/com.mobileway I/NAVIGINE_LOG: Connecting to tcp/185.206.165.59/ 443...
2021-10-18 16:53:28.962 20673-20877/com.mobileway I/NAVIGINE_LOG: Connection established!
2021-10-18 16:53:28.962 20673-20877/com.mobileway I/NAVIGINE_LOG: Setting up the SSL/TLS structure...
2021-10-18 16:53:28.962 20673-20877/com.mobileway I/NAVIGINE_LOG: Performing the SSL/TLS handshake...
2021-10-18 16:53:28.963 20673-20885/com.mobileway I/NAVIGINE_LOG: Connection established!
2021-10-18 16:53:28.963 20673-20885/com.mobileway I/NAVIGINE_LOG: Setting up the SSL/TLS structure...
2021-10-18 16:53:28.963 20673-20885/com.mobileway I/NAVIGINE_LOG: Performing the SSL/TLS handshake...
2021-10-18 16:53:28.964 20673-20873/com.mobileway I/NAVIGINE_LOG: Connection established!
2021-10-18 16:53:28.964 20673-20873/com.mobileway I/NAVIGINE_LOG: Setting up the SSL/TLS structure...
2021-10-18 16:53:28.964 20673-20873/com.mobileway I/NAVIGINE_LOG: Performing the SSL/TLS handshake...
2021-10-18 16:53:29.477 20673-20885/com.mobileway I/NAVIGINE_LOG: Verifying peer X.509 certificate...
2021-10-18 16:53:29.477 20673-20885/com.mobileway I/NAVIGINE_LOG: Request: GET /mobile/locations?userHash=D536-A0D5-4BEE-25CE&format=json HTTP/1.1
    host: api.navigine.com:443
    content-length: 0
    content-type: application/x-www-form-urlencoded
    connection: close
    accept-encoding: gzip
2021-10-18 16:53:29.478 20673-20877/com.mobileway I/NAVIGINE_LOG: Verifying peer X.509 certificate...
2021-10-18 16:53:29.478 20673-20885/com.mobileway I/NAVIGINE_LOG: Request send (213 bytes)!
2021-10-18 16:53:29.478 20673-20877/com.mobileway I/NAVIGINE_LOG: Request: POST /mobile/v0/locations/byBeacon?userHash=D536-A0D5-4BEE-25CE HTTP/1.1
    host: api.navigine.com:443
    content-length: 244
    content-type: multipart/form-data; boundary=FGeStT1dWQOuHkhj
    connection: close
    accept-encoding: gzip
    
    --FGeStT1dWQOuHkhj
    content-disposition: form-data; name="data"
    
    <device apiKey="D536-A0D5-4BEE-25CE" deviceId="20877ed18c2a5c59" deviceTime="1634565208688" userHash="D536-A0D5-4BEE-25CE" wifi_network="20C9D023F98F"/>
    
    --FGeStT1dWQOuHkhj--
2021-10-18 16:53:29.478 20673-20885/com.mobileway I/NAVIGINE_LOG: Receiving server response...
2021-10-18 16:53:29.478 20673-20873/com.mobileway I/NAVIGINE_LOG: Verifying peer X.509 certificate...
2021-10-18 16:53:29.478 20673-20873/com.mobileway I/NAVIGINE_LOG: Request: POST /mobile/v0/apps/config?userHash=4D31-A5CD-8474-EF33 HTTP/1.1
    host: api.navigine.com:443
    content-length: 373
    content-type: multipart/form-data; boundary=boVh1NkLoMmSfSam
    connection: close
    accept-encoding: gzip
    
    --boVh1NkLoMmSfSam
    content-disposition: form-data; name="data"
    
    <device userHash="4EE6-9A3F-F126-5FE6" apiKey="4EE6-9A3F-F126-5FE6" deviceId="E7D1FFE0-4D39-4C07-8055-580C3D9C1D2C" buildDate="2020-05-12" buildVersion="bd591a8" deviceModel="iPhone10,6" osVersion="13.3" wifiAddress="" perm="" deviceTime="1589981738" appid="Navigine.NavigineDemo"/>
    --boVh1NkLoMmSfSam--
2021-10-18 16:53:29.479 20673-20873/com.mobileway I/NAVIGINE_LOG: Request send (595 bytes)!
2021-10-18 16:53:29.479 20673-20873/com.mobileway I/NAVIGINE_LOG: Receiving server response...
2021-10-18 16:53:29.480 20673-20877/com.mobileway I/NAVIGINE_LOG: Request send (473 bytes)!
2021-10-18 16:53:29.480 20673-20877/com.mobileway I/NAVIGINE_LOG: Receiving server response...
2021-10-18 16:53:29.591 20673-20877/com.mobileway I/NAVIGINE_LOG: Content length: 17
2021-10-18 16:53:29.592 20673-20877/com.mobileway I/NAVIGINE_LOG: Received: 296 bytes of 296 [100%]
2021-10-18 16:53:29.595 20673-20873/com.mobileway I/NAVIGINE_LOG: Content length: 2754
2021-10-18 16:53:29.595 20673-20873/com.mobileway I/NAVIGINE_LOG: Received: 1179 bytes of 3036 [38%]
2021-10-18 16:53:29.599 20673-20873/com.mobileway I/NAVIGINE_LOG: Received: 3036 bytes of 3036 [100%]
2021-10-18 16:53:29.608 20673-20885/com.mobileway I/NAVIGINE_LOG: Content length: 490
2021-10-18 16:53:29.608 20673-20885/com.mobileway I/NAVIGINE_LOG: Received: 771 bytes of 771 [100%]
2021-10-18 16:53:29.702 20673-20712/com.mobileway D/BluetoothLeScanner: onScannerRegistered() - status=0 scannerId=20 mScannerId=0
2021-10-18 16:53:39.408 20673-20673/com.mobileway A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 20673 (com.mobileway), pid 20673 (com.mobileway)

App code copied from demo App:

NavigineSdk.setUserHash(UserHash);
NavigineSdk.setServer(LocationServer);
mNavigineSdk = NavigineSdk.getInstance();
LocationListManager = mNavigineSdk.getLocationListManager();
LocationManager = mNavigineSdk.getLocationManager();

App crash on this return ... line in NavigineSdk.class:

public LocationManager getLocationManager() {
    assert !this.destroyed.get() : "trying to use a destroyed object";

    return this.native_getLocationManager(this.nativeRef);
}

I can't debug deeper.

The closest answer I find is here:
https://stackoverflow.com/questions/36693887/what-is-fatal-signal-6-in-android-logcat

Unable to Scan for BLE Devices: I/NAVIGINE_LOG: Failed to scan BLE with error code: 2 (Ble scan failed)

I am using the SDK for my own project following the code in this github. Upon a set of runs approximately 3-5 there are no issues with navigation and positioning. However, after those fixed runs an error begins to popup as a navigine info log.

V/FA: Connecting to remote service
Connection attempt already in progress
D/BluetoothAdapter: isLeEnabled(): ON
D/BluetoothLeScanner: onScannerRegistered() - status=133 scannerId=0 mScannerId=0
D/BluetoothAdapter: isLeEnabled(): ON
D/BluetoothLeScanner: onScannerRegistered() - status=133 scannerId=0 mScannerId=0
D/NAVIGINE_LOG: Start scanning bluetooth
I/NAVIGINE_LOG: Connection established!
Setting up the SSL/TLS structure...
Performing the SSL/TLS handshake...
I/NAVIGINE_LOG: Failed to scan BLE with error code: 2 (Ble scan failed)
D/NAVIGINE_LOG: Scan Error Code: 2
I/NAVIGINE_LOG: Failed to scan BLE with error code: 2 (Ble scan failed)
D/NAVIGINE_LOG: Scan Error Code: 2
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 2

Error code 2 corresponds to SCAN_FAILED_APPLICATION_REGISTRATION_FAILED from the ScanCallBack Android class (https://developer.android.com/reference/android/bluetooth/le/ScanCallback#SCAN_FAILED_APPLICATION_REGISTRATION_FAILED)

Based on my research is seems as though the phones bluetooth resources are completely occupied and thus cannot register another BluetoothLeScanner.

D/NAVIGINE_LOG: Position update error (code: 30)
is the log produced from the positioning listener as a result of the scanner never being registered.

Steps:

  1. Run the application until the positioning begins
  2. Kill the app
  3. reopen the app
  4. Repeat until positioning no longer occurs.

The app should be able to discover beacons and carry out positioning even when opening and closing on multiple occasions.

The device I'm using is the Google Pixel 4a, running Android 11.

I am able to exit this error state upon restarting the device.

Crashing demo App without request permissions

Describe the bug
When App runs first it crashes.
Error:

java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.

If move requestPermissions() upper then App work.

requestPermissions(new String[]{
                        Manifest.permission.ACCESS_FINE_LOCATION,
                        Manifest.permission.ACCESS_COARSE_LOCATION,
                        Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE
                },
                PERMISSION_REQUEST_FINE_LOCATION);

Smartphone (please complete the following information):

  • Device: Moto Z2 Force
  • OS: Android 8.0.0

Azimuth always is 276

Describe the bug
Function getAzimuth() always return "276"

Smartphone (please complete the following information):

  • Device: Moto Z2 Force
  • OS: Android 8.0.0

Additional context
This code is part of the React Native application.

LocationView crashes the layout

Hello,
Any layout with the LocationView won't work. When added dynamically from the code, it appears for a second and disappear.

LocationView Issue (GLSurfaceView)

When I add a LocationView in my xml I get the following error:

2021-12-31 09:34:01.454 28778-28866/com.example.navisafeapp E/ple.navisafeap: No implementation found for void com.navigine.view.internal.GLRendererWrapper.nativeSetNavigineSdk() (tried Java_com_navigine_view_internal_GLRendererWrapper_nativeSetNavigineSdk and Java_com_navigine_view_internal_GLRendererWrapper_nativeSetNavigineSdk__)
2021-12-31 09:34:01.456 28778-28866/com.example.navisafeapp E/AndroidRuntime: FATAL EXCEPTION: GLThread 1860
Process: com.example.navisafeapp, PID: 28778
java.lang.UnsatisfiedLinkError: No implementation found for void com.navigine.view.internal.GLRendererWrapper.nativeSetNavigineSdk() (tried Java_com_navigine_view_internal_GLRendererWrapper_nativeSetNavigineSdk and Java_com_navigine_view_internal_GLRendererWrapper_nativeSetNavigineSdk__)
at com.navigine.view.internal.GLRendererWrapper.nativeSetNavigineSdk(Native Method)
at com.navigine.view.internal.GLRendererWrapper.setNavigineSdk(GLRendererWrapper.java:130)
at com.navigine.view.LocationView$1.run(LocationView.java:64)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1502)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)

It also seems that the location is not being downloaded, not sure if the error is related (the location id from location manager is 0, and when I set it to the one shown in the CMS, it gives an error downloading).

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.