- mid commit

This commit is contained in:
2023-08-12 13:21:23 +01:00
parent 9aaf98a655
commit 3d7997f623
25 changed files with 541 additions and 149 deletions

View File

@@ -18,6 +18,7 @@ class WorldViewModel(
private val locationProvider: LocationProvider,
private val repository: Repository
) : WeatherViewModel() {
private var currentLocation: String? = null
private val weatherListLiveData = repository.loadRoomWeatherLiveData()
@@ -27,9 +28,13 @@ class WorldViewModel(
WeatherDisplay(data)
}
onSuccess(list)
currentLocation?.let { i -> list.first { j -> j.location == i } }
?.let { k -> onSuccess(k) }
}
}
fun setLocation(location: String) = run { currentLocation = location }
fun getSingleLocation(locationName: String) {
CoroutineScope(Dispatchers.IO).launch {
val entity = repository.getSingleWeather(locationName)
@@ -48,8 +53,7 @@ class WorldViewModel(
repository.getSingleWeather(locationName)
}
repository.saveCurrentWeatherToRoom(weatherEntity)
repository.saveLastSavedAt(locationName)
onSuccess(Unit)
repository.saveLastSavedAt(weatherEntity.id)
} catch (e: IOException) {
onError(e.message!!)
}

View File

@@ -37,20 +37,4 @@
android:textStyle="bold" />
</LinearLayout>
<FrameLayout
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:visibility="gone">
<ProgressBar
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</FrameLayout>
</RelativeLayout>

View File

@@ -1,44 +0,0 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.appttude.h_mal.atlas_weather.ui.world.WorldFragment">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/world_recycler"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:listitem="@layout/db_list_item" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/floatingActionButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"
android:contentDescription="@string/image_string"
app:srcCompat="@drawable/ic_baseline_add_24" />
<FrameLayout
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:visibility="gone"
tools:visibility="visible">
<ProgressBar
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center" />
</FrameLayout>
</RelativeLayout>