-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainActivity.kt
More file actions
69 lines (59 loc) · 2.09 KB
/
Copy pathMainActivity.kt
File metadata and controls
69 lines (59 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
67
68
69
package com.pureswift.swiftandroid
import android.content.Intent
import android.os.Bundle
import android.util.Log
import android.view.Gravity
import android.view.View
import android.view.ViewGroup
import android.widget.LinearLayout
import android.widget.Spinner
import android.widget.TextView
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.fragment.app.FragmentActivity
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.viewinterop.AndroidView
import com.pureswift.swiftandroid.ui.theme.SwiftAndroidTheme
// Extends `FragmentActivity` so both framework and AndroidX fragments can be hosted.
class MainActivity : FragmentActivity() {
init {
NativeLibrary.shared()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
registerDemoComposables() // custom composables must be registered before the first render
onCreateSwift(savedInstanceState)
enableEdgeToEdge()
}
external fun onCreateSwift(savedInstanceState: Bundle?)
fun setRootView(view: View) {
Log.v("MainActivity", "AndroidSwiftUI.MainActivity.setRootView(_:)")
setContentView(view)
}
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
onActivityResultSwift(requestCode, resultCode, data)
}
external fun onActivityResultSwift(requestCode: Int, resultCode: Int, data: Intent?)
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
SwiftAndroidTheme {
Greeting("Android")
}
}