CRITICAL : the future initFusedLocationService() never end
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
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
initFusedLocationServiceas 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();toinitFusedLocationService(result);.
With these changes, your plugin will run properly.
@ozkulbeng When can we expect a fix to this issue?
@ozkulbeng
@ozkulbeng thank you this solved my issue, but when will you release this fix
@ozkulbeng Sorry to up this topic. Do you plan to release it soon ?
@ozkulbeng
Hello all, The new version of huawei_location was released. Please update to 6.12.0+302 not to get any errors.
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
Seems same as https://github.com/HMS-Core/hms-flutter-plugin/issues/312...
@ozkulbeng