Android 发布Google Places自动完成响应-现在声明为内部

Android 发布Google Places自动完成响应-现在声明为内部,android,kotlin,google-places-api,googleplacesautocomplete,Android,Kotlin,Google Places Api,Googleplacesautocomplete,最近将Google API版本从11.8.0升级到12.0.1,结果是在我的完成监听器中从任务中生成了task.result.release()。目前的文件仍然说 这里是我使用它的地方: .addOnCompleteListener { task: Task<AutocompletePredictionBufferResponse> -> if (task.isSuccessful) { {...} //Release to avoi

最近将Google API版本从11.8.0升级到12.0.1,结果是在我的完成监听器中从
任务中生成了
task.result.release()
。目前的文件仍然说

这里是我使用它的地方:

.addOnCompleteListener { task: Task<AutocompletePredictionBufferResponse> ->
    if (task.isSuccessful) {

        {...}

        //Release to avoid internal data leak
        task.result.release()
    } else {
        Log.e("AutoCompletePredictions", task.exception?.message)

        //Release to avoid internal data leak
        task.result.release()
    }
}
.addOnFailureListener(this@NewLocationActivity) {
    Log.e("AutoCompletePredictions", it.message)
}

似乎是一个意外的改变

它始于12.0.0,在其版本中有以下“已知问题”:

注释导致虚假的lint错误,声称
GoogleSignIn
CredentialsClient
仅限于内部。可以放心地忽略这些

我猜他们不仅仅是针对
GoogleSignIn
CredentialsClient
,而且他们只解决了以下问题:

修复了导致虚假Android lint错误的问题
GoogleSignIn
CredentialsClient
仅为内部客户


release()
的相应源代码在11.8.0-12.0.1版本中似乎是相同的,因此我相信您可以安全地忽略这些警告。

我根据您的回答打开了一个问题跟踪程序。任何感兴趣的人都可以在这里找到:
private fun getSuggestions() {
    val filter = AutocompleteFilter.Builder()
        .setTypeFilter(AutocompleteFilter.TYPE_FILTER_ADDRESS)
        .setCountry(CountryManager.getCountryISO())
        .build()

    Places.getGeoDataClient(this@NewLocationActivity/*, null*/) // uncomment for v11.8.0
        .getAutocompletePredictions(
            activity_new_location_edit_text.text.toString(),
            null,
            filter
        )
        .addOnCompleteListener { task: Task<AutocompletePredictionBufferResponse> ->
            if (task.isSuccessful) {
                val addressList: ArrayList<String> = arrayListOf()

                var index = 0
                for(item in task.result) {
                    if(index >= MAX_SUGGESTION_RESULTS)
                        break

                    addressList.add(item.getFullText(null).toString())
                    index++
                }

                if(!(addressList.size == 1 && addressList[0] == activity_new_location_edit_text.text.toString()))
                    loadGoogleAddressesIntoSuggestionList(addressList)

                //Release to avoid internal data leak
                task.result.release()
            } else {
                Log.e("AutoCompletePredictions", task.exception?.message)

                //Release to avoid internal data leak
                task.result.release()
            }
        }
        .addOnFailureListener(this@NewLocationActivity) {
            Log.e("AutoCompletePredictions", it.message)
        }
}