Skip to content

Commit 9790d5c

Browse files
authored
Merge pull request #558 from TeamSparker/release-1.1.1
Release 1.1.1
2 parents ac536c8 + 8bc61d7 commit 9790d5c

File tree

13 files changed

+92
-29
lines changed

13 files changed

+92
-29
lines changed

.idea/git_toolbox_prj.xml

+15
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

+19-4
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,29 @@ plugins {
88
id 'kotlin-parcelize'
99
}
1010

11+
Properties properties = new Properties()
12+
properties.load(project.rootProject.file('local.properties').newDataInputStream())
13+
1114
android {
12-
compileSdk 31
15+
compileSdk 33
1316

1417
defaultConfig {
1518
applicationId "com.teamsparker.android"
1619
minSdk 26
17-
targetSdk 31
18-
versionCode 5
19-
versionName "1.1.0"
20+
targetSdk 33
21+
versionCode 6
22+
versionName "1.1.1"
2023

2124
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
25+
26+
buildConfigField(
27+
"String",
28+
"FACEBOOK_APP_ID",
29+
properties.getProperty("FACEBOOK_APP_ID")
30+
)
31+
32+
manifestPlaceholders["FACEBOOK_APP_ID"] =
33+
properties.getProperty("FACEBOOK_APP_ID")
2234
}
2335

2436
buildTypes {
@@ -122,4 +134,7 @@ dependencies {
122134

123135
// Timber
124136
implementation 'com.jakewharton.timber:timber:5.0.1'
137+
138+
// Facebook
139+
implementation "com.facebook.android:facebook-android-sdk:[8,9)"
125140
}

app/src/main/AndroidManifest.xml

+15-1
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
34
package="com.teamsparker.android">
45

56
<uses-permission android:name="android.permission.INTERNET" />
6-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
7+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
8+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" android:minSdkVersion="33" />
79
<uses-permission android:name="android.permission.CAMERA" />
810
<uses-permission
911
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
1012
android:maxSdkVersion="28" />
1113

14+
<!-- API 33 이상부터 광고 ID 선언해야하지만 사용하지 않아서 아래와 같이 권한 추가 -->
15+
<uses-permission
16+
android:name="com.google.android.gms.permission.AD_ID"
17+
tools:node="remove" />
18+
1219
<uses-feature
1320
android:name="android.hardware.camera2"
1421
android:required="false" />
@@ -25,6 +32,13 @@
2532
android:roundIcon="@mipmap/ic_app_logo_round"
2633
android:supportsRtl="true"
2734
android:theme="@style/Theme.SparkAndroid">
35+
36+
<!-- API 33 이상부터 광고 ID 선언해야하지만 사용하지 않아서 아래와 같이 권한 추가 -->
37+
<meta-data
38+
android:name="google_analytics_adid_collection_enabled"
39+
android:value="false" />
40+
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="${FACEBOOK_APP_ID}"/>
41+
2842
<activity
2943
android:name="com.teamsparker.android.ui.habit.HabitSendSparkActivity"
3044
android:exported="false"

app/src/main/java/com/teamsparker/android/ui/auth/profile/ProfileBottomSheet.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,17 @@ class ProfileBottomSheet : BottomSheetDialogFragment() {
9191
}
9292

9393
private fun initFromAlbumBtnClickListener() {
94+
val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
95+
android.Manifest.permission.READ_MEDIA_IMAGES
96+
} else {
97+
android.Manifest.permission.READ_EXTERNAL_STORAGE
98+
}
99+
94100
binding.tvProfileBottomFromAlbum.setOnClickListener {
95101
when (PackageManager.PERMISSION_GRANTED) {
96102
ContextCompat.checkSelfPermission(
97103
requireContext(),
98-
android.Manifest.permission.READ_EXTERNAL_STORAGE
104+
permission,
99105
) -> {
100106
fromAlbumActivityLauncher.launch(
101107
Intent(
@@ -107,7 +113,7 @@ class ProfileBottomSheet : BottomSheetDialogFragment() {
107113
else -> {
108114
ActivityCompat.requestPermissions(
109115
requireActivity(),
110-
arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE),
116+
arrayOf(permission),
111117
REQUEST_READ_STORAGE_PERMISSION
112118
)
113119
}

app/src/main/java/com/teamsparker/android/ui/certify/CertifyBottomSheet.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -105,11 +105,17 @@ class CertifyBottomSheet : BottomSheetDialogFragment() {
105105
}
106106

107107
private fun initFromAlbumBtnClickListener() {
108+
val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
109+
android.Manifest.permission.READ_MEDIA_IMAGES
110+
} else {
111+
android.Manifest.permission.READ_EXTERNAL_STORAGE
112+
}
113+
108114
binding.tvCertifyAlbum.setOnClickListener {
109115
when (PackageManager.PERMISSION_GRANTED) {
110116
ContextCompat.checkSelfPermission(
111117
requireContext(),
112-
android.Manifest.permission.READ_EXTERNAL_STORAGE
118+
permission,
113119
),
114120
-> {
115121
fromAlbumActivityLauncher.launch(
@@ -122,7 +128,7 @@ class CertifyBottomSheet : BottomSheetDialogFragment() {
122128
else -> {
123129
ActivityCompat.requestPermissions(
124130
requireActivity(),
125-
arrayOf(android.Manifest.permission.READ_EXTERNAL_STORAGE),
131+
arrayOf(permission),
126132
REQUEST_READ_STORAGE_PERMISSION
127133
)
128134
}

app/src/main/java/com/teamsparker/android/ui/feed/adapter/FeedAdapter.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ class FeedAdapter(
7979
it.visibility = View.VISIBLE
8080
it.playAnimation()
8181
it.addAnimatorListener(object : Animator.AnimatorListener {
82-
override fun onAnimationEnd(animation: Animator?) {
82+
override fun onAnimationEnd(animation: Animator) {
8383
it.visibility = View.INVISIBLE
8484
binding.btnFeedHeart.isEnabled = true
8585
}
8686

87-
override fun onAnimationStart(animation: Animator?) {}
88-
override fun onAnimationCancel(animation: Animator?) {}
89-
override fun onAnimationRepeat(animation: Animator?) {}
87+
override fun onAnimationStart(animation: Animator) {}
88+
override fun onAnimationCancel(animation: Animator) {}
89+
override fun onAnimationRepeat(animation: Animator) {}
9090

9191
})
9292
}

app/src/main/java/com/teamsparker/android/ui/intro/IntroActivity.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -87,13 +87,13 @@ class IntroActivity : BaseActivity<ActivityIntroBinding>(R.layout.activity_intro
8787

8888
private fun initLottieListener() {
8989
binding.lottieIntroBg.addAnimatorListener(object : Animator.AnimatorListener {
90-
override fun onAnimationEnd(animation: Animator?) {
90+
override fun onAnimationEnd(animation: Animator) {
9191
introViewModel.initIsEndLottie()
9292
}
9393

94-
override fun onAnimationStart(animation: Animator?) {}
95-
override fun onAnimationCancel(animation: Animator?) {}
96-
override fun onAnimationRepeat(animation: Animator?) {}
94+
override fun onAnimationStart(animation: Animator) {}
95+
override fun onAnimationCancel(animation: Animator) {}
96+
override fun onAnimationRepeat(animation: Animator) {}
9797
})
9898
}
9999

app/src/main/java/com/teamsparker/android/ui/mypage/MyPageViewModel.kt

+3
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import androidx.lifecycle.LiveData
44
import androidx.lifecycle.MutableLiveData
55
import androidx.lifecycle.ViewModel
66
import androidx.lifecycle.viewModelScope
7+
import com.teamsparker.android.BuildConfig
78
import com.teamsparker.android.data.remote.entity.response.ProfileResponse
89
import com.teamsparker.android.data.remote.repository.AlarmSettingRepository
910
import com.teamsparker.android.data.remote.repository.AuthRepository
@@ -20,6 +21,8 @@ class MyPageViewModel @Inject constructor(
2021
private val authRepository: AuthRepository,
2122
private val alarmSettingRepository: AlarmSettingRepository
2223
) : ViewModel() {
24+
val appVersion = BuildConfig.VERSION_NAME
25+
2326
private val _profileData = MutableLiveData<ProfileResponse>()
2427
val profileData: LiveData<ProfileResponse> = _profileData
2528

app/src/main/java/com/teamsparker/android/ui/share/InstaActivity.kt

+4-6
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import com.teamsparker.android.ui.main.MainActivity
2121
import com.teamsparker.android.ui.main.MainActivity.Companion.FROM_WHERE
2222
import com.teamsparker.android.util.showToast
2323
import android.provider.MediaStore
24+
import com.teamsparker.android.BuildConfig
2425
import timber.log.Timber
2526
import java.io.ByteArrayOutputStream
2627
import java.io.OutputStream
@@ -111,18 +112,15 @@ class InstaActivity : BaseActivity<ActivityInstaBinding>(R.layout.activity_insta
111112
}
112113

113114
private fun shareInsta(uri: Uri) {
114-
115-
val sourceApplication = "com.spark.android"
116-
117115
val intent = Intent("com.instagram.share.ADD_TO_STORY")
118116
intent.type = "image/jpeg"
119-
intent.putExtra("source_application", sourceApplication)
117+
intent.putExtra("com.facebook.platform.extra.APPLICATION_ID", BuildConfig.FACEBOOK_APP_ID)
118+
intent.putExtra("interactive_asset_uri", uri)
120119
intent.putExtra("top_background_color", "#737376")
121120
intent.putExtra("bottom_background_color", "#737376")
122-
intent.putExtra("interactive_asset_uri", uri)
123121

124122
grantUriPermission(
125-
"com.instagram.android",
123+
"com.facebook.katana",
126124
uri,
127125
Intent.FLAG_GRANT_READ_URI_PERMISSION
128126
)

app/src/main/java/com/teamsparker/android/util/AnimationUtil.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,15 @@ object AnimationUtil {
113113
ObjectAnimator.ofFloat(constraintLayout, "translationY", 0f).apply {
114114
start()
115115
addListener(object : AnimatorListenerAdapter() {
116-
override fun onAnimationEnd(animation: Animator?) {
116+
override fun onAnimationEnd(animation: Animator) {
117117
super.onAnimationEnd(animation)
118118
ObjectAnimator.ofFloat(textviewTwo, View.ALPHA, 0f, 1f).apply {
119119
duration = EDIT_TEXT_FOCUS_TRANSLATION
120120
start()
121121
}
122122
ObjectAnimator.ofFloat(textviewOne, View.ALPHA, 0f, 1f).apply {
123123
addListener(object : AnimatorListenerAdapter() {
124-
override fun onAnimationStart(animation: Animator?) {
124+
override fun onAnimationStart(animation: Animator) {
125125
super.onAnimationStart(animation)
126126
textviewOne.visibility = View.VISIBLE
127127
textviewTwo.visibility = View.VISIBLE
@@ -152,12 +152,12 @@ object AnimationUtil {
152152
}
153153
ObjectAnimator.ofFloat(textviewOne, View.ALPHA, 1f, 0f).apply {
154154
addListener(object : AnimatorListenerAdapter() {
155-
override fun onAnimationEnd(animation: Animator?) {
155+
override fun onAnimationEnd(animation: Animator) {
156156
super.onAnimationEnd(animation)
157157
ObjectAnimator.ofFloat(constraintLayout, "translationY", -220f).apply {
158158
start()
159159
addListener(object : AnimatorListenerAdapter() {
160-
override fun onAnimationEnd(animation: Animator?) {
160+
override fun onAnimationEnd(animation: Animator) {
161161
super.onAnimationEnd(animation)
162162
textviewOne.visibility = View.GONE
163163
textviewTwo.visibility = View.GONE

app/src/main/res/layout/fragment_my_page_main.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@
288288
android:layout_marginEnd="28dp"
289289
android:fontFamily="@font/futura_medium"
290290
android:includeFontPadding="false"
291-
android:text="@string/my_page_main_version"
291+
android:text="@{@string/my_page_main_version(myPageViewModel.appVersion)}"
292292
android:textColor="@color/spark_light_dark_gray"
293293
android:textSize="12dp"
294294
app:layout_constraintBottom_toBottomOf="@id/tv_my_page_main_version_info"

app/src/main/res/values/strings.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@
299299
<string name="my_page_main_policy">약관 및 정책</string>
300300
<string name="my_page_main_open_source">오픈소스 라이선스</string>
301301
<string name="my_page_main_version_info">버전 정보</string>
302-
<string name="my_page_main_version">v1.0.0</string>
302+
<string name="my_page_main_version">v%s</string>
303303
<string name="my_page_main_sign_out">로그아웃</string>
304304
<string name="my_page_main_withdrawal"><u>회원 탈퇴</u></string>
305305
<string name="my_page_sign_out_msg">로그아웃되었습니다.</string>

0 commit comments

Comments
 (0)