Skip to content

Commit 73b4470

Browse files
authored
release: 0.0.6(6) 버전 배포 (#34)
release: 0.0.6(6) 버전 배포
2 parents 93e8e03 + 2b7522a commit 73b4470

File tree

16 files changed

+168
-37
lines changed

16 files changed

+168
-37
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ android {
1616
applicationId "com.woozoo.menumonya"
1717
minSdk 24
1818
targetSdk 33
19-
versionCode 5
20-
versionName "0.0.5"
19+
versionCode 6
20+
versionName "0.0.6"
2121

2222
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2323
}

app/src/main/java/com/woozoo/menumonya/MainActivity.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.woozoo.menumonya
22

33
import android.Manifest
4+
import android.content.ActivityNotFoundException
45
import android.content.Intent
56
import android.content.Intent.ACTION_VIEW
67
import android.content.pm.PackageManager
@@ -139,6 +140,22 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
139140
binding.loadingView.visibility = View.GONE
140141
}
141142
}
143+
is Event.ShowUpdateDialog -> {
144+
AlertDialog.Builder(this).apply {
145+
setMessage(resources.getString(R.string.latest_app_version_update_message))
146+
setCancelable(true)
147+
setPositiveButton("확인") { dialog, _ ->
148+
try {
149+
startActivity(Intent(ACTION_VIEW,
150+
Uri.parse(resources.getString(R.string.google_play_store_link))))
151+
} catch (e: ActivityNotFoundException) {
152+
startActivity(Intent(ACTION_VIEW,
153+
Uri.parse(resources.getString(R.string.google_play_store_link_web))))
154+
}
155+
dialog.dismiss()
156+
}
157+
}.create().show()
158+
}
142159
}
143160

144161
override fun onStart() {
@@ -149,6 +166,8 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
149166
override fun onResume() {
150167
super.onResume()
151168
binding.naverMap.onResume()
169+
170+
viewModel.checkLatestAppVersion()
152171
}
153172

154173
override fun onPause() {

app/src/main/java/com/woozoo/menumonya/MainViewModel.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.woozoo.menumonya.Constants.Companion.MAP_MIN_ZOOM
2121
import com.woozoo.menumonya.model.Restaurant
2222
import com.woozoo.menumonya.repository.FireStoreRepository.getRestaurantInLocation
2323
import com.woozoo.menumonya.repository.RemoteConfigRepository.getFeedbackUrlConfig
24+
import com.woozoo.menumonya.repository.RemoteConfigRepository.getLatestAppVersionConfig
2425
import com.woozoo.menumonya.util.LocationUtils.Companion.requestLocationUpdateOnce
2526
import com.woozoo.menumonya.util.PermissionUtils.Companion.isGpsPermissionAllowed
2627
import com.woozoo.menumonya.util.PermissionUtils.Companion.isLocationPermissionAllowed
@@ -201,6 +202,15 @@ class MainViewModel(application: Application): AndroidViewModel(Application()) {
201202
}
202203
}
203204

205+
fun checkLatestAppVersion() {
206+
val latestAppVersion = getLatestAppVersionConfig()
207+
val currentAppVersion = BuildConfig.VERSION_CODE
208+
209+
if (latestAppVersion.toInt() > currentAppVersion) {
210+
showUpdateDialog()
211+
}
212+
}
213+
204214
fun getFeedbackUrl(): String {
205215
return getFeedbackUrlConfig()
206216
}
@@ -232,6 +242,10 @@ class MainViewModel(application: Application): AndroidViewModel(Application()) {
232242
event(Event.ShowLoading(visibility))
233243
}
234244

245+
private fun showUpdateDialog() {
246+
event(Event.ShowUpdateDialog(""))
247+
}
248+
235249
sealed class Event {
236250
/**
237251
* MainActivity에 전달할 이벤트를 이곳에 정
@@ -245,5 +259,6 @@ class MainViewModel(application: Application): AndroidViewModel(Application()) {
245259
data class ShowGpsPermissionAlert(val data: String): Event()
246260
data class MoveToCurrentLocation(val data: String): Event()
247261
data class ShowLoading(val visibility: Boolean): Event()
262+
data class ShowUpdateDialog(val data: String): Event()
248263
}
249264
}

app/src/main/java/com/woozoo/menumonya/RestaurantAdapter.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import com.woozoo.menumonya.Constants.Companion.GLIDE_IMAGE_SIZE_WIDTH
1414
import com.woozoo.menumonya.databinding.ItemRestaurantBinding
1515
import com.woozoo.menumonya.model.Restaurant
1616
import com.woozoo.menumonya.repository.RemoteConfigRepository
17+
import com.woozoo.menumonya.util.DateUtils.Companion.getTodayMenuDateText
1718

1819
class RestaurantAdapter(private val restaurantInfoArray: ArrayList<Restaurant>, private val context: Context) :
1920

@@ -39,6 +40,14 @@ class RestaurantAdapter(private val restaurantInfoArray: ArrayList<Restaurant>,
3940
menuDialog.show()
4041
}
4142

43+
binding.menuDateTv.text = getTodayMenuDateText()
44+
if (data.todayMenu.provider != "") {
45+
binding.menuProviderTv.text = String.format(
46+
context.resources.getString(R.string.restaurant_info_menu_provider),
47+
data.todayMenu.provider
48+
)
49+
}
50+
4251
binding.restaurantMenuMainTv.text = data.todayMenu.main.replace(",", ", ")
4352
binding.restaurantMenuSideTv.text = data.todayMenu.side.replace(",", ", ")
4453
binding.restaurantMenuDessertTv.text = data.todayMenu.dessert.replace(",", ", ")

app/src/main/java/com/woozoo/menumonya/model/Food.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ data class Food(
44
val main: String = "",
55
val side: String = "",
66
val dessert: String = "",
7-
val imageUrl: String = ""
7+
val imageUrl: String = "",
8+
val provider: String = "" // 메뉴 제공자
89
)

app/src/main/java/com/woozoo/menumonya/repository/FireStoreRepository.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.woozoo.menumonya.repository
33
import com.google.firebase.firestore.ktx.firestore
44
import com.google.firebase.firestore.ktx.toObject
55
import com.google.firebase.ktx.Firebase
6+
import com.woozoo.menumonya.model.Food
67
import com.woozoo.menumonya.model.Menu
78
import com.woozoo.menumonya.model.Restaurant
89
import com.woozoo.menumonya.repository.RemoteConfigRepository.getMenuCollectionNameConfig
@@ -36,7 +37,7 @@ object FireStoreRepository {
3637
// 메뉴 정보 조회
3738
val menu = getMenu(document.id)
3839

39-
val todayMenu = menu.date.get(getTodayDate())
40+
val todayMenu: Food? = menu.date.get(getTodayDate())
4041
if (todayMenu != null) restaurant.todayMenu = todayMenu
4142

4243
restaurantInfo.add(restaurant)

app/src/main/java/com/woozoo/menumonya/repository/RemoteConfigRepository.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,14 @@ object RemoteConfigRepository {
6969

7070
return remoteConfig.getString("REPORT_MENU_URL")
7171
}
72+
73+
fun getLatestAppVersionConfig(): Long {
74+
val remoteConfig = FirebaseRemoteConfig.getInstance()
75+
76+
return if (BuildConfig.DEBUG) {
77+
remoteConfig.getLong("LATEST_APP_VERSION_AOS_DEV")
78+
} else {
79+
remoteConfig.getLong("LATEST_APP_VERSION_AOS_PROD")
80+
}
81+
}
7282
}

app/src/main/java/com/woozoo/menumonya/util/DateUtils.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,16 @@ class DateUtils {
1111

1212
return todayDate
1313
}
14+
15+
/**
16+
* 해당 메뉴의 날짜를 표시함
17+
* 형식 : 05월 08일 (월요일)
18+
*/
19+
fun getTodayMenuDateText(): String {
20+
val dateFormat = SimpleDateFormat("MM월 dd일 (E요일)", Locale.KOREAN)
21+
val todayDate = dateFormat.format(Date())
22+
23+
return todayDate
24+
}
1425
}
1526
}
Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2-
android:width="24dp"
3-
android:height="24dp"
4-
android:viewportWidth="24"
5-
android:viewportHeight="24">
2+
android:width="28dp"
3+
android:height="28dp"
4+
android:viewportWidth="28"
5+
android:viewportHeight="28">
66
<path
7-
android:pathData="M11.5,11.5m-10.1,0a10.1,10.1 0,1 1,20.2 0a10.1,10.1 0,1 1,-20.2 0"
8-
android:strokeWidth="0.8"
7+
android:pathData="M14,14m-13.3,0a13.3,13.3 0,1 1,26.6 0a13.3,13.3 0,1 1,-26.6 0"
8+
android:strokeWidth="1.4"
99
android:fillColor="#FCF5EF"
1010
android:strokeColor="#6DB5CB"/>
11-
<group>
12-
<clip-path
13-
android:pathData="M6,5h12v13h-12z"/>
14-
<path
15-
android:pathData="M15,5C13.346,5 12,6.609 12,8.586C12,9.975 12.679,11.236 13.715,11.824V16.655C13.715,17.397 14.291,18 15,18C15.709,18 16.286,17.397 16.286,16.655V11.824C17.322,11.236 18,9.975 18,8.586C18,6.609 16.654,5 15,5H15Z"
16-
android:fillColor="#6DB5CB"/>
17-
<path
18-
android:pathData="M10.715,5.448C10.478,5.448 10.286,5.649 10.286,5.897V9.034C10.286,9.282 10.094,9.483 9.857,9.483H9.429C9.192,9.483 9,9.282 9,9.034V5.897C9,5.649 8.808,5.449 8.572,5.449C8.335,5.449 8.143,5.649 8.143,5.897V9.035C8.143,9.282 7.951,9.483 7.715,9.483H7.286C7.049,9.483 6.857,9.282 6.857,9.035V5.897C6.857,5.649 6.666,5.449 6.429,5.449C6.192,5.449 6,5.649 6,5.897V9.931C6,10.765 6.547,11.468 7.286,11.667V16.602C7.286,17.252 7.705,17.85 8.315,17.974C9.136,18.14 9.857,17.484 9.857,16.655V11.667C10.596,11.468 11.143,10.765 11.143,9.931V5.897C11.143,5.649 10.951,5.448 10.714,5.448H10.715Z"
19-
android:fillColor="#6DB5CB"/>
20-
</group>
11+
<path
12+
android:pathData="M18.666,5.333C16.461,5.333 14.666,7.478 14.666,10.115C14.666,11.967 15.57,13.649 16.952,14.432V20.874C16.952,21.862 17.721,22.667 18.666,22.667C19.611,22.667 20.38,21.862 20.38,20.874V14.432C21.762,13.649 22.666,11.967 22.666,10.115C22.666,7.478 20.871,5.333 18.666,5.333H18.666Z"
13+
android:fillColor="#6DB5CB"/>
14+
<path
15+
android:pathData="M12.952,5.931C12.636,5.931 12.381,6.198 12.381,6.529V10.712C12.381,11.043 12.125,11.31 11.809,11.31H11.238C10.922,11.31 10.666,11.043 10.666,10.712V6.529C10.666,6.199 10.411,5.931 10.095,5.931C9.779,5.931 9.524,6.199 9.524,6.529V10.713C9.524,11.043 9.268,11.311 8.952,11.311H8.381C8.065,11.311 7.809,11.043 7.809,10.713V6.529C7.809,6.199 7.554,5.931 7.238,5.931C6.922,5.931 6.666,6.198 6.666,6.529V11.908C6.666,13.02 7.395,13.957 8.38,14.223V20.802C8.38,21.67 8.939,22.466 9.753,22.631C10.847,22.854 11.809,21.979 11.809,20.873V14.223C12.794,13.957 13.523,13.02 13.523,11.908V6.529C13.523,6.198 13.268,5.931 12.952,5.931H12.952Z"
16+
android:fillColor="#6DB5CB"/>
2117
</vector>

app/src/main/res/drawable/restaurant_marker_selected.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2-
android:width="30dp"
3-
android:height="30dp"
4-
android:viewportWidth="30"
5-
android:viewportHeight="30">
2+
android:width="38dp"
3+
android:height="48dp"
4+
android:viewportWidth="38"
5+
android:viewportHeight="48">
66
<group>
77
<clip-path
8-
android:pathData="M4,1h22v28h-22z"/>
8+
android:pathData="M0,0h38v48h-38z"/>
99
<path
10-
android:pathData="M4.756,15.194L4.757,15.194L4.754,15.184C4.669,14.855 4.58,14.284 4.511,13.772C4.477,13.52 4.449,13.288 4.429,13.116C4.419,13.031 4.411,12.961 4.406,12.911C4.402,12.868 4.4,12.852 4.4,12.852C4.4,12.852 4.4,12.852 4.4,12.852V12.39C4.4,6.285 9.138,1.4 15,1.4C20.728,1.4 25.6,6.289 25.6,12.39V12.864C25.6,12.863 25.599,12.869 25.598,12.883C25.595,12.918 25.587,13.002 25.571,13.137C25.551,13.31 25.523,13.54 25.489,13.789C25.42,14.294 25.331,14.854 25.246,15.184L25.246,15.184L25.244,15.194C24.015,20.51 19.886,24.611 15,28.489C10.114,24.611 5.985,20.51 4.756,15.194Z"
11-
android:strokeWidth="0.8"
10+
android:pathData="M1.51,24.283L1.507,24.272L1.504,24.261C1.361,23.71 1.209,22.744 1.09,21.865C1.031,21.434 0.982,21.038 0.948,20.746C0.931,20.599 0.918,20.48 0.909,20.396C0.903,20.34 0.901,20.313 0.9,20.304V19.525C0.9,9.178 8.99,0.9 19,0.9C28.779,0.9 37.1,9.186 37.1,19.525V20.339C37.1,20.327 37.098,20.346 37.093,20.397C37.086,20.465 37.073,20.59 37.051,20.781C37.018,21.076 36.969,21.468 36.91,21.894C36.791,22.76 36.639,23.709 36.495,24.261L36.493,24.272L36.49,24.283C34.397,33.272 27.381,40.237 19,46.854C10.619,40.236 3.603,33.272 1.51,24.283Z"
11+
android:strokeWidth="1.8"
1212
android:fillColor="#FE7235"
1313
android:strokeColor="#DC5B22"/>
1414
<group>
1515
<clip-path
16-
android:pathData="M8.889,7.364h12.222v14h-12.222z"/>
16+
android:pathData="M8.445,10.909h21.111v24h-21.111z"/>
1717
<path
18-
android:pathData="M18.056,7.364C16.371,7.364 15,9.096 15,11.226C15,12.722 15.691,14.08 16.746,14.713V19.915C16.746,20.714 17.334,21.364 18.056,21.364C18.778,21.364 19.365,20.714 19.365,19.915V14.713C20.42,14.08 21.111,12.722 21.111,11.226C21.111,9.096 19.74,7.364 18.056,7.364H18.056Z"
18+
android:pathData="M24.28,10.909C21.37,10.909 19.002,13.879 19.002,17.53C19.002,20.095 20.195,22.423 22.018,23.508V32.426C22.018,33.795 23.032,34.909 24.28,34.909C25.527,34.909 26.542,33.795 26.542,32.426V23.508C28.364,22.423 29.558,20.095 29.558,17.53C29.557,13.879 27.189,10.909 24.279,10.909H24.28Z"
1919
android:fillColor="#FCF5EF"/>
2020
<path
21-
android:pathData="M13.691,7.846C13.449,7.846 13.254,8.063 13.254,8.329V11.708C13.254,11.975 13.059,12.191 12.818,12.191H12.381C12.14,12.191 11.945,11.975 11.945,11.708V8.329C11.945,8.063 11.749,7.847 11.508,7.847C11.267,7.847 11.072,8.063 11.072,8.329V11.709C11.072,11.975 10.876,12.191 10.635,12.191H10.199C9.958,12.191 9.762,11.975 9.762,11.709V8.329C9.762,8.063 9.567,7.847 9.326,7.847C9.084,7.847 8.889,8.063 8.889,8.329V12.674C8.889,13.572 9.446,14.329 10.198,14.544V19.858C10.198,20.559 10.625,21.202 11.247,21.335C12.083,21.515 12.818,20.808 12.818,19.915V14.544C13.57,14.329 14.127,13.572 14.127,12.674V8.329C14.127,8.063 13.932,7.846 13.691,7.846H13.691Z"
21+
android:pathData="M16.739,11.737C16.323,11.737 15.985,12.107 15.985,12.564V18.357C15.985,18.815 15.648,19.185 15.231,19.185H14.477C14.061,19.185 13.724,18.815 13.724,18.357V12.565C13.724,12.108 13.386,11.737 12.97,11.737C12.553,11.737 12.216,12.108 12.216,12.565V18.358C12.216,18.815 11.878,19.185 11.462,19.185H10.708C10.291,19.185 9.954,18.815 9.954,18.358V12.565C9.954,12.108 9.617,11.737 9.2,11.737C8.783,11.737 8.445,12.107 8.445,12.565V20.013C8.445,21.552 9.408,22.85 10.707,23.218V32.328C10.707,33.529 11.445,34.632 12.518,34.861C13.962,35.168 15.231,33.957 15.231,32.426V23.218C16.531,22.85 17.493,21.552 17.493,20.013V12.564C17.493,12.107 17.156,11.737 16.739,11.737H16.739Z"
2222
android:fillColor="#FCF5EF"/>
2323
</group>
2424
</group>

0 commit comments

Comments
 (0)