| author | Da Risk <da_risk@geekorum.com> |
| Tue, 06 May 2025 12:55:03 -0400 | |
| changeset 89 | 0cc872a9edbf |
| parent 80 | 2474591aa280 |
| permissions | -rw-r--r-- |
| 36 | 1 |
/* |
2 |
* AboutOss is an utility library to retrieve and display |
|
3 |
* opensource licenses in Android applications. |
|
4 |
* |
|
5 |
* Copyright (C) 2023-2025 by Frederic-Charles Barthelery. |
|
6 |
* |
|
7 |
* This file is part of AboutOss. |
|
8 |
* |
|
9 |
* AboutOss is free software: you can redistribute it and/or modify |
|
10 |
* it under the terms of the GNU General Public License as published by |
|
11 |
* the Free Software Foundation, either version 3 of the License, or |
|
12 |
* (at your option) any later version. |
|
13 |
* |
|
14 |
* AboutOss is distributed in the hope that it will be useful, |
|
15 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
16 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
17 |
* GNU General Public License for more details. |
|
18 |
* |
|
19 |
* You should have received a copy of the GNU General Public License |
|
20 |
* along with AboutOss. If not, see <http://www.gnu.org/licenses/>. |
|
21 |
*/ |
|
22 |
package com.geekorum.aboutoss.ui.common |
|
23 |
||
|
51
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
24 |
import androidx.compose.runtime.Composable |
|
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
25 |
import androidx.compose.runtime.remember |
| 36 | 26 |
import platform.Foundation.NSURL.Companion.URLWithString |
27 |
import platform.UIKit.UIApplication |
|
28 |
||
29 |
||
| 80 | 30 |
/** |
31 |
* A [BrowserLauncher] for the iOS platform |
|
32 |
*/ |
|
| 36 | 33 |
class IosBrowserLauncher : BrowserLauncher {
|
34 |
||
35 |
override fun launchUrl(link: String) {
|
|
36 |
UIApplication.sharedApplication.openURL( |
|
37 |
URLWithString(link)!!, |
|
38 |
options = emptyMap<Any?, Any>(), |
|
39 |
completionHandler = {}
|
|
40 |
) |
|
41 |
} |
|
42 |
||
43 |
override fun mayLaunchUrl(vararg uris: String) {}
|
|
|
51
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
44 |
} |
| 36 | 45 |
|
| 80 | 46 |
/** |
47 |
* Creates and [androidx.compose.runtime.remember] a [BrowserLauncher] |
|
48 |
*/ |
|
|
51
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
49 |
@Composable |
|
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
50 |
actual fun rememberBrowserLauncher(): BrowserLauncher {
|
|
d69bdf1ad491
ui:common: separate BrowserLauncher functionality from ViewModel
Da Risk <da_risk@geekorum.com>
parents:
36
diff
changeset
|
51 |
return remember { IosBrowserLauncher() }
|
| 36 | 52 |
} |