Mapbox Autocomplete Search Crashes The Application When A Letter Is Typed

Viewed 225

I followed a tutorial on Mapbox link here that shows how to add an autocomplete search bar on Android application.

This is the java code in my MainActivity

private String my_token = "<my-token-from-mapbox>";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Intent intent = new PlaceAutocomplete.IntentBuilder()
            .accessToken(my_token)
            .build(this);
    startActivityForResult(intent, 1);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK && requestCode == 1) {
        CarmenFeature feature = PlaceAutocomplete.getPlace(data);
        Toast.makeText(this, feature.text(), Toast.LENGTH_LONG).show();
    }
}

It all renders fine but when I type even just a single letter, the application crashes and I get this long error from the logcat

2020-09-18 12:30:01.271 21918-21918/com.alpha.istack E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.alpha.istack, PID: 21918
java.lang.BootstrapMethodError: Exception from call site #4 bootstrap method
    at okhttp3.internal.Util.<clinit>(Util.java:87)
    at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321)
    at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313)
    at okhttp3.HttpUrl.get(HttpUrl.java:917)
    at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492)
    at com.mapbox.core.MapboxService.getService(MapboxService.java:132)
    at com.mapbox.api.geocoding.v5.MapboxGeocoding.initializeCall(MapboxGeocoding.java:86)
    at com.mapbox.core.MapboxService.getCall(MapboxService.java:69)
    at com.mapbox.core.MapboxService.enqueueCall(MapboxService.java:95)
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.viewmodel.PlaceAutocompleteViewModel.onQueryChange(PlaceAutocompleteViewModel.java:87)
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.PlaceAutocompleteFragment.onQueryChange(PlaceAutocompleteFragment.java:155)
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.SearchView.onTextChanged(SearchView.java:82)
    at android.widget.TextView.sendOnTextChanged(TextView.java:9828)
    at android.widget.TextView.handleTextChanged(TextView.java:9925)
    at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:12750)
    at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1263)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:575)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:506)
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:36)
    at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:861)
    at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:207)
    at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:187)
    at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:365)
    at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:94)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:224)
    at android.app.ActivityThread.main(ActivityThread.java:7107)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:536)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
 ***Caused by: java.lang.ClassCastException: Bootstrap method returned null***
    at okhttp3.internal.Util.<clinit>(Util.java:87) 
    at okhttp3.internal.Util.skipLeadingAsciiWhitespace(Util.java:321) 
    at okhttp3.HttpUrl$Builder.parse(HttpUrl.java:1313) 
    at okhttp3.HttpUrl.get(HttpUrl.java:917) 
    at retrofit2.Retrofit$Builder.baseUrl(Retrofit.java:492) 
    at com.mapbox.core.MapboxService.getService(MapboxService.java:132) 
    at com.mapbox.api.geocoding.v5.MapboxGeocoding.initializeCall(MapboxGeocoding.java:86) 
    at com.mapbox.core.MapboxService.getCall(MapboxService.java:69) 
    at com.mapbox.core.MapboxService.enqueueCall(MapboxService.java:95) 
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.viewmodel.PlaceAutocompleteViewModel.onQueryChange(PlaceAutocompleteViewModel.java:87) 
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.PlaceAutocompleteFragment.onQueryChange(PlaceAutocompleteFragment.java:155) 
    at com.mapbox.mapboxsdk.plugins.places.autocomplete.ui.SearchView.onTextChanged(SearchView.java:82) 
    at android.widget.TextView.sendOnTextChanged(TextView.java:9828) 
    at android.widget.TextView.handleTextChanged(TextView.java:9925) 
    at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:12750) 
    at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1263) 
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:575) 
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:506) 
    at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:36) 
    at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:861) 
    at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:207) 
    at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:187) 
    at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:365) 
    at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:94) 
    at android.os.Handler.dispatchMessage(Handler.java:106) 
    at android.os.Looper.loop(Looper.java:224) 
    at android.app.ActivityThread.main(ActivityThread.java:7107) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:536) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876) 

which I don't clearly understand. I hope someone out there can help me. I've double checked all the dependencies, manifest file and layout files but wasn't able to find anything that might have caused the app to crash. Thanks.

1 Answers
Related