Skip to content

Commit d7cd407

Browse files
authored
Merge pull request #172 from YAPP-Github/release/1.1.1
[release] v1.1.1
2 parents 4b32169 + 77e3504 commit d7cd407

48 files changed

Lines changed: 423 additions & 347 deletions

File tree

Some content is hidden

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

.github/workflows/android-ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ jobs:
4949
run: |
5050
echo '${{ secrets.GOOGLE_SERVICES_DEBUG }}' > ./app/src/debug/google-services.json
5151
52+
- name: Generate network_security_config.xml
53+
run: |
54+
echo '${{ secrets.NETWORK_SECURITY_CONFIG }}' > ./app/src/main/res/xml/network_security_config.xml
55+
5256
- name: Code style checks
5357
run: |
5458
./gradlew detekt --continue

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ render.experimental.xml
3434

3535
# Google Services (e.g. APIs or Firebase)
3636
google-services.json
37+
# App specific network security config
38+
app/src/main/res/xml/network_security_config.xml
3739

3840
# Android Profiling
3941
*.hprof

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
android:roundIcon="@mipmap/ic_launcher_round"
2020
android:supportsRtl="true"
2121
android:enableOnBackInvokedCallback="false"
22+
android:networkSecurityConfig="@xml/network_security_config"
2223
android:theme="@style/Theme.Neki">
2324

2425
<activity

app/src/main/java/com/neki/android/app/MainActivity.kt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
package com.neki.android.app
22

3+
import android.graphics.Color
34
import android.os.Bundle
45
import android.widget.Toast
56
import androidx.activity.ComponentActivity
7+
import androidx.activity.SystemBarStyle
68
import androidx.activity.compose.setContent
79
import androidx.activity.enableEdgeToEdge
810
import androidx.compose.runtime.CompositionLocalProvider
911
import androidx.compose.runtime.remember
10-
import androidx.core.view.WindowCompat
1112
import androidx.lifecycle.lifecycleScope
1213
import androidx.navigation3.runtime.entryProvider
1314
import com.neki.android.app.main.MainRoute
@@ -56,8 +57,12 @@ class MainActivity : ComponentActivity() {
5657
override fun onCreate(savedInstanceState: Bundle?) {
5758
super.onCreate(savedInstanceState)
5859

59-
enableEdgeToEdge()
60-
WindowCompat.setDecorFitsSystemWindows(window, false)
60+
enableEdgeToEdge(
61+
navigationBarStyle = SystemBarStyle.auto(
62+
lightScrim = Color.TRANSPARENT,
63+
darkScrim = Color.TRANSPARENT,
64+
),
65+
)
6166

6267
setContent {
6368
NekiTheme {

app/src/main/java/com/neki/android/app/main/MainContract.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,4 +30,5 @@ sealed interface MainSideEffect {
3030
data class NavigateToUploadAlbumWithGallery(val uriStrings: List<String>) : MainSideEffect
3131
data class NavigateToUploadAlbumWithQRScan(val imageUrl: String) : MainSideEffect
3232
data class ShowToast(val message: String) : MainSideEffect
33+
data object RefreshArchive : MainSideEffect
3334
}

app/src/main/java/com/neki/android/app/main/MainScreen.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import com.neki.android.core.ui.component.LoadingDialog
3333
import com.neki.android.core.ui.compose.collectWithLifecycle
3434
import com.neki.android.core.ui.toast.NekiToast
3535
import com.neki.android.feature.archive.api.ArchiveNavKey
36+
import com.neki.android.feature.archive.api.ArchiveResult
3637
import com.neki.android.feature.map.api.MapNavKey
3738
import com.neki.android.feature.mypage.api.MyPageNavKey
3839
import com.neki.android.feature.photo_upload.api.PhotoUploadNavKey
@@ -85,6 +86,7 @@ fun MainRoute(
8586
is MainSideEffect.NavigateToUploadAlbumWithGallery -> navigateToUploadAlbumWithGallery(sideEffect.uriStrings)
8687
is MainSideEffect.NavigateToUploadAlbumWithQRScan -> navigateToUploadAlbumWithQRScan(sideEffect.imageUrl)
8788
is MainSideEffect.ShowToast -> nekiToast.showToast(sideEffect.message)
89+
MainSideEffect.RefreshArchive -> resultBus.sendResult<ArchiveResult>(result = ArchiveResult.PhotoUploaded)
8890
}
8991
}
9092

app/src/main/java/com/neki/android/app/main/MainViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ class MainViewModel @Inject constructor(
104104
.onSuccess {
105105
reduce { copy(isLoading = false, scannedImageUrl = null) }
106106
postSideEffect(MainSideEffect.ShowToast("이미지를 추가했어요"))
107+
postSideEffect(MainSideEffect.RefreshArchive)
107108
}
108109
.onFailure { e ->
109110
Timber.e(e)
@@ -125,6 +126,7 @@ class MainViewModel @Inject constructor(
125126
.onSuccess {
126127
reduce { copy(isLoading = false, selectedUris = persistentListOf()) }
127128
postSideEffect(MainSideEffect.ShowToast("이미지를 추가했어요"))
129+
postSideEffect(MainSideEffect.RefreshArchive)
128130
}
129131
.onFailure { e ->
130132
Timber.e(e)

app/src/main/java/com/neki/android/app/navigation/TopLevelNavItem.kt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,26 +16,26 @@ enum class TopLevelNavItem(
1616
val navKey: NavKey,
1717
) {
1818
ARCHIVE(
19-
selectedIconRes = R.drawable.ic_nav_archive_selected,
20-
unselectedIconRes = R.drawable.ic_nav_archive_unselected,
19+
selectedIconRes = R.drawable.icon_nav_archiving_selected,
20+
unselectedIconRes = R.drawable.icon_nav_archiving_unselected,
2121
iconStringRes = R.string.top_level_nav_archive,
2222
navKey = ArchiveNavKey.Archive,
2323
),
2424
POSE_RECOMMEND(
25-
selectedIconRes = R.drawable.ic_nav_pose_selected,
26-
unselectedIconRes = R.drawable.ic_nav_pose_unselected,
25+
selectedIconRes = R.drawable.icon_nav_pose_selected,
26+
unselectedIconRes = R.drawable.icon_nav_pose_unselected,
2727
iconStringRes = R.string.top_level_nav_pose,
2828
navKey = PoseNavKey.PoseMain,
2929
),
3030
MAP(
31-
selectedIconRes = R.drawable.ic_nav_map_selected,
32-
unselectedIconRes = R.drawable.ic_nav_map_unselected,
31+
selectedIconRes = R.drawable.icon_nav_map_selected,
32+
unselectedIconRes = R.drawable.icon_nav_map_unselected,
3333
iconStringRes = R.string.top_level_nav_map,
3434
navKey = MapNavKey.Map,
3535
),
3636
MYPAGE(
37-
selectedIconRes = R.drawable.ic_nav_mypage_selected,
38-
unselectedIconRes = R.drawable.ic_nav_mypage_unselected,
37+
selectedIconRes = R.drawable.icon_nav_mypage_selected,
38+
unselectedIconRes = R.drawable.icon_nav_mypage_unselected,
3939
iconStringRes = R.string.top_level_nav_mypage,
4040
navKey = MyPageNavKey.MyPage,
4141
),
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="26dp"
3+
android:height="26dp"
4+
android:viewportWidth="26"
5+
android:viewportHeight="26">
6+
<path
7+
android:pathData="M4,9H20.917C21.515,9 22,9.485 22,10.083V19.917C22,20.515 21.515,21 20.917,21H5.083C4.485,21 4,20.515 4,19.917V9Z"
8+
android:strokeWidth="2"
9+
android:fillColor="#3C3E48"
10+
android:strokeColor="#3C3E48"/>
11+
<path
12+
android:pathData="M4,9V6.083C4,5.485 4.485,5 5.083,5H11.189C11.513,5 11.819,5.144 12.025,5.394L15,9"
13+
android:strokeWidth="2"
14+
android:fillColor="#00000000"
15+
android:strokeColor="#3C3E48"/>
16+
</vector>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="26dp"
3+
android:height="26dp"
4+
android:viewportWidth="26"
5+
android:viewportHeight="26">
6+
<path
7+
android:pathData="M4,9H20.917C21.515,9 22,9.485 22,10.083V19.917C22,20.515 21.515,21 20.917,21H5.083C4.485,21 4,20.515 4,19.917V9Z"
8+
android:strokeWidth="2"
9+
android:fillColor="#00000000"
10+
android:strokeColor="#CDCED5"/>
11+
<path
12+
android:pathData="M4,9V6.083C4,5.485 4.485,5 5.083,5H11.189C11.513,5 11.819,5.144 12.025,5.394L15,9"
13+
android:strokeWidth="2"
14+
android:fillColor="#00000000"
15+
android:strokeColor="#CDCED5"/>
16+
</vector>

0 commit comments

Comments
 (0)