diff --git a/app/src/main/java/com/delacrixmorgan/squark/LaunchFragment.kt b/app/src/main/java/com/delacrixmorgan/squark/LaunchFragment.kt index 4649c65..33472fc 100644 --- a/app/src/main/java/com/delacrixmorgan/squark/LaunchFragment.kt +++ b/app/src/main/java/com/delacrixmorgan/squark/LaunchFragment.kt @@ -11,6 +11,7 @@ import androidx.core.content.edit import androidx.fragment.app.Fragment import androidx.navigation.Navigation import com.delacrixmorgan.squark.common.SharedPreferenceHelper.UPDATED_TIME_STAMP +import com.delacrixmorgan.squark.common.isConnected import com.delacrixmorgan.squark.data.api.SquarkApiService import com.delacrixmorgan.squark.data.controller.CountryDataController import com.delacrixmorgan.squark.data.controller.CountryDatabase @@ -55,12 +56,15 @@ class LaunchFragment : Fragment() { private fun fetchCurrencyData() { AsyncTask.execute { - val countryData = this.countryDatabase?.countryDataDao()?.getCountries() ?: listOf() - - if (countryData.isEmpty()) { - initCurrencies() + if (requireContext().isConnected) { + val countryData = this.countryDatabase?.countryDataDao()?.getCountries() ?: listOf() + if (countryData.isEmpty()) { + initCurrencies() + } else { + launchCurrencyNavigationFragment(countryData) + } } else { - launchCurrencyNavigationFragment(countryData) + fallbackCurrencies() } } } diff --git a/app/src/main/java/com/delacrixmorgan/squark/common/SquarkExtensions.kt b/app/src/main/java/com/delacrixmorgan/squark/common/SquarkExtensions.kt index 8b00475..04d3633 100644 --- a/app/src/main/java/com/delacrixmorgan/squark/common/SquarkExtensions.kt +++ b/app/src/main/java/com/delacrixmorgan/squark/common/SquarkExtensions.kt @@ -2,6 +2,7 @@ package com.delacrixmorgan.squark.common import android.content.Context import android.content.Intent +import android.net.ConnectivityManager import android.net.Uri import android.os.Build import android.preference.PreferenceManager @@ -51,6 +52,12 @@ fun Fragment.launchWebsite(url: String) { } //region Context +val Context.isConnected: Boolean + get() { + return (getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager) + .activeNetworkInfo?.isConnected == true + } + fun Context.launchPlayStore(packageName: String) { val url = "https://play.google.com/store/apps/details?id=$packageName" val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))