Flutter plugin for ARCore SDK, Android platform to build new augmented reality experiences

Overview

arcore_flutter_plugin

Awesome Flutter

Thanks to Oleksandr Leuschenko for inspiration and his precious code: arkit_flutter_plugin

Usage

I wrote 2 articles for setup you project and start with ARCore Flutter Plugin:

ARCore Flutter Plugin: configurations.

ARCore Flutter Plugin: add object on the plane.

Configure your app

To use this plugin, add arcore_flutter_plugin as a dependency in your pubspec.yaml file.

  1. Follow official guide to enable ArCore

  2. Add the Sceneform library to your app's build.gradle file:

android {
    // Sceneform libraries use language constructs from Java 8.
    // Add these compile options if targeting minSdkVersion < 26.
    compileOptions {
        sourceCompatibility 1.8
        targetCompatibility 1.8
    }
}

dependencies {
    …

    // Provides ArFragment, and other UX resources.
    implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.8.0'

    // Alternatively, use ArSceneView without the UX dependency.
    implementation 'com.google.ar.sceneform:core:1.8.0'
}
  1. Import the Sceneform plugin into your project (OPTIONAL)

Example

The simplest code example:

import 'package:arcore_flutter_plugin/arcore_flutter_plugin.dart';
import 'package:flutter/material.dart';
import 'package:vector_math/vector_math_64.dart' as vector;

class HelloWorld extends StatefulWidget {
  @override
  _HelloWorldState createState() => _HelloWorldState();
}

class _HelloWorldState extends State<HelloWorld> {
  ArCoreController arCoreController;

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Hello World'),
        ),
        body: ArCoreView(
          onArCoreViewCreated: _onArCoreViewCreated,
        ),
      ),
    );
  }

  void _onArCoreViewCreated(ArCoreController controller) {
    arCoreController = controller;

    _addSphere(arCoreController);
    _addCylindre(arCoreController);
    _addCube(arCoreController);
  }

  void _addSphere(ArCoreController controller) {
    final material = ArCoreMaterial(
        color: Color.fromARGB(120, 66, 134, 244));
    final sphere = ArCoreSphere(
      materials: [material],
      radius: 0.1,
    );
    final node = ArCoreNode(
      shape: sphere,
      position: vector.Vector3(0, 0, -1.5),
    );
    controller.addArCoreNode(node);
  }

  void _addCylindre(ArCoreController controller) {
    final material = ArCoreMaterial(
      color: Colors.red,
      reflectance: 1.0,
    );
    final cylindre = ArCoreCylinder(
      materials: [material],
      radius: 0.5,
      height: 0.3,
    );
    final node = ArCoreNode(
      shape: cylindre,
      position: vector.Vector3(0.0, -0.5, -2.0),
    );
    controller.addArCoreNode(node);
  }

  void _addCube(ArCoreController controller) {
    final material = ArCoreMaterial(
      color: Color.fromARGB(120, 66, 134, 244),
      metallic: 1.0,
    );
    final cube = ArCoreCube(
      materials: [material],
      size: vector.Vector3(0.5, 0.5, 0.5),
    );
    final node = ArCoreNode(
      shape: cube,
      position: vector.Vector3(-0.5, 0.5, -3.5),
    );
    controller.addArCoreNode(node);
  }

  @override
  void dispose() {
    arCoreController.dispose();
    super.dispose();
  }
}

See the example directory for a complete sample app.

3D Objects Credits

Anonymous

Comments
  • Execution failed for task ':app:processDebugManifest'.

    Execution failed for task ':app:processDebugManifest'.

    Hello, I have tried your library with its complete configuration but when I do run "flutter run", I am getting this error. Here's the full error stack,

     `Launching lib/main.dart on Nokia 2 in debug mode...
        Initializing gradle...                                              1.2s
        Resolving dependencies...                                           2.9s
        /home/mquanit/Documents/Projects/Mobile-Ap 
        ps/ar_app/android/app/src/debug/AndroidManifest.xml:37:58-82 Error:
        Attribute meta-data#com.google.ar.core@value value=(required) from 
        AndroidManifest.xml:37:58-82
         is also present at [:arcore_plugin] AndroidManifest.xml:24:13-37 value=(optional).
        Suggestion: add 'tools:replace="android:value"' to <meta-data> element at 
         AndroidManifest.xml:21:9-23:40 to override.
                                                                        
         FAILURE: Build failed with an exception.                                
                                                                        
          * What went wrong:                                                      
           Execution failed for task ':app:processDebugManifest'.                  
         > Manifest merger failed : Attribute meta-data#com.google.ar.core@value value=(required) 
          from AndroidManifest.xml:37:58-82
         is also present at [:arcore_plugin] AndroidManifest.xml:24:13-37 value=(optional).
         Suggestion: add 'tools:replace="android:value"' to <meta-data> element at 
           AndroidManifest.xml:21:9-23:40 to override.
                                                                        
        * Try:                                                                  
       Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get 
       more log output. Run with --scan to get full insights.
                                                                        
       * Get more help at https://help.gradle.org                              
                                                                        
          BUILD FAILED in 7s                                                      
          Running Gradle task 'assembleDebug'...                                  
           Running Gradle task 'assembleDebug'... Done                         8.5s
             Gradle task assembleDebug failed with exit code 1`
    
    opened by Mohammad-Quanit 11
  • Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'

    Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'

    Hii, I am creating new flutter AR app . I set minSdkVersion 24 in build.gradle

    I added this in AndroidManifest.xml

        <uses-sdk android:minSdkVersion="24"/>
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-feature android:name="android.hardware.camera.ar" />
    

    Add dependencies in build.gradle

    dependencies {
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        implementation 'com.google.ar:core:1.8.0'
    }
    

    When I run my app its shows me this error:

    e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\arcore_flutter_plugin-0.0.11\android\src\main\kotlin\com\difrancescogianmarco\arcore_flutter_plugin\ArCoreView.kt: (245, 38): Object is not abstract and does not implement abstract member public abstract fun onActivityCreated(@NonNull p0: Activity, @Nullable p1: Bundle?): Unit defined in android.app.Application.ActivityLifecycleCallbacks
    e: C:\src\flutter\.pub-cache\hosted\pub.dartlang.org\arcore_flutter_plugin-0.0.11\android\src\main\kotlin\com\difrancescogianmarco\arcore_flutter_plugin\ArCoreView.kt: (246, 13): 'onActivityCreated' overrides nothing
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'.
    > Compilation error. See log for more details
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 36s
    Exception: Gradle task assembleDebug failed with exit code 1
    
    opened by SavanRajyaguru 9
  • app not working in release mode

    app not working in release mode

    i built an application using arcore_flutter plugin. the app works perfectly in debug mode. but it is not working in release mode. i have attached below the expected and observed outputs of the application kindly help me in resolving the issue.

    This is what i get in release mode. i am unable to see the outputs. Screenshot (150)

    This is what i get in debug mode. i can see my outputs(planets). Screenshot (151)

    Kindly help.!!

    opened by iakshatbisht 9
  • Added new parameter to enable/disable the white dots on surface

    Added new parameter to enable/disable the white dots on surface

    Added the ability to disable or enable the plane renderer (white dots) when it detects surfaces

    The ArCoreView() now has a new property named "enablePlaneRenderer", by default its turned on which means you'll see the white dots.

    opened by BrutalCoding 8
  • Cannot display animations

    Cannot display animations

    Hi, I have been searching a way to play animations from .fbx files and I believe it's not handled on this plugin yet. So I decided to look at the code and I added the feature. Is there any way that I can show you what I have done I think it can be usefull for others. Thanks.

    animation_demo

    opened by MrRedbloX 7
  • GLB file objectUrl

    GLB file objectUrl

    Hi, in the remote object feature, the official documentation says that you can load either a GLTF or GLB file.

    But in the plugin trying a link with a GLB at objectUrl in ArCoreReferenceNode it seems not to be working.

    Any updates on that will be really helpful

    bug 
    opened by ideadiego 6
  • my app keeps stopping

    my app keeps stopping

    Used the example code mentioned in https://pub.dartlang.org/packages/arcore_flutter_plugin#example

    Getting the following error message in the console while running the app: Launching lib/main.dart on Nokia 8 1 in debug mode... Initializing gradle... 1.6s Resolving dependencies... 2.8s Running Gradle task 'assembleDebug'... Running Gradle task 'assembleDebug'... Done 3.9s Built build\app\outputs\apk\debug\app-debug.apk. I/Filament(32511): FEngine (64 bits) created at 0x7441400000 (threading is enabled) D/Filament(32511): Using ASurfaceTexture D/Filament(32511): FEngine resolved backend: OpenGL I/SceneView(32511): Optional library com.google.ar.sceneform.animation not present. Sceneform animation disabled I/DecorView(32511): It non-support bigbang I/PhoneWindow(32511): generateLayout isLightNavi false, Visibility: 0 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): arScenViewInit I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): name: [yatd]nm_t[vjxuy I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): shape: dartType: ArCoreSphere I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): radius: 0.2 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): size: [x=0.0, y=0.0, z=0.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): height: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): material: color: -10011977 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): argb: [255, 103, 58, 183] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): metallic: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): reflectance: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): position: [x=0.0, y=0.0, z=-1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): name: [yatd]nm_t[vjxuy I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): shape: dartType: ArCoreSphere I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): radius: 0.2 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): size: [x=0.0, y=0.0, z=0.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): height: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): material: color: -10011977 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): argb: [255, 103, 58, 183] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): metallic: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): reflectance: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): position: [x=0.0, y=0.0, z=-1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): name: [gpdlnxua\_upkpw I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): shape: dartType: ArCoreCube I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): radius: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): size: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): height: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): material: color: -1499549 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): argb: [255, 233, 30, 99] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): metallic: 1.0 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): reflectance: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): position: [x=-0.5, y=-0.5, z=-3.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): name: [gpdlnxua\_upkpw I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): shape: dartType: ArCoreCube I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): radius: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): size: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): height: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): material: color: -1499549 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): argb: [255, 233, 30, 99] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): metallic: 1.0 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): reflectance: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): position: [x=-0.5, y=-0.5, z=-3.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): name: wwmufjcephkh\ttj I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): shape: dartType: ArCoreCylinder I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): radius: 0.3 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): size: [x=0.0, y=0.0, z=0.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): height: 0.4 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): material: color: -11751600 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): argb: [255, 76, 175, 80] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): metallic: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): reflectance: 1.0 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): position: [x=0.0, y=-2.5, z=-3.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): dartType: ArCoreNode I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): name: wwmufjcephkh\ttj I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): shape: dartType: ArCoreCylinder I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): radius: 0.3 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): size: [x=0.0, y=0.0, z=0.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): height: 0.4 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): material: color: -11751600 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): argb: [255, 76, 175, 80] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): texture: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): metallic: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): roughness: null I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): reflectance: 1.0 I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): position: [x=0.0, y=-2.5, z=-3.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): scale: [x=1.0, y=1.0, z=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.NodeFactory(32511): rotation: [x=0.0, y=0.0, z=0.0, w=1.0] I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): onActivityPaused I/com.difrancescogianmarco.arcore_flutter_plugin.RenderableCustomFactory(32511): material not null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addNodeToSceneWithGeometry: NOT PARENT_NODE_NAME I/com.difrancescogianmarco.arcore_flutter_plugin.RenderableCustomFactory(32511): material not null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addNodeToSceneWithGeometry: NOT PARENT_NODE_NAME I/com.difrancescogianmarco.arcore_flutter_plugin.RenderableCustomFactory(32511): material not null I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView(32511): addNodeToSceneWithGeometry: NOT PARENT_NODE_NAME W/ActivityThread(32511): handleWindowVisibility: no activity for token android.os.BinderProxy@9dcadac D/AndroidRuntime(32511): Shutting down VM E/AndroidRuntime(32511): FATAL EXCEPTION: main E/AndroidRuntime(32511): Process: com.example.flutter_ar, PID: 32511 E/AndroidRuntime(32511): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.flutter_ar/com.google.ar.core.InstallActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState E/AndroidRuntime(32511): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2928) E/AndroidRuntime(32511): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3063) E/AndroidRuntime(32511): at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) E/AndroidRuntime(32511): at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) E/AndroidRuntime(32511): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) E/AndroidRuntime(32511): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1823) E/AndroidRuntime(32511): at android.os.Handler.dispatchMessage(Handler.java:107) E/AndroidRuntime(32511): at android.os.Looper.loop(Looper.java:198) E/AndroidRuntime(32511): at android.app.ActivityThread.main(ActivityThread.java:6729) E/AndroidRuntime(32511): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(32511): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) E/AndroidRuntime(32511): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876) E/AndroidRuntime(32511): Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState E/AndroidRuntime(32511): at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView$setupLifeCycle$1.onActivityCreated(Unknown Source:7) E/AndroidRuntime(32511): at android.app.Application.dispatchActivityCreated(Application.java:220) E/AndroidRuntime(32511): at android.app.Activity.onCreate(Activity.java:1048) E/AndroidRuntime(32511): at com.google.ar.core.InstallActivity.onCreate(InstallActivity.java:4) E/AndroidRuntime(32511): at android.app.Activity.performCreate(Activity.java:7136) E/AndroidRuntime(32511): at android.app.Activity.performCreate(Activity.java:7127) E/AndroidRuntime(32511): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272) E/AndroidRuntime(32511): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2908) E/AndroidRuntime(32511): ... 11 more Syncing files to device Nokia 8 1... 1,536ms

    opened by yash365 6
  • Images could not load, How to fix it?

    Images could not load, How to fix it?

    @giandifra

    I want to display image in AR display, but it does not load on the screen when AR camera turn on. I used below snippet to load image. If I made mistake in this snippet, then please suggest me.

    ArCoreController arCoreController;
    
    @override
      void dispose() {
        arCoreController.dispose();
        super.dispose();
      }
    
    @override
      Widget build(BuildContext context) {
        return Scaffold(
            appBar: AppBar(
              title: Text("Ar Demo App"),
            ),
            body: ArCoreView(
              onArCoreViewCreated: _onArCoreViewCreated,
            ));
      }
    
    void _addImage(ArCoreController controller) {
        final material = ArCoreMaterial(
          reflectance: 1.0,
          color: Colors.green,
        );
    
        List<int> list = 'https://picsum.photos/250?image=9'.codeUnits;
        Uint8List bytes = Uint8List.fromList(list);
        print('BYtes ==> $bytes');
    
        final image = ArCoreImage(bytes: bytes, width: 100, height: 150);
    
        final node = ArCoreNode(
          image: image,
          position: vector.Vector3(0.0, -0.5, -2.0),
        );
    
        controller.loadSingleAugmentedImage(bytes: bytes);
        controller.addArCoreNodeWithAnchor(node);
      }
    
    void _onArCoreViewCreated(ArCoreController controller) {
        arCoreController = controller;
        _addImage(arCoreController);
      }
    

    This the log which I get on terminal when AR Camera opens.

    D/Dialog  (25194): mIsSamsungBasicInteraction = false
    D/Dialog  (25194): mIsSamsungBasicInteraction = false, isMetaDataInActivity = false
    I/Filament(25194): FEngine (64 bits) created at 0x78cb4000c0 (threading is enabled)
    D/Filament(25194): Using ASurfaceTexture
    D/Filament(25194): FEngine resolved backend: OpenGL
    W/Gralloc3(25194): allocator 3.x is not supported
    I/SceneView(25194): Optional library com.google.ar.sceneform.animation not present. Sceneform animation disabled
    D/PhoneWindow(25194): forceLight changed to true [] from com.android.internal.policy.PhoneWindow.updateForceLightNavigationBar:4274 com.android.internal.policy.DecorView.up
    dateColorViews:1547 com.android.internal.policy.PhoneWindow.dispatchWindowAttributesChanged:3252 android.view.Window.setFlags:1153 com.android.internal.policy.PhoneWindow.g
    enerateLayout:2474
    I/MultiWindowDecorSupport(25194): [INFO] isPopOver = false
    I/MultiWindowDecorSupport(25194): updateCaptionType >> DecorView@bb7fe78[], isFloating: false, isApplication: false, hasWindowDecorCaption: false, hasWindowControllerCallba
    ck: false
    D/MultiWindowDecorSupport(25194): setCaptionType = 0, DecorView = DecorView@bb7fe78[]
    I/ViewRootImpl@6b06742[MainActivity](25194): setView = com.android.internal.policy.DecorView@bb7fe78 TM=true MM=false
    V/InputMethodManager(25194): Not IME target window, ignoring
    I/SurfaceView(25194): onWindowVisibilityChanged(0) true com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ......I. 0,0-0,0} of ViewRootImpl@6b06742[MainActivity]
    I/ViewRootImpl@6b06742[MainActivity](25194): Relayout returned: old=(0,0,1080,2042) new=(0,0,1080,2042) req=(1080,2042)0 dur=7 res=0x7 s={true 519260512256} ch=true
    D/OpenGLRenderer(25194): createReliableSurface : 0x7970b3aac0(0x78e656a000)
    I/mali_winsys(25194): new_window_surface() [1080x2042] return: 0x3000
    D/OpenGLRenderer(25194): eglCreateWindowSurface : 0x78ed099f00
    I/SurfaceView(25194): surfaceCreated 1 #8 com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ......ID 0,0-1080,2042}
    I/SurfaceView(25194): surfaceChanged (1080,2042) 1 #8 com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ......ID 0,0-1080,2042}
    E/DecorView(25194): mWindow.mActivityCurrentConfig is null
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x7a01264f80 -> 0x78ed099f00
    I/OpenGLRenderer(25194): doUpdatePositionAsync is called and callVoidMethod
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x78ed099f00 -> 0x7a01264f80
    I/ViewRootImpl@6b06742[MainActivity](25194): Relayout returned: old=(0,0,1080,2042) new=(0,0,1080,2042) req=(1080,2042)0 dur=7 res=0x1 s={true 519260512256} ch=false
    I/ViewRootImpl@60e2fcf[MainActivity](25194): MSG_WINDOW_FOCUS_CHANGED 0 1
    D/InputMethodManager(25194): prepareNavigationBarInfo() DecorView@48c0f73[MainActivity]
    D/InputMethodManager(25194): getNavigationBarColor() -855310
    I/flutter (25194): BYtes ==> [104, 116, 116, 112, 115, 58, 47, 47, 112, 105, 99, 115, 117, 109, 46, 112, 104, 111, 116, 111, 115, 47, 50, 53, 48, 63, 105, 109, 97, 103, 101
    , 61, 57]
    D/skia    (25194): --- Failed to create image decoder with message 'unimplemented'
    E/MethodChannel#arcore_flutter_plugin_0(25194): Failed to handle method call
    E/MethodChannel#arcore_flutter_plugin_0(25194): java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object r
    eference
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:835)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at com.difrancescogianmarco.arcore_flutter_plugin.RenderableCustomFactory$Companion.makeRenderable(RenderableCustomF
    actory.kt:84)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView.addNodeWithAnchor(ArCoreView.kt:342)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView.onMethodCall(ArCoreView.kt:175)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at android.os.MessageQueue.nativePollOnce(Native Method)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at android.os.MessageQueue.next(MessageQueue.java:336)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at android.os.Looper.loop(Looper.java:197)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at android.app.ActivityThread.main(ActivityThread.java:8167)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at java.lang.reflect.Method.invoke(Native Method)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    E/MethodChannel#arcore_flutter_plugin_0(25194):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
    I/ViewRootImpl@6b06742[MainActivity](25194): MSG_RESIZED: frame=(0,0,1080,2042) ci=(0,0,0,0) vi=(0,0,0,0) or=1
    I/ViewRootImpl@60e2fcf[MainActivity](25194): stopped(false) old=false
    E/flutter (25194): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'int android.graphics.Bitmap.
    getWidth()' on a null object reference, null, java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object ref
    erence
    E/flutter (25194):      at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:835)
    E/flutter (25194):      at com.difrancescogianmarco.arcore_flutter_plugin.RenderableCustomFactory$Companion.makeRenderable(RenderableCustomFactory.kt:84)
    E/flutter (25194):      at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView.addNodeWithAnchor(ArCoreView.kt:342)
    E/flutter (25194):      at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView.onMethodCall(ArCoreView.kt:175)
    E/flutter (25194):      at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
    E/flutter (25194):      at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
    E/flutter (25194):      at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692)
    E/flutter (25194):      at android.os.MessageQueue.nativePollOnce(Native Method)
    E/flutter (25194):      at android.os.MessageQueue.next(MessageQueue.java:336)
    E/flutter (25194):      at android.os.Looper.loop(Looper.java:197)
    E/flutter (25194):      at android.app.ActivityThread.main(ActivityThread.java:8167)
    E/flutter (25194):      at java.lang.reflect.Method.invoke(Native Method)
    E/flutter (25194):      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    E/flutter (25194):      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
    E/flutter (25194): )
    E/flutter (25194): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7)
    E/flutter (25194): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18)
    E/flutter (25194): <asynchronous suspension>
    E/flutter (25194): #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
    E/flutter (25194): #3      ArCoreController.addArCoreNodeWithAnchor (package:arcore_flutter_plugin/src/arcore_controller.dart:164:21)
    E/flutter (25194): #4      HomePageState._addImage (package:ardemo/HomePage.dart:108:16)
    E/flutter (25194): #5      HomePageState._onArCoreViewCreated (package:ardemo/HomePage.dart:43:5)
    E/flutter (25194): #6      _ArCoreViewState._onPlatformViewCreated (package:arcore_flutter_plugin/src/arcore_view.dart:65:31)
    E/flutter (25194): #7      AndroidViewController.create (package:flutter/src/services/platform_views.dart:747:15)
    E/flutter (25194): #8      _rootRunUnary (dart:async/zone.dart:1198:47)
    E/flutter (25194): #9      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
    E/flutter (25194): #10     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
    E/flutter (25194): #11     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
    E/flutter (25194): #12     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
    E/flutter (25194): #13     Future._completeWithValue (dart:async/future_impl.dart:529:5)
    E/flutter (25194): #14     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
    E/flutter (25194): #15     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
    E/flutter (25194): #16     TextureAndroidViewController._sendCreateMessage (package:flutter/src/services/platform_views.dart)
    E/flutter (25194): #17     _rootRunUnary (dart:async/zone.dart:1198:47)
    E/flutter (25194): #18     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
    E/flutter (25194): #19     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
    E/flutter (25194): #20     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
    E/flutter (25194): #21     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
    E/flutter (25194): #22     Future._completeWithValue (dart:async/future_impl.dart:529:5)
    E/flutter (25194): #23     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
    E/flutter (25194): #24     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
    E/flutter (25194): #25     MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart)
    E/flutter (25194): #26     _rootRunUnary (dart:async/zone.dart:1198:47)
    E/flutter (25194): #27     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
    E/flutter (25194): #28     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
    E/flutter (25194): #29     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
    E/flutter (25194): #30     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
    E/flutter (25194): #31     Future._completeWithValue (dart:async/future_impl.dart:529:5)
    E/flutter (25194): #32     Future._asyncCompleteWithValue.<anonymous closure> (dart:asyn
    I/third_party/arcore/ar/core/android/sdk/session_create.cc(25194): Entering ArSession_create
    I/third_party/arcore/ar/core/android/sdk/session_create.cc(25194): ARCore Version: SDK build name: 1.13
    I/third_party/arcore/ar/core/android/sdk/session_create.cc(25194): ARCore Version: APK version code: 202940503
    W/com.si.ardemo(25194): Insufficient pre-allocated space to mmap vdex.
    I/third_party/arcore/ar/core/android/sdk/session_create.cc(25194): Dynamite load ok.
    I/third_party/arcore/java/com/google/vr/dynamite/client/native/dynamite_client.cc(25194): Attempting to load native library arcore_c from package com.google.ar.core
    I/third_party/arcore/java/com/google/vr/dynamite/client/native/dynamite_client.cc(25194): Dynamite::LoadNativeRemoteLibrary handle=6478568741914620037
    I/native  (25194): session_create_implementation.cc:201 Entering createImplementationWithFeaturesAndSettings. ARCore SDK version: [1.13.190919000].
    V/third_party/redwood/infrastructure/jni_common/jni_helper.cc(25194): JniHelper: attached thread (Called from line 363).
    I/native  (25194): session_create_implementation_shared.cc:2052 Persistent online recalibration is enabled by Phenotype.
    I/tflite  (25194): Initialized TensorFlow Lite runtime.
    I/native  (25194): online_calibration_manager.cc:90 OnlineCalibrationManager: Could not open /data/user/0/com.si.ardemo/cache/arcore-online-recalibration for reading.
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->peekLong(JZ)J (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->pokeLong(JJZ)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->pokeInt(JIZ)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->peekInt(JZ)I (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->pokeByte(JB)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->peekByte(J)B (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->pokeByteArray(J[BII)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Llibcore/io/Memory;->peekByteArray(J[BII)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden field Ljava/nio/Buffer;->address:J (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->arrayIndexScale(Ljava/lang/Class;)I (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, reflection, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putInt(Ljava/lang/Object;JI)V (greylist, linking, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putLong(Ljava/lang/Object;JJ)V (greylist, linking, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V (greylist, linking, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getObject(Ljava/lang/Object;J)Ljava/lang/Object; (greylist, linking, allowed)
    W/com.si.ardemo(25194): Accessing hidden method Lsun/misc/Unsafe;->getInt(Ljava/lang/Object;J)I (greylist, linking, allowed)
    W/ARCore-ContextUtils(25194): The API key for use with the Google AR service could not be obtained!
    I/native  (25194): session_create_implementation_shared.cc:922 Datasource will be created with timeout = 4s, should_wait = false, should_use_greedy_recovery = true
    I/native  (25194): android_camera.cc:169 Camera start operation timeout set to 4000 ms.
    I/native  (25194): android_camera.cc:1824 Initializing camera manager.
    D/VendorTagDescriptor(25194): addVendorDescriptor: vendor tag id 3854507339 added
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 122
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 121
    I/native  (25194): android_camera.cc:1850 Camera manager initialized successfully with 4 cameras.
    I/native  (25194): imagereader_ndk_wrapper.cc:45 Loading Android NDK 26 symbols from libmediandk.so
    I/native  (25194): imagereader_ndk_wrapper.cc:68 Successfully loaded Android NDK 26 libmediandk.so symbols.
    I/native  (25194): cameras.cc:119 Number of hardware buffers is 16. sdk_version=29, is_hardware_buffer_supported=true
    I/native  (25194): session_create_implementation_shared.cc:1104 Datasource will be created with should_use_cameras_async = true
    I/native  (25194): android_sensors.cc:96 Using uncalibrated accelerometer.
    I/native  (25194): android_sensors.cc:135 Uncalibrated magnetometer available.
    I/native  (25194): android_sensors.cc:139 Calibrated magnetometer available.
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_LIGHT
    I/native  (25194): android_sensors.cc:155 Could not find SENSOR_TYPE_PRESSURE
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_PROXIMITY
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_GRAVITY
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_ROTATION_VECTOR
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_GAME_ROTATION_VECTOR
    I/native  (25194): android_sensors.cc:155 Could not find SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR
    I/native  (25194): android_sensors.cc:152 Using SENSOR_TYPE_STEP_DETECTOR
    I/native  (25194): android_platform_checks.cc:195 IsZeroRotationLandscape = false
    I/native  (25194): create_pursuit_tracker.cc:20 AugmentedRegion downsample mode from Phenotype: true
    I/native  (25194): app_version_util.cc:50 Package name: com.google.ar.core App version: 1.21.202940503
    I/native  (25194): logger.h:28 DataSourceMetrics: CamerasInit: 28.923us
    I/native  (25194): session_create_implementation_shared.cc:1241 CPU Image enable frame delay to compensate delay: false
    I/native  (25194): config_helpers.cc:396 Legacy IMU sigma values are used
    I/native  (25194): config_helpers.cc:349 Failed to find IMU intrinsic covariance matrix in profile for id: 100
    I/native  (25194): config_helpers.cc:107 Does not find camera intrinsic covariance matrix in profile for id 0
    I/native  (25194): config_helpers.cc:180 Does not find extrinsic covariance matrix in profile for IMU id 100
    I/native  (25194): feature_matcher_and_filter.cc:91 Enabled the robustification to large-sized and fast-moving objects on this mono-camera device.
    I/native  (25194): pose_confidence_estimator.cc:231 Pose confidence model loaded successfully
    I/native  (25194): estimator_impl.cc:488 Ralph is enabled.
    I/native  (25194): asset_manager_util.cc:59 Created global reference to asset manager.
    I/native  (25194): session_create_implementation_shared.cc:1269 Normal detector created.
    I/native  (25194): session_create_implementation_shared.cc:1310 Experimental feature: Surfel planes enabled
    I/native  (25194): planar_target_tracking_manager.h:114 Config of PlanarTargetTrackingManager:
    I/native  (25194): -pose_refinement_with_detection_interval_ns: 0
    I/native  (25194): -min_interval_between_detections_ns: 500000000
    I/native  (25194): -filter_parallax: false
    I/native  (25194): -filter_result: true
    I/native  (25194): -multiple_targets: true
    I/native  (25194): -mini_detection: true
    I/native  (25194): -tracking_mode: 1
    I/native  (25194): -camera_id: 0
    I/native  (25194): camera_config_manager.cc:750 UpdateBugFixes on CameraConfigManager is unimplemented!
    W/com.si.ardemo(25194): Accessing hidden method Landroid/media/Image;-><init>()V (greylist, linking, allowed)
    I/third_party/arcore/ar/core/android/sdk/arimage_jni.cc(25194): Loading AImage symbols
    I/third_party/arcore/ar/core/android/sdk/image_metadata_jni.cc(25194): Loading ACameraMetadata symbols
    I/native  (25194): session.cc:542 Session::CheckAndWriteCurrentConfig returning OK.
    E/ArSceneView(25194): Error loading libarsceneview_jni.so
    E/ArSceneView(25194): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.si.ardemo-STjCJDG_8VUo3omb9N01GA==/base.apk"],nativ
    eLibraryDirectories=[/data/app/com.si.ardemo-STjCJDG_8VUo3omb9N01GA==/lib/arm64, /data/app/com.si.ardemo-STjCJDG_8VUo3omb9N01GA==/base.apk!/lib/arm64-v8a, /system/lib64]]]
    couldn't find "libarsceneview_jni.so"
    E/ArSceneView(25194):   at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
    E/ArSceneView(25194):   at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
    E/ArSceneView(25194):   at java.lang.System.loadLibrary(System.java:1667)
    E/ArSceneView(25194):   at com.google.ar.sceneform.ArSceneView.reportEngineType(SourceFile:232)
    E/ArSceneView(25194):   at com.google.ar.sceneform.ArSceneView.resumeSession(SourceFile:51)
    E/ArSceneView(25194):   at com.google.ar.sceneform.ArSceneView.resume(SourceFile:41)
    E/ArSceneView(25194):   at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView.onResume(ArCoreView.kt:492)
    E/ArSceneView(25194):   at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView$setupLifeCycle$1.onActivityResumed(ArCoreView.kt:253)
    E/ArSceneView(25194):   at android.app.Application.dispatchActivityResumed(Application.java:455)
    E/ArSceneView(25194):   at android.app.Activity.dispatchActivityResumed(Activity.java:1291)
    E/ArSceneView(25194):   at android.app.Activity.onResume(Activity.java:1819)
    E/ArSceneView(25194):   at io.flutter.embedding.android.FlutterActivity.onResume(FlutterActivity.java:542)
    E/ArSceneView(25194):   at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1454)
    E/ArSceneView(25194):   at android.app.Activity.performResume(Activity.java:8111)
    E/ArSceneView(25194):   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4647)
    E/ArSceneView(25194):   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4690)
    E/ArSceneView(25194):   at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
    E/ArSceneView(25194):   at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
    E/ArSceneView(25194):   at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
    E/ArSceneView(25194):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2267)
    E/ArSceneView(25194):   at android.os.Handler.dispatchMessage(Handler.java:107)
    E/ArSceneView(25194):   at android.os.Looper.loop(Looper.java:237)
    E/ArSceneView(25194):   at android.app.ActivityThread.main(ActivityThread.java:8167)
    E/ArSceneView(25194):   at java.lang.reflect.Method.invoke(Native Method)
    E/ArSceneView(25194):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
    E/ArSceneView(25194):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
    I/native  (25194): session.cc:1145 Entering Session::Resume.
    I/native  (25194): session.cc:1453 Camera switched to primary motion_tracking_camera_id_string: 0, motion_tracking_camera_id: MotionTrackingPrimary
    I/native  (25194): camera_config_manager.cc:750 UpdateBugFixes on CameraConfigManager is unimplemented!
    I/CameraManagerGlobal(25194): Connecting to camera service
    D/VendorTagDescriptor(25194): addVendorDescriptor: vendor tag id 3854507339 added
    I/CameraManagerGlobal(25194): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.si.ardemo API Level 2
    I/CameraManagerGlobal(25194): Camera 1 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client com.samsung.adaptivebrightnessgo API Level 2
    I/CameraManagerGlobal(25194): Camera 2 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.whatsapp API Level 1
    I/CameraManagerGlobal(25194): Camera 20 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.sec.android.app.camera API Level 2
    I/CameraManagerGlobal(25194): Camera 21 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
    I/CameraManagerGlobal(25194): Camera 23 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
    I/CameraManagerGlobal(25194): Camera 3 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client com.samsung.android.aremoji API Level 2
    I/CameraManagerGlobal(25194): Camera 4 facing CAMERA_FACING_FRONT state now CAMERA_STATE_CLOSED for client android.system API Level 2
    I/native  (25194): session.cc:3102 Update Frame Delay to 0 frames.
    I/CameraManagerGlobal(25194): Camera 50 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.sec.android.app.camera API Level 2
    I/native  (25194): android_sensors.cc:174 Starting thread.
    I/native  (25194): android_camera.cc:763 [Camera=0; State=CLOSED] Reset cleanly got to CLOSED state.
    I/CameraManagerGlobal(25194): Camera 52 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client android.system API Level 2
    I/native  (25194): cameras.cc:1143 Included camera stream {camera_id = "0", stream_index = 0} as feature extraction streams.
    I/native  (25194): logger.h:28 DataSourceMetrics: kStartImageSubSystem: 257.769us
    I/native  (25194): session.cc:1307 Session::ResumeWithAnalytics returning OK.
    I/native  (25194): android_sensors.cc:44 Gyro min delay 2ms requesting 5ms
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 120
    I/native  (25194): session.cc:3102 Update Frame Delay to 0 frames.
    I/native  (25194): android_sensors.cc:44 Accel min delay 2ms requesting 5ms
    I/CameraManagerGlobal(25194): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_OPEN for client com.si.ardemo API Level 2
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x7a01264f80 -> 0x78ed099f00
    I/native  (25194): logger.h:28 CameraMetrics: OpenCamera: 23.006192ms
    I/native  (25194): camera_ndk_wrapper.cc:26 Loading Android NDK 28 symbols from libcamera2ndk.so
    I/native  (25194): camera_ndk_wrapper.cc:46 Successfully loaded Android NDK 28 libcamera2ndk.so symbols.
    I/ViewRootImpl@60e2fcf[MainActivity](25194): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)0 dur=7 res=0x1 s={true 519421005824} ch=false
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x78ed099f00 -> 0x7a01264f80
    I/ViewRootImpl@60e2fcf[MainActivity](25194): MSG_WINDOW_FOCUS_CHANGED 1 1
    D/InputMethodManager(25194): prepareNavigationBarInfo() DecorView@48c0f73[MainActivity]
    D/InputMethodManager(25194): getNavigationBarColor() -855310
    E/DecorView(25194): mWindow.mActivityCurrentConfig is null
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x7a01264f80 -> 0x78ed099f00
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x78ed099f00 -> 0x7a01264f80
    I/native  (25194): logger.h:28 CameraMetrics: CreateCaptureSession: 98.631076ms
    E/ACameraMetadata(25194): filterDurations: malformed duration key 851980! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638402! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638403! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835009! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1835010! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638407! count 0, type 3
    E/ACameraMetadata(25194): filterDurations: malformed duration key 1638408! count 0, type 0
    I/native  (25194): capture_request_utils.cc:206 Flash: ConfigureRequestFlashMode - OFF
    I/native  (25194): logger.h:28 DataSourceMetrics: kFirstGlCallback: 127.328808ms
    I/native  (25194): cameras.cc:1314 Camera 0 changed state CLOSED->OPEN; Camera device opened successfully. i=0
    I/native  (25194): cameras.cc:1314 Camera 0 changed state OPEN->CAPTURING; Started capture session. i=1
    I/mali_winsys(25194): new_window_surface() [1080x2042] return: 0x3000
    I/CameraManagerGlobal(25194): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_ACTIVE for client com.si.ardemo API Level 2
    I/native  (25194): timebase_helpers.cc:169 Timebase offset intialized to 0
    I/native  (25194): logger.h:28 CameraMetrics: FirstCaptureComplete: 332.113038ms
    I/native  (25194): logger.h:28 DataSourceMetrics: kFirstImageCallback: 457.284846ms
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): feature_matcher_and_filter_utils.cc:249 INVALID_ARGUMENT: integration window start at 0 Use identity R.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/ViewRootImpl@60e2fcf[MainActivity](25194): ViewPostIme pointer 0
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/ViewRootImpl@60e2fcf[MainActivity](25194): ViewPostIme pointer 1
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    I/native  (25194): distribute.cc:79 No keypoints to prune.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    W/native  (25194): ransac.cc:667 Exiting without computing LS fit after RANSAC, as minimum of 2 pts are required.
    E/native  (25194): motion_tracking_context.cc:1055 Unable to find measurements corresponding to VIO status at timestamp 915983498204829.
    I/native  (25194): bundle_adjustment_initializer.cc:685 Deterministic initialization
    W/native  (25194): bundle_adjustment_initializer.cc:213 BA initialization failed: Image has too few landmarks.
    E/native  (25194): vio_initializer.cc:612 Initializer's BA failed to produce a valid output!
    I/native  (25194): bundle_adjustment_initializer.cc:685 Deterministic initialization
    W/native  (25194): bundle_adjustment_initializer.cc:213 BA initialization failed: Image has too few landmarks.
    E/native  (25194): vio_initializer.cc:612 Initializer's BA failed to produce a valid output!
    I/native  (25194): bundle_adjustment_initializer.cc:685 Deterministic initialization
    E/native  (25194): bundle_adjustment_initializer.cc:703 SSBA does not get enough landmarks. Found 10 < 16
    E/native  (25194): bundle_adjustment_initializer.cc:145 Failed to initialize the network.
    E/native  (25194): vio_initializer.cc:612 Initializer's BA failed to produce a valid output!
    I/native  (25194): bundle_adjustment_initializer.cc:685 Deterministic initialization
    W/native  (25194): bundle_adjustment_initializer.cc:213 BA initialization failed: Image has too few landmarks.
    E/native  (25194): vio_initializer.cc:612 Initializer's BA failed to produce a valid output!
    I/native  (25194): bundle_adjustment_initializer.cc:685 Deterministic initialization
    I/native  (25194): bundle_adjustment_initializer.cc:254 Intrinsic vector size of the camera 0 is 7
    I/native  (25194): bundle_adjustment_initializer.cc:442 Initializer did not converge: Maximum number of iterations reached. Number of iterations: 18.
    I/native  (25194): bundle_adjustment_initialization.h:134 Number of measurements used in BA initialization for temporal landmarks: 338
    I/native  (25194): bundle_adjustment_initialization.h:136 Number of good measurements (i.e., reprojection errors <= 3 pixels) in BA initialization for temporal landmarks: 3
    09
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    I/ViewRootImpl@60e2fcf[MainActivity](25194): ViewPostIme key 0
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    I/ViewRootImpl@60e2fcf[MainActivity](25194): ViewPostIme key 1
    E/native  (25194): hit_test.cc:382 generic::internal: No point hit.
    I/native  (25194): session.cc:1464 Entering Session::Pause.
    I/native  (25194): plane_manager.cc:931 PopulatePlaneEstimationStatistics  number_of_normal_segmentations: 0, number_of_plane_normal_segment_matches: 0, vertical_planes_bou
    ndary_area: 0, vertical_planes_ml_boundary_growth: 0, number_of_vertical_planes: 0, number_of_vertical_planes_with_ml_boundary_growth: 0, avg_duration_in_seconds: 0, tof_me
    rge_quality_stats_.Empty(): true, tof_merge_quality_stats_.hist_area_overlap_ratio_: [0.750, 0.760): 0.000000, [0.760, 0.770): 0.000000, [0.770, 0.780): 0.000000, [0.780, 0
    .790): 0.000000, [0.790, 0.800): 0.000000, [0.800, 0.810): 0.000000, [0.810, 0.820): 0.000000, [0.820, 0.830): 0.000000, [0.830, 0.840): 0.000000, [0.840, 0.850): 0.000000,
     [0.850, 0.860): 0.000000, [0.860, 0.870): 0.000000, [0.870, 0.880): 0.000000, [0.880, 0.890): 0.000000, [0.890, 0.900): 0.000000, [0.900, 0.910): 0.000000, [0.910, 0.920):
     0.000000, [0.920, 0.930): 0.000000, [0.930, 0.940): 0.000000, [0.940, 0.950): 0.000000, [0.950, 0.960): 0.000000, [0.960, 0.970): 0.000000, [0.970, 0.980): 0.000000, [0.98
    0, 0.990): 0.000000, [0.990, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quality_stats_.hist_feature_overlap_ratio_: [0.900, 0.905): 0.000000, [0.905, 0.910): 0.0
    00000, [0.910, 0.915): 0.000000, [0.915, 0.920): 0.000000, [0.920, 0.925): 0.000000, [0.925, 0.930): 0.000000, [0.930, 0.935): 0.000000, [0.935, 0.940): 0.000000, [0.940, 0
    .945): 0.000000, [0.945, 0.950): 0.000000, [0.950, 0.955): 0.000000, [0.955, 0.960): 0.000000, [0.960, 0.965): 0.000000, [0.965, 0.970): 0.000000, [0.970, 0.975): 0.000000,
     [0.975, 0.980): 0.000000, [0.980, 0.985): 0.000000, [0.985, 0.990): 0.000000, [0.990, 0.995): 0.000000, [0.995, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quali
    ty_stats_.hist_normal_closeness_: [0.900, 0.905): 0.000000, [0.905, 0.910): 0.000000, [0.910, 0.915): 0.000000, [0.915, 0.920): 0.000000, [0.920, 0.925): 0.000000, [0.925,
    0.930): 0.000000, [0.930, 0.935): 0.000000, [0.935, 0.940): 0.000000, [0.940, 0.945): 0.000000, [0.945, 0.950): 0.000000, [0.950, 0.955): 0.000000, [0.955, 0.960): 0.000000
    , [0.960, 0.965): 0.000000, [0.965, 0.970): 0.000000, [0.970, 0.975): 0.000000, [0.975, 0.980): 0.000000, [0.980, 0.985): 0.000000, [0.985, 0.990): 0.000000, [0.990, 0.995)
    : 0.000000, [0.995, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quality_stats_.hist_plane_distance_: [0.000, 0.010): 0.000000, [0.010, 0.020): 0.000000, [0.020, 0
    .030): 0.000000, [0.030, 0.040): 0.000000, [0.040, 0.050): 0.000000, [0.050, 0.060): 0.000000, [0.060, 0.070): 0.000000, [0.070, 0.080): 0.000000, [0.080, 0.090): 0.000000,
     [0.090, 0.100): 0.000000, [0.100, 0.110): 0.000000, [0.110, 0.120): 0.000000, [0.120, 0.130): 0.000000, [0.130, 0.140): 0.000000, [0.140, 0.150): 0.000000, [0.150, 0.160):
     0.000000, [0.160, 0.170): 0.000000, [0.170, 0.180): 0.000000, [0.180, 0.190): 0.000000, [0.190, 0.200): 0.000000, [0.200, 0.210): 0.000000, [0.210, 0.220): 0.000000, [0.22
    0, 0.230): 0.000000, [0.230, 0.240): 0.000000, [0.240, 0.250): 0.000000, [0.250, 0.260): 0.000000, [0.260, 0.270): 0.000000, [0.270, 0.280): 0.000000, [0.280, 0.290): 0.000
    000, [0.290, 0.300): 0.000000, [0.300, 0.310): 0.000000, [0.310, 0.320): 0.000000, [0.320, 0.330): 0.000000, [0.330, 0.340): 0.000000, [0.340, 0.350): 0.000000, [0.350, 0.3
    60): 0.000000, [0.360, 0.370): 0.000000, [0.370, 0.380): 0.000000, [0.380, 0.390): 0.000000, [0.390, 0.400): 0.000000, [0.400, 0.410): 0.000000, [0.410, 0.420): 0.000000, [
    0.420, 0.430): 0.000000, [0.430, 0.440): 0.000000, [0.440, 0.450): 0.000000, [0.450, 0.460): 0.000000, [0.460, 0.470): 0.000000, [0.470, 0.480): 0.000000, [0.480, 0.490): 0
    .000000, [0.490, 0.500): 0.000000, [0.500, inf): 0.000000, , ms_merge_quality_stats_.Empty(): true, ms_merge_quality_stats_.hist_area_overlap_ratio_: [0.750, 0.760): 0.0000
    00, [0.760, 0.770): 0.000000, [0.770, 0.780): 0.000000, [0.780, 0.790): 0.000000, [0.790, 0.800): 0.000000, [0.800, 0.810): 0.000000, [0.810, 0.820): 0.000000, [0.820, 0.83
    0): 0.000000, [0.830, 0.840): 0.000000, [0.840, 0.850): 0.000000, [0.850, 0.860): 0.000000, [0.860, 0.870): 0.000000, [0.8
    I/native  (25194): online_calibration_manager.cc:163 OnlineCalibrationManager: Discarding the new online recalibration estimates.
    I/native  (25194): cameras.cc:1314 Camera 0 changed state CAPTURING->STOPPING; Capture session stopping... i=2
    E/ACameraDevice(25194): onDeviceIdle sending state cb
    I/native  (25194): android_camera.cc:1625 [Camera=0; State=STOPPING] Camera completed repeating capture sequence 0
    I/native  (25194): logger.h:28 CameraMetrics: LastCaptureComplete: 226.006961ms
    I/CameraManagerGlobal(25194): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_IDLE for client com.si.ardemo API Level 2
    I/native  (25194): logger.h:28 CameraMetrics: CloseCaptureSession: 138.510308ms
    I/native  (25194): cameras.cc:1314 Camera 0 changed state STOPPING->OPEN; Camera stopped. i=3
    I/CameraManagerGlobal(25194): Camera 0 facing CAMERA_FACING_BACK state now CAMERA_STATE_CLOSED for client com.si.ardemo API Level 2
    I/native  (25194): logger.h:28 CameraMetrics: CloseCamera: 79.695577ms
    I/native  (25194): cameras.cc:1314 Camera 0 changed state OPEN->CLOSED; Camera device closed successfully. i=4
    I/native  (25194): logger.h:28 DataSourceMetrics: kStopImageSubSystem: 447.598076ms
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_egl(25194): eglDestroySurface() out
    E/native  (25194): scheduler.cc:279 generic::internal: RET_CHECK failure (third_party/mediapipe/framework/scheduler.cc:279) (state_)!=(STATE_NOT_STARTED)
    E/native  (25194): Stack trace:
    E/native  (25194):
    E/native  (25194): normal_detector_cpu.cc:229 Error graph_->WaitUntilIdle():INTERNAL: RET_CHECK failure (third_party/mediapipe/framework/scheduler.cc:279) (state_)!=(STATE_
    NOT_STARTED)
    E/native  (25194): scheduler.cc:279 generic::internal: RET_CHECK failure (third_party/mediapipe/framework/scheduler.cc:279) (state_)!=(STATE_NOT_STARTED)
    E/native  (25194): Stack trace:
    E/native  (25194):
    E/native  (25194): normal_detector_cpu.cc:229 Error graph_->WaitUntilIdle():INTERNAL: RET_CHECK failure (third_party/mediapipe/framework/scheduler.cc:279) (state_)!=(STATE_
    NOT_STARTED)
    I/native  (25194): session.cc:1566 Session::PauseWithAnalytics returning OK.
    E/DecorView(25194): mWindow.mActivityCurrentConfig is null
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x7a01264f80 -> 0x78ed099f00
    I/ViewRootImpl@60e2fcf[MainActivity](25194): MSG_WINDOW_FOCUS_CHANGED 0 1
    D/InputMethodManager(25194): prepareNavigationBarInfo() DecorView@48c0f73[MainActivity]
    D/InputMethodManager(25194): getNavigationBarColor() -855310
    D/InputTransport(25194): Input channel destroyed: 'ClientS', fd=94
    I/SurfaceView(25194): onWindowVisibilityChanged(8) false io.flutter.embedding.android.FlutterSurfaceView{76e3865 V.E...... ........ 0,0-1080,2274} of ViewRootImpl@60e2fcf[M
    ainActivity]
    I/SurfaceView(25194): surfaceDestroyed callback.size 1 #2 io.flutter.embedding.android.FlutterSurfaceView{76e3865 V.E...... ........ 0,0-1080,2274}
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_winsys(25194): delete_surface() [1080x2274] return
    I/mali_egl(25194): eglDestroySurface() out
    W/libEGL  (25194): EGLNativeWindowType 0x78efe7b010 disconnect failed
    I/SurfaceView(25194): remove() io.flutter.embedding.android.FlutterSurfaceView{76e3865 V.E...... ........ 0,0-1080,2274} Surface(name=SurfaceView - com.si.ardemo/com.si.ard
    emo.MainActivity@76e3865@0)/@0x2ad1d09
    D/OpenGLRenderer(25194): destroyEglSurface : 0x7a01264f80
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_winsys(25194): delete_surface() [1080x2400] return
    I/mali_egl(25194): eglDestroySurface() out
    E/OpenGLRenderer(25194): ReliableSurface: perform returned an error
    W/libEGL  (25194): EGLNativeWindowType 0x7a01283e90 disconnect failed
    D/OpenGLRenderer(25194): ~ReliableSurface : 0x7a01283e80
    I/ViewRootImpl@60e2fcf[MainActivity](25194): Relayout returned: old=(0,0,1080,2400) new=(0,0,1080,2400) req=(1080,2400)8 dur=5 res=0x5 s={false 0} ch=true
    I/ViewRootImpl@60e2fcf[MainActivity](25194): stopped(true) old=false
    I/SurfaceView(25194): windowStopped(true) false io.flutter.embedding.android.FlutterSurfaceView{76e3865 V.E...... ........ 0,0-1080,2274} of ViewRootImpl@60e2fcf[MainActivi
    ty]
    I/SurfaceView(25194): onWindowVisibilityChanged(8) false com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ........ 0,0-1080,2042} of ViewRootImpl@6b06742[MainActivity]
    I/SurfaceView(25194): surfaceDestroyed callback.size 1 #2 com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ........ 0,0-1080,2042}
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_winsys(25194): delete_surface() [1080x2042] return
    I/mali_egl(25194): eglDestroySurface() out
    W/libEGL  (25194): EGLNativeWindowType 0x78e65e0010 disconnect failed
    I/SurfaceView(25194): remove() com.google.ar.sceneform.ArSceneView{463f5a8 V.E...... ........ 0,0-1080,2042} Surface(name=SurfaceView - Sys2030:com.si.ardemo/com.si.ardemo.
    MainActivity@463f5a8@0)/@0x844b0e
    D/OpenGLRenderer(25194): makeCurrent EglSurface : 0x78ed099f00 -> 0x0
    D/OpenGLRenderer(25194): destroyEglSurface : 0x78ed099f00
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_winsys(25194): delete_surface() [1080x2042] return
    I/mali_egl(25194): eglDestroySurface() out
    E/OpenGLRenderer(25194): ReliableSurface: perform returned an error
    W/libEGL  (25194): EGLNativeWindowType 0x7970b3aad0 disconnect failed
    D/OpenGLRenderer(25194): ~ReliableSurface : 0x7970b3aac0
    I/ViewRootImpl@6b06742[MainActivity](25194): dispatchDetachedFromWindow
    D/InputTransport(25194): Input channel destroyed: 'c109cf3', fd=107
    I/native  (25194): session.cc:1464 Entering Session::Pause.
    I/native  (25194): plane_manager.cc:931 PopulatePlaneEstimationStatistics  number_of_normal_segmentations: 0, number_of_plane_normal_segment_matches: 0, vertical_planes_bou
    ndary_area: 0, vertical_planes_ml_boundary_growth: 0, number_of_vertical_planes: 0, number_of_vertical_planes_with_ml_boundary_growth: 0, avg_duration_in_seconds: 0, tof_me
    rge_quality_stats_.Empty(): true, tof_merge_quality_stats_.hist_area_overlap_ratio_: [0.750, 0.760): 0.000000, [0.760, 0.770): 0.000000, [0.770, 0.780): 0.000000, [0.780, 0
    .790): 0.000000, [0.790, 0.800): 0.000000, [0.800, 0.810): 0.000000, [0.810, 0.820): 0.000000, [0.820, 0.830): 0.000000, [0.830, 0.840): 0.000000, [0.840, 0.850): 0.000000,
     [0.850, 0.860): 0.000000, [0.860, 0.870): 0.000000, [0.870, 0.880): 0.000000, [0.880, 0.890): 0.000000, [0.890, 0.900): 0.000000, [0.900, 0.910): 0.000000, [0.910, 0.920):
     0.000000, [0.920, 0.930): 0.000000, [0.930, 0.940): 0.000000, [0.940, 0.950): 0.000000, [0.950, 0.960): 0.000000, [0.960, 0.970): 0.000000, [0.970, 0.980): 0.000000, [0.98
    0, 0.990): 0.000000, [0.990, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quality_stats_.hist_feature_overlap_ratio_: [0.900, 0.905): 0.000000, [0.905, 0.910): 0.0
    00000, [0.910, 0.915): 0.000000, [0.915, 0.920): 0.000000, [0.920, 0.925): 0.000000, [0.925, 0.930): 0.000000, [0.930, 0.935): 0.000000, [0.935, 0.940): 0.000000, [0.940, 0
    .945): 0.000000, [0.945, 0.950): 0.000000, [0.950, 0.955): 0.000000, [0.955, 0.960): 0.000000, [0.960, 0.965): 0.000000, [0.965, 0.970): 0.000000, [0.970, 0.975): 0.000000,
     [0.975, 0.980): 0.000000, [0.980, 0.985): 0.000000, [0.985, 0.990): 0.000000, [0.990, 0.995): 0.000000, [0.995, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quali
    ty_stats_.hist_normal_closeness_: [0.900, 0.905): 0.000000, [0.905, 0.910): 0.000000, [0.910, 0.915): 0.000000, [0.915, 0.920): 0.000000, [0.920, 0.925): 0.000000, [0.925,
    0.930): 0.000000, [0.930, 0.935): 0.000000, [0.935, 0.940): 0.000000, [0.940, 0.945): 0.000000, [0.945, 0.950): 0.000000, [0.950, 0.955): 0.000000, [0.955, 0.960): 0.000000
    , [0.960, 0.965): 0.000000, [0.965, 0.970): 0.000000, [0.970, 0.975): 0.000000, [0.975, 0.980): 0.000000, [0.980, 0.985): 0.000000, [0.985, 0.990): 0.000000, [0.990, 0.995)
    : 0.000000, [0.995, 1.000): 0.000000, [1.000, inf): 0.000000, , tof_merge_quality_stats_.hist_plane_distance_: [0.000, 0.010): 0.000000, [0.010, 0.020): 0.000000, [0.020, 0
    .030): 0.000000, [0.030, 0.040): 0.000000, [0.040, 0.050): 0.000000, [0.050, 0.060): 0.000000, [0.060, 0.070): 0.000000, [0.070, 0.080): 0.000000, [0.080, 0.090): 0.000000,
     [0.090, 0.100): 0.000000, [0.100, 0.110): 0.000000, [0.110, 0.120): 0.000000, [0.120, 0.130): 0.000000, [0.130, 0.140): 0.000000, [0.140, 0.150): 0.000000, [0.150, 0.160):
     0.000000, [0.160, 0.170): 0.000000, [0.170, 0.180): 0.000000, [0.180, 0.190): 0.000000, [0.190, 0.200): 0.000000, [0.200, 0.210): 0.000000, [0.210, 0.220): 0.000000, [0.22
    0, 0.230): 0.000000, [0.230, 0.240): 0.000000, [0.240, 0.250): 0.000000, [0.250, 0.260): 0.000000, [0.260, 0.270): 0.000000, [0.270, 0.280): 0.000000, [0.280, 0.290): 0.000
    000, [0.290, 0.300): 0.000000, [0.300, 0.310): 0.000000, [0.310, 0.320): 0.000000, [0.320, 0.330): 0.000000, [0.330, 0.340): 0.000000, [0.340, 0.350): 0.000000, [0.350, 0.3
    60): 0.000000, [0.360, 0.370): 0.000000, [0.370, 0.380): 0.000000, [0.380, 0.390): 0.000000, [0.390, 0.400): 0.000000, [0.400, 0.410): 0.000000, [0.410, 0.420): 0.000000, [
    0.420, 0.430): 0.000000, [0.430, 0.440): 0.000000, [0.440, 0.450): 0.000000, [0.450, 0.460): 0.000000, [0.460, 0.470): 0.000000, [0.470, 0.480): 0.000000, [0.480, 0.490): 0
    .000000, [0.490, 0.500): 0.000000, [0.500, inf): 0.000000, , ms_merge_quality_stats_.Empty(): true, ms_merge_quality_stats_.hist_area_overlap_ratio_: [0.750, 0.760): 0.0000
    00, [0.760, 0.770): 0.000000, [0.770, 0.780): 0.000000, [0.780, 0.790): 0.000000, [0.790, 0.800): 0.000000, [0.800, 0.810): 0.000000, [0.810, 0.820): 0.000000, [0.820, 0.83
    0): 0.000000, [0.830, 0.840): 0.000000, [0.840, 0.850): 0.000000, [0.850, 0.860): 0.000000, [0.860, 0.870): 0.000000, [0.8
    I/native  (25194): online_calibration_manager.cc:163 OnlineCalibrationManager: Discarding the new online recalibration estimates.
    I/native  (25194): session.cc:1527 Session::PauseWithAnalytics returning OK.
    W/native  (25194): analytics_logger.cc:401 Could not send event. Event will be dropped.
    I/chatty  (25194): uid=10245(com.si.ardemo) Thread-6 identical 5 lines
    W/native  (25194): analytics_logger.cc:401 Could not send event. Event will be dropped.
    W/native  (25194): analytics_logger.cc:401 Could not send event. Event will be dropped.
    I/chatty  (25194): uid=10245(com.si.ardemo) Thread-6 identical 7 lines
    W/native  (25194): analytics_logger.cc:401 Could not send event. Event will be dropped.
    I/mali_egl(25194): eglDestroySurface() in
    I/mali_egl(25194): eglDestroySurface() out
    I/ViewRootImpl@60e2fcf[MainActivity](25194): dispatchDetachedFromWindow
    D/InputTransport(25194): Input channel destroyed: 'e70a7cb', fd=87
    
    invalid 
    opened by Significantinfotech2020 5
  • [Feature request] Add new shape 'ARCorePlane'? Add (png) image as material for ARCorePlane to display an image

    [Feature request] Add new shape 'ARCorePlane'? Add (png) image as material for ARCorePlane to display an image

    Hi,

    Could anyone (or @giandifra himself) see if they can expand the current shapes (cube, cylinder, sphere) with a 'plane'? I would like to display an 2D image. Right now I'm showing a flat cube with the image as its texture, but it has a white reflectance that I can't get rid of.

    When using a (flat) cube with certain png's as its texture, I'm getting "Unhandled Exception: PlatformException(error, Invalid Bitmap: Bitmap's configuration must be ARGB_8888, but it was RGBA_F16, null)" when trying to display certain png's. These png's work fine with ARKit's Flutter plugin (https://pub.dev/packages/arkit_plugin).

    ARKit code example:

       final material = ARKitMaterial(
          lightingModelName: ARKitLightingModel.lambert,
          diffuse: ARKitMaterialProperty(image: imageUrl),
        );
    
        final geometry = ARKitPlane(
          materials: [material],
          width: 0.4,
          height: 0.4,
        );
        final node = ARKitNode(geometry: geometry, position: vector.Vector3(0, 0, -.8), name: 'some_name');
        _arkitController.add(node); 
    

    I tried to add this feature myself but it seemed more involved than I hoped. If I got it working myself I'll close this issue, but I'm not that familiar with Kotlin and Android in general.

    enhancement 
    opened by BrutalCoding 5
  • Fixed crash 'java.lang.IllegalArgumentException: Parameter specified …'

    Fixed crash 'java.lang.IllegalArgumentException: Parameter specified …'

    The onActivityCreated works fine if only ARCore is being used without other plugins that are creating native Activity screen(s), but in my case I was using Admob reward ads and that caused to call this plugin its 'onActivityCreated' too, but with null values. That caused to kill the flutter app instantly.

    This commit probably fixes issues with other plugins that are using native Android Activity screen(s), e.g. QR scanners, Admob or Camera. Only tested with Admob reward ads though.

    opened by BrutalCoding 5
  • Sample project crash

    Sample project crash

    Sample Project not working crashes when opening any AR screen with stack trace

    I/hwaps ( 570): JNI_OnLoad V/AudioManager( 570): playSoundEffect effectType: 0 E/BufferQueueProducer( 570): [] Can not get hwsched service D/HwCust ( 570): Create obj success use class android.app.HwCustHwWallpaperManagerImpl I/Filament( 570): FEngine (64 bits) created at 0x7504400000 (threading is enabled) D/Filament( 570): FEngine resolved backend: OpenGL I/SceneView( 570): Optional library com.google.ar.sceneform.animation not present. Sceneform animation disabled D/HwGalleryCacheManagerImpl( 570): mIsEffect:false D/HwRTBlurUtils( 570): check blur style for HwPhoneWindow, themeResId : 0x0103023e, context : android.app.Presentation$3@523c270, Nhwext : 0, get Blur : disable with , null D/HwRTBlurUtils( 570): check blur style for HwPhoneWindow, themeResId : 0x0103023e, context : android.app.Presentation$3@523c270, Nhwext : 0, get Blur : disable with , null D/OpenGLRenderer( 570): HWUI Binary is enabled I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView( 570): arScenViewInit I/HwApiCacheMangerEx( 570): apicache pi null I/PressGestureDetector( 570): onAttached begin I/PressGestureDetector( 570): onAttached end I/PressGestureDetector( 570): HiTouch restricted: AboardArea. D/mali_winsys( 570): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000 I/com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView( 570): onActivityPaused D/OpenGLRenderer( 570): HWUI Binary is enabled D/HwCust ( 570): Create obj success use class android.app.HwCustActivityImpl D/HwCust ( 570): Create obj success use class android.app.HwCustHwWallpaperManagerImpl V/ActivityThread( 570): ActivityThread,callActivityOnCreate D/AndroidRuntime( 570): Shutting down VM E/AndroidRuntime( 570): FATAL EXCEPTION: main E/AndroidRuntime( 570): Process: com.difrancescogianmarco.arcore_flutter_plugin_example, PID: 570 E/AndroidRuntime( 570): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.difrancescogianmarco.arcore_flutter_plugin_example/com.google.ar.core.InstallActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState E/AndroidRuntime( 570): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3297) E/AndroidRuntime( 570): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3405) E/AndroidRuntime( 570): at android.app.ActivityThread.-wrap12(Unknown Source:0) E/AndroidRuntime( 570): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) E/AndroidRuntime( 570): at android.os.Handler.dispatchMessage(Handler.java:108) E/AndroidRuntime( 570): at android.os.Looper.loop(Looper.java:166) E/AndroidRuntime( 570): at android.app.ActivityThread.main(ActivityThread.java:7523) E/AndroidRuntime( 570): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime( 570): at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) E/AndroidRuntime( 570): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) E/AndroidRuntime( 570): Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter savedInstanceState E/AndroidRuntime( 570): at com.difrancescogianmarco.arcore_flutter_plugin.ArCoreView$setupLifeCycle$1.onActivityCreated(Unknown Source:7) E/AndroidRuntime( 570): at android.app.Application.dispatchActivityCreated(Application.java:208) E/AndroidRuntime( 570): at android.app.Activity.onCreate(Activity.java:1110) E/AndroidRuntime( 570): at com.google.ar.core.InstallActivity.onCreate(InstallActivity.java:4) E/AndroidRuntime( 570): at android.app.Activity.performCreate(Activity.java:7383) E/AndroidRuntime( 570): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218) E/AndroidRuntime( 570): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3250) E/AndroidRuntime( 570): ... 9 more I/Process ( 570): Sending signal. PID: 570 SIG: 9

    opened by MoSamir 5
  • Type mismatch: inferred type is Activity? but Activity was expected

    Type mismatch: inferred type is Activity? but Activity was expected

    I set all the configurations as you said in the package and medium lecture but I got this Error. also the other got this Error so. please fix this or help how to solve this problem. my flutter version is 3.3

    e: E:\flutterSDK\flutter.pub-cache\hosted\pub.dartlang.org\arcore_flutter_plugin-0.0.11\android\src\main\kotlin\com\difrancescogianmarco\arcore_flutter_plugin\ArcoreFlutterPlugin.kt: (32, 74): Type mismatch: inferred type is Activity? but Activity was expected

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'.

    Compilation error. See log for more details

    • Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 14s Exception: Gradle task assembleDebug failed with exit code 1

    opened by geopardaz 1
  • Fix nullable bug

    Fix nullable bug

    There is a bug with null safety like this:

    /Users/bakatsuyuki/flutter/.pub-cache/hosted/pub.dartlang.org/arcore_flutter_plugin-0.1.0-null-safety.3/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArcoreFlutterPlugin.kt: (32, 74): Type mismatch: inferred type is Activity? but Activity was expected
    
    FAILURE: Build failed with an exception.
    

    So I fixed it to return if the activity is null.

    opened by bakatsuyuki 0
  • Gradle Error !!!!!

    Gradle Error !!!!!

    Hi, I have tried every method in my knowledge to fixz this error. Does anyone know how can i overcome this? Will really appreciate your I have tried every method in my knowledge to fixz this error. Does anyone know how can i overcome this? Will really appreciate your help at this moment.help at this moment.

    Warning: unexpected element (uri:"", local:"base-extension"). Expected elements are <{}codename>,<{}layoutlib>,<{}api-level> e: C:\Users\kbattulwar_DevProjects\ar\arcore_flutter_plugin-master\android\src\main\kotlin\com\difrancescogianmarco\arcore_flutter_plugin\ArcoreFlutterPlugin.kt: (32, 74): Type mismatch: inferred type is Activity? but Activity was expected

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'.

    Compilation error. See log for more details

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 36s Exception: Gradle task assembleDebug failed with exit code 1

    opened by kbattulwar 1
  • update node position by touching & dragging it

    update node position by touching & dragging it

    Hi there, thanks for this awesome plugin, I am trying to make a slider on the ArcoreView that allows the user to change the node position by scaling it up and down, but I didn't find any argument for the hit to let me update the node position according to the new touch position. how can I implement this, I appreciate your time.

    opened by wijdanMT 0
  • When running example

    When running example

    e: /Users/anmolgupta/Desktop/arcore_flutter_plugin-master/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreViewFactory.kt: (12, 1): Class 'ArCoreViewFactory' is not abstract and does not implement abstract base class member public abstract fun create(p0: Context?, p1: Int, p2: Any?): PlatformView defined in io.flutter.plugin.platform.PlatformViewFactory e: /Users/anmolgupta/Desktop/arcore_flutter_plugin-master/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArCoreViewFactory.kt: (14, 5): 'create' overrides nothing e: /Users/anmolgupta/Desktop/arcore_flutter_plugin-master/android/src/main/kotlin/com/difrancescogianmarco/arcore_flutter_plugin/ArcoreFlutterPlugin.kt: (32, 74): Type mismatch: inferred type is Activity? but Activity was expected

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':arcore_flutter_plugin:compileDebugKotlin'.

    Compilation error. See log for more details

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 14s Exception: Gradle task assembleDebug failed with exit code 1

    opened by anmolguptach 2
Owner
Gian Marco Di Francesco
Gian Marco Di Francesco
Flutter Plugin for AR (Augmented Reality) - Supports ARKit on iOS and ARCore on Android devices

ar_flutter_plugin Flutter Plugin for AR (Augmented Reality) - Supports ARKit for iOS and ARCore for Android devices. Many thanks to Oleksandr Leuschen

Lars Carius 222 Jan 4, 2023
A Flutter Augmented Reality based Furniture App which can help users to virtually try on furniture to their smartphone with personalized instructions

A Flutter Augmented Reality based Furniture App which can help users to virtually try on furniture to their smartphone with personalized instructions

Saksham Jain 9 Dec 10, 2022
Simple Augmented Reality App

Flutter DeepAR Star ⭐ the repo if you like what you see ?? . ✨ Requirements Any Operating System (ie. MacOS X, Linux, Windows) Any IDE with Flutter SD

Ghoudan Ayoub 3 Dec 28, 2022
ParkPort is a smartphone application that utilizes geolocation to guide the user to explore Tulsa's parks and collect augmented reality stamps.

A smartphone application that utilizes geolocation to guide the user to explore Tulsa's parks and collect augmented reality stamps.

Adam Taylor 5 Dec 20, 2022
Flutter Advanced: ARCore Tutorial | Sceneform | Exploring New Possibilities || Exploring New Possibilities

flutter_ar A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if th

Pawan Kumar 58 Oct 13, 2022
A collection of Flutter Widgets that make multi screen user experiences easy to build

Multi Screen Layout for Flutter A collection of Widgets that make multi screen user experiences easy to build Supported Devices Surface Duo Surface Du

Jason Rai 75 Dec 1, 2022
A simple Flutter project demonstrating tailored native experiences

Voice Voice is a Flutter application that aims to help spread the awareness of animal rights groups from around the globe. Whilst data is still being

Joe Birch 69 Jun 17, 2021
A powerful Flutter chat UI component library and business logic for Tencent Cloud Chat, creating seamless in-app chat modules for delightful user experiences.

<style> .button-9 { appearance: button; backface-visibility: hidden; background-color: #1d52d9; border-radius: 6px; border-width: 0; box-shadow: rgba(

Tencent Cloud 63 Aug 11, 2023
Know where to go safely. Describe your experiences and rate places.

Is It Safe? ?? Índice Sobre Showcase Features Como eu posso rodar o projeto? Ferramentas Instalação Run Suporte Como posso contribuir? Autores Info ??

Is It Safe? 0 Sep 19, 2022
This a fluttet mobile application UI. that create for Virtual Reality Store.

Virtual Reality Store App Getting Started This a fluttet mobile application UI. that create for Virtual Reality Store. The app code is preloaded with

Sherange Fonseka 0 Nov 1, 2021
A Flutter plugin for Yandex AppMetrica SDK, a marketing platform for app install attribution, app analytics, and push campaigns.

appmetrica_sdk A Flutter plugin for Yandex AppMetrica SDK. Plugin implementation status Implemented Events Profiles Not implemented yet Revenue. Comin

EM ALL iT Studio 15 Oct 21, 2021
Cross-platform flutter plugin for reading and writing NFC tags. Not maintained anymore - not looking for new maintainer, fork instead.

nfc_in_flutter NFC in Flutter is a plugin for reading and writing NFC tags in Flutter. It works on both Android and iOS with a simple stream interface

Andi Semler 113 Sep 28, 2022
Hybrid App build on flutter SDK able to run on Android, IOS, web, desktop

Codeforces Visualizer APP Ready to use Flutter Application. Uses codeforces API. Useful for codeforces programmers. ScreenShots Single User Page Compa

vikas yadav 13 Dec 31, 2022
Cross platform application for iOS and Android using Google's SDK Flutter.

scout Cross platform application for iOS and Android using Google's SDK Flutter. Launch screen for the application. The menu for selecting cookies. Cu

null 0 Nov 9, 2021
A tool to easily install the Android SDK command-line and platform tools.

gibadb A tool to easily install the Android SDK command-line and platform tools. For developers: This README describes the CLI tool that ships with th

null 3 Sep 22, 2022
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

On most operating systems, permissions aren't just granted to apps at install time. Rather, developers have to ask the user for permissions while the

Baseflow 1.7k Jan 3, 2023
Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.

Flutter permission_handler plugin The Flutter permission_handler plugin is build following the federated plugin architecture. A detailed explanation o

Baseflow 1.7k Dec 31, 2022
Woocommerce SDK for Flutter. The Complete Woo Commerce SDK for Flutter.

woocommerce Woocommerce SDK for Flutter. Getting Started Add the package to your pubspec.yaml and import. import 'package:woocommerce/woocommerce.dart

RAY 105 Dec 6, 2022
A new video calling mobile application using Flutter, Agora SDK and GetX state management.

LiveBox : A Video Calling App A new video calling mobile application using Flutter, Agora SDK and GetX state management. Features Login Registration F

Nikhil Rajput 14 Dec 3, 2022
A Flutter plugin that supports Pangle SDK on Android and iOS.

Thanks for non-commercial open source development authorization by JetBrains. 穿山甲 Flutter SDK `pangle_flutter`是一款集成了字节跳动穿山甲 Android 和 iOS SDK的 Flutter

null 121 Dec 2, 2022