├── 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