├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── themes.xml │ │ │ ├── font │ │ │ │ └── varimoji.ttf │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── xml │ │ │ │ └── file_paths.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values-night │ │ │ │ └── themes.xml │ │ │ ├── drawable │ │ │ │ ├── ic_header.xml │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ │ └── raw │ │ │ │ └── videos.json │ │ ├── java │ │ │ └── com │ │ │ │ └── halilibo │ │ │ │ └── madewithcompose │ │ │ │ ├── ui │ │ │ │ └── theme │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Shape.kt │ │ │ │ │ ├── NightMode.kt │ │ │ │ │ ├── Type.kt │ │ │ │ │ └── Theme.kt │ │ │ │ ├── videoplayer │ │ │ │ ├── Video.kt │ │ │ │ ├── VideoListPage.kt │ │ │ │ ├── MinimizedTitleAndControls.kt │ │ │ │ ├── VideoPlayerPage.kt │ │ │ │ ├── MinimizeLayout.kt │ │ │ │ └── VideoPlayerDemo.kt │ │ │ │ ├── HomePage.kt │ │ │ │ ├── weightentry │ │ │ │ └── WeightEntryDemo.kt │ │ │ │ ├── markdowneditor │ │ │ │ ├── TextFieldMutators.kt │ │ │ │ ├── MarkdownEditorDemo.kt │ │ │ │ ├── MarkdownPreview.kt │ │ │ │ └── MarkdownEditor.kt │ │ │ │ ├── brush │ │ │ │ ├── LightingTextDemoState.kt │ │ │ │ └── BrushDemo.kt │ │ │ │ ├── DemoEntry.kt │ │ │ │ ├── schedulecalendar │ │ │ │ └── ScheduleCalendarDemo.kt │ │ │ │ ├── calendar │ │ │ │ └── CalendarDemo.kt │ │ │ │ ├── varimoji │ │ │ │ └── VarimojiDemo.kt │ │ │ │ ├── circlesonlines │ │ │ │ └── CirclesOnLines.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── pip │ │ │ │ └── PictureInPictureDemo.kt │ │ │ │ ├── dotsandlines │ │ │ │ └── DotsAndLinesDemo.kt │ │ │ │ └── textonpath │ │ │ │ └── GlyphAnimationDemos.kt │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── halilibo │ │ │ └── madewithcompose │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── madewithcompose │ │ └── ExampleInstrumentedTest.kt ├── proguard-rules.pro └── build.gradle.kts ├── colors ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── colors │ │ └── Colors.kt ├── build.gradle.kts └── proguard-rules.pro ├── calendar ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── calendar │ │ └── CalendarEvent.kt ├── proguard-rules.pro └── build.gradle.kts ├── screenshot ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── screenshot │ │ └── Screenshot.kt ├── proguard-rules.pro └── build.gradle.kts ├── videoplayer ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── videoplayer │ │ ├── util │ │ ├── StateFlowExt.kt │ │ ├── FlowDebouncer.kt │ │ └── Helpers.kt │ │ ├── VideoPlayerSource.kt │ │ ├── PlaybackState.kt │ │ ├── VideoPlayerController.kt │ │ ├── PlayerSurface.kt │ │ ├── VideoPlayerState.kt │ │ ├── ShadowedIconButton.kt │ │ ├── ProgressIndicator.kt │ │ ├── VideoPlayer.kt │ │ └── MediaControlButtons.kt ├── proguard-rules.pro └── build.gradle.kts ├── weightentry ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── weightentry │ │ └── WeightScale.kt ├── proguard-rules.pro └── build.gradle.kts ├── dotsandlines ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── dotsandlines │ │ ├── DotsAndLinesState.kt │ │ ├── Dot.kt │ │ └── DotsAndLinesModifier.kt ├── proguard-rules.pro └── build.gradle.kts ├── schedulecalendar ├── .gitignore ├── src │ └── main │ │ ├── AndroidManifest.xml │ │ └── java │ │ └── com │ │ └── halilibo │ │ └── schedulecalendar │ │ └── ScheduleCalendarState.kt ├── proguard-rules.pro └── build.gradle.kts ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle.kts ├── gradle.properties ├── gradlew.bat ├── README.md └── gradlew /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /colors/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /calendar/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /screenshot/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /videoplayer/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /weightentry/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /dotsandlines/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /schedulecalendar/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /calendar/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /colors/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /screenshot/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dotsandlines/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /videoplayer/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /weightentry/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /schedulecalendar/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Made with Compose 3 | -------------------------------------------------------------------------------- /app/src/main/res/font/varimoji.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/font/varimoji.ttf -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | .cxx 10 | local.properties 11 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/halilozercan/madewithcompose/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/xml/file_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /videoplayer/src/main/java/com/halilibo/videoplayer/util/StateFlowExt.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.videoplayer.util 2 | 3 | import kotlinx.coroutines.flow.MutableStateFlow 4 | 5 | fun MutableStateFlow.set(block: T.() -> T) { 6 | this.value = this.value.block() 7 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Oct 02 22:57:05 TRT 2023 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /app/src/main/java/com/halilibo/madewithcompose/ui/theme/Color.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.madewithcompose.ui.theme 2 | 3 | import androidx.compose.ui.graphics.Color 4 | 5 | val Purple200 = Color(0xFFBB86FC) 6 | val Purple500 = Color(0xFF6200EE) 7 | val Purple700 = Color(0xFF3700B3) 8 | val Teal200 = Color(0xFF03DAC5) -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /videoplayer/src/main/java/com/halilibo/videoplayer/VideoPlayerSource.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.videoplayer 2 | 3 | import androidx.annotation.RawRes 4 | 5 | sealed class VideoPlayerSource { 6 | data class Raw(@RawRes val resId: Int) : VideoPlayerSource() 7 | data class Network(val url: String, val headers: Map = mapOf()) : VideoPlayerSource() 8 | } -------------------------------------------------------------------------------- /calendar/src/main/java/com/halilibo/calendar/CalendarEvent.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.calendar 2 | 3 | import androidx.compose.ui.graphics.Color 4 | import com.halilibo.colors.G500 5 | import java.util.* 6 | 7 | data class CalendarEvent( 8 | val startDate: Date, 9 | val endDate: Date, 10 | val name: String = "", 11 | val description: String = "", 12 | val color: Color = G500 13 | ) -------------------------------------------------------------------------------- /app/src/main/java/com/halilibo/madewithcompose/ui/theme/Shape.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.madewithcompose.ui.theme 2 | 3 | import androidx.compose.foundation.shape.RoundedCornerShape 4 | import androidx.compose.material.Shapes 5 | import androidx.compose.ui.unit.dp 6 | 7 | val Shapes = Shapes( 8 | small = RoundedCornerShape(4.dp), 9 | medium = RoundedCornerShape(4.dp), 10 | large = RoundedCornerShape(0.dp) 11 | ) -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFBB86FC 4 | #FF6200EE 5 | #FF3700B3 6 | #FF03DAC5 7 | #FF018786 8 | #FF000000 9 | #FFFFFFFF 10 | -------------------------------------------------------------------------------- /app/src/test/java/com/halilibo/madewithcompose/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.madewithcompose 2 | 3 | import org.junit.Assert.assertEquals 4 | import org.junit.Test 5 | 6 | /** 7 | * Example local unit test, which will execute on the development machine (host). 8 | * 9 | * See [testing documentation](http://d.android.com/tools/testing). 10 | */ 11 | class ExampleUnitTest { 12 | @Test 13 | fun addition_isCorrect() { 14 | assertEquals(4, 2 + 2) 15 | } 16 | } -------------------------------------------------------------------------------- /app/src/main/java/com/halilibo/madewithcompose/videoplayer/Video.kt: -------------------------------------------------------------------------------- 1 | package com.halilibo.madewithcompose.videoplayer 2 | 3 | import android.os.Parcelable 4 | import kotlinx.parcelize.Parcelize 5 | 6 | @Parcelize 7 | data class Video( 8 | val description: String, 9 | val sources: List, 10 | val subtitle: String, 11 | val title: String, 12 | val thumb: String 13 | ): Parcelable 14 | 15 | @Parcelize 16 | data class VideoList( 17 | val videos: List