Skip to content

Commit 84d60fb

Browse files
authored
Merge pull request #557 from TeamSparker/fix/share-insta
#556 [fix] 인스타 공유하기 수정 및 타겟 sdk 버전 업
2 parents 821956a + 328646d commit 84d60fb

File tree

13 files changed

+79
-27
lines changed

13 files changed

+79
-27
lines changed

.idea/git_toolbox_prj.xml

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/kotlinc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 17 additions & 2 deletions
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
20+
targetSdk 33
1821
versionCode 5
1922
versionName "1.1.0"
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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
package="com.teamsparker.android">
44

55
<uses-permission android:name="android.permission.INTERNET" />
6-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
6+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
7+
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" android:minSdkVersion="33" />
78
<uses-permission android:name="android.permission.CAMERA" />
89
<uses-permission
910
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
@@ -25,6 +26,8 @@
2526
android:roundIcon="@mipmap/ic_app_logo_round"
2627
android:supportsRtl="true"
2728
android:theme="@style/Theme.SparkAndroid">
29+
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="${FACEBOOK_APP_ID}"/>
30+
2831
<activity
2932
android:name="com.teamsparker.android.ui.habit.HabitSendSparkActivity"
3033
android:exported="false"

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

Lines changed: 8 additions & 2 deletions
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

Lines changed: 8 additions & 2 deletions
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

Lines changed: 4 additions & 4 deletions
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

Lines changed: 4 additions & 4 deletions
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

Lines changed: 3 additions & 0 deletions
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

Lines changed: 4 additions & 6 deletions
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
)

0 commit comments

Comments
 (0)