ui/common/src/desktopMain/kotlin/DesktopBrowserLauncher.kt
changeset 51 d69bdf1ad491
parent 48 de36017d25b3
child 80 2474591aa280
equal deleted inserted replaced
50:baa92ecc2001 51:d69bdf1ad491
    19  * You should have received a copy of the GNU General Public License
    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/>.
    20  * along with AboutOss.  If not, see <http://www.gnu.org/licenses/>.
    21  */
    21  */
    22 package com.geekorum.aboutoss.ui.common
    22 package com.geekorum.aboutoss.ui.common
    23 
    23 
       
    24 import androidx.compose.runtime.Composable
       
    25 import androidx.compose.runtime.remember
    24 import java.awt.Desktop
    26 import java.awt.Desktop
    25 import java.net.URI
    27 import java.net.URI
    26 import java.util.Locale
    28 import java.util.Locale
    27 
    29 
    28 class DesktopBrowserLauncher : BrowserLauncher {
    30 class DesktopBrowserLauncher : BrowserLauncher {
    36         }
    38         }
    37         null
    39         null
    38     }
    40     }
    39 
    41 
    40     private val openCommandLauncher = OpenCommandLauncher()
    42     private val openCommandLauncher = OpenCommandLauncher()
    41 
       
    42     override fun warmUp() {
       
    43     }
       
    44 
    43 
    45     override fun launchUrl(link: String) {
    44     override fun launchUrl(link: String) {
    46         try {
    45         try {
    47             desktopLauncher?.launchUrl(link)
    46             desktopLauncher?.launchUrl(link)
    48             return
    47             return
    61     }
    60     }
    62 
    61 
    63     override fun mayLaunchUrl(vararg uris: String) {
    62     override fun mayLaunchUrl(vararg uris: String) {
    64     }
    63     }
    65 
    64 
    66     override fun shutdown() {
    65 }
    67     }
    66 
       
    67 @Composable
       
    68 actual fun rememberBrowserLauncher(): BrowserLauncher {
       
    69     return remember { DesktopBrowserLauncher() }
    68 }
    70 }
    69 
    71 
    70 private interface Launcher {
    72 private interface Launcher {
    71     fun launchUrl(link: String)
    73     fun launchUrl(link: String)
    72 }
    74 }