├── .github ├── CODEOWNERS └── workflows │ ├── build.yml │ ├── detekt.yml │ └── module-graphs.yml ├── .gitignore ├── README.md ├── app ├── .gitignore ├── README.md ├── build.gradle.kts ├── config │ └── detekt │ │ └── detekt.yml ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── ibrahimkurt │ │ └── multimodreelcompose │ │ ├── MainActivity.kt │ │ └── MultiModReelApp.kt │ └── res │ ├── drawable │ ├── ic_launcher_background.xml │ └── ic_launcher_foreground.xml │ ├── mipmap-anydpi-v26 │ ├── ic_launcher.xml │ └── ic_launcher_round.xml │ ├── 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 │ ├── values │ ├── colors.xml │ ├── strings.xml │ └── themes.xml │ └── xml │ ├── backup_rules.xml │ └── data_extraction_rules.xml ├── build-logic ├── convention │ ├── .gitignore │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ ├── AndroidComposePlugin.kt │ │ ├── AndroidHiltPlugin.kt │ │ ├── AndroidLibraryPlugin.kt │ │ ├── ApplicationComposePlugin.kt │ │ ├── ApplicationPlugin.kt │ │ ├── DetektPlugin.kt │ │ ├── JvmLibraryPlugin.kt │ │ ├── RetrofitSerializationPlugin.kt │ │ ├── UISetupPlugin.kt │ │ └── com │ │ └── ibrahimkurt │ │ └── convention │ │ └── LibExt.kt ├── gradle.properties └── settings.gradle.kts ├── build.gradle.kts ├── core ├── common │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── ibrahimkurt │ │ └── core │ │ └── common │ │ └── util │ │ ├── APIConst.kt │ │ ├── Constants.kt │ │ ├── PagingException.kt │ │ ├── Resource.kt │ │ └── TokenConst.kt ├── component │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── kotlin │ │ └── com │ │ │ └── ibrahimkurt │ │ │ └── core │ │ │ └── component │ │ │ ├── CoilImage.kt │ │ │ ├── ReelIconButtonType.kt │ │ │ ├── ReelPreview.kt │ │ │ ├── ReelScaffold.kt │ │ │ ├── ReelTopAppBarType.kt │ │ │ ├── extensions │ │ │ └── Surface.kt │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ │ └── util │ │ │ └── Constants.kt │ │ └── res │ │ └── font │ │ ├── montserrat_light.ttf │ │ ├── montserrat_medium.ttf │ │ ├── montserrat_regular.ttf │ │ ├── montserrat_thin.ttf │ │ └── worksans_bold.ttf ├── data │ ├── .gitignore │ ├── README.md │ └── build.gradle.kts ├── domain │ ├── .gitignore │ ├── README.md │ └── build.gradle.kts ├── network │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── ibrahimkurt │ │ │ └── core │ │ │ └── network │ │ │ ├── calladapter │ │ │ ├── NetworkResult.kt │ │ │ ├── NetworkResultCall.kt │ │ │ ├── NetworkResultCallAdapter.kt │ │ │ └── NetworkResultCallAdapterFactory.kt │ │ │ ├── di │ │ │ └── NetworkModule.kt │ │ │ ├── extensions │ │ │ └── NetworkExt.kt │ │ │ ├── intercapter │ │ │ ├── AuthTokenInterceptor.kt │ │ │ └── NetworkInterceptor.kt │ │ │ └── util │ │ │ ├── ErrorCategory.kt │ │ │ └── NetworkUnavailableException.kt │ │ └── res │ │ └── values │ │ └── strings.xml ├── pagination │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ │ └── main │ │ └── kotlin │ │ └── pagination │ │ └── BasePagingSource.kt └── ui │ ├── .gitignore │ ├── README.md │ ├── build.gradle.kts │ └── src │ └── main │ ├── kotlin │ └── com │ │ └── ibrahimkurt │ │ └── core │ │ └── ui │ │ ├── extensions │ │ └── NavExt.kt │ │ └── widgets │ │ └── FilmCard.kt │ └── res │ └── drawable │ └── examplefastx.jpg ├── docs └── images │ ├── graphs │ ├── 1__ZrkCb8QE0nK4FApKzKgmA.webp │ ├── dep_graph_app.svg │ ├── dep_graph_core_common.svg │ ├── dep_graph_core_component.svg │ ├── dep_graph_core_data.svg │ ├── dep_graph_core_domain.svg │ ├── dep_graph_core_network.svg │ ├── dep_graph_core_pagination.svg │ ├── dep_graph_core_ui.svg │ ├── dep_graph_features_detail_data.svg │ ├── dep_graph_features_detail_domain.svg │ ├── dep_graph_features_detail_ui.svg │ ├── dep_graph_features_home_data.svg │ ├── dep_graph_features_home_domain.svg │ ├── dep_graph_features_home_ui.svg │ ├── dep_graph_features_template_data.svg │ ├── dep_graph_features_template_domain.svg │ ├── dep_graph_features_template_ui.svg │ └── dep_graph_navigation.svg │ └── screenshot │ ├── detail.png │ └── home.png ├── features ├── detail │ ├── data │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── com │ │ │ └── features │ │ │ └── detail │ │ │ └── data │ │ │ ├── di │ │ │ ├── DetailBindsModule.kt │ │ │ └── DetailProvidesModule.kt │ │ │ ├── dto │ │ │ ├── CreatedBy.kt │ │ │ ├── Genre.kt │ │ │ ├── LastEpisodeToAir.kt │ │ │ ├── Network.kt │ │ │ ├── NextEpisodeToAir.kt │ │ │ ├── ProductionCompany.kt │ │ │ ├── ProductionCountry.kt │ │ │ ├── Season.kt │ │ │ ├── SpokenLanguage.kt │ │ │ └── TvSeriesDetailsResponse.kt │ │ │ ├── mapper │ │ │ └── DetailMapper.kt │ │ │ ├── repository │ │ │ └── DetailRepositoryImpl.kt │ │ │ └── source │ │ │ └── DetailApiService.kt │ ├── domain │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── com │ │ │ └── features │ │ │ └── detail │ │ │ └── domain │ │ │ ├── model │ │ │ └── TvSeriesDetail.kt │ │ │ ├── repository │ │ │ └── DetailRepository.kt │ │ │ └── usecase │ │ │ └── GetDetailUseCase.kt │ └── ui │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ └── kotlin │ │ └── com │ │ └── features │ │ └── detail │ │ └── ui │ │ ├── DetailNavigation.kt │ │ ├── DetailScreen.kt │ │ └── DetailViewModel.kt ├── home │ ├── data │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibrahimkurt │ │ │ └── features │ │ │ └── home │ │ │ └── data │ │ │ ├── di │ │ │ ├── HomeBindsModule.kt │ │ │ └── HomeProvidesModule.kt │ │ │ ├── dto │ │ │ ├── ResultDto.kt │ │ │ └── TvShowResponseDto.kt │ │ │ ├── mapper │ │ │ └── HomeMapper.kt │ │ │ ├── repository │ │ │ └── HomeRepositoryImpl.kt │ │ │ └── source │ │ │ └── HomeApiService.kt │ ├── domain │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibrahimkurt │ │ │ └── features │ │ │ └── home │ │ │ └── domain │ │ │ ├── model │ │ │ ├── TvShow.kt │ │ │ └── TvShowList.kt │ │ │ ├── repository │ │ │ └── HomeRepository.kt │ │ │ └── usecase │ │ │ └── GetTvUseCase.kt │ └── ui │ │ ├── .gitignore │ │ ├── README.md │ │ ├── build.gradle.kts │ │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── ibrahimkurt │ │ └── features │ │ └── home │ │ └── ui │ │ ├── HomeNavigation.kt │ │ ├── HomeScreen.kt │ │ └── HomeViewModel.kt └── template │ ├── data │ ├── .gitignore │ ├── README.md │ └── build.gradle.kts │ ├── domain │ ├── .gitignore │ ├── README.md │ └── build.gradle.kts │ └── ui │ ├── .gitignore │ ├── README.md │ └── build.gradle.kts ├── generateModuleGraphs.sh ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── navigation ├── .gitignore ├── README.md ├── build.gradle.kts └── src │ └── main │ └── java │ └── com │ └── ibrahimkurt │ └── navigation │ └── AppNavHost.kt └── settings.gradle.kts /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | /core/ @ubuntuyiw 2 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: Android CI 2 | 3 | on: 4 | pull_request: 5 | branches: [ "master" ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout Repository 12 | uses: actions/checkout@v3 13 | 14 | - name: Set up JDK 17 15 | uses: actions/setup-java@v3 16 | with: 17 | java-version: '17' 18 | distribution: 'temurin' 19 | 20 | - name: Cache Gradle Wrapper and Caches 21 | uses: actions/cache@v3 22 | with: 23 | path: | 24 | ~/.gradle/caches 25 | ~/.gradle/wrapper 26 | key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} 27 | restore-keys: | 28 | ${{ runner.os }}-gradle- 29 | 30 | - name: Set up environment variables 31 | run: | 32 | echo "SDK_DIR=${{ secrets.SDK_DIR }}" >> $GITHUB_ENV 33 | echo "API_KEY=${{ secrets.API_KEY }}" >> $GITHUB_ENV 34 | 35 | - name: Grant execute permission for gradlew 36 | run: chmod +x gradlew 37 | 38 | - name: Build with Gradle 39 | run: ./gradlew build --parallel -------------------------------------------------------------------------------- /.github/workflows/detekt.yml: -------------------------------------------------------------------------------- 1 | name: Detekt Static Code Analysis 2 | 3 | on: 4 | pull_request: 5 | branches: [ "master" ] 6 | 7 | jobs: 8 | detekt: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | 13 | - name: Set up JDK 17 14 | uses: actions/setup-java@v3 15 | with: 16 | java-version: '17' 17 | distribution: 'temurin' 18 | 19 | - name: Run Detekt and generate reports 20 | run: | 21 | chmod +x gradlew 22 | ./gradlew detekt -Pconfig-file=path/to/your/detekt.yml -Poutput-format=xml,html -Poutput-dir=path/to/your/reports 23 | 24 | - name: Upload Detekt reports 25 | uses: actions/upload-artifact@v3 26 | with: 27 | name: detekt-reports 28 | path: | 29 | path/to/your/reports/*.xml 30 | path/to/your/reports/*.html 31 | -------------------------------------------------------------------------------- /.github/workflows/module-graphs.yml: -------------------------------------------------------------------------------- 1 | name: Generate Module Graphs and Commit 2 | 3 | on: 4 | pull_request: 5 | branches: [ "github/module-graph" ] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v3 12 | with: 13 | token: ${{ secrets.PERSONAL_TOKEN }} 14 | persist-credentials: true 15 | fetch-depth: 0 16 | ref: ${{ github.head_ref }} 17 | 18 | - name: Set up JDK 17 19 | uses: actions/setup-java@v3 20 | with: 21 | java-version: '17' 22 | distribution: 'temurin' 23 | 24 | - name: Install Graphviz 25 | run: sudo apt-get install graphviz 26 | 27 | - name: Grant execute permission for gradlew 28 | run: chmod +x gradlew 29 | 30 | - name: Generate Module Graphs 31 | run: | 32 | chmod +x ./generateModuleGraphs.sh 33 | ./generateModuleGraphs.sh --no-configure-on-demand 34 | 35 | - name: Setup Local Branch 36 | run: | 37 | git checkout -B github/module-graph 38 | 39 | - name: Check for Changes 40 | id: check_changes 41 | run: | 42 | git status --porcelain 43 | if [ -z "$(git status --porcelain)" ]; then 44 | echo "No changes detected." 45 | echo "::set-output name=changes_exist::false" 46 | else 47 | echo "Changes detected." 48 | echo "::set-output name=changes_exist::true" 49 | fi 50 | 51 | - name: Commit and Push Changes to github/module-graph 52 | if: steps.check_changes.outputs.changes_exist == 'true' 53 | run: | 54 | git config --global user.email "github@actions.com" 55 | git config --global user.name "GitHub Actions" 56 | git add . 57 | git commit -m "CI generated updates" 58 | git push --set-upstream origin github/module-graph 59 | env: 60 | GITHUB_TOKEN: ${{ secrets.PERSONAL_TOKEN }} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .externalNativeBuild 3 | .cxx 4 | 5 | # Gradle files 6 | .gradle/ 7 | build/ 8 | 9 | # Local configuration file (sdk path, etc) 10 | local.properties 11 | 12 | # Log/OS Files 13 | *.log 14 | 15 | # Android Studio generated files and folders 16 | captures/ 17 | .externalNativeBuild/ 18 | *.apk 19 | output.json 20 | output-metadata.json 21 | 22 | # IntelliJ 23 | *.iml 24 | .idea/ 25 | misc.xml 26 | deploymentTargetDropDown.xml 27 | render.experimental.xml 28 | 29 | 30 | # Keystore files 31 | *.jks 32 | *.keystore 33 | changes.patch 34 | 35 | # Google Services (e.g. APIs or Firebase) 36 | google-services.json 37 | 38 | # Android Profiling 39 | *.hprof 40 | 41 | bin/ 42 | gen/ 43 | out/ 44 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/README.md: -------------------------------------------------------------------------------- 1 | # :app module 2 | ## Dependency graph 3 | ![Dependency graph](../docs/images/graphs/dep_graph_app.svg) 4 | -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | alias(libs.plugins.ibrahimkurt.android.application) 3 | alias(libs.plugins.ibrahimkurt.android.compose) 4 | alias(libs.plugins.ibrahimkurt.android.uiSetup) 5 | 6 | } 7 | 8 | android { 9 | namespace = "com.ibrahimkurt.multimodreelcompose" 10 | 11 | defaultConfig { 12 | applicationId = "com.ibrahimkurt.multimodreelcompose" 13 | versionCode = 1 14 | versionName = "1.0" 15 | 16 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 17 | vectorDrawables { 18 | useSupportLibrary = true 19 | } 20 | } 21 | 22 | buildTypes { 23 | release { 24 | isMinifyEnabled = false 25 | proguardFiles( 26 | getDefaultProguardFile("proguard-android-optimize.txt"), 27 | "proguard-rules.pro" 28 | ) 29 | signingConfig = signingConfigs.getByName("debug") 30 | } 31 | } 32 | packaging { 33 | resources { 34 | excludes += "/META-INF/{AL2.0,LGPL2.1}" 35 | } 36 | } 37 | } 38 | 39 | dependencies { 40 | implementation(projects.core.component) 41 | implementation(projects.navigation) 42 | implementation(libs.androidx.core.ktx) 43 | implementation(libs.androidx.activity.compose) 44 | 45 | implementation(projects.features.home.data) 46 | implementation(projects.features.detail.data) 47 | implementation(libs.coil) 48 | 49 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 17 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/java/com/ibrahimkurt/multimodreelcompose/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.ibrahimkurt.multimodreelcompose 2 | 3 | import android.os.Bundle 4 | import androidx.activity.ComponentActivity 5 | import androidx.activity.compose.setContent 6 | import androidx.activity.enableEdgeToEdge 7 | import com.ibrahimkurt.navigation.AppNavHost 8 | import dagger.hilt.android.AndroidEntryPoint 9 | 10 | @AndroidEntryPoint 11 | class MainActivity : ComponentActivity() { 12 | override fun onCreate(savedInstanceState: Bundle?) { 13 | super.onCreate(savedInstanceState) 14 | enableEdgeToEdge() 15 | setContent { 16 | AppNavHost() 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /app/src/main/java/com/ibrahimkurt/multimodreelcompose/MultiModReelApp.kt: -------------------------------------------------------------------------------- 1 | package com.ibrahimkurt.multimodreelcompose 2 | 3 | import android.app.Application 4 | import coil.ImageLoader 5 | import coil.ImageLoaderFactory 6 | import dagger.hilt.android.HiltAndroidApp 7 | import javax.inject.Inject 8 | 9 | @HiltAndroidApp 10 | class MultiModReelApp : Application(), ImageLoaderFactory { 11 | 12 | @Inject 13 | lateinit var imageLoader: dagger.Lazy 14 | 15 | override fun newImageLoader(): ImageLoader = imageLoader.get() 16 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntuyiw/MultiModReelCompose/91dda3230cfc52f7882c9bd97b261976e2ae47f4/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /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/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | MultiModReelCompose 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |