Skip to content

Commit 2c78b8a

Browse files
committed
feat: looks like working impl on Android
1 parent 139e64d commit 2c78b8a

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed

android/src/main/java/com/reactnativewebbrowser/NativeWebBrowserModule.kt

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.reactnativewebbrowser
33
import android.content.Intent
44
import android.graphics.Color
55
import android.net.Uri
6-
import android.os.Bundle
76
import android.text.TextUtils
87
import androidx.browser.customtabs.CustomTabsIntent
98
import com.facebook.react.bridge.*
@@ -49,7 +48,7 @@ class NativeWebBrowserModule(reactContext: ReactApplicationContext) :
4948
try {
5049
val processedPackageName = givenOrPreferredPackageName(packageName)
5150
customTabsConnectionHelper.warmUp(processedPackageName)
52-
val result = Bundle()
51+
val result = Arguments.createMap()
5352
result.putString(
5453
SERVICE_PACKAGE_KEY,
5554
processedPackageName
@@ -66,14 +65,14 @@ class NativeWebBrowserModule(reactContext: ReactApplicationContext) :
6665
try {
6766
processedPackageName = givenOrPreferredPackageName(processedPackageName)
6867
if (customTabsConnectionHelper.coolDown(processedPackageName)) {
69-
val result = Bundle()
68+
val result = Arguments.createMap()
7069
result.putString(
7170
SERVICE_PACKAGE_KEY,
7271
processedPackageName
7372
)
7473
promise.resolve(result)
7574
} else {
76-
promise.resolve(Bundle())
75+
promise.resolve(Arguments.createMap())
7776
}
7877
} catch (ex: NoPreferredPackageFound) {
7978
promise.reject(ex)
@@ -93,7 +92,7 @@ class NativeWebBrowserModule(reactContext: ReactApplicationContext) :
9392
processedPackageName,
9493
Uri.parse(url)
9594
)
96-
val result = Bundle()
95+
val result = Arguments.createMap()
9796
result.putString(
9897
SERVICE_PACKAGE_KEY,
9998
processedPackageName
@@ -121,7 +120,7 @@ class NativeWebBrowserModule(reactContext: ReactApplicationContext) :
121120
if (activities.contains(defaultPackage)) { // It might happen, that default activity does not support Chrome Tabs. Then it will be ResolvingActivity and we don't want to return it as a result.
122121
defaultCustomTabsPackage = defaultPackage
123122
}
124-
val result = Bundle()
123+
val result = Arguments.createMap()
125124
result.putStringArrayList(
126125
BROWSER_PACKAGES_KEY,
127126
activities
@@ -168,7 +167,7 @@ class NativeWebBrowserModule(reactContext: ReactApplicationContext) :
168167
try {
169168
if (customTabsActivitiesHelper.canResolveIntent(intent)) {
170169
customTabsActivitiesHelper.startCustomTabs(intent)
171-
val result = Bundle()
170+
val result = Arguments.createMap()
172171
result.putString("type", "opened")
173172
promise.resolve(result)
174173
} else {
@@ -278,3 +277,11 @@ fun ReadableMap.getBooleanWithDefault(
278277
}
279278
return this.getBoolean(name)
280279
}
280+
281+
fun WritableMap.putStringArrayList(name: String, strArr: ArrayList<String>) {
282+
val arr = Arguments.createArray()
283+
for (str in strArr) {
284+
arr.pushString(str)
285+
}
286+
this.putArray(name, arr)
287+
}

0 commit comments

Comments
 (0)