Skip to content

Commit

Permalink
Fixed the overlying of bottom sheet with navigation bars
Browse files Browse the repository at this point in the history
  • Loading branch information
aritra-tech committed Mar 26, 2024
1 parent dae9488 commit 3ef277b
Showing 1 changed file with 13 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@ package com.aritra.notify.components.appbar

import android.Manifest
import android.net.Uri
import android.os.Build
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.PickVisualMediaRequest
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ExperimentalLayoutApi
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.asPaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.ime
import androidx.compose.foundation.layout.imePadding
import androidx.compose.foundation.layout.isImeVisible
import androidx.compose.foundation.layout.navigationBars
import androidx.compose.foundation.layout.navigationBarsPadding
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
Expand Down Expand Up @@ -35,7 +42,7 @@ import com.google.accompanist.permissions.ExperimentalPermissionsApi
import com.google.accompanist.permissions.isGranted
import com.google.accompanist.permissions.rememberPermissionState

@OptIn(ExperimentalMaterial3Api::class, ExperimentalPermissionsApi::class)
@OptIn(ExperimentalMaterial3Api::class, ExperimentalPermissionsApi::class, ExperimentalLayoutApi::class)
@Composable
fun AddEditBottomBar(
modifier: Modifier = Modifier,
Expand All @@ -49,6 +56,8 @@ fun AddEditBottomBar(
var showSheet by remember { mutableStateOf(false) }
val sheetState = rememberModalBottomSheetState()

val bottomPadding = WindowInsets.navigationBars.asPaddingValues().calculateBottomPadding()
val imeIsVisible = WindowInsets.isImeVisible
val microphonePermissionState = rememberPermissionState(Manifest.permission.RECORD_AUDIO)
val cameraPermissionState = rememberPermissionState(Manifest.permission.CAMERA)

Expand Down Expand Up @@ -96,10 +105,13 @@ fun AddEditBottomBar(
onDismissRequest = { showSheet = false },
sheetState = sheetState,
dragHandle = { BottomSheetDefaults.DragHandle() },
windowInsets = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) WindowInsets.ime
else WindowInsets(0,0,0,0),
content = {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(bottom = if (imeIsVisible) 0.dp else bottomPadding)
.padding(16.dp),
content = {
BottomSheetOptions(
Expand Down

0 comments on commit 3ef277b

Please sign in to comment.