Skip to content

Commit 8b28611

Browse files
authored
Merge pull request #73 from frogobox/release/2.3.3
Release/2.3.3
2 parents 01a46ef + 18145ec commit 8b28611

File tree

25 files changed

+282
-107
lines changed

25 files changed

+282
-107
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313

1414
This Is Latest Release
1515

16-
$version_release = 2.3.2
16+
$version_release = 2.3.3
1717

1818
What's New??
1919

@@ -54,7 +54,7 @@ allprojects {
5454
```groovy
5555
dependencies {
5656
// library frogo-sdk
57-
implementation 'com.github.frogobox:frogo-sdk:2.3.2'
57+
implementation 'com.github.frogobox:frogo-sdk:2.3.3'
5858
}
5959
```
6060

@@ -63,14 +63,14 @@ dependencies {
6363
```groovy
6464
dependencies {
6565
// library frogo-sdk
66-
implementation("com.github.frogobox:frogo-sdk:2.3.2")
66+
implementation("com.github.frogobox:frogo-sdk:2.3.3")
6767
}
6868
```
6969

7070
#### <Option 3> libs.versions.toml
7171
```yml
7272
[versions]
73-
frogoAndroid = "2.3.2"
73+
frogoAndroid = "2.3.3"
7474

7575
[libraries]
7676
frogo-android = { group = "com.github.frogobox", name = "frogo-sdk", version.ref = "frogoAndroid" }

app/build.gradle.kts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
11
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
2+
import java.text.SimpleDateFormat
3+
import java.util.Date
24

35
plugins {
46
alias(libs.plugins.android.application)
57
alias(libs.plugins.jetbrains.kotlin.android)
68
alias(libs.plugins.ksp)
9+
id("kotlin-parcelize")
710
}
811

12+
ksp {
13+
arg("room.schemaLocation", "$projectDir/schemas") // If Using Ksp
14+
}
15+
16+
base {
17+
// Naming APK // AAB
18+
val timestamp = SimpleDateFormat("dd-MM-yyyy_hh-mm").format(Date())
19+
archivesName = "${ProjectSetting.NAME_APK}-[${ProjectSetting.PROJECT_VERSION_NAME}]-$timestamp"
20+
}
21+
22+
923
android {
1024

1125
compileSdk = ProjectSetting.PROJECT_COMPILE_SDK
@@ -26,9 +40,6 @@ android {
2640
// Declaration build config
2741
buildConfigField("String", "DATABASE_NAME", ProjectSetting.DB)
2842

29-
// Naming APK // AAB
30-
setProperty("archivesBaseName", "${ProjectSetting.NAME_APK}(${versionName})")
31-
3243
// Declaration apps name debug mode
3344
val debugAttribute = "Development"
3445
val nameAppDebug = "${ProjectSetting.NAME_APP} $debugAttribute"
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"formatVersion": 1,
3+
"database": {
4+
"version": 1,
5+
"identityHash": "2e79a9bdd7c1e5de61e10c8203b81266",
6+
"entities": [
7+
{
8+
"tableName": "article",
9+
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT, `author` TEXT, `title` TEXT, `description` TEXT, `url` TEXT, `urlToImage` TEXT, `publishedAt` TEXT, `content` TEXT)",
10+
"fields": [
11+
{
12+
"fieldPath": "id",
13+
"columnName": "id",
14+
"affinity": "INTEGER"
15+
},
16+
{
17+
"fieldPath": "author",
18+
"columnName": "author",
19+
"affinity": "TEXT"
20+
},
21+
{
22+
"fieldPath": "title",
23+
"columnName": "title",
24+
"affinity": "TEXT"
25+
},
26+
{
27+
"fieldPath": "description",
28+
"columnName": "description",
29+
"affinity": "TEXT"
30+
},
31+
{
32+
"fieldPath": "url",
33+
"columnName": "url",
34+
"affinity": "TEXT"
35+
},
36+
{
37+
"fieldPath": "urlToImage",
38+
"columnName": "urlToImage",
39+
"affinity": "TEXT"
40+
},
41+
{
42+
"fieldPath": "publishedAt",
43+
"columnName": "publishedAt",
44+
"affinity": "TEXT"
45+
},
46+
{
47+
"fieldPath": "content",
48+
"columnName": "content",
49+
"affinity": "TEXT"
50+
}
51+
],
52+
"primaryKey": {
53+
"autoGenerate": true,
54+
"columnNames": [
55+
"id"
56+
]
57+
}
58+
}
59+
],
60+
"setupQueries": [
61+
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
62+
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, '2e79a9bdd7c1e5de61e10c8203b81266')"
63+
]
64+
}
65+
}

app/src/main/java/com/frogobox/appsdk/model/Article.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package com.frogobox.appsdk.model
22

3+
import android.os.Parcelable
34
import androidx.room.ColumnInfo
45
import androidx.room.Entity
56
import androidx.room.PrimaryKey
67
import com.google.gson.annotations.SerializedName
8+
import kotlinx.parcelize.Parcelize
79

810
/**
911
* Created by Faisal Amir
@@ -22,6 +24,8 @@ import com.google.gson.annotations.SerializedName
2224
* com.frogobox.frogoconsumeapi.news.data.model
2325
*
2426
*/
27+
28+
@Parcelize
2529
@Entity(tableName = "article")
2630
data class Article(
2731

@@ -55,4 +59,4 @@ data class Article(
5559
@ColumnInfo(name = "content")
5660
@SerializedName("content")
5761
var content: String? = null,
58-
)
62+
) : Parcelable

app/src/main/java/com/frogobox/appsdk/news/NewsDetailActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.frogobox.sdk.ext.setImageExt
1010

1111
class NewsDetailActivity : BaseActivity<ActivityNewsDetailBinding>() {
1212

13-
private val extraData: Article by lazy {
13+
private val extraData: Article? by lazy {
1414
getExtraExt("EXTRA_NEWS_DETAIL")
1515
}
1616

@@ -22,9 +22,9 @@ class NewsDetailActivity : BaseActivity<ActivityNewsDetailBinding>() {
2222
super.onCreateExt(savedInstanceState)
2323
setupDetailActivity("Detail News")
2424
binding.apply {
25-
ivNewsDetailImage.setImageExt(extraData.urlToImage, R.drawable.ic_frogobox)
26-
newsDetailTitle.text = extraData.title
27-
newsDetailDescription.text = extraData.description
25+
ivNewsDetailImage.setImageExt(extraData?.urlToImage, R.drawable.ic_frogobox)
26+
newsDetailTitle.text = extraData?.title
27+
newsDetailDescription.text = extraData?.description
2828
}
2929
}
3030
}

app/src/main/java/com/frogobox/appsdk/news/result/NewsResultActivity.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
55
import com.frogobox.appsdk.core.BaseActivity
66
import com.frogobox.appsdk.model.Article
77
import com.frogobox.appsdk.news.NewsViewAdapter
8-
import com.frogobox.coresdk.source.FrogoResult
8+
import com.frogobox.coresdk.source.Resource
99
import com.frogobox.databinding.ActivityNewsBinding
1010
import com.frogobox.sdk.ext.gone
1111
import com.frogobox.sdk.ext.visible
@@ -25,15 +25,15 @@ class NewsResultActivity : BaseActivity<ActivityNewsBinding>() {
2525

2626
articles.observe(this@NewsResultActivity) {
2727
when (it) {
28-
is FrogoResult.Error -> {
28+
is Resource.Error -> {
2929
binding.progressCircular.gone()
3030
}
3131

32-
is FrogoResult.Loading -> {
32+
is Resource.Loading -> {
3333
binding.progressCircular.visible()
3434
}
3535

36-
is FrogoResult.Success -> {
36+
is Resource.Success -> {
3737
binding.progressCircular.gone()
3838
it.result.articles?.let { list ->
3939
setupRecyclerView(list)

app/src/main/java/com/frogobox/appsdk/news/result/NewsResultViewModel.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import androidx.lifecycle.MutableLiveData
55
import com.frogobox.appsdk.model.ArticleResponse
66
import com.frogobox.appsdk.source.AppRepository
77
import com.frogobox.appsdk.util.NewsConstant
8-
import com.frogobox.coresdk.source.FrogoResult
8+
import com.frogobox.coresdk.source.Resource
99
import com.frogobox.sdk.view.FrogoViewModel2
1010

1111

@@ -26,8 +26,8 @@ class NewsResultViewModel(
2626
private val repository: AppRepository,
2727
) : FrogoViewModel2() {
2828

29-
private var _articles = MutableLiveData<FrogoResult<ArticleResponse>>()
30-
var articles: LiveData<FrogoResult<ArticleResponse>> = _articles
29+
private var _articles = MutableLiveData<Resource<ArticleResponse>>()
30+
var articles: LiveData<Resource<ArticleResponse>> = _articles
3131

3232
private fun getData() {
3333
repository.getTopHeadlineResult(

app/src/main/java/com/frogobox/appsdk/source/AppDataSourceResult.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package com.frogobox.appsdk.source
33
import androidx.lifecycle.MutableLiveData
44
import com.frogobox.appsdk.model.ArticleResponse
55
import com.frogobox.appsdk.model.SourceResponse
6-
import com.frogobox.coresdk.source.FrogoResult
6+
import com.frogobox.coresdk.source.Resource
77
import com.frogobox.coresdk.source.ICoreDataSource
88

99

@@ -30,7 +30,7 @@ interface AppDataSourceResult : ICoreDataSource {
3030
country: String?,
3131
pageSize: Int?,
3232
page: Int?,
33-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
33+
result: MutableLiveData<Resource<ArticleResponse>>,
3434
)
3535

3636
// Get Everythings
@@ -46,15 +46,15 @@ interface AppDataSourceResult : ICoreDataSource {
4646
sortBy: String?,
4747
pageSize: Int?,
4848
page: Int?,
49-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
49+
result: MutableLiveData<Resource<ArticleResponse>>,
5050
)
5151

5252
// Get Sources
5353
fun getSourcesResult(
5454
language: String,
5555
country: String,
5656
category: String,
57-
result: MutableLiveData<FrogoResult<SourceResponse>>,
57+
result: MutableLiveData<Resource<SourceResponse>>,
5858
)
5959

6060
}

app/src/main/java/com/frogobox/appsdk/source/AppRemoteDataSource.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import com.frogobox.appsdk.util.NewsUrl
1010
import com.frogobox.coresdk.response.FrogoDataResponse
1111
import com.frogobox.coresdk.response.FrogoStateResponse
1212
import com.frogobox.coresdk.source.FrogoApiClient
13-
import com.frogobox.coresdk.source.FrogoResult
13+
import com.frogobox.coresdk.source.Resource
1414
import com.frogobox.sdk.ext.doApiRequest
1515
import com.frogobox.sdk.ext.doApiRequestResult
1616
import com.frogobox.sdk.ext.usingChuck
@@ -163,7 +163,7 @@ class AppRemoteDataSource(private val context: Context) : FrogoRemoteDataSource(
163163
country: String?,
164164
pageSize: Int?,
165165
page: Int?,
166-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
166+
result: MutableLiveData<Resource<ArticleResponse>>,
167167
) {
168168
FrogoApiClient
169169
.create<AppApiService>(
@@ -189,7 +189,7 @@ class AppRemoteDataSource(private val context: Context) : FrogoRemoteDataSource(
189189
sortBy: String?,
190190
pageSize: Int?,
191191
page: Int?,
192-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
192+
result: MutableLiveData<Resource<ArticleResponse>>,
193193
) {
194194
FrogoApiClient
195195
.create<AppApiService>(
@@ -220,7 +220,7 @@ class AppRemoteDataSource(private val context: Context) : FrogoRemoteDataSource(
220220
language: String,
221221
country: String,
222222
category: String,
223-
result: MutableLiveData<FrogoResult<SourceResponse>>,
223+
result: MutableLiveData<Resource<SourceResponse>>,
224224
) {
225225
FrogoApiClient
226226
.create<AppApiService>(

app/src/main/java/com/frogobox/appsdk/source/AppRepository.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import com.frogobox.appsdk.model.ArticleResponse
77
import com.frogobox.appsdk.model.SourceResponse
88
import com.frogobox.coresdk.response.FrogoDataResponse
99
import com.frogobox.coresdk.response.FrogoStateResponse
10-
import com.frogobox.coresdk.source.FrogoResult
10+
import com.frogobox.coresdk.source.Resource
1111
import com.frogobox.sdk.ext.toJson
1212
import com.frogobox.sdk.source.FrogoRepository
1313
import com.frogobox.sdk.util.FrogoFunc
@@ -193,7 +193,7 @@ class AppRepository(
193193
country: String?,
194194
pageSize: Int?,
195195
page: Int?,
196-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
196+
result: MutableLiveData<Resource<ArticleResponse>>,
197197
) {
198198
remoteDataSource.getTopHeadlineResult(q, sources, category, country, pageSize, page, result)
199199
}
@@ -210,7 +210,7 @@ class AppRepository(
210210
sortBy: String?,
211211
pageSize: Int?,
212212
page: Int?,
213-
result: MutableLiveData<FrogoResult<ArticleResponse>>,
213+
result: MutableLiveData<Resource<ArticleResponse>>,
214214
) {
215215
remoteDataSource.getEverythingsResult(
216216
q,
@@ -232,7 +232,7 @@ class AppRepository(
232232
language: String,
233233
country: String,
234234
category: String,
235-
result: MutableLiveData<FrogoResult<SourceResponse>>,
235+
result: MutableLiveData<Resource<SourceResponse>>,
236236
) {
237237
remoteDataSource.getSourcesResult(language, country, category, result)
238238
}

0 commit comments

Comments
 (0)