Skip to content

Commit 1d2a443

Browse files
authored
Merge pull request #584 from nimblehq/release/3.29.0
Release - 3.29.0
2 parents 142a13c + ecbd6e1 commit 1d2a443

File tree

17 files changed

+198
-8
lines changed

17 files changed

+198
-8
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"categories": [
3+
{
4+
"title": "## ✨ Features",
5+
"labels": [
6+
"type : feature"
7+
],
8+
"empty_content": "N/A"
9+
},
10+
{
11+
"title": "## 🐛 Bug fixes",
12+
"labels": [
13+
"type : bug"
14+
],
15+
"empty_content": "N/A"
16+
},
17+
{
18+
"title": "## 🧹 Chores",
19+
"labels": [
20+
"type : chore"
21+
],
22+
"empty_content": "N/A"
23+
},
24+
{
25+
"title": "## Others",
26+
"exclude_labels": [
27+
"type : feature",
28+
"type : bug",
29+
"type : chore",
30+
"type : release"
31+
]
32+
}
33+
],
34+
"max_pull_requests": 200
35+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Create the Release pull request
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
create_release_pull_request:
8+
name: Create the Release pull request
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
steps:
14+
- name: Check out the latest code
15+
uses: actions/checkout@v4
16+
17+
- name: Read the current version
18+
id: version
19+
run: echo "version=$(perl -nle 'print $1 if /ANDROID_VERSION_NAME = \"(.*)\"$/' buildSrc/src/main/java/Versions.kt)" >> $GITHUB_OUTPUT
20+
21+
- uses: nimblehq/github-actions-workflows/[email protected]
22+
with:
23+
release_version: ${{ steps.version.outputs.version }}
24+
changelog_configuration: ".github/workflows/config/changelog-release.json"
25+
assignee: bot-nimble

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Team
22
# @ryan-conway is the Team Lead and the others are team members
3-
* @AVI5HEK @chornerman @doannimble @hoangnguyen92dn @kaungkhantsoe @luongvo @lydiasama @manh-t @minhnimble @ryan-conway @sleepylee @thiennguyen0196 @toby-thanathip @Wadeewee
3+
* @AVI5HEK @chornerman @doannimble @hoangnguyen92dn @Johnsonmaung @kaungkhantsoe @luongvo @manh-t @minhnimble @ryan-conway @sleepylee @thiennguyen0196 @toby-thanathip
44

55
# Engineering Leads
66
CODEOWNERS @nimblehq/engineering-leads
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
{
2+
"categories": [
3+
{
4+
"title": "## ✨ Features",
5+
"labels": [
6+
"type : feature"
7+
],
8+
"empty_content": "N/A"
9+
},
10+
{
11+
"title": "## 🐛 Bug fixes",
12+
"labels": [
13+
"type : bug"
14+
],
15+
"empty_content": "N/A"
16+
},
17+
{
18+
"title": "## 🧹 Chores",
19+
"labels": [
20+
"type : chore"
21+
],
22+
"empty_content": "N/A"
23+
},
24+
{
25+
"title": "## Others",
26+
"exclude_labels": [
27+
"type : feature",
28+
"type : bug",
29+
"type : chore",
30+
"type : release"
31+
]
32+
}
33+
],
34+
"max_pull_requests": 200
35+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Create the Release pull request
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
create_release_pull_request:
8+
name: Create the Release pull request
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: write
12+
pull-requests: write
13+
steps:
14+
- name: Check out the latest code
15+
uses: actions/checkout@v4
16+
17+
- name: Read the current version
18+
id: version
19+
uses: christian-draeger/[email protected]
20+
with:
21+
path: "version.properties"
22+
properties: "templateScriptVersion"
23+
24+
- uses: nimblehq/github-actions-workflows/[email protected]
25+
with:
26+
release_version: ${{ steps.version.outputs.templateScriptVersion }}
27+
changelog_configuration: ".github/workflows/config/changelog-release.json"
28+
assignee: bot-nimble

sample-compose/app/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,8 @@ dependencies {
132132
implementation("androidx.compose.material:material")
133133

134134
implementation("androidx.navigation:navigation-compose:${Versions.COMPOSE_NAVIGATION_VERSION}")
135-
implementation("com.google.accompanist:accompanist-permissions:${Versions.ACCOMPANIST_PERMISSIONS_VERSION}")
135+
implementation("com.google.accompanist:accompanist-permissions:${Versions.ACCOMPANIST_VERSION}")
136+
implementation("com.google.accompanist:accompanist-systemuicontroller:${Versions.ACCOMPANIST_VERSION}")
136137

137138
implementation("androidx.datastore:datastore-preferences:${Versions.ANDROIDX_DATASTORE_PREFERENCES_VERSION}")
138139

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package co.nimblehq.sample.compose.ui.base
2+
3+
import androidx.compose.runtime.Composable
4+
import androidx.compose.ui.res.colorResource
5+
import co.nimblehq.sample.compose.R
6+
import co.nimblehq.sample.compose.util.setStatusBarColor
7+
8+
@Composable
9+
fun BaseScreen(
10+
isDarkStatusBarIcons: Boolean? = null,
11+
content: @Composable () -> Unit,
12+
) {
13+
if (isDarkStatusBarIcons != null) {
14+
setStatusBarColor(
15+
color = colorResource(id = R.color.statusBarColor),
16+
darkIcons = isDarkStatusBarIcons,
17+
)
18+
}
19+
20+
content()
21+
}

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/screens/main/home/HomeScreen.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import co.nimblehq.sample.compose.extensions.collectAsEffect
1616
import co.nimblehq.sample.compose.extensions.showToast
1717
import co.nimblehq.sample.compose.lib.IsLoading
1818
import co.nimblehq.sample.compose.ui.base.BaseDestination
19+
import co.nimblehq.sample.compose.ui.base.BaseScreen
1920
import co.nimblehq.sample.compose.ui.common.AppBar
2021
import co.nimblehq.sample.compose.ui.models.UiModel
2122
import co.nimblehq.sample.compose.ui.showToast
@@ -28,6 +29,8 @@ fun HomeScreen(
2829
viewModel: HomeViewModel = hiltViewModel(),
2930
navigator: (destination: BaseDestination) -> Unit,
3031
isResultOk: Boolean = false,
32+
) = BaseScreen(
33+
isDarkStatusBarIcons = true,
3134
) {
3235
val context = LocalContext.current
3336
viewModel.error.collectAsEffect { e -> e.showToast(context) }

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/screens/main/second/SecondScreen.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import androidx.compose.ui.tooling.preview.Preview
1515
import androidx.hilt.navigation.compose.hiltViewModel
1616
import co.nimblehq.sample.compose.R
1717
import co.nimblehq.sample.compose.ui.base.BaseDestination
18+
import co.nimblehq.sample.compose.ui.base.BaseScreen
1819
import co.nimblehq.sample.compose.ui.base.KeyResultOk
1920
import co.nimblehq.sample.compose.ui.common.AppBar
2021
import co.nimblehq.sample.compose.ui.theme.AppTheme.dimensions
@@ -25,6 +26,8 @@ fun SecondScreen(
2526
viewModel: SecondViewModel = hiltViewModel(),
2627
navigator: (destination: BaseDestination) -> Unit,
2728
id: String,
29+
) = BaseScreen(
30+
isDarkStatusBarIcons = false,
2831
) {
2932
SecondScreenContent(
3033
id = id,

sample-compose/app/src/main/java/co/nimblehq/sample/compose/ui/screens/main/third/ThirdScreen.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import androidx.compose.ui.tooling.preview.Preview
1414
import androidx.hilt.navigation.compose.hiltViewModel
1515
import co.nimblehq.sample.compose.R
1616
import co.nimblehq.sample.compose.ui.base.BaseDestination
17+
import co.nimblehq.sample.compose.ui.base.BaseScreen
1718
import co.nimblehq.sample.compose.ui.common.AppBar
1819
import co.nimblehq.sample.compose.ui.models.UiModel
1920
import co.nimblehq.sample.compose.ui.theme.ComposeTheme
@@ -23,6 +24,8 @@ fun ThirdScreen(
2324
viewModel: ThirdViewModel = hiltViewModel(),
2425
navigator: (destination: BaseDestination) -> Unit,
2526
model: UiModel?,
27+
) = BaseScreen(
28+
isDarkStatusBarIcons = true,
2629
) {
2730
ThirdScreenContent(data = model)
2831
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package co.nimblehq.sample.compose.util
2+
3+
import android.annotation.SuppressLint
4+
import androidx.compose.runtime.Composable
5+
import androidx.compose.runtime.LaunchedEffect
6+
import androidx.compose.ui.graphics.Color
7+
import com.google.accompanist.systemuicontroller.rememberSystemUiController
8+
9+
@SuppressLint("ComposableNaming")
10+
@Composable
11+
fun setStatusBarColor(
12+
color: Color,
13+
darkIcons: Boolean,
14+
) {
15+
val systemUiController = rememberSystemUiController()
16+
LaunchedEffect(key1 = darkIcons) {
17+
systemUiController.setStatusBarColor(
18+
color = color,
19+
darkIcons = darkIcons,
20+
)
21+
}
22+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
3-
<color name="greenChristi">#FF669900</color>
3+
<color name="statusBarColor">#FF669900</color>
44
</resources>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
4-
<item name="android:statusBarColor">@color/greenChristi</item>
4+
<item name="android:statusBarColor">@color/statusBarColor</item>
55
</style>
66
</resources>

sample-compose/buildSrc/src/main/java/Versions.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ object Versions {
66
const val ANDROID_TARGET_SDK_VERSION = 33
77

88
const val ANDROID_VERSION_CODE = 1
9-
const val ANDROID_VERSION_NAME = "3.27.0"
9+
const val ANDROID_VERSION_NAME = "3.29.0"
1010

1111
// Dependencies (Alphabet sorted)
12-
const val ACCOMPANIST_PERMISSIONS_VERSION = "0.30.1"
12+
const val ACCOMPANIST_VERSION = "0.30.1"
1313
const val ANDROID_COMMON_KTX_VERSION = "0.1.1"
1414
const val ANDROID_CRYPTO_VERSION = "1.0.0"
1515
const val ANDROIDX_CORE_KTX_VERSION = "1.10.1"
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package co.nimblehq.template.compose.ui.base
2+
3+
import androidx.compose.runtime.Composable
4+
5+
@Composable
6+
fun BaseScreen(
7+
// TODO Base parameters to request on all screens here
8+
content: @Composable () -> Unit,
9+
) {
10+
// TODO Base logic for all screens here
11+
12+
content()
13+
}

template-compose/app/src/main/java/co/nimblehq/template/compose/ui/screens/main/home/HomeScreen.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
1818
import co.nimblehq.template.compose.R
1919
import co.nimblehq.template.compose.extensions.collectAsEffect
2020
import co.nimblehq.template.compose.ui.base.BaseDestination
21+
import co.nimblehq.template.compose.ui.base.BaseScreen
2122
import co.nimblehq.template.compose.ui.models.UiModel
2223
import co.nimblehq.template.compose.ui.showToast
2324
import co.nimblehq.template.compose.ui.theme.AppTheme.dimensions
@@ -28,7 +29,7 @@ import timber.log.Timber
2829
fun HomeScreen(
2930
viewModel: HomeViewModel = hiltViewModel(),
3031
navigator: (destination: BaseDestination) -> Unit,
31-
) {
32+
) = BaseScreen {
3233
val context = LocalContext.current
3334
viewModel.error.collectAsEffect { e -> e.showToast(context) }
3435
viewModel.navigator.collectAsEffect { destination -> navigator(destination) }

version.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
kotlinVersion=1.6.21
22
kscriptVersion=4.0.3
3-
templateScriptVersion=3.27.0
3+
templateScriptVersion=3.29.0

0 commit comments

Comments
 (0)