Skip to content

Commit 8529a41

Browse files
committed
v1.3
1 parent bcbc965 commit 8529a41

File tree

57 files changed

+3048
-88
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+3048
-88
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,12 @@
11
# Weekly-Weather
2+
3+
A quick view of your weekly weather
4+
5+
A quick overview of you weekly weather of your current location or search and save your favourite locations for easy access.
6+
7+
Save a GPS weather location with a custom name.
8+
9+
App translated into 37 languages.
10+
11+
Weather data API -> https://open-meteo.com/
12+
Open Sourced -> https://github.com/codeskraps/Weekly-Weather

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed
12
plugins {
23
alias(libs.plugins.android.application)
34
alias(libs.plugins.org.jetbrains.kotlin.android)
@@ -13,8 +14,8 @@ android {
1314
applicationId = "com.arklan.weather"
1415
minSdk = 26
1516
targetSdk = 34
16-
versionCode = 3
17-
versionName = "1.2"
17+
versionCode = 4
18+
versionName = "1.3"
1819

1920
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2021
vectorDrawables {

app/release/app-release.aab

40.6 KB
Binary file not shown.

feature/common/src/main/java/com/trifork/feature/common/data/repository/LocalGeocodingRepositoryImpl.kt

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
package com.trifork.feature.common.data.repository
22

3-
import android.util.Log
43
import com.trifork.feature.common.data.local.GeocodingDB
54
import com.trifork.feature.common.data.mappers.toGeoLocationEntity
65
import com.trifork.feature.common.data.mappers.toGeocoding
76
import com.trifork.feature.common.domain.model.GeoLocation
87
import com.trifork.feature.common.domain.repository.LocalGeocodingRepository
8+
import com.trifork.feature.common.domain.repository.LocalResourceRepository
99
import com.trifork.feature.common.util.Resource
1010
import javax.inject.Inject
1111

1212
class LocalGeocodingRepositoryImpl @Inject constructor(
13-
private val geocodingDB: GeocodingDB
13+
private val geocodingDB: GeocodingDB,
14+
private val localResource: LocalResourceRepository
1415
) : LocalGeocodingRepository {
1516

1617
override suspend fun getCachedGeoLocation(): Resource<List<GeoLocation>> {
@@ -20,7 +21,7 @@ class LocalGeocodingRepositoryImpl @Inject constructor(
2021
)
2122
} catch (e: Exception) {
2223
e.printStackTrace()
23-
Resource.Error(e.message ?: "An unknown error occurred.")
24+
Resource.Error(e.message ?: localResource.getUnknownErrorString())
2425
}
2526
}
2627

@@ -30,7 +31,7 @@ class LocalGeocodingRepositoryImpl @Inject constructor(
3031
Resource.Success(Unit)
3132
} catch (e: Exception) {
3233
e.printStackTrace()
33-
Resource.Error(e.message ?: "An unknown error occurred.")
34+
Resource.Error(e.message ?: localResource.getUnknownErrorString())
3435
}
3536
}
3637

@@ -40,7 +41,7 @@ class LocalGeocodingRepositoryImpl @Inject constructor(
4041
Resource.Success(Unit)
4142
} catch (e: Exception) {
4243
e.printStackTrace()
43-
Resource.Error(e.message ?: "An unknown error occurred.")
44+
Resource.Error(e.message ?: localResource.getUnknownErrorString())
4445
}
4546
}
4647

@@ -51,7 +52,7 @@ class LocalGeocodingRepositoryImpl @Inject constructor(
5152
)
5253
} catch (e: Exception) {
5354
e.printStackTrace()
54-
Resource.Error(e.message ?: "An unknown error occurred.")
55+
Resource.Error(e.message ?: localResource.getUnknownErrorString())
5556
}
5657
}
5758
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.trifork.feature.common.data.repository
2+
3+
import android.content.res.Resources
4+
import com.trifork.feature.common.R
5+
import com.trifork.feature.common.domain.repository.LocalResourceRepository
6+
import javax.inject.Inject
7+
8+
class LocalResourceRepositoryImpl @Inject constructor(
9+
private val resources: Resources
10+
) : LocalResourceRepository {
11+
override suspend fun getUnknownErrorString(): String {
12+
return resources.getString(R.string.unknown_error)
13+
}
14+
15+
override suspend fun getCurrentLocationString(): String {
16+
return resources.getString(R.string.current_location)
17+
}
18+
19+
override suspend fun getCheckInternetString(): String {
20+
return resources.getString(R.string.check_internet_connection)
21+
}
22+
23+
override suspend fun getCheckGPSString(): String {
24+
return resources.getString(R.string.check_gps)
25+
}
26+
27+
override suspend fun getLocationCanNotBeBlankString(): String {
28+
return resources.getString(R.string.location_can_not_be_blank)
29+
}
30+
31+
override suspend fun getNoResultString(): String {
32+
return resources.getString(R.string.no_results)
33+
}
34+
35+
override suspend fun getIssueLoadingCache(): String {
36+
return resources.getString(R.string.issue_loading_cache)
37+
}
38+
39+
override suspend fun getIssueSaving(): String {
40+
return resources.getString(R.string.issue_saving)
41+
}
42+
43+
override suspend fun getIssueDeleting(): String {
44+
return resources.getString(R.string.issue_deleting)
45+
}
46+
}

feature/common/src/main/java/com/trifork/feature/common/di/FeatureModule.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.trifork.feature.common.di
22

33
import android.app.Application
4+
import android.content.res.Resources
45
import androidx.room.Room
56
import com.trifork.feature.common.data.local.GeocodingDB
7+
import com.trifork.feature.common.data.repository.LocalResourceRepositoryImpl
68
import com.trifork.feature.common.dispatcher.DispatcherProvider
79
import com.trifork.feature.common.dispatcher.StandardDispatcherProvider
10+
import com.trifork.feature.common.domain.repository.LocalResourceRepository
811
import dagger.Module
912
import dagger.Provides
1013
import dagger.hilt.InstallIn
@@ -31,4 +34,12 @@ object FeatureModule {
3134
GeocodingDB::class.java, "database-name"
3235
).build()
3336
}
37+
38+
@Provides
39+
@Singleton
40+
fun providesResources(
41+
application: Application
42+
): Resources {
43+
return application.resources
44+
}
3445
}

feature/common/src/main/java/com/trifork/feature/common/di/RepositoryModule.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.trifork.feature.common.di
22

33
import com.trifork.feature.common.data.repository.LocalGeocodingRepositoryImpl
4+
import com.trifork.feature.common.data.repository.LocalResourceRepositoryImpl
45
import com.trifork.feature.common.domain.repository.LocalGeocodingRepository
6+
import com.trifork.feature.common.domain.repository.LocalResourceRepository
57
import dagger.Binds
68
import dagger.Module
79
import dagger.hilt.InstallIn
@@ -15,4 +17,9 @@ abstract class RepositoryModule {
1517
abstract fun bindsGeocodingRepository(
1618
localGeocodingRepositoryImpl: LocalGeocodingRepositoryImpl
1719
): LocalGeocodingRepository
20+
21+
@Binds
22+
abstract fun bindsLocalResourceRepository(
23+
localResourceRepositoryImpl: LocalResourceRepositoryImpl
24+
): LocalResourceRepository
1825
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.trifork.feature.common.domain.repository
2+
3+
interface LocalResourceRepository {
4+
5+
suspend fun getUnknownErrorString(): String
6+
suspend fun getCurrentLocationString(): String
7+
suspend fun getCheckInternetString(): String
8+
suspend fun getCheckGPSString(): String
9+
suspend fun getLocationCanNotBeBlankString(): String
10+
suspend fun getNoResultString(): String
11+
suspend fun getIssueLoadingCache(): String
12+
suspend fun getIssueSaving(): String
13+
suspend fun getIssueDeleting(): String
14+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.trifork.feature.common.util
2+
3+
import androidx.annotation.StringRes
4+
import com.trifork.feature.common.R
5+
6+
enum class MonthString(@StringRes val stringResource: Int) {
7+
January(R.string.january),
8+
February(R.string.february),
9+
March(R.string.march),
10+
April(R.string.april),
11+
May(R.string.may),
12+
June(R.string.june),
13+
July(R.string.july),
14+
August(R.string.august),
15+
September(R.string.september),
16+
October(R.string.october),
17+
November(R.string.november),
18+
December(R.string.december),
19+
Unknown(R.string.unknown);
20+
21+
companion object {
22+
fun parse(monthOfTheYear: Int): Int {
23+
return (if (monthOfTheYear in 1..12) {
24+
entries[monthOfTheYear - 1]
25+
} else Unknown).stringResource
26+
}
27+
}
28+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.trifork.feature.common.util
2+
3+
import androidx.annotation.StringRes
4+
import com.trifork.feature.common.R
5+
6+
enum class WeekString(@StringRes val stringResource: Int) {
7+
Monday(R.string.monday),
8+
Tuesday(R.string.tuesday),
9+
Wednesday(R.string.wednesday),
10+
Thursday(R.string.thursday),
11+
Friday(R.string.friday),
12+
Saturday(R.string.saturday),
13+
Sunday(R.string.sunday),
14+
Unknown(R.string.unknown);
15+
16+
companion object {
17+
fun parse(dayOfTheWeek: Int): Int {
18+
return (if (dayOfTheWeek in 1..7) {
19+
WeekString.entries[dayOfTheWeek - 1]
20+
} else Unknown).stringResource
21+
}
22+
}
23+
}

0 commit comments

Comments
 (0)