Fix Android 15 toolbar

This commit is contained in:
armv9 2025-02-26 18:48:09 +09:00
parent 5ff4eb011c
commit 5276a4607c

View File

@ -6,7 +6,12 @@ import android.widget.TextView
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat import androidx.core.app.ActivityCompat
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import com.google.android.material.appbar.MaterialToolbar
import com.google.android.material.snackbar.Snackbar import com.google.android.material.snackbar.Snackbar
import io.nekohasekai.sagernet.R
import io.nekohasekai.sagernet.utils.Theme import io.nekohasekai.sagernet.utils.Theme
abstract class ThemedActivity : AppCompatActivity { abstract class ThemedActivity : AppCompatActivity {
@ -28,6 +33,15 @@ abstract class ThemedActivity : AppCompatActivity {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
uiMode = resources.configuration.uiMode uiMode = resources.configuration.uiMode
findViewById<MaterialToolbar>(R.id.toolbar)?.let {
val appbarTopPadding = it.paddingTop
ViewCompat.setOnApplyWindowInsetsListener(it) { v, insets ->
v.updatePadding(top = appbarTopPadding + insets.getInsets(WindowInsetsCompat.Type.systemBars()).top)
insets
}
}
} }
override fun setTheme(resId: Int) { override fun setTheme(resId: Int) {
@ -51,6 +65,7 @@ abstract class ThemedActivity : AppCompatActivity {
maxLines = 10 maxLines = 10
} }
} }
internal open fun snackbarInternal(text: CharSequence): Snackbar = throw NotImplementedError() internal open fun snackbarInternal(text: CharSequence): Snackbar = throw NotImplementedError()
} }