Skip to content

Commit

Permalink
Merge pull request #219 from lihenggui/mercury
Browse files Browse the repository at this point in the history
Remove 3rd party bottom sheet library
  • Loading branch information
lihenggui authored Jul 9, 2023
2 parents 0abb98a + 024f543 commit fe709e2
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 31 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ import com.merxury.blocker.core.model.preference.SortingOrder
import com.merxury.blocker.core.model.preference.SortingOrder.ASCENDING
import com.merxury.blocker.core.model.preference.SortingOrder.DESCENDING
import com.merxury.blocker.core.ui.R
import com.merxury.blocker.core.ui.TrackScreenViewEvent
import com.merxury.blocker.core.ui.bottomsheet.AppSortInfoUiState.Loading
import com.merxury.blocker.core.ui.bottomsheet.AppSortInfoUiState.Success
import com.merxury.blocker.core.ui.screen.LoadingScreen
Expand Down Expand Up @@ -117,6 +118,7 @@ fun AppSortOptionsContent(
)
Spacer(modifier = Modifier.height(16.dp))
}
TrackScreenViewEvent(screenName = "AppListSortBottomSheet")
}

@Composable
Expand Down
1 change: 0 additions & 1 deletion feature/appdetail/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ android {
dependencies {
implementation(projects.core.componentController)
implementation(projects.core.rule)
implementation(libs.dialogbottomsheets)
implementation(libs.kotlinx.datetime)
implementation(libs.androidx.lifecycle.livedata.ktx)
implementation(libs.androidx.work.ktx)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,24 @@ import androidx.compose.foundation.layout.systemBars
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.pager.HorizontalPager
import androidx.compose.foundation.pager.rememberPagerState
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Scaffold
import androidx.compose.material3.SnackbarDuration
import androidx.compose.material3.SnackbarHostState
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.geometry.Offset
import androidx.compose.ui.input.nestedscroll.NestedScrollConnection
Expand All @@ -61,8 +66,6 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Velocity
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.dokar.sheets.BottomSheet
import com.dokar.sheets.rememberBottomSheetState
import com.merxury.blocker.core.designsystem.component.BlockerCollapsingTopAppBar
import com.merxury.blocker.core.designsystem.component.BlockerErrorAlertDialog
import com.merxury.blocker.core.designsystem.component.BlockerScrollableTabRow
Expand Down Expand Up @@ -272,6 +275,7 @@ fun AppDetailScreen(
TrackScreenViewEvent(screenName = "AppDetailScreen")
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun AppDetailContent(
app: AppItem,
Expand Down Expand Up @@ -303,7 +307,7 @@ fun AppDetailContent(
onSortOrderClick: (SortingOrder) -> Unit = {},
onShowPriorityClick: (ComponentShowPriority) -> Unit = {},
) {
val sheetState = rememberBottomSheetState()
var openBottomSheet by rememberSaveable { mutableStateOf(false) }
val listState = rememberLazyListState()
val systemStatusHeight = WindowInsets.systemBars.asPaddingValues().calculateTopPadding()
val toolbarHeightRange = with(LocalDensity.current) {
Expand Down Expand Up @@ -356,7 +360,7 @@ fun AppDetailContent(
navigatedToComponentSortScreen = {
scope.launch {
onSortOptionsClick()
sheetState.expand()
openBottomSheet = true
}
},
)
Expand Down Expand Up @@ -402,16 +406,20 @@ fun AppDetailContent(
onCopyFullNameClick = onCopyFullNameClick,
)
}
BottomSheet(
state = sheetState,
skipPeeked = true,
) {
ComponentSortBottomSheet(
uiState = bottomSheetState,
onSortByClick = onSortByClick,
onSortOrderClick = onSortOrderClick,
onShowPriorityClick = onShowPriorityClick,
)
if (openBottomSheet) {
ModalBottomSheet(
onDismissRequest = { openBottomSheet = false },
sheetState = rememberModalBottomSheetState(
skipPartiallyExpanded = true,
),
) {
ComponentSortBottomSheet(
uiState = bottomSheetState,
onSortByClick = onSortByClick,
onSortOrderClick = onSortOrderClick,
onShowPriorityClick = onShowPriorityClick,
)
}
}
}

Expand Down
1 change: 0 additions & 1 deletion feature/applist/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ android {

dependencies {
implementation(projects.core.ifwApi)
implementation(libs.dialogbottomsheets)
implementation(libs.kotlinx.datetime)
}

Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,22 @@ import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ModalBottomSheet
import androidx.compose.material3.Scaffold
import androidx.compose.material3.rememberModalBottomSheetState
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.stringResource
import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle
import com.dokar.sheets.BottomSheet
import com.dokar.sheets.rememberBottomSheetState
import com.merxury.blocker.core.designsystem.component.BlockerErrorAlertDialog
import com.merxury.blocker.core.designsystem.component.BlockerTopAppBar
import com.merxury.blocker.core.designsystem.component.BlockerWarningAlertDialog
Expand Down Expand Up @@ -131,8 +134,8 @@ fun AppListScreen(
onChangeShowRunningAppsOnTop: (Boolean) -> Unit,
modifier: Modifier = Modifier,
) {
var openBottomSheet by rememberSaveable { mutableStateOf(false) }
val scope = rememberCoroutineScope()
val sheetState = rememberBottomSheetState()
Scaffold(
topBar = {
BlockerTopAppBar(
Expand All @@ -142,7 +145,7 @@ fun AppListScreen(
onClick = {
scope.launch {
onSortOptionsClick()
sheetState.expand()
openBottomSheet = true
}
},
) {
Expand Down Expand Up @@ -193,16 +196,20 @@ fun AppListScreen(
}
}
}
BottomSheet(
state = sheetState,
skipPeeked = true,
) {
AppSortBottomSheet(
uiState = bottomSheetUiState,
onSortByClick = onSortByClick,
onSortOrderClick = onSortOrderClick,
onChangeShowRunningAppsOnTop = onChangeShowRunningAppsOnTop,
)
if (openBottomSheet) {
ModalBottomSheet(
onDismissRequest = { openBottomSheet = false },
sheetState = rememberModalBottomSheetState(
skipPartiallyExpanded = true,
),
) {
AppSortBottomSheet(
uiState = bottomSheetUiState,
onSortByClick = onSortByClick,
onSortOrderClick = onSortOrderClick,
onChangeShowRunningAppsOnTop = onChangeShowRunningAppsOnTop,
)
}
}
TrackScreenViewEvent(screenName = "AppListScreen")
}
1 change: 0 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,6 @@ room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
shizuku-api = { group = "dev.rikka.shizuku", name = "api", version.ref = "shizuku" }
shizuku-provider = { group = "dev.rikka.shizuku", name = "provider", version.ref = "shizuku" }
dialogbottomsheets = "io.github.dokar3:sheets:0.4.3"
timber = "com.jakewharton.timber:timber:5.0.1"
freereflection = "com.github.tiann:FreeReflection:3.2.0"
simplexml = "org.simpleframework:simple-xml:2.7.1"
Expand Down

0 comments on commit fe709e2

Please sign in to comment.