Coder Social home page Coder Social logo

rtchagas / pingplacepicker Goto Github PK

View Code? Open in Web Editor NEW
142.0 12.0 55.0 3.14 MB

An almost plug and play replacement for Google's Place Picker

License: Apache License 2.0

Java 0.56% Kotlin 99.44%
android android-library picker nearbysearch maps places placepicker

pingplacepicker's People

Contributors

dzungpv avatar islamassem avatar jongha avatar lucasxvirtual avatar mahasadhu avatar percula avatar rtchagas avatar shudy avatar t104360088 avatar thubalek avatar tuongnm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pingplacepicker's Issues

Got a runtime fatal error when clicked search.

image

Another bug is the map not shown.

image

Seems really wrong with the auth, but I gave set every configuration as the documentation.
This just happen on certain devices, currently only appear in Samsung Galaxy S7 Edge.

Looking forward for your response.
Thanks in advance.

Can't get nearby places or selected places.

Hello ,
I used your library as a replacement for the placepicker and i can't seem to make it work,
i have added and restricted the api Keys ( for geo and for place sdk ) , and i can't seem to be able to load nearby places for some reason .. can you help me ?

Crash happens when "Places must be initialized."

Hi rtchagas,

A crash occurs when clicking the search box in the PlacePickerActivity. And the probability 100% that time. Maybe there is something wrong with the network at that time. I close and open this activity and it becomes normal.

2019-07-30 15:05:18.680 24771-24771/cn.oneplus.opmms D/AndroidRuntime: Shutting down VM
2019-07-30 15:05:18.682 24771-24771/cn.oneplus.opmms E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.oneplus.opmms, PID: 24771
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.oneplus.opmms/com.google.android.libraries.places.widget.AutocompleteActivity}: java.lang.IllegalStateException: Places must be initialized.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3047)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3182)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6898)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.IllegalStateException: Places must be initialized.
at com.google.android.libraries.places.internal.go.b(PG:22)
at com.google.android.libraries.places.widget.AutocompleteActivity.onCreate(PG:2)
at android.app.Activity.performCreate(Activity.java:7149)
at android.app.Activity.performCreate(Activity.java:7140)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1288)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3027)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3182)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6898)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

I have got this critical error

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.app.flexinc, PID: 29546
java.lang.NoSuchFieldError: No static field rvNearbyPlaces of type I in class Lcom/rtchagas/pingplacepicker/R$id; or its superclasses (declaration of 'com.rtchagas.pingplacepicker.R$id' appears in /data/app/com.app.flexinc-atO6mhm2cIs_NAHrWD0tgA==/split_lib_slice_0_apk.apk)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.initializeUi(PlacePickerActivity.kt:383)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.onCreate(PlacePickerActivity.kt:130)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

All Constraint Layouts shift to the right

Just when I insert your
implementation 'com.github.rtchagas:pingplacepicker:1.1.0'
in my gradle, all the constraintLayouts that I am using in my app shift to the right.
I haven't used its functionality in my app yet, just inserted the implementation and this happened.

What are you using in your library? Which version of constraintLayout?

Android resource compilation failed

C:<ProjectName>\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:6077: error: duplicate value for resource 'attr/progress' with config ''.
C:<ProjectName>\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:6077: error: resource previously defined here.
C:<ProjectName>\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:6267: error: duplicate value for resource 'attr/rotation' with config ''.
C:<ProjectName>\app\build\intermediates\incremental\mergeDebugResources\merged.dir\values\values.xml:6267: error: resource previously defined here.

min sdk 24 required

Buils log

Configure project :app
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)

Task :app:buildInfoDebugLoader
Task :app:preBuild UP-TO-DATE
Task :app:preDebugBuild UP-TO-DATE
Task :app:compileDebugAidl NO-SOURCE
Task :app:checkDebugManifest UP-TO-DATE
Task :app:compileDebugRenderscript NO-SOURCE
Task :app:generateDebugBuildConfig UP-TO-DATE
Task :app:prepareLintJar UP-TO-DATE
Task :app:writeDebugApplicationId UP-TO-DATE

Task :app:processDebugGoogleServices
Parsing json file: C:\Users\Rishab aggarwal\Desktop\Findme\app\google-services.json

Task :app:generateDebugSources
Task :app:javaPreCompileDebug UP-TO-DATE
Task :app:mainApkListPersistenceDebug UP-TO-DATE
Task :app:generateDebugResValues UP-TO-DATE
Task :app:generateDebugResources UP-TO-DATE
Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
Task :app:processDebugManifest UP-TO-DATE
Task :app:mergeDebugResources UP-TO-DATE
Task :app:processDebugResources UP-TO-DATE
Task :app:compileDebugJavaWithJavac UP-TO-DATE
Task :app:mergeDebugShaders UP-TO-DATE
Task :app:compileDebugShaders UP-TO-DATE
Task :app:generateDebugAssets UP-TO-DATE
Task :app:validateSigningDebug UP-TO-DATE
Task :app:signingConfigWriterDebug UP-TO-DATE
Task :app:processInstantRunDebugResourcesApk UP-TO-DATE
Task :app:mergeDebugAssets UP-TO-DATE
Task :app:packageInstantRunResourcesDebug UP-TO-DATE
Task :app:checkManifestChangesDebug
Task :app:transformClassesWithExtractJarsForDebug UP-TO-DATE
Task :app:transformClassesWithInstantRunVerifierForDebug UP-TO-DATE
Task :app:checkDebugDuplicateClasses UP-TO-DATE
Task :app:transformClassesWithDependencyCheckerForDebug UP-TO-DATE
Task :app:mergeDebugJniLibFolders UP-TO-DATE
Task :app:processDebugJavaRes NO-SOURCE
Task :app:transformResourcesWithMergeJavaResForDebug UP-TO-DATE
Task :app:transformNativeLibsWithMergeJniLibsForDebug UP-TO-DATE
Task :app:transformNativeLibsAndResourcesWithJavaResourcesVerifierForDebug UP-TO-DATE
Task :app:transformClassesWithInstantRunForDebug UP-TO-DATE
Task :app:transformClassesAndClassesEnhancedWithInstantReloadDexForDebug UP-TO-DATE
Task :app:incrementalDebugTasks UP-TO-DATE
Task :app:preColdswapDebug
Task :app:fastDeployDebugExtractor UP-TO-DATE
Task :app:generateDebugInstantRunAppInfo UP-TO-DATE
AGPBI: {"kind":"error","text":"Default interface methods are only supported starting with Android N (--min-api 24): void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Static interface methods are only supported starting with Android N (--min-api 24): void okhttp3.logging.HttpLoggingInterceptor$Logger.lambda$static$0(java.lang.String)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Static interface methods are only supported starting with Android N (--min-api 24): java.util.List okhttp3.Dns.lambda$static$0(java.lang.String)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Invoke-customs are only supported starting with Android O (--min-api 26)","sources":[{}],"tool":"D8"}
AGPBI: {"kind":"error","text":"Static interface methods are only supported starting with Android N (--min-api 24): okhttp3.Request okhttp3.Authenticator.lambda$static$0(okhttp3.Route, okhttp3.Response)","sources":[{}],"tool":"D8"}

Task :app:transformClassesWithDexBuilderForDebug
com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\gradle-4.9\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.13.1\b49cf3799bd473199e96c4fb9987e9e08395a1c0\okhttp-3.13.1.jar
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:593)
at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:720)
at com.android.ide.common.internal.WaitableExecutor.waitForTasksWithQuickFail(WaitableExecutor.java:149)
at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.transform(DexArchiveBuilderTransform.java:420)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:47)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:41)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$2.run(ExecuteActionsTaskExecuter.java:284)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:273)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:258)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:145)
at org.gradle.internal.execution.impl.steps.ExecuteStep.execute(ExecuteStep.java:49)
at org.gradle.internal.execution.impl.steps.CancelExecutionStep.execute(CancelExecutionStep.java:34)
at org.gradle.internal.execution.impl.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:69)
at org.gradle.internal.execution.impl.steps.TimeoutStep.execute(TimeoutStep.java:49)
at org.gradle.internal.execution.impl.steps.CatchExceptionStep.execute(CatchExceptionStep.java:33)
at org.gradle.internal.execution.impl.steps.CreateOutputsStep.execute(CreateOutputsStep.java:50)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:43)
at org.gradle.internal.execution.impl.steps.SnapshotOutputStep.execute(SnapshotOutputStep.java:29)
at org.gradle.internal.execution.impl.steps.CacheStep.executeWithoutCache(CacheStep.java:134)
at org.gradle.internal.execution.impl.steps.CacheStep.lambda$execute$3(CacheStep.java:83)
at java.util.Optional.orElseGet(Optional.java:267)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:82)
at org.gradle.internal.execution.impl.steps.CacheStep.execute(CacheStep.java:36)
at org.gradle.internal.execution.impl.steps.PrepareCachingStep.execute(PrepareCachingStep.java:33)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:38)
at org.gradle.internal.execution.impl.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:23)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
at java.util.Optional.map(Optional.java:215)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:52)
at org.gradle.internal.execution.impl.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:34)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:91)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)
at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:56)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:67)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:49)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:49)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\gradle-4.9\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.13.1\b49cf3799bd473199e96c4fb9987e9e08395a1c0\okhttp-3.13.1.jar
at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:909)
at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.lambda$convertToDexArchive$6(DexArchiveBuilderTransform.java:834)
at java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1424)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: com.android.builder.dexing.DexArchiveBuilderException: Error while dexing.
at com.android.builder.dexing.D8DexArchiveBuilder.getExceptionToRethrow(D8DexArchiveBuilder.java:124)
at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:101)
at com.android.build.gradle.internal.transforms.DexArchiveBuilderTransform.launchProcessing(DexArchiveBuilderTransform.java:904)
... 6 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:81)
at com.android.tools.r8.utils.ExceptionUtils.withD8CompilationHandler(ExceptionUtils.java:45)
at com.android.tools.r8.D8.run(D8.java:94)
at com.android.builder.dexing.D8DexArchiveBuilder.convert(D8DexArchiveBuilder.java:99)
... 7 more
Caused by: com.android.tools.r8.utils.AbortException: Error: Static interface methods are only supported starting with Android N (--min-api 24): okhttp3.Request okhttp3.Authenticator.lambda$static$0(okhttp3.Route, okhttp3.Response)
at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:101)
at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:72)
at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:66)
... 10 more

Task :app:transformClassesWithDexBuilderForDebug FAILED
Task :app:buildInfoGeneratorDebug

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.

com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\gradle-4.9\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.13.1\b49cf3799bd473199e96c4fb9987e9e08395a1c0\okhttp-3.13.1.jar

  • 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

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 21s
38 actionable tasks: 6 executed, 32 up-to-date

getRating() and getUserRatingsTotal() always return null

Hello,
No matter the location I choose place.getRating() returns null, even when there are reviews in google maps (getAddress(), getLatLng and getName() work perfectly) .
An idea of why ?
By the way thanks for that place picker !

Forcing user to enable location detection

Hi,
I have a simple question regarding the search bar. Why is the user only able to search when he enables location detection on his device? Wouldn't it be better to allow searching also when the user has location detection disabled?
Thanks in advance.

The nearby searches function is unavailable and how to add signature to the request URL

Hi rtchagas,
Question 1: According to the chapter of "Enabling nearby searches" in your guideline, I add the property to my project, and it's not work. Whether is this featrue unavailable until now. Next version will work? When do you release next version that contains the function.


To do that, enable this flag in your project:
<bool ### name="enable_nearby_search">true


Question 2: How to add a digital signature to the request URL.
A requirement as bellow mentioned in google map document("https://developers.google.com/maps/documentation/maps-static/get-api-key#dig-sig-key", chapter "Generating digital signatures"), client can add a digital signature for use with API keys to the request URL. Whether does your SDK support to set this feature. If not, can you
support it in next release version? When release next version?


5、Add the resulting signature to the request URL within a signature parameter. For example:
https://maps.googleapis.com/maps/api/staticmap?center=40.714%2c%20-73.998&zoom=12&size=400x400&key=YOUR_API_KEY&signature=**BASE64_SIGNATURE**


The Library Works one time only

The library works one time only
couldn't load nearby places error keeps showing ,i have tried to add tow key's with restriction on the geolocation and single key without restriction supports all api's Places and Geolocation
with no luck any idea to solve this issue

Cannot get place name

I'm using this package for loading a place picker but I can't seem to get the name of the selected place. The getName function returns the coordinates of the place in degrees and direction format i.e 1° 17' 52" S, 36° 45' 54. How can I get the name of the place?

Google Maps Android API: Authorization failure - no maps

Trying to get this to work.

I've supplied an android key and a geolocation api key and it seems to work fine except for the fact that the actual map doesnt show. logcat shows the following:

Google Maps Android API: Authorization failure
05-18 21:07:47.652  8888  8973 E Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
05-18 21:07:47.652  8888  8973 E Google Maps Android API: Ensure that the "Google Maps Android API v2" is enabled.
05-18 21:07:47.652  8888  8973 E Google Maps Android API: Ensure that the following Android Key exists:
05-18 21:07:47.652  8888  8973 E Google Maps Android API: 	API Key: AIza<redacted>-2rbZITE9iwI
05-18 21:07:47.652  8888  8973 E Google Maps Android API: 	Android Application (<cert_fingerprint>;<package_name>): <redacted>
05-18 21:11:43.283  8888  8888 I [Koin]  : bind type:'com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsAPI' ~ [type:Single,class:'com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsAPI']

What am I missing?

100% free version

Isn't is possible to have a 100% free version when I only use a gps location picker without any places/search features?

Crash when adding dependency

Just after adding pingplacepicker dependency, I get the following crash when launching the app.
I use Firebase In-App Messaging but I don't know how it can affect the use of this library. 😕

2019-05-24 12:33:05.580 31404-31404/com.example.android E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.android, PID: 31404
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/picasso/OkHttpDownloader;
        at com.google.firebase.inappmessaging.display.internal.injection.modules.PicassoModule.providesFiamController(com.google.firebase:firebase-inappmessaging-display@@17.1.1:52)
        at com.google.firebase.inappmessaging.display.internal.injection.modules.PicassoModule_ProvidesFiamControllerFactory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:34)
        at com.google.firebase.inappmessaging.display.internal.injection.modules.PicassoModule_ProvidesFiamControllerFactory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:11)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at com.google.firebase.inappmessaging.display.internal.FiamImageLoader_Factory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:21)
        at com.google.firebase.inappmessaging.display.internal.FiamImageLoader_Factory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:8)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplay_Factory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:62)
        at com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplay_Factory.get(com.google.firebase:firebase-inappmessaging-display@@17.1.1:16)
        at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
        at com.google.firebase.inappmessaging.display.internal.injection.components.DaggerAppComponent.providesFirebaseInAppMessagingUI(com.google.firebase:firebase-inappmessaging-display@@17.1.1:102)
        at com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplayRegistrar.buildFirebaseInAppMessagingUI(com.google.firebase:firebase-inappmessaging-display@@17.1.1:74)
        at com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplayRegistrar.access$lambda$0(Unknown Source:0)
        at com.google.firebase.inappmessaging.display.FirebaseInAppMessagingDisplayRegistrar$$Lambda$1.create(Unknown Source:2)
        at com.google.firebase.components.ComponentRuntime.lambda$new$0(com.google.firebase:firebase-common@@17.0.0:66)
        at com.google.firebase.components.ComponentRuntime$$Lambda$1.get(Unknown Source:4)
        at com.google.firebase.components.Lazy.get(com.google.firebase:firebase-common@@17.0.0:53)
        at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(com.google.firebase:firebase-common@@17.0.0:155)
        at com.google.firebase.FirebaseApp.initializeAllApis(com.google.firebase:firebase-common@@17.0.0:642)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:358)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:321)
        at com.google.firebase.FirebaseApp.initializeApp(com.google.firebase:firebase-common@@17.0.0:305)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(com.google.firebase:firebase-common@@17.0.0:53)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1920)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:1895)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(com.google.firebase:firebase-common@@17.0.0:47)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6440)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:5987)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5902)
        at android.app.ActivityThread.access$1100(ActivityThread.java:200)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1656)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
2019-05-24 12:33:05.580 31404-31404/com.example.android E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.OkHttpDownloader" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.example.android-5S_ZIreCxrfj2KN-yqj3cQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.android-5S_ZIreCxrfj2KN-yqj3cQ==/lib/arm64, /system/lib64]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        	... 37 more

Error after you turn off the location once and again turn on just before opening the pingplacepicker: java.lang.IllegalStateException: location must not be null

Process: com.android.example, PID: 32297
java.lang.IllegalStateException: location must not be null
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity$getDeviceLocation$2.onSuccess(PlacePickerActivity.kt:236)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity$getDeviceLocation$2.onSuccess(PlacePickerActivity.kt:47)
at com.google.android.gms.tasks.zzn.run(Unknown Source:4)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6863)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

java.lang.UnsupportedOperationException crash when open picker

java.lang.UnsupportedOperationException at com.google.android.libraries.places.internal.hv.set(PG:3) at java.util.List.sort(List.java:504) at java.util.Collections.sort(Collections.java:201) at kotlin.collections.CollectionsKt__MutableCollectionsJVMKt.sortWith(MutableCollectionsJVM.kt:38) at com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsRepository.sortByLikelihood(GoogleMapsRepository.kt:146) at com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsRepository.access$sortByLikelihood(GoogleMapsRepository.kt:21) at com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsRepository$getNearbyPlaces$1$1.onComplete(GoogleMapsRepository.kt:46) at com.google.android.gms.tasks.zzj.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6518) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Wrong lat and long while picking the centered marker position

When I use the latitude and longitude received from:
Place place = PingPlacePicker.Companion.getPlace(data);

and use the same lat-long in google maps, the marker instead of pointing to the location what I selected in the library now points to some nearby location. Can you please help me out with this issue. Please refer the screenshots for your reference.
Screenshot_20190329-104815
Screenshot_20190329-104901

PlacePickerActivity crash when reopen the activity without location permission

Disable app's location permisson and reopen the PlacePickerActivity from recent app menu , then it carsh. 100% Probability.

2019-07-22 10:25:09.642 24929-24929/cn.oneplus.opmms D/AndroidRuntime: Shutting down VM
2019-07-22 10:25:09.642 24929-24929/cn.oneplus.opmms E/AndroidRuntime: FATAL EXCEPTION: main
Process: cn.oneplus.opmms, PID: 24929
kotlin.KotlinNullPointerException
at com.rtchagas.pingplacepicker.inject.PingKoinComponent$DefaultImpls.getKoin(PingKoinComponent.kt:15)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.getKoin(PlacePickerActivity.kt:53)
at org.koin.android.ext.android.ComponentCallbackExtKt.getKoin(ComponentCallbackExt.kt:14)
at org.koin.android.viewmodel.ext.android.LifecycleOwnerExtKt.getKoin(LifecycleOwnerExt.kt:71)
at org.koin.android.viewmodel.ext.android.LifecycleOwnerExtKt.getViewModel(LifecycleOwnerExt.kt:85)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity$$special$$inlined$viewModel$1.invoke(LifecycleOwnerExt.kt:95)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity$$special$$inlined$viewModel$1.invoke(Unknown Source:0)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.getViewModel(Unknown Source:7)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.refreshNearbyPlaces(PlacePickerActivity.kt:490)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.access$refreshNearbyPlaces(PlacePickerActivity.kt:53)
at com.rtchagas.pingplacepicker.ui.PlacePickerActivity$handler$1.handleMessage(PlacePickerActivity.kt:204)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6940)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

java.lang.NoSuchFieldError: No static field rvNearbyPlaces of type I in class Lcom/rtchagas/pingplacepicker/R$id; or its superclasses (declaration of 'com.rtchagas.pingplacepicker.R$id' appears

02-19 19:29:21.903 21021-21021/ptsinergiterangbangsa.listrikon.pelanggan E/AndroidRuntime: FATAL EXCEPTION: main
    Process: ptsinergiterangbangsa.listrikon.pelanggan, PID: 21021
    java.lang.NoSuchFieldError: No static field rvNearbyPlaces of type I in class Lcom/rtchagas/pingplacepicker/R$id; or its superclasses (declaration of 'com.rtchagas.pingplacepicker.R$id' appears in /data/app/ptsinergiterangbangsa.listrikon.pelanggan-2/base.apk:classes2.dex)
        at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.initializeUi(PlacePickerActivity.kt:367)
        at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.onCreate(PlacePickerActivity.kt:119)
        at android.app.Activity.performCreate(Activity.java:6355)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2440)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2547)
        at android.app.ActivityThread.access$1100(ActivityThread.java:151)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1398)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:157)
        at android.app.ActivityThread.main(ActivityThread.java:5603)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:774)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)

I don't have any idea what the cause of this issue. Any help?

Wish List

Hi, @rtchagas
I am university student in taiwan
I have a app about hail a taxi for user, but place picker deprecated by Google
This library is useful for me, and I have a bold request

May you add the function about the following

  1. Set country or set latitude and longitude to narrow the range in no positioning
  2. Set multilingual to change text

Thanks for your reading

Got Crash.

Couldn't find out the step..
io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | com.google.android.gms.common.api.ApiException: 15: Unexpected server error (HTTP Code: N/A. Message: com.android.volley.TimeoutError.)
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
at io.reactivex.internal.operators.single.SingleCreate$Emitter.onError(SingleCreate.java:81)
at com.rtchagas.pingplacepicker.repository.googlemaps.GoogleMapsRepository$getPlacePhoto$1$2.onFailure(GoogleMapsRepository.kt:105)
at com.google.android.gms.tasks.zzl.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6165)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)

Error when importing library : java.lang.RuntimeException: com.android.build.api.transform.TransformException

After I added the project and synced, I got the following error:

java.lang.RuntimeException: com.android.build.api.transform.TransformException: Error while generating the main dex list:
Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.google.android.material.internal.package-info
	at com.android.builder.profile.Recorder$Block.handleException(Recorder.java:55)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:104)
	at com.android.build.gradle.internal.pipeline.TransformTask.transform(TransformTask.java:230)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:50)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
	at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
	at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
	at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
	at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
	at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
	at java.lang.Thread.run(Thread.java:745)
Caused by: com.android.build.api.transform.TransformException: Error while generating the main dex list:
Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.google.android.material.internal.package-info
	at com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform(D8MainDexListTransform.kt:147)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:239)
	at com.android.build.gradle.internal.pipeline.TransformTask$2.call(TransformTask.java:235)
	at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:102)
	... 51 more
Caused by: com.android.builder.multidex.D8MainDexList$MainDexListException: Error while merging dex archives: 
Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
Program type already present: com.google.android.material.internal.package-info
	at com.android.builder.multidex.D8MainDexList.getExceptionToRethrow(D8MainDexList.java:107)
	at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:95)
	at com.android.build.gradle.internal.transforms.D8MainDexListTransform.transform(D8MainDexListTransform.kt:131)
	... 54 more
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
	at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:70)
	at com.android.tools.r8.utils.ExceptionUtils.withMainDexListHandler(ExceptionUtils.java:53)
	at com.android.tools.r8.GenerateMainDexList.run(GenerateMainDexList.java:118)
	at com.android.builder.multidex.D8MainDexList.generate(D8MainDexList.java:93)
	... 55 more
Caused by: com.android.tools.r8.utils.AbortException: Error: Program type already present: com.google.android.material.internal.package-info
	at com.android.tools.r8.utils.Reporter.failIfPendingErrors(Reporter.java:89)
	at com.android.tools.r8.utils.Reporter.fatalError(Reporter.java:60)
	at com.android.tools.r8.utils.ExceptionUtils.withCompilationHandler(ExceptionUtils.java:64)

Cann't inflating class androidx.coordinatorlayout.widget.CoordinatorLayout

Add the library to my project and run to crash.
It seems that error is "class androidx.coordinatorlayout.widget.CoordinatorLayout".

java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.oneplus.opmms/com.rtchagas.pingplacepicker.ui.PlacePickerActivity}: android.view.InflateException: Binary XML file line #2 in cn.oneplus.opmms:layout/activity_place_picker: Binary XML file line #2 in cn.oneplus.opmms:layout/activity_place_picker: Error inflating class androidx.coordinatorlayout.widget.CoordinatorLayout
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3368)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3507)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2106)
at android.os.Handler.dispatchMessage(Handler.java:107)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7512)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:530)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)
Caused by: android.view.InflateException: Binary XML file line #2 in cn.oneplus.opmms:layout/activity_place_picker: Binary XML file line #2 in cn.oneplus.opmms:layout/activity_place_picker: Error inflating class androidx.coordinatorlayout.widget.CoordinatorLayout
Caused by: android.view.InflateException: Binary XML file line #2 in cn.oneplus.opmms:layout/activity_place_picker: Error inflating class androidx.coordinatorlayout.widget.CoordinatorLayout
Caused by: java.lang.ClassNotFoundException: androidx.coordinatorlayout.widget.CoordinatorLayout

"Select this location" don't work

There is a bug in the app. Select this location in the place where is no place on the mapp don't work. I'm working on fix, I'll submit PR soon.

Crash when Location Permission is denied

Steps to repro,

  • Open PlacePicker deny the permission. See the alert dialog with OK button
  • Tap on search, crashes the app 100% of times
  • There's no obvious way to go back on the devices with soft buttons, unless you try to scroll the nearby list until the toolbar is revealed
java.lang.RuntimeExceptioncom.google.android.libraries.places.widget.AutocompleteActivity
Unable to start activity ComponentInfo{com.test.mobile/com.google.android.libraries.places.widget.AutocompleteActivity}: java.lang.IllegalStateException: Places must be initialized.

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sample/com.rtchagas.pingplacepicker.ui.PlacePickerActivity}: android.view.InflateException: Binary XML file line #43: Binary XML file line #43: Error inflating class fragment

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sample/com.rtchagas.pingplacepicker.ui.PlacePickerActivity}: android.view.InflateException: Binary XML file line #43: Binary XML file line #43: Error inflating class fragment

Dependencies error, Manifest Merger failed after adding the dependency

Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library [com.github.rtchagas:pingplacepicker:1.0.4] C:\Users\dell.gradle\caches\transforms-1\files-1.1\pingplacepicker-1.0.4.aar\bea39304e99fc86a33ad7d0ec21ee063\AndroidManifest.xml as the library might be using APIs not available in 16
Suggestion: use a compatible library with a minSdk of at most 16,
or increase this project's minSdk version to at least 19,
or use tools:overrideLibrary="com.rtchagas.pingplacepicker" to force usage (may lead to runtime failures)

It is not possible set an API Key restriction for web using Android

Because the use of a web key API is mandatory, we have a limitation when we go on this way. The restrictions of the web APIs uses an URL from website and we cannot use the option to restrict it for Android devices, because requests are made via REST and the android signature doesn't work for anything.

Androidx fragment crash

Hi @rtchagas
When I use this library in a java project, I got the strange errors

  1. My project layout have wrong position in ConstraintLayout
  2. I got the crash in androidx fragment

This is crash message:
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()' on a null object reference
at androidx.fragment.app.Fragment.performDetach(Fragment.java:2844)
at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManagerImpl.java:1034)
at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManagerImpl.java:1238)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:434)
at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManagerImpl.java:2076)
at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManagerImpl.java:1866)
at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManagerImpl.java:1821)
at androidx.fragment.app.FragmentManagerImpl.execSingleAction(FragmentManagerImpl.java:1696)
at androidx.fragment.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:299)
at androidx.fragment.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:256)
at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1244)
at androidx.viewpager.widget.ViewPager.populate(ViewPager.java:1092)
at androidx.viewpager.widget.ViewPager$3.run(ViewPager.java:273)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966)
at android.view.Choreographer.doCallbacks(Choreographer.java:778)
at android.view.Choreographer.doFrame(Choreographer.java:710)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:169)
at android.app.ActivityThread.main(ActivityThread.java:6585)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

Do you have any idea? Thanks for you help

The style on this component requires your app theme to be Theme.MaterialComponents

Hello,

in onCreateActivity in at setContentView
I encounter this error for TextInputLayout inflation. Its style is already set to style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"

But I get a crash when I just include your library. (Not even used in the activity)

java.lang.RuntimeException: Unable to start activity ComponentInfo{rentsher.simba.uae/rentsher.simba.modules.setAddress.SetAddressActivity}: android.view.InflateException: Binary XML file line #58: Binary XML file line #58: Error inflating class com.google.android.material.textfield.TextInputLayout
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2951)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3086)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:495)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: android.view.InflateException: Binary XML file line #58: Binary XML file line #58: Error inflating class com.google.android.material.textfield.TextInputLayout
     Caused by: android.view.InflateException: Binary XML file line #58: Error inflating class com.google.android.material.textfield.TextInputLayout
     Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
        at androidx.appcompat.app.AppCompatDelegateImpl.setContentView(AppCompatDelegateImpl.java:545)
        at androidx.appcompat.app.AppCompatActivity.setContentView(AppCompatActivity.java:161)
        at rentsher.simba.modules.setAddress.SetAddressActivity.onCreate(SetAddressActivity.kt:43)
        at android.app.Activity.performCreate(Activity.java:7144)
        at android.app.Activity.performCreate(Activity.java:7135)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2931)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3086)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6718)
2019-08-07 14:57:39.434 31922-31922/rentsher.simba.uae E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:495)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.IllegalArgumentException: The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant).
        at com.google.android.material.internal.ThemeEnforcement.checkTheme(ThemeEnforcement.java:240)
        at com.google.android.material.internal.ThemeEnforcement.checkMaterialTheme(ThemeEnforcement.java:215)
        at com.google.android.material.internal.ThemeEnforcement.checkCompatibleTheme(ThemeEnforcement.java:143)
        at com.google.android.material.internal.ThemeEnforcement.obtainTintedStyledAttributes(ThemeEnforcement.java:116)
        at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:413)
        at com.google.android.material.textfield.TextInputLayout.<init>(TextInputLayout.java:392)

When I remove your library from build.gradle everything works as usual

here is my current build.gradle (commenting last two lines doenst lead to crash)


 implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'androidx.appcompat:appcompat:1.0.2'

    //Basic
    implementation 'com.google.android.material:material:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'androidx.recyclerview:recyclerview:1.0.0'
    implementation 'androidx.cardview:cardview:1.0.0'

    //Play Services
    implementation 'com.google.android.gms:play-services-location:17.0.0'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    implementation 'com.google.android.gms:play-services-auth:17.0.0'

    //Kotlin Coroutines
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'

    //Firebase
    implementation 'com.google.firebase:firebase-core:17.0.1'
    implementation 'com.google.firebase:firebase-messaging:19.0.1'
    implementation 'com.google.firebase:firebase-auth:18.1.0'

    //Facebook
    implementation 'com.facebook.android:facebook-login:4.42.0'

    //Netcore Smartech
    implementation 'in.netcore.smartechfcm:smartech-fcm:1.2.7'
    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'

    //Firebase Auth
    //implementation 'com.google.firebase:firebase-auth:16.1.0'
    //implementation 'com.firebaseui:firebase-ui-auth:4.1.0'

    //Firebase Firestore
    //implementation 'com.google.firebase:firebase-database:16.0.6'
    //implementation 'com.firebaseui:firebase-ui-database:4.3.1'

    //Firebase Storage
    //implementation 'com.google.firebase:firebase-storage:16.0.5'
    //implementation 'com.firebaseui:firebase-ui-storage:4.3.1'

    //Reactive
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.10'

    // Networking
    implementation 'com.squareup.retrofit2:retrofit:2.6.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.5.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.13.1'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.0'
    implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
    debugImplementation 'com.readystatesoftware.chuck:library:1.1.0'

    //RecyclerView Decoration
    implementation 'com.arjinmc.android:recyclerviewdecoration:2.6'

    // Gson by Google
    implementation 'com.google.code.gson:gson:2.8.5'

    //Glide
    implementation 'com.github.bumptech.glide:glide:4.9.0'
    kapt 'com.github.bumptech.glide:compiler:4.9.0'

    //Location Library
    implementation 'io.nlopez.smartlocation:library:3.3.3'

    //Permissions
    implementation 'com.karumi:dexter:5.0.0'

    //Crashlytics
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'

    //AppCountry Code Picker
    implementation 'com.hbb20:ccp:2.1.2'

    //File Chooser
    implementation 'com.github.hedzr:android-file-chooser:v1.1.16'

    //Camera Take Pic
    implementation 'com.sandrios.android:sandriosCamera:1.1.0'
    implementation 'com.github.yalantis:ucrop:2.2.2'
    implementation 'id.zelory:compressor:2.1.0'

    //Calendar
    implementation 'com.savvi.datepicker:rangepicker:1.3.0'
    
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

    // Places library
    implementation 'com.google.android.libraries.places:places:2.0.0'
    // PING Place Picker
    implementation 'com.github.rtchagas:pingplacepicker:1.1.2'

Manifest and API keys errors

Task :app:processDebugManifest FAILED
X:\Android\beebagi\app\src\main\AndroidManifest.xml:22:18-91 Error:
Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.1.0-alpha05] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:6:5-44:19 to override.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':app:processDebugManifest'.

Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.1.0-alpha05] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:6:5-44:19 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 3s
6 actionable tasks: 1 executed, 5 up-to-date
ERROR: Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.1.0-alpha05] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to element at AndroidManifest.xml:6:5-44:19 to override.

Crash on calling activity, rvNearbyPlaces missing.

Process: gps_route_finder_nearby_video.navigation.direction, PID: 19561 java.lang.NoSuchFieldError: No static field rvNearbyPlaces of type I in class Lcom/rtchagas/pingplacepicker/R$id; or its superclasses (declaration of 'com.rtchagas.pingplacepicker.R$id' appears in /data/app/gps_route_finder_nearby_video.navigation.direction-SNqdVdncdDTkgxdQO8CE5Q==/split_lib_slice_0_apk.apk) at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.initializeUi(PlacePickerActivity.kt:367) at com.rtchagas.pingplacepicker.ui.PlacePickerActivity.onCreate(PlacePickerActivity.kt:119) at android.app.Activity.performCreate(Activity.java:7327) at android.app.Activity.performCreate(Activity.java:7318) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3095) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3258) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7073) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)

please add turkish language

Ping Place Picker
<string name="picker_title">Select a location</string>
<string name="picker_select_this">Bu konumu seç</string>
<string name="picker_or_select_nearby">İsterseniz yakındaki bir yeri seçin</string>
<string name="picker_load_places_error">"Yakında bir yer bulunamadı..."</string>
<string name="picker_load_this_place_error">"Seçtiğiniz yer bulunamadı..."</string>
<string name="picker_place_confirm">Bu konum kullanılsın mı?</string>
<string name="picker_place_confirm_cancel">Konumu Değiştir</string>
<string name="picker_location_unavailable">Lokasyon Bulunamadı</string>

<!-- Content descriptions -->
<string name="description_place_image">Seçilen yerin fotoğrafı</string>
<string name="description_place_map">Seçilen yerin haritası</string>

<!-- Permissions -->
<string name="permission_fine_location_title">Konum İzini</string>
<string name="permission_fine_location_message">Yakındaki yerleri gösterebilmek için konum izinine ihtiyacımız var.</string>

Select this location does not return the actual LatLng

Hi Rafael, thank you for this awesome library.

When users click on select this location button, the library does not return the actual LatLng selected by the users. Instead it only return place object retrieved from the Google Place.

It becomes a problem when the app needs the actual coordinate selected by the users. I will submit a PR

Improvement: Update koin version

I'm using latest stable version of koin in my project:

def koin_version = '2.0.1'
implementation "org.koin:koin-android:$koin_version"

In pingplacepicker this version is used:
implementation 'org.koin:koin-android:2.0.0-rc-2'
When I'm starting PlacePicker it crashes. Stacktrace point to Koin dependencies in library.

 java.lang.NoSuchMethodError: No direct method <init>(Lorg/koin/core/qualifier/Qualifier;Lkotlin/reflect/KClass;)V in class Lorg/koin/core/definition/BeanDefinition; or its super classes (declaration of 'org.koin.core.definition.BeanDefinition' appears in /data/app/com.oitchau.debug-RnTBdgwQJYqnF5iT34jFRQ==/split_lib_slice_0_apk.apk!classes3.dex)
        at com.rtchagas.pingplacepicker.inject.RepositoryModuleKt$repositoryModule$1.invoke(RepositoryModule.kt:57)
        at com.rtchagas.pingplacepicker.inject.RepositoryModuleKt$repositoryModule$1.invoke(Unknown Source:2)
        at org.koin.dsl.ModuleKt.module(Module.kt:31)
        at org.koin.dsl.ModuleKt.module$default(Module.kt:29)
        at com.rtchagas.pingplacepicker.inject.RepositoryModuleKt.<clinit>(RepositoryModule.kt:17)
        at com.rtchagas.pingplacepicker.inject.RepositoryModuleKt.getRepositoryModule(RepositoryModule.kt:17)
        at com.rtchagas.pingplacepicker.PingPlacePicker$IntentBuilder$initKoin$1.invoke(PingPlacePicker.kt:74)
        at com.rtchagas.pingplacepicker.PingPlacePicker$IntentBuilder$initKoin$1.invoke(PingPlacePicker.kt:20)
        at org.koin.dsl.KoinApplicationKt.koinApplication(KoinApplication.kt:28)
        at com.rtchagas.pingplacepicker.PingPlacePicker$IntentBuilder.initKoin(PingPlacePicker.kt:70)
        at com.rtchagas.pingplacepicker.PingPlacePicker$IntentBuilder.build(PingPlacePicker.kt:52)

Due to gradle default dependency resolving strategy it pick higher version of the library, so when I decreased dependency in my project to 2.0.0-rc2 the PingPlacePicker starded working.
So could you please update this dependency in the next release

support for setLatLngBounds

Hey there,

Th old google place picker had the ablity to set an initial location different than the current location via builder.setLatLngBounds(latLngBounds)

I need to be able to edit already picked locations so this would be really helpful. Is there support planned for that?

Add support for map pointing

Hello rtchagas,

First all thank you for this amazing library. It is exactly what I am looking for.
I would like to add support for map pointing.
My idea is to add a button on top of the gps one, so when is pushed the places requested are those closer to the center of the map (or the ping). This is for a personal app to keep track of my expenses and I usually do this when I am at home, not at supermarket, bar, etc.

I tried to do it myself but I got lost in the function getNearbyPlaces in GoogleMapsRepository, as you do not need to provide a LatLng I guess the system automatically gets the location from the device when building the FindCurrentPlaceRequest.

Again thank you for your time and effort

Regards,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.