@react-native-kakao/share 2.2.3 → 2.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareModule.kt +225 -226
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoSharePackage.kt +4 -6
- package/android/src/main/java/net/mjstudio/rnkakao/share/RNCKakaoShareTemplates.kt +2 -3
- package/android/src/newarch/KakaoShareSpec.kt +3 -2
- package/android/src/oldarch/KakaoShareSpec.kt +15 -14
- package/lib/commonjs/index.js +30 -21
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js +20 -0
- package/lib/commonjs/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js.map +1 -0
- package/lib/module/index.js +30 -21
- package/lib/module/index.js.map +1 -1
- package/lib/module/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js +14 -0
- package/lib/module/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.js.map +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.d.ts +2 -0
- package/lib/typescript/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/index.ts +50 -21
- package/src/util/swapMobileExecutionParamsFieldValueIntoStringInIOS.ts +23 -0
|
@@ -24,261 +24,260 @@ import net.mjstudio.rnkakao.core.util.pushStringList
|
|
|
24
24
|
import net.mjstudio.rnkakao.core.util.rejectWith
|
|
25
25
|
import net.mjstudio.rnkakao.core.util.toStringMap
|
|
26
26
|
|
|
27
|
-
class RNCKakaoShareModule internal constructor(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
27
|
+
class RNCKakaoShareModule internal constructor(
|
|
28
|
+
context: ReactApplicationContext,
|
|
29
|
+
) : KakaoShareSpec(context) {
|
|
30
|
+
override fun getName(): String = NAME
|
|
32
31
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
}
|
|
32
|
+
@ReactMethod
|
|
33
|
+
override fun shareOrSendMeOrSendFriendOrWhatever(
|
|
34
|
+
sendType: String,
|
|
35
|
+
templateType: String,
|
|
36
|
+
templateId: Double,
|
|
37
|
+
templateJson: ReadableMap,
|
|
38
|
+
receiverUuids: ReadableArray,
|
|
39
|
+
useWebBrowserIfKakaoTalkNotAvailable: Boolean,
|
|
40
|
+
templateArgs: ReadableMap,
|
|
41
|
+
serverCallbackArgs: ReadableMap,
|
|
42
|
+
promise: Promise,
|
|
43
|
+
) = onMain {
|
|
44
|
+
if (templateType == "custom") {
|
|
45
|
+
shareOrSendCustom(
|
|
46
|
+
sendType,
|
|
47
|
+
templateType,
|
|
48
|
+
templateId,
|
|
49
|
+
receiverUuids = receiverUuids.filterIsInstance<String>(),
|
|
50
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
51
|
+
templateArgs,
|
|
52
|
+
serverCallbackArgs,
|
|
53
|
+
promise,
|
|
54
|
+
)
|
|
55
|
+
} else {
|
|
56
|
+
shareOrSendDefaultTemplate(
|
|
57
|
+
sendType,
|
|
58
|
+
templateType,
|
|
59
|
+
templateJson,
|
|
60
|
+
receiverUuids = receiverUuids.filterIsInstance<String>(),
|
|
61
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
62
|
+
serverCallbackArgs,
|
|
63
|
+
promise,
|
|
64
|
+
)
|
|
67
65
|
}
|
|
66
|
+
}
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
else -> {
|
|
97
|
-
promise.rejectWith(RNCKakaoUnknownException("Unknown sendType: $sendType"))
|
|
98
|
-
}
|
|
68
|
+
private fun shareOrSendCustom(
|
|
69
|
+
sendType: String,
|
|
70
|
+
templateType: String,
|
|
71
|
+
templateId: Double,
|
|
72
|
+
receiverUuids: List<String>,
|
|
73
|
+
useWebBrowserIfKakaoTalkNotAvailable: Boolean,
|
|
74
|
+
templateArgs: ReadableMap?,
|
|
75
|
+
serverCallbackArgs: ReadableMap?,
|
|
76
|
+
promise: Promise,
|
|
77
|
+
) = when (sendType) {
|
|
78
|
+
"share" -> {
|
|
79
|
+
runShare(
|
|
80
|
+
templateType,
|
|
81
|
+
templateId,
|
|
82
|
+
null,
|
|
83
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
84
|
+
templateArgs,
|
|
85
|
+
serverCallbackArgs,
|
|
86
|
+
promise,
|
|
87
|
+
)
|
|
88
|
+
}
|
|
89
|
+
"send-me" -> {
|
|
90
|
+
runSendToMe(templateType, templateId, null, templateArgs, promise)
|
|
91
|
+
}
|
|
92
|
+
"send-friend" -> {
|
|
93
|
+
runSendToFriends(templateType, receiverUuids, templateId, null, templateArgs, promise)
|
|
99
94
|
}
|
|
95
|
+
else -> {
|
|
96
|
+
promise.rejectWith(RNCKakaoUnknownException("Unknown sendType: $sendType"))
|
|
97
|
+
}
|
|
98
|
+
}
|
|
100
99
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
"send-me" -> {
|
|
122
|
-
runSendToMe(templateType, null, template, null, promise)
|
|
123
|
-
}
|
|
124
|
-
"send-friend" -> {
|
|
125
|
-
runSendToFriends(templateType, receiverUuids, null, template, null, promise)
|
|
126
|
-
}
|
|
127
|
-
else -> {
|
|
128
|
-
promise.rejectWith(RNCKakaoUnknownException("Unknown sendType: $sendType"))
|
|
129
|
-
}
|
|
100
|
+
private fun shareOrSendDefaultTemplate(
|
|
101
|
+
sendType: String,
|
|
102
|
+
templateType: String,
|
|
103
|
+
template: ReadableMap,
|
|
104
|
+
receiverUuids: List<String>,
|
|
105
|
+
useWebBrowserIfKakaoTalkNotAvailable: Boolean,
|
|
106
|
+
serverCallbackArgs: ReadableMap?,
|
|
107
|
+
promise: Promise,
|
|
108
|
+
) = when (sendType) {
|
|
109
|
+
"share" -> {
|
|
110
|
+
runShare(
|
|
111
|
+
templateType,
|
|
112
|
+
null,
|
|
113
|
+
template,
|
|
114
|
+
useWebBrowserIfKakaoTalkNotAvailable,
|
|
115
|
+
argMap(),
|
|
116
|
+
serverCallbackArgs,
|
|
117
|
+
promise,
|
|
118
|
+
)
|
|
130
119
|
}
|
|
120
|
+
"send-me" -> {
|
|
121
|
+
runSendToMe(templateType, null, template, null, promise)
|
|
122
|
+
}
|
|
123
|
+
"send-friend" -> {
|
|
124
|
+
runSendToFriends(templateType, receiverUuids, null, template, null, promise)
|
|
125
|
+
}
|
|
126
|
+
else -> {
|
|
127
|
+
promise.rejectWith(RNCKakaoUnknownException("Unknown sendType: $sendType"))
|
|
128
|
+
}
|
|
129
|
+
}
|
|
131
130
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
} else {
|
|
143
|
-
promise.resolve(42)
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
if (templateId != null) {
|
|
147
|
-
TalkApiClient.instance.sendCustomMemo(templateId.toLong(), templateArgs?.toStringMap(), callback)
|
|
148
|
-
} else if (defaultTemplate != null) {
|
|
149
|
-
runCatching {
|
|
150
|
-
TalkApiClient.instance.sendDefaultMemo(
|
|
151
|
-
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
152
|
-
callback,
|
|
153
|
-
)
|
|
154
|
-
}.onFailure { promise.rejectWith(it) }
|
|
131
|
+
private fun runSendToMe(
|
|
132
|
+
templateType: String,
|
|
133
|
+
templateId: Double? = null,
|
|
134
|
+
defaultTemplate: ReadableMap? = null,
|
|
135
|
+
templateArgs: ReadableMap? = null,
|
|
136
|
+
promise: Promise,
|
|
137
|
+
) {
|
|
138
|
+
val callback = { e: Throwable? ->
|
|
139
|
+
if (e != null) {
|
|
140
|
+
promise.rejectWith(e)
|
|
155
141
|
} else {
|
|
156
|
-
promise.
|
|
142
|
+
promise.resolve(42)
|
|
157
143
|
}
|
|
158
144
|
}
|
|
145
|
+
if (templateId != null) {
|
|
146
|
+
TalkApiClient.instance.sendCustomMemo(templateId.toLong(), templateArgs?.toStringMap(), callback)
|
|
147
|
+
} else if (defaultTemplate != null) {
|
|
148
|
+
runCatching {
|
|
149
|
+
TalkApiClient.instance.sendDefaultMemo(
|
|
150
|
+
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
151
|
+
callback,
|
|
152
|
+
)
|
|
153
|
+
}.onFailure { promise.rejectWith(it) }
|
|
154
|
+
} else {
|
|
155
|
+
promise.rejectWith(RNCKakaoUnknownException("one of templateId or defaultTemplate should exist"))
|
|
156
|
+
}
|
|
157
|
+
}
|
|
159
158
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
} else {
|
|
174
|
-
promise.resolve(argArr().pushStringList(messageSendResult.successfulReceiverUuids ?: listOf()))
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
if (templateId != null) {
|
|
178
|
-
TalkApiClient.instance.sendCustomMessage(receiverUuids, templateId.toLong(), templateArgs?.toStringMap(), callback)
|
|
179
|
-
} else if (defaultTemplate != null) {
|
|
180
|
-
runCatching {
|
|
181
|
-
TalkApiClient.instance.sendDefaultMessage(
|
|
182
|
-
receiverUuids,
|
|
183
|
-
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
184
|
-
callback,
|
|
185
|
-
)
|
|
186
|
-
}.onFailure { promise.rejectWith(it) }
|
|
159
|
+
private fun runSendToFriends(
|
|
160
|
+
templateType: String,
|
|
161
|
+
receiverUuids: List<String>,
|
|
162
|
+
templateId: Double? = null,
|
|
163
|
+
defaultTemplate: ReadableMap? = null,
|
|
164
|
+
templateArgs: ReadableMap? = null,
|
|
165
|
+
promise: Promise,
|
|
166
|
+
) {
|
|
167
|
+
val callback = { messageSendResult: MessageSendResult?, e: Throwable? ->
|
|
168
|
+
if (e != null) {
|
|
169
|
+
promise.rejectWith(e)
|
|
170
|
+
} else if (messageSendResult == null) {
|
|
171
|
+
promise.rejectWith(RNCKakaoResponseNotFoundException("messageSendResult"))
|
|
187
172
|
} else {
|
|
188
|
-
promise.
|
|
173
|
+
promise.resolve(argArr().pushStringList(messageSendResult.successfulReceiverUuids ?: listOf()))
|
|
189
174
|
}
|
|
190
175
|
}
|
|
176
|
+
if (templateId != null) {
|
|
177
|
+
TalkApiClient.instance.sendCustomMessage(receiverUuids, templateId.toLong(), templateArgs?.toStringMap(), callback)
|
|
178
|
+
} else if (defaultTemplate != null) {
|
|
179
|
+
runCatching {
|
|
180
|
+
TalkApiClient.instance.sendDefaultMessage(
|
|
181
|
+
receiverUuids,
|
|
182
|
+
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
183
|
+
callback,
|
|
184
|
+
)
|
|
185
|
+
}.onFailure { promise.rejectWith(it) }
|
|
186
|
+
} else {
|
|
187
|
+
promise.rejectWith(RNCKakaoUnknownException("one of templateId or defaultTemplate should exist"))
|
|
188
|
+
}
|
|
189
|
+
}
|
|
191
190
|
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
191
|
+
private fun runShare(
|
|
192
|
+
templateType: String,
|
|
193
|
+
templateId: Double? = null,
|
|
194
|
+
defaultTemplate: ReadableMap? = null,
|
|
195
|
+
useWebBrowserIfKakaoTalkNotAvailable: Boolean,
|
|
196
|
+
templateArgs: ReadableMap? = null,
|
|
197
|
+
serverCallbackArgs: ReadableMap? = null,
|
|
198
|
+
promise: Promise,
|
|
199
|
+
) {
|
|
200
|
+
val context = currentActivity
|
|
201
|
+
if (context == null) {
|
|
202
|
+
promise.rejectWith(ActivityNotFoundException())
|
|
203
|
+
return
|
|
204
|
+
}
|
|
206
205
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
}
|
|
206
|
+
val callback = { sharingResult: SharingResult?, error: Throwable? ->
|
|
207
|
+
if (error != null) {
|
|
208
|
+
promise.rejectWith(error)
|
|
209
|
+
} else if (sharingResult != null) {
|
|
210
|
+
context.startActivity(sharingResult.intent)
|
|
211
|
+
promise.resolve(42)
|
|
212
|
+
} else {
|
|
213
|
+
promise.resolve(42)
|
|
216
214
|
}
|
|
215
|
+
}
|
|
217
216
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
217
|
+
if (ShareClient.instance.isKakaoTalkSharingAvailable(context)) {
|
|
218
|
+
if (templateId != null) {
|
|
219
|
+
ShareClient.instance.shareCustom(
|
|
220
|
+
context,
|
|
221
|
+
templateId.toLong(),
|
|
222
|
+
templateArgs = templateArgs?.toStringMap(),
|
|
223
|
+
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
224
|
+
callback = callback,
|
|
225
|
+
)
|
|
226
|
+
} else if (defaultTemplate != null) {
|
|
227
|
+
runCatching {
|
|
228
|
+
ShareClient.instance.shareDefault(
|
|
221
229
|
context,
|
|
222
|
-
|
|
223
|
-
templateArgs = templateArgs?.toStringMap(),
|
|
230
|
+
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
224
231
|
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
225
232
|
callback = callback,
|
|
226
233
|
)
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
234
|
+
}.onFailure {
|
|
235
|
+
promise.rejectWith(it)
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
} else if (useWebBrowserIfKakaoTalkNotAvailable) {
|
|
239
|
+
runCatching {
|
|
240
|
+
val sharerUrl =
|
|
241
|
+
if (templateId != null) {
|
|
242
|
+
WebSharerClient.instance.makeCustomUrl(
|
|
243
|
+
templateId.toLong(),
|
|
244
|
+
templateArgs = templateArgs?.toStringMap(),
|
|
245
|
+
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
246
|
+
)
|
|
247
|
+
} else if (defaultTemplate != null) {
|
|
248
|
+
WebSharerClient.instance.makeDefaultUrl(
|
|
231
249
|
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
232
250
|
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
233
|
-
callback = callback,
|
|
234
251
|
)
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
} else if (useWebBrowserIfKakaoTalkNotAvailable) {
|
|
240
|
-
runCatching {
|
|
241
|
-
val sharerUrl =
|
|
242
|
-
if (templateId != null) {
|
|
243
|
-
WebSharerClient.instance.makeCustomUrl(
|
|
244
|
-
templateId.toLong(),
|
|
245
|
-
templateArgs = templateArgs?.toStringMap(),
|
|
246
|
-
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
247
|
-
)
|
|
248
|
-
} else if (defaultTemplate != null) {
|
|
249
|
-
WebSharerClient.instance.makeDefaultUrl(
|
|
250
|
-
RNCKakaoShareTemplates.createDefaultTemplate(defaultTemplate, templateType),
|
|
251
|
-
serverCallbackArgs = serverCallbackArgs?.toStringMap(),
|
|
252
|
-
)
|
|
253
|
-
} else {
|
|
254
|
-
run {
|
|
255
|
-
promise.rejectWith(RNCKakaoUnknownException("one of templateId or template shouldn't be null"))
|
|
256
|
-
return
|
|
257
|
-
}
|
|
252
|
+
} else {
|
|
253
|
+
run {
|
|
254
|
+
promise.rejectWith(RNCKakaoUnknownException("one of templateId or template shouldn't be null"))
|
|
255
|
+
return
|
|
258
256
|
}
|
|
259
|
-
try {
|
|
260
|
-
KakaoCustomTabsClient.openWithDefault(context, sharerUrl)
|
|
261
|
-
promise.resolve(42)
|
|
262
|
-
return
|
|
263
|
-
} catch (_: UnsupportedOperationException) {
|
|
264
257
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
promise.rejectWith(RNCKakaoUnknownException("web url open failed $sharerUrl"))
|
|
273
|
-
}.onFailure {
|
|
274
|
-
promise.rejectWith(it)
|
|
258
|
+
try {
|
|
259
|
+
KakaoCustomTabsClient.openWithDefault(context, sharerUrl)
|
|
260
|
+
promise.resolve(42)
|
|
261
|
+
return
|
|
262
|
+
} catch (_: UnsupportedOperationException) {
|
|
275
263
|
}
|
|
276
|
-
|
|
277
|
-
|
|
264
|
+
try {
|
|
265
|
+
KakaoCustomTabsClient.open(context, sharerUrl)
|
|
266
|
+
promise.resolve(42)
|
|
267
|
+
return
|
|
268
|
+
} catch (_: ActivityNotFoundException) {
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
promise.rejectWith(RNCKakaoUnknownException("web url open failed $sharerUrl"))
|
|
272
|
+
}.onFailure {
|
|
273
|
+
promise.rejectWith(it)
|
|
278
274
|
}
|
|
275
|
+
} else {
|
|
276
|
+
promise.rejectWith(RNCKakaoAppNotAvailableException(TALK))
|
|
279
277
|
}
|
|
278
|
+
}
|
|
280
279
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
}
|
|
280
|
+
companion object {
|
|
281
|
+
const val NAME = "RNCKakaoShare"
|
|
284
282
|
}
|
|
283
|
+
}
|
|
@@ -11,16 +11,15 @@ class RNCKakaoSharePackage : TurboReactPackage() {
|
|
|
11
11
|
override fun getModule(
|
|
12
12
|
name: String,
|
|
13
13
|
reactContext: ReactApplicationContext,
|
|
14
|
-
): NativeModule?
|
|
15
|
-
|
|
14
|
+
): NativeModule? =
|
|
15
|
+
if (name == RNCKakaoShareModule.NAME) {
|
|
16
16
|
RNCKakaoShareModule(reactContext)
|
|
17
17
|
} else {
|
|
18
18
|
null
|
|
19
19
|
}
|
|
20
|
-
}
|
|
21
20
|
|
|
22
|
-
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider
|
|
23
|
-
|
|
21
|
+
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider =
|
|
22
|
+
ReactModuleInfoProvider {
|
|
24
23
|
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
|
25
24
|
val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
|
26
25
|
moduleInfos[RNCKakaoShareModule.NAME] =
|
|
@@ -34,5 +33,4 @@ class RNCKakaoSharePackage : TurboReactPackage() {
|
|
|
34
33
|
)
|
|
35
34
|
moduleInfos
|
|
36
35
|
}
|
|
37
|
-
}
|
|
38
36
|
}
|
|
@@ -108,8 +108,8 @@ object RNCKakaoShareTemplates {
|
|
|
108
108
|
buttonTitle = map.getString("buttonTitle"),
|
|
109
109
|
)
|
|
110
110
|
|
|
111
|
-
private fun createListTemplate(map: ReadableMap): ListTemplate
|
|
112
|
-
|
|
111
|
+
private fun createListTemplate(map: ReadableMap): ListTemplate =
|
|
112
|
+
ListTemplate(
|
|
113
113
|
headerTitle = map.getString("headerTitle") ?: "",
|
|
114
114
|
headerLink = map.getMap("headerLink")?.toLink() ?: Link(),
|
|
115
115
|
contents =
|
|
@@ -118,7 +118,6 @@ object RNCKakaoShareTemplates {
|
|
|
118
118
|
buttons = map.getArray("buttons")?.filterIsReadableMap()?.map { it.toButton() },
|
|
119
119
|
buttonTitle = map.getString("buttonTitle"),
|
|
120
120
|
)
|
|
121
|
-
}
|
|
122
121
|
|
|
123
122
|
private fun createLocationTemplate(map: ReadableMap) =
|
|
124
123
|
LocationTemplate(
|
|
@@ -2,5 +2,6 @@ package net.mjstudio.rnkakao.share
|
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
4
4
|
|
|
5
|
-
abstract class KakaoShareSpec internal constructor(
|
|
6
|
-
|
|
5
|
+
abstract class KakaoShareSpec internal constructor(
|
|
6
|
+
context: ReactApplicationContext,
|
|
7
|
+
) : NativeKakaoShareSpec(context)
|
|
@@ -6,17 +6,18 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
|
6
6
|
import com.facebook.react.bridge.ReadableArray
|
|
7
7
|
import com.facebook.react.bridge.ReadableMap
|
|
8
8
|
|
|
9
|
-
abstract class KakaoShareSpec internal constructor(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
9
|
+
abstract class KakaoShareSpec internal constructor(
|
|
10
|
+
context: ReactApplicationContext,
|
|
11
|
+
) : ReactContextBaseJavaModule(context) {
|
|
12
|
+
abstract fun shareOrSendMeOrSendFriendOrWhatever(
|
|
13
|
+
sendType: String,
|
|
14
|
+
templateType: String,
|
|
15
|
+
templateId: Double,
|
|
16
|
+
templateJson: ReadableMap,
|
|
17
|
+
receiverUuids: ReadableArray,
|
|
18
|
+
useWebBrowserIfKakaoTalkNotAvailable: Boolean,
|
|
19
|
+
templateArgs: ReadableMap,
|
|
20
|
+
serverCallbackArgs: ReadableMap,
|
|
21
|
+
promise: Promise,
|
|
22
|
+
)
|
|
23
|
+
}
|