hms-flutter-plugin icon indicating copy to clipboard operation
hms-flutter-plugin copied to clipboard

CRITICAL : the future initFusedLocationService() never end

Open EArminjon opened this issue 2 years ago • 5 comments

Description Description of what the issue is about

The following method never end if we await it. Something is missing in native side to tell to future that the call well succeed...

print("test");
await initFusedLocationService() 
prin("test 2");

Expected behavior

test
test2

Current behavior

test

Environment

  • Platform: Flutter
  • Kit: huawei_location
  • Kit Version 6.12.0+301
  • OS Version Huawei P40 lite - EMUI 12.0.0
  • Platform version : Flutter version 3.13.7

EArminjon avatar Jan 03 '24 15:01 EArminjon

Hello @EArminjon Thank you for reporting this issue, we investigated it and will publish a new version as soon as possible. For a quick fix, please follow these steps in your project.

  • Open your project in Android Studio and go to External Libraries > Flutter Plugins > huawei_location > android\src\main\java\com\huawei\hms\flutter\location\handlers\FusedLocationMethodHandler.java.

  • Change the initFusedLocationService as follows:

    private void initFusedLocationService(final MethodChannel.Result result) { // add the 'result' parameter.
        settingsClient = LocationServices.getSettingsClient(activity);
        service = LocationServices.getFusedLocationProviderClient(activity);
        enhanceService = LocationServices.getLocationEnhanceService(activity);
        Log.i(TAG, "Fused Location Service has been initialized.");
        result.success(null); // add this line.
    }
  • Go to 392nd line (old 391), change initFusedLocationService(); to initFusedLocationService(result);.

With these changes, your plugin will run properly.

ozkulbeng avatar Jan 04 '24 13:01 ozkulbeng

@ozkulbeng When can we expect a fix to this issue?

Thaanu01 avatar Jan 12 '24 05:01 Thaanu01

@ozkulbeng

EArminjon avatar Jan 24 '24 08:01 EArminjon

@ozkulbeng thank you this solved my issue, but when will you release this fix

aalgrou avatar Jan 25 '24 14:01 aalgrou

@ozkulbeng Sorry to up this topic. Do you plan to release it soon ?

EArminjon avatar Feb 05 '24 13:02 EArminjon

@ozkulbeng

EArminjon avatar May 19 '24 06:05 EArminjon

Hello all, The new version of huawei_location was released. Please update to 6.12.0+302 not to get any errors.

ozkulbeng avatar May 22 '24 05:05 ozkulbeng

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkUat_appDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class org.bouncycastle.LICENSE found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1ApplicationSpecific found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1ApplicationSpecificParser found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1BitString found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Boolean found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Choice found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Encodable found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1EncodableVector found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Encoding found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Enumerated found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Exception found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1External found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1GeneralizedTime found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Generator found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1InputStream found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Integer found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Null found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1Object found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1ObjectIdentifier found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1OctetString found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.asn1.ASN1OctetStringParser found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     ... cut because too long (3000 lines) ...
     Duplicate class org.bouncycastle.x509.extension.AuthorityKeyIdentifierStructure found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.x509.extension.X509ExtensionUtil found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.x509.util.LDAPStoreHelper found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.x509.util.StreamParser found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)
     Duplicate class org.bouncycastle.x509.util.StreamParsingException found in modules jetified-bcprov-jdk15on-1.70 (org.bouncycastle:bcprov-jdk15on:1.70) and jetified-bcprov-jdk15to18-1.69 (org.bouncycastle:bcprov-jdk15to18:1.69)

     Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.

* 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 45s
Error: Gradle task assembleUat_appDebug failed with exit code 1

EArminjon avatar May 23 '24 11:05 EArminjon

Seems same as https://github.com/HMS-Core/hms-flutter-plugin/issues/312...

@ozkulbeng

EArminjon avatar May 23 '24 11:05 EArminjon