From 775f4a94d4bcccb81a01ba59474389a9a3b4ff12 Mon Sep 17 00:00:00 2001 From: YXWang <19281171@bjtu.edu.cn> Date: Sun, 1 Aug 2021 21:24:11 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=94=BB=E4=BA=86=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=EF=BC=8C=E6=B2=A1=E5=81=9A=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E7=AD=89=E7=9D=80=E5=81=9A=E5=88=87=E6=8D=A2=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tmp/gradle13150879723504823628.bin | Bin 0 -> 18753 bytes .tmp/gradle1809419157077168675.bin | Bin 0 -> 5148 bytes .tmp/gradle6339341669959273730.bin | Bin 0 -> 53226 bytes .tmp/gradle9432233193878575197.bin | Bin 0 -> 13855 bytes app/build.gradle | 1 + .../leavesc/compose_tetris/MainActivity.kt | 4 +- .../leavesc/compose_tetris/TetrisSetting.kt | 257 ++++++++++++++++++ .../compose_tetris/logic/TetrisState.kt | 21 +- .../compose_tetris/logic/TetrisViewModel.kt | 15 +- .../leavesc/compose_tetris/ui/TetrisButton.kt | 19 +- .../leavesc/compose_tetris/ui/TetrisScreen.kt | 4 +- .../leavesc/compose_tetris/ui/theme/Color.kt | 7 + .../leavesc/compose_tetris/ui/theme/Shape.kt | 2 +- .../leavesc/compose_tetris/ui/theme/Theme.kt | 9 +- .../leavesc/compose_tetris/ui/theme/Type.kt | 2 +- daemon/7.0/registry.bin | Bin 51 -> 793 bytes daemon/7.0/registry.bin.lock | Bin 17 -> 17 bytes .../2021-07-31-22-20-09-318.profile | 108 -------- .../2021-08-01-21-17-40-129.profile | 27 ++ .../windows-amd64-min/native-platform.dll | Bin 0 -> 137216 bytes .../native-platform.dll.lock | 1 + 21 files changed, 340 insertions(+), 137 deletions(-) create mode 100644 .tmp/gradle13150879723504823628.bin create mode 100644 .tmp/gradle1809419157077168675.bin create mode 100644 .tmp/gradle6339341669959273730.bin create mode 100644 .tmp/gradle9432233193878575197.bin create mode 100644 app/src/main/java/github/leavesc/compose_tetris/TetrisSetting.kt delete mode 100644 kotlin-profile/2021-07-31-22-20-09-318.profile create mode 100644 kotlin-profile/2021-08-01-21-17-40-129.profile create mode 100644 native/fdc75f09e3144964f2cf3f50f0aa648679c211496f362492102eb8c894070792/windows-amd64-min/native-platform.dll create mode 100644 native/fdc75f09e3144964f2cf3f50f0aa648679c211496f362492102eb8c894070792/windows-amd64-min/native-platform.dll.lock diff --git a/.tmp/gradle13150879723504823628.bin b/.tmp/gradle13150879723504823628.bin new file mode 100644 index 0000000000000000000000000000000000000000..daf4a29954c93370bf63c7d71b620cec9c153ffc GIT binary patch literal 18753 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 E59Hbk`Tzg` literal 0 HcmV?d00001 diff --git a/.tmp/gradle1809419157077168675.bin b/.tmp/gradle1809419157077168675.bin new file mode 100644 index 0000000000000000000000000000000000000000..cd42616e7346f46dc798c4e58bb02bb3b6e6a872 GIT binary patch literal 5148 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 literal 0 HcmV?d00001 diff --git a/.tmp/gradle6339341669959273730.bin b/.tmp/gradle6339341669959273730.bin new file mode 100644 index 0000000000000000000000000000000000000000..9e230635ac2ac19a6b9d9f591b656ef933428c5a GIT binary patch literal 53226 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 IxUJ#;16!q6m;e9( literal 0 HcmV?d00001 diff --git a/.tmp/gradle9432233193878575197.bin b/.tmp/gradle9432233193878575197.bin new file mode 100644 index 0000000000000000000000000000000000000000..dcedc52b846e9e419d9067c5c2930a4ef6df4c3b GIT binary patch literal 13855 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 literal 0 HcmV?d00001 diff --git a/app/build.gradle b/app/build.gradle index 09229ad..9d7ff3f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -73,4 +73,5 @@ dependencies { implementation 'androidx.activity:activity-compose:1.3.0-alpha08' implementation "androidx.lifecycle:lifecycle-viewmodel-compose:1.0.0-alpha05" implementation "androidx.constraintlayout:constraintlayout-compose:1.0.0-alpha07" + implementation "androidx.navigation:navigation-compose:1.0.0-alpha02" } \ No newline at end of file diff --git a/app/src/main/java/github/leavesc/compose_tetris/MainActivity.kt b/app/src/main/java/github/leavesc/compose_tetris/MainActivity.kt index cb3ecf2..7d8a5aa 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/MainActivity.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/MainActivity.kt @@ -20,7 +20,7 @@ import github.leavesc.compose_tetris.logic.previewTetrisState import github.leavesc.compose_tetris.ui.TetrisBody import github.leavesc.compose_tetris.ui.TetrisButton import github.leavesc.compose_tetris.ui.TetrisScreen -import github.leavesc.compose_tetris.ui.theme.ComposetetrisTheme +import github.leavesc.compose_tetris.ui.theme.ComposeTetrisTheme import github.leavesc.compose_tetris.utils.StatusBarUtil /** @@ -52,7 +52,7 @@ class MainActivity : ComponentActivity() { lifecycle.removeObserver(observer) } } - ComposetetrisTheme { + ComposeTetrisTheme { Surface { val tetrisState by tetrisViewModel.tetrisStateLD.collectAsState() TetrisBody(tetrisScreen = { diff --git a/app/src/main/java/github/leavesc/compose_tetris/TetrisSetting.kt b/app/src/main/java/github/leavesc/compose_tetris/TetrisSetting.kt new file mode 100644 index 0000000..e468fed --- /dev/null +++ b/app/src/main/java/github/leavesc/compose_tetris/TetrisSetting.kt @@ -0,0 +1,257 @@ +package github.leavesc.compose_tetris + +import androidx.compose.foundation.background +import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.* +import androidx.compose.foundation.selection.selectable +import androidx.compose.foundation.selection.selectableGroup +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.* +import androidx.compose.runtime.* +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.clip +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.semantics.Role +import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.tooling.preview.Preview +import androidx.constraintlayout.compose.ConstraintLayout +import github.leavesc.compose_tetris.ui.theme.BodyBackground +import androidx.compose.ui.unit.* +import github.leavesc.compose_tetris.ui.brushYellow + +@Preview(widthDp = 360, heightDp = 700) +@Composable +fun PreviewTetrisSetting() { + SettingsBody() +} + +@Composable +fun SettingsBody() { + Column( + modifier = Modifier + .fillMaxSize() + .background(color = BodyBackground) + .padding(24.dp) + ) { + val biggerMargin = 16.dp + val smallerMargin = 5.dp + + Text( + text = "Game Settings", + fontSize = 36.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(bottom = 5.dp) + ) + ConstraintLayout( + modifier = Modifier + .wrapContentWidth(align = Alignment.CenterHorizontally) + ) { + val (difficultySwitch, + themeSwitch, + switchBGM) = createRefs() + + Row(modifier = Modifier.constrainAs(difficultySwitch) { + start.linkTo(parent.start) + top.linkTo(parent.top) + }) { + Text( + text = "Switch difficulty", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(5.dp) + ) + + // 难度选择框 + val difficultyOptions = listOf("Easy", "Normal", "Hard") + val (selectedOption, onOptionSelected) = + mutableStateOf(difficultyOptions[1]) + Column(Modifier.selectableGroup()) { + difficultyOptions.forEach { text -> + Row( + Modifier + .padding(vertical = smallerMargin) + .fillMaxWidth() + .selectable( + selected = (text == selectedOption), + onClick = { onOptionSelected(text) }, + role = Role.RadioButton + ) + .padding(horizontal = biggerMargin), + verticalAlignment = Alignment.CenterVertically + ) { + RadioButton( + selected = (text == selectedOption), + onClick = { /* TODO: 按一下就改变方块的下落速度 DOWN_SPEED */ }) + Text( + text = text, + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(start = 12.dp) + ) + } + } + } + } // end of Row(modifier = Modifier.constrainAs(difficultySwitch) + + Row(modifier = Modifier.constrainAs(themeSwitch) { + start.linkTo(parent.start) + top.linkTo(difficultySwitch.bottom, margin = biggerMargin) + }) { + Text( + text = "Switch theme", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(smallerMargin) + ) + Column(modifier = Modifier.fillMaxWidth()) { + RectangularButton( + icon = "Daytime mode", + modifier = Modifier.padding( + horizontal = biggerMargin, + vertical = smallerMargin + ) + ) { + /* TODO: 按一下换成黑夜或白天主题 */ + } + RectangularButton( + icon = "Night mode", + modifier = Modifier.padding( + horizontal = biggerMargin, + vertical = smallerMargin + ) + ) { + /* TODO: 按一下换成黑夜或白天主题 */ + } + } + } // end of Row(modifier = Modifier.constrainAs(themeSwitch) + + Row(modifier = Modifier + .fillMaxWidth() + .constrainAs(switchBGM) { + start.linkTo(parent.start) + top.linkTo(themeSwitch.bottom, margin = biggerMargin) + }) { + Text( + text = "Choose the BGM", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(smallerMargin) + ) + RectangularButton( + icon = "Select", + modifier = Modifier + .padding(horizontal = biggerMargin) + ) { + /* TODO: 等这里有音乐再说 */ + } + } // end of Row(modifier = Modifier.constrainAs(switchBGM) + } + + Text( + text = "Player Profile", + fontSize = 36.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding( + top = biggerMargin, + bottom = smallerMargin + ) + ) + + ConstraintLayout( + modifier = Modifier + .wrapContentWidth(align = Alignment.CenterHorizontally) + ) { + var username by remember { mutableStateOf("") } + var highestScore = 65535 /* TODO: 等待有一个计分的变量 */ + + val (playerName, + historyScore, + rules) = createRefs() + Row(modifier = Modifier.constrainAs(playerName) { + start.linkTo(parent.start) + top.linkTo(parent.top) + }) { + Text( + text = "Player name", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(smallerMargin) + ) + TextField( + value = username, + onValueChange = {username = it}, + label = { Text("What's your name? ") }, + maxLines = 1, + modifier = Modifier + .fillMaxWidth() + ) + } + + Row(modifier = Modifier.constrainAs(historyScore) { + start.linkTo(playerName.start) + top.linkTo(playerName.bottom, margin = biggerMargin) + }) { + Text( + text = "Highest score", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(smallerMargin) + ) + + Text( + text = "$highestScore", + fontSize = 24.sp, + fontWeight = FontWeight.Bold, + modifier = Modifier.padding(horizontal = biggerMargin) + ) + } + + Row(modifier = Modifier + .fillMaxSize() + .constrainAs(rules) { + start.linkTo(historyScore.start) + top.linkTo(historyScore.bottom, margin = biggerMargin) + }) { + Text( + text = "How to play", + style = MaterialTheme.typography.body1.merge(), + modifier = Modifier.padding(smallerMargin) + ) + + Text( + text = "Press \"Rotate\" to rotate the block\n" + + "Press \"◀\" and \"▶\" to move the block horizontally\n" + + "Press \"▼\" to speed up the block fall\n" + + "Press \"✔\" directly to drop the current block\n", + fontSize = 14.sp, + modifier = Modifier.padding(smallerMargin) + .fillMaxSize() + ) + } + + + } + } +} + +@Composable +fun RectangularButton( + icon: String, + modifier: Modifier, + fontSize: TextUnit = 16.sp, + onPress: () -> Unit +) { + Box( + modifier = modifier + .clip(shape = RoundedCornerShape(7.dp)) + .background( + brush = brushYellow + ) + .padding(7.dp) + .clickable { + onPress() + }, + contentAlignment = Alignment.Center + ) { + Text( + text = icon, + fontSize = fontSize, + color = Color.Black.copy(0.9f) + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisState.kt b/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisState.kt index 26f51c4..7fdffbc 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisState.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisState.kt @@ -201,14 +201,21 @@ data class TetrisState( } override fun equals(other: Any?): Boolean { - if (this === other) return true - if (javaClass != other?.javaClass) return false + if (this === other) + return true + if (javaClass != other?.javaClass) + return false other as TetrisState - if (!brickArray.contentDeepEquals(other.brickArray)) return false - if (tetris != other.tetris) return false - if (gameStatus != other.gameStatus) return false - if (soundEnable != other.soundEnable) return false - if (nextTetris != other.nextTetris) return false + if (!brickArray.contentDeepEquals(other.brickArray)) + return false + if (tetris != other.tetris) + return false + if (gameStatus != other.gameStatus) + return false + if (soundEnable != other.soundEnable) + return false + if (nextTetris != other.nextTetris) + return false return true } diff --git a/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisViewModel.kt b/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisViewModel.kt index 8465dd1..6bd7910 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisViewModel.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/logic/TetrisViewModel.kt @@ -50,7 +50,8 @@ class TetrisViewModel : ViewModel() { if (tetrisState.gameStatus == GameStatus.Paused) { dispatchState(tetrisState.copy(gameStatus = GameStatus.Running)) startDownJob() - } else { + } + else { onStartGame() } } @@ -110,19 +111,25 @@ class TetrisViewModel : ViewModel() { private fun onWelcome() { startClearScreenJob { - dispatchState(TetrisState().copy(gameStatus = GameStatus.Welcome)) + dispatchState( + TetrisState().copy(gameStatus = GameStatus.Welcome) + ) } } private fun onStartGame() { - dispatchState(TetrisState().copy(gameStatus = GameStatus.Running)) + dispatchState( + TetrisState().copy(gameStatus = GameStatus.Running) + ) startDownJob() } private fun onPauseGame() { if (tetrisState.isRunning) { cancelDownJob() - dispatchState(tetrisState.copy(gameStatus = GameStatus.Paused)) + dispatchState( + tetrisState.copy(gameStatus = GameStatus.Paused) + ) } } diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisButton.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisButton.kt index 3f496a4..627b7b0 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisButton.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisButton.kt @@ -20,10 +20,7 @@ import androidx.constraintlayout.compose.ConstraintLayout import github.leavesc.compose_tetris.logic.PlayListener import github.leavesc.compose_tetris.logic.TransformationType.* import github.leavesc.compose_tetris.logic.combinedPlayListener -import github.leavesc.compose_tetris.ui.theme.PlayButtonColor -import github.leavesc.compose_tetris.ui.theme.PlayButtonColor2 -import github.leavesc.compose_tetris.ui.theme.PlayButtonColor3 -import github.leavesc.compose_tetris.ui.theme.PlayButtonShape +import github.leavesc.compose_tetris.ui.theme.* /** * @Author: leavesC @@ -135,7 +132,7 @@ fun TetrisButton( } -private val brush = Brush.linearGradient( +val brushYellow = Brush.linearGradient( colors = listOf( PlayButtonColor, PlayButtonColor2, @@ -143,6 +140,14 @@ private val brush = Brush.linearGradient( ) ) +val brushBlue = Brush.linearGradient( + colors = listOf( + PlayButtonColorNight, + PlayButtonColorNight2, + PlayButtonColorNight3 + ) +) + @Composable fun ControlButton( modifier: Modifier, @@ -168,7 +173,7 @@ fun ControlButton( .shadow(elevation = 60.dp, shape = PlayButtonShape) .clip(shape = PlayButtonShape) .background( - brush = brush + brush = brushYellow ) .clickable { onPress() @@ -190,7 +195,7 @@ fun PlayButton( .shadow(elevation = 60.dp, shape = PlayButtonShape) .clip(shape = PlayButtonShape) .background( - brush = brush + brush = brushYellow ) .clickable { onPress() diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisScreen.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisScreen.kt index 125ada5..d957bc1 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisScreen.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/TetrisScreen.kt @@ -41,9 +41,7 @@ fun PreviewTetrisScreen() { } @Composable -fun TetrisScreen( - tetrisState: TetrisState -) { +fun TetrisScreen(tetrisState: TetrisState) { val screenMatrix = tetrisState.screenMatrix val matrixHeight = tetrisState.height val matrixWidth = tetrisState.width diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Color.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Color.kt index 8b047c2..ab4253d 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Color.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Color.kt @@ -6,11 +6,18 @@ val Purple200 = Color(0xFFBB86FC) val Purple500 = Color(0xFF6200EE) val Purple700 = Color(0xFF3700B3) val Teal200 = Color(0xFF03DAC5) +val DarkGrey = Color(0xFF414141) val BodyBackground = Color(0xF2FFD600) val ScreenBackground = Color(0xff9ead86) val PlayButtonColor = Color(0xF2FDDF3A) val PlayButtonColor2 = Color(0xF2C5A708) val PlayButtonColor3 = Color(0xF2947C01) + +val BodyBackgroundNight = Color(0xF200EAFF) +val ScreenBackgroundNight = Color(0xFF86ADA4) +val PlayButtonColorNight = Color(0xF24784FF) +val PlayButtonColorNight2 = Color(0xF2245AC7) +val PlayButtonColorNight3 = Color(0xF2123E97) val BrickAlpha = Color.Black.copy(alpha = 0.2f) val BrickFill = Color.Black.copy(alpha = 0.9f) \ No newline at end of file diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Shape.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Shape.kt index 8bad0a4..42a95f0 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Shape.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Shape.kt @@ -11,4 +11,4 @@ val Shapes = Shapes( large = RoundedCornerShape(0.dp) ) -val PlayButtonShape = CircleShape \ No newline at end of file +val PlayButtonShape = CircleShape diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Theme.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Theme.kt index d362c9f..1926b2f 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Theme.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Theme.kt @@ -9,14 +9,15 @@ import androidx.compose.runtime.Composable private val DarkColorPalette = darkColors( primary = Purple200, primaryVariant = Purple700, - secondary = Teal200 + secondary = Teal200, + background = BodyBackgroundNight ) private val LightColorPalette = lightColors( primary = Purple500, primaryVariant = Purple700, - secondary = Teal200 - + secondary = Teal200, + background = BodyBackground /* Other default colors to override background = Color.White, surface = Color.White, @@ -28,7 +29,7 @@ private val LightColorPalette = lightColors( ) @Composable -fun ComposetetrisTheme( +fun ComposeTetrisTheme( darkTheme: Boolean = isSystemInDarkTheme(), content: @Composable() () -> Unit ) { diff --git a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Type.kt b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Type.kt index e266c1d..4c88327 100644 --- a/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Type.kt +++ b/app/src/main/java/github/leavesc/compose_tetris/ui/theme/Type.kt @@ -14,6 +14,7 @@ val Typography = Typography( fontWeight = FontWeight.Normal, fontSize = 16.sp ) +) /* Other default text styles to override button = TextStyle( fontFamily = FontFamily.Default, @@ -26,4 +27,3 @@ val Typography = Typography( fontSize = 12.sp ) */ -) \ No newline at end of file diff --git a/daemon/7.0/registry.bin b/daemon/7.0/registry.bin index e2328cf2d2c0c05417611bd46af4d363578a7214..820dcb1e975f69e28cc4b95dc4b2f496b1525ca0 100644 GIT binary patch literal 793 zcmbtSF-v1X5T2E5R0yXM#pX;Qg2g_cG0KZvAi>-TqNx-t0>}DxjH~bM#(n#OUW&8y zZwUT?^J)vRu(|T!io?>v#zxdmaG&N70};f5VP|H)nQxdG0sw?u&Hg{%!tq<$S8 zo?R<|e}&}3>W3dsuQlQ0_O0{t^k)7}>>myH1sACV(XNKsP^}4r_#gMppwS|# za)zOjNlR9W=L8Oa?^$aIda32$RMk;NFtW)S%voa*PCQz%5kaA}xJXwjmD19e^6Th; z$y#UhSX=D`?FiXWTi7}2Z4Et9)HSY0&;2`(erJkzBs~vG3g!44Oh;%sGkt2CfP4)+ z*#=Hl;rL4WvDPS!!;A`r|AMTWu7*2VH|K?rrsZ`Jpo7v^T-dd&EPtgQ^wDx0p|*8m zY4mPkt^)n7P_mAg)v)k=15&M6gK5E}Nv@`)qzU&Yf2?oibCGlrNJmE1GrkH#dzl%H IK8gnN2RtqHc>n+a delta 33 ecmbQqW-Q6b00BUnvFgu{l2!ExW8 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

-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 Date: Sun, 1 Aug 2021 21:25:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=BC=96=E8=BE=91.gitignore=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 73bcdc6..d89174d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,18 @@ *.iml +*.bin +*.bak +*.lock /caches /wrapper /daemon +/build +/captures .gradle /local.properties /.idea .idea /app/release .DS_Store -/build -/captures .externalNativeBuild .cxx local.properties -- Gitee