haerzig.core.activities.PrivacyActivity.kt Maven / Gradle / Ivy
package haerzig.core.activities
import android.content.res.Configuration
import android.os.Bundle
import android.text.method.LinkMovementMethod
import android.widget.TextView
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.core.text.HtmlCompat
import haerzig.core.EXTRA_PRIVACY_STRING
import haerzig.core.R
import haerzig.core.themes.AppTheme
import haerzig.core.views.TopAppBar
class PrivacyActivity : ComponentActivity() {
@Preview(
uiMode = Configuration.UI_MODE_NIGHT_YES,
name = "DefaultPreviewDark"
)
@Preview(
uiMode = Configuration.UI_MODE_NIGHT_NO,
name = "DefaultPreviewLight"
)
@Composable
fun Preview() {
AppTheme {
Surface {
ContentView()
}
}
}
private var privacyString = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
privacyString = savedInstanceState?.getString(EXTRA_PRIVACY_STRING) ?: ""
setContent {
AppTheme {
Surface {
ContentView()
}
}
}
}
@Composable
fun ContentView() {
val privacyString = """
$privacyString
""".trimIndent()
Scaffold(
topBar = { TopAppBar(title = stringResource(R.string.privacy_notes_title), onGoBack = { finish() }) }
) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(start = 10.dp, bottom = it.calculateBottomPadding(), top = it.calculateTopPadding())
) {
AndroidView(factory = { context ->
TextView(context).apply {
text = HtmlCompat.fromHtml(privacyString, HtmlCompat.FROM_HTML_MODE_LEGACY)
movementMethod = LinkMovementMethod.getInstance()
}
})
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy