fix some deprecations / warnings

This commit is contained in:
Johan von Forstner
2020-12-23 16:29:37 +01:00
parent 1a32159526
commit b054464280
12 changed files with 26 additions and 15 deletions

View File

@@ -17,7 +17,7 @@ fun checkPlayServices(activity: Activity): Boolean {
val resultCode = apiAvailability.isGooglePlayServicesAvailable(activity)
if (resultCode != ConnectionResult.SUCCESS) {
if (apiAvailability.isUserResolvableError(resultCode)) {
apiAvailability.getErrorDialog(activity, resultCode, request).show()
apiAvailability.getErrorDialog(activity, resultCode, request)?.show()
} else {
Log.d("EVMap", "This device is not supported.")
}

View File

@@ -6,6 +6,7 @@ import android.net.Uri
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import androidx.browser.customtabs.CustomTabColorSchemeParams
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat
import androidx.drawerlayout.widget.DrawerLayout
@@ -96,7 +97,11 @@ class MapsActivity : AppCompatActivity() {
fun openUrl(url: String) {
val intent = CustomTabsIntent.Builder()
.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary))
.setDefaultColorSchemeParams(
CustomTabColorSchemeParams.Builder()
.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary))
.build()
)
.build()
intent.launchUrl(this, Uri.parse(url))
}

View File

@@ -2,6 +2,7 @@ package net.vonforst.evmap.api.availability
import com.facebook.stetho.okhttp3.StethoInterceptor
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.withContext
import net.vonforst.evmap.api.RateLimitInterceptor
import net.vonforst.evmap.api.await
@@ -21,6 +22,7 @@ interface AvailabilityDetector {
suspend fun getAvailability(location: ChargeLocation): ChargeLocationStatus
}
@ExperimentalCoroutinesApi
abstract class BaseAvailabilityDetector(private val client: OkHttpClient) : AvailabilityDetector {
protected val radius = 150 // max radius in meters

View File

@@ -8,6 +8,7 @@ import okhttp3.OkHttpClient
import org.json.JSONObject
import java.io.IOException
@ExperimentalCoroutinesApi
class ChargecloudAvailabilityDetector(
client: OkHttpClient,
private val operatorId: String

View File

@@ -95,7 +95,7 @@ class NewMotionAvailabilityDetector(client: OkHttpClient, baseUrl: String? = nul
// find nearest station to this position
var markers =
api.getMarkers(lng - coordRange, lng + coordRange, lat - coordRange, lat + coordRange)
val nearest = markers.minBy { marker ->
val nearest = markers.minByOrNull { marker ->
distanceBetween(marker.coordinates.latitude, marker.coordinates.longitude, lat, lng)
} ?: throw AvailabilityDetectorException("no candidates found.")

View File

@@ -77,7 +77,7 @@ data class ChargeLocation(
*/
fun maxPower(connectors: Set<String>? = null): Double {
return chargepoints.filter { connectors?.contains(it.type) ?: true }
.map { it.power }.max() ?: 0.0
.map { it.power }.maxOrNull() ?: 0.0
}
/**

View File

@@ -76,7 +76,7 @@ class GalleryFragment : Fragment() {
GalleryAdapter(requireContext(), detailView = true, pageToLoad = currentPosition) {
startPostponedEnterTransition()
}
binding.gallery.setPageTransformer { page, position ->
binding.gallery.setPageTransformer { page, _ ->
val v = page as TouchImageView
currentPage = v
}

View File

@@ -164,7 +164,7 @@ class MapFragment : Fragment(), OnMapReadyCallback, MapsActivity.FragmentCallbac
setHasOptionsMenu(true)
postponeEnterTransition()
binding.root.setOnApplyWindowInsetsListener { v, insets ->
binding.root.setOnApplyWindowInsetsListener { _, insets ->
binding.detailAppBar.toolbar.updateLayoutParams<ViewGroup.MarginLayoutParams> {
topMargin = insets.systemWindowInsetTop
}

View File

@@ -5,6 +5,7 @@ import android.content.Context
import android.net.Uri
import android.os.Bundle
import android.util.AttributeSet
import androidx.browser.customtabs.CustomTabColorSchemeParams
import androidx.browser.customtabs.CustomTabsIntent
import androidx.core.content.ContextCompat
import androidx.core.content.withStyledAttributes
@@ -28,7 +29,11 @@ class ChromeCustomTabsNavigator(
navigatorExtras: Extras?
): NavDestination? {
val intent = CustomTabsIntent.Builder()
.setToolbarColor(ContextCompat.getColor(context, R.color.colorPrimary))
.setDefaultColorSchemeParams(
CustomTabColorSchemeParams.Builder()
.setToolbarColor(ContextCompat.getColor(context, R.color.colorPrimary))
.build()
)
.build()
intent.launchUrl(context, destination.url!!)
return null // Do not add to the back stack, managed by Chrome Custom Tabs

View File

@@ -13,8 +13,6 @@ class LocaleContextWrapper(base: Context?) : ContextWrapper(base) {
fun wrap(context: Context, language: String): ContextWrapper {
val sysConfig: Configuration = context.applicationContext.resources.configuration
val appConfig: Configuration = context.resources.configuration
var ctx = context
if (language == "" || language == "default") {
// set default locale
@@ -37,8 +35,7 @@ class LocaleContextWrapper(base: Context?) : ContextWrapper(base) {
}
}
ctx = context.createConfigurationContext(appConfig)
return LocaleContextWrapper(ctx)
return LocaleContextWrapper(context.createConfigurationContext(appConfig))
}
}
}

View File

@@ -22,7 +22,7 @@ val powerSteps = listOf(0, 2, 3, 7, 11, 22, 43, 50, 75, 100, 150, 200, 250, 300,
internal fun mapPower(i: Int) = powerSteps[i]
internal fun mapPowerInverse(power: Int) = powerSteps
.mapIndexed { index, v -> abs(v - power) to index }
.minBy { it.first }?.second ?: 0
.minByOrNull { it.first }?.second ?: 0
internal fun getFilters(
application: Application,
@@ -109,14 +109,14 @@ internal fun filtersWithValue(
listOf(filters, filterValues, active).forEach {
if (it == null) return@forEach
addSource(it) {
val filters = filters.value ?: return@addSource
val f = filters.value ?: return@addSource
value = if (active != null && !active.value!!) {
filters.map { filter ->
f.map { filter ->
FilterWithValue(filter, filter.defaultValue())
}
} else {
val values = filterValues.value ?: return@addSource
filters.map { filter ->
f.map { filter ->
val value =
values.find { it.key == filter.key } ?: filter.defaultValue()
FilterWithValue(filter, filter.valueClass.cast(value))

View File

@@ -6,6 +6,7 @@ import androidx.lifecycle.*
import java.util.concurrent.atomic.AtomicBoolean
@Suppress("UNCHECKED_CAST")
inline fun <VM : ViewModel> viewModelFactory(crossinline f: () -> VM) =
object : ViewModelProvider.Factory {
override fun <T : ViewModel> create(aClass: Class<T>): T = f() as T