@@ -3,26 +3,24 @@ package com.example.gutenbergkit
3
3
import android.os.Bundle
4
4
import android.webkit.WebView
5
5
import android.content.pm.ApplicationInfo
6
+ import androidx.activity.ComponentActivity
7
+ import androidx.activity.compose.setContent
6
8
import androidx.activity.enableEdgeToEdge
7
- import androidx.appcompat.app.AppCompatActivity
8
- import androidx.core.view.ViewCompat
9
- import androidx.core.view.WindowInsetsCompat
9
+ import androidx.compose.foundation.layout.fillMaxSize
10
+ import androidx.compose.foundation.layout.padding
11
+ import androidx.compose.material3.Scaffold
12
+ import androidx.compose.runtime.Composable
13
+ import androidx.compose.ui.Modifier
14
+ import androidx.compose.ui.viewinterop.AndroidView
10
15
import org.wordpress.gutenberg.EditorConfiguration
11
16
import org.wordpress.gutenberg.GutenbergView
12
17
13
- class EditorActivity : AppCompatActivity () {
18
+ class EditorActivity : ComponentActivity () {
14
19
override fun onCreate (savedInstanceState : Bundle ? ) {
15
20
super .onCreate(savedInstanceState)
16
21
enableEdgeToEdge()
17
- setContentView(R .layout.activity_editor)
18
22
19
- ViewCompat .setOnApplyWindowInsetsListener(findViewById(R .id.editor)) { v, insets ->
20
- val systemBars = insets.getInsets(WindowInsetsCompat .Type .systemBars())
21
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
22
- insets
23
- }
24
-
25
- if (0 != (applicationInfo.flags and android.content.pm.ApplicationInfo .FLAG_DEBUGGABLE )) {
23
+ if (0 != (applicationInfo.flags and ApplicationInfo .FLAG_DEBUGGABLE )) {
26
24
WebView .setWebContentsDebuggingEnabled(true )
27
25
}
28
26
@@ -38,7 +36,32 @@ class EditorActivity : AppCompatActivity() {
38
36
intent.getParcelableExtra<EditorConfiguration >(MainActivity .EXTRA_CONFIGURATION )
39
37
} ? : EditorConfiguration .builder().build()
40
38
41
- val gbView = findViewById<GutenbergView >(R .id.gutenbergView)
42
- gbView.start(configuration)
39
+ setContent {
40
+ EditorScreen (
41
+ configuration = configuration,
42
+ onClose = { finish() }
43
+ )
44
+ }
45
+ }
46
+ }
47
+
48
+ @Composable
49
+ fun EditorScreen (
50
+ configuration : EditorConfiguration ,
51
+ onClose : () -> Unit
52
+ ) {
53
+ Scaffold (
54
+ modifier = Modifier .fillMaxSize()
55
+ ) { innerPadding ->
56
+ AndroidView (
57
+ factory = { context ->
58
+ GutenbergView (context).apply {
59
+ start(configuration)
60
+ }
61
+ },
62
+ modifier = Modifier
63
+ .fillMaxSize()
64
+ .padding(innerPadding)
65
+ )
43
66
}
44
67
}
0 commit comments