Skip to content

Commit

Permalink
Handle When There's no Internet Connection and Fallback Currency
Browse files Browse the repository at this point in the history
delacrixmorgan committed Jun 13, 2019
1 parent f829855 commit 8e66523
Showing 2 changed files with 16 additions and 5 deletions.
14 changes: 9 additions & 5 deletions app/src/main/java/com/delacrixmorgan/squark/LaunchFragment.kt
Original file line number Diff line number Diff line change
@@ -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()
}
}
}
Original file line number Diff line number Diff line change
@@ -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))

0 comments on commit 8e66523

Please sign in to comment.