@@ -26,6 +26,11 @@ import com.lassi.presentation.common.decoration.GridSpacingItemDecoration
2626import com.lassi.presentation.cropper.CropImageView
2727import java.io.File
2828import java.util.Locale
29+ import androidx.core.net.toUri
30+ import androidx.core.view.ViewCompat
31+ import androidx.core.view.WindowCompat
32+ import androidx.core.view.WindowInsetsCompat
33+ import androidx.core.view.WindowInsetsControllerCompat
2934
3035class MainActivity : AppCompatActivity (), View.OnClickListener {
3136 private var _binding : ActivityMainBinding ? = null
@@ -35,9 +40,28 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
3540
3641 override fun onCreate (savedInstanceState : Bundle ? ) {
3742 super .onCreate(savedInstanceState)
43+
44+ // this thing ensures that the padding removed for the edge-to-edge support is not overridden again
45+ WindowCompat .setDecorFitsSystemWindows(window, false )
46+
47+ // this thing adds the black color to the text of status bar.
48+ WindowInsetsControllerCompat (window, window.decorView)
49+ .isAppearanceLightStatusBars = true
50+
3851 _binding = ActivityMainBinding .inflate(layoutInflater)
3952 binding.also {
4053 setContentView(it.root)
54+ // Apply system bar padding to root layout
55+ ViewCompat .setOnApplyWindowInsetsListener(it.root) { view, insets ->
56+ val systemBars = insets.getInsets(WindowInsetsCompat .Type .systemBars())
57+ view.setPadding(
58+ view.paddingLeft,
59+ systemBars.top, // top padding for status bar
60+ view.paddingRight,
61+ systemBars.bottom // bottom padding for nav bar
62+ )
63+ insets
64+ }
4165 it.btnImagePicker.setOnClickListener(this )
4266 it.btnVideoPicker.setOnClickListener(this )
4367 it.btnAudioPicker.setOnClickListener(this )
@@ -337,9 +361,8 @@ class MainActivity : AppCompatActivity(), View.OnClickListener {
337361 try {
338362 val intent = Intent (Settings .ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION )
339363 intent.addCategory(" android.intent.category.DEFAULT" )
340- intent.data = Uri .parse(
341- String .format(" package:%s" , applicationContext?.packageName)
342- )
364+ intent.data =
365+ String .format(" package:%s" , applicationContext?.packageName).toUri()
343366 mPermissionSettingResult.launch(intent)
344367 } catch (e: Exception ) {
345368 val intent = Intent ()
0 commit comments