├── .github └── workflows │ └── pull_request.yml ├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle.kts ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── abizer_r │ │ └── sketchdraft │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── ic_launcher-playstore.png │ ├── java │ │ └── com │ │ │ └── abizer_r │ │ │ └── quickedit │ │ │ └── ui │ │ │ ├── QuickEditApplication.kt │ │ │ └── main │ │ │ └── MainActivity.kt │ └── res │ │ ├── drawable │ │ ├── ic_launcher_background.xml │ │ ├── ic_launcher_background2.xml │ │ └── ic_launcher_foreground.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground2.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground2.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground2.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground2.webp │ │ └── ic_launcher_round.webp │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.webp │ │ ├── ic_launcher_foreground2.webp │ │ └── ic_launcher_round.webp │ │ ├── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── themes.xml │ │ └── xml │ │ ├── backup_rules.xml │ │ └── data_extraction_rules.xml │ └── test │ └── java │ └── com │ └── abizer_r │ └── quickedit │ └── ExampleUnitTest.kt ├── build.gradle.kts ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── privacy_policy.md ├── quickedit ├── .gitignore ├── build.gradle.kts ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── abizer_r │ │ └── touchdraw │ │ └── ExampleInstrumentedTest.kt │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ └── acv │ │ │ ├── Blue_Poppies.acv │ │ │ ├── Brighten.acv │ │ │ ├── Carousel.acv │ │ │ ├── Cinnamon_darkness.acv │ │ │ ├── Contrast.acv │ │ │ ├── Curve_1.acv │ │ │ ├── Curve_2.acv │ │ │ ├── Curve_3.acv │ │ │ ├── Curve_Le_Fabuleux_Coleur_de_Amelie.acv │ │ │ ├── Darken.acv │ │ │ ├── Electric.acv │ │ │ ├── Fade.acv │ │ │ ├── Good_Luck_Charm.acv │ │ │ ├── Lullabye.acv │ │ │ ├── Mark_Galer_Grading.acv │ │ │ ├── Matte.acv │ │ │ ├── Moth_Wings.acv │ │ │ ├── Old_Postcards_1.acv │ │ │ ├── Old_Postcards_2.acv │ │ │ ├── Peacock_Feathers.acv │ │ │ ├── Pistol.acv │ │ │ ├── Softness.acv │ │ │ ├── Toes_In_The_Ocean.acv │ │ │ └── Tropical_Beach.acv │ ├── java │ │ └── com │ │ │ └── abizer_r │ │ │ └── quickedit │ │ │ ├── theme │ │ │ ├── Color.kt │ │ │ ├── Theme.kt │ │ │ └── Type.kt │ │ │ ├── ui │ │ │ ├── SharedEditorViewModel.kt │ │ │ ├── common │ │ │ │ ├── AnimatedToolbarContainer.kt │ │ │ │ ├── AppIconWithName.kt │ │ │ │ ├── ErrorView.kt │ │ │ │ ├── LoadingView.kt │ │ │ │ ├── PermissionDeniedView.kt │ │ │ │ ├── crop │ │ │ │ │ └── AspectRatioDialog.kt │ │ │ │ ├── permission │ │ │ │ │ └── PermissionDialog.kt │ │ │ │ └── toolbar │ │ │ │ │ └── SelectableToolbarItem.kt │ │ │ ├── cropMode │ │ │ │ ├── CropperScreen.kt │ │ │ │ └── cropperOptions │ │ │ │ │ ├── CropperOption.kt │ │ │ │ │ └── CropperOptionsFullWidth.kt │ │ │ ├── drawMode │ │ │ │ ├── DrawModeScreen.kt │ │ │ │ ├── DrawModeViewModel.kt │ │ │ │ ├── DrawingCanvasContainer.kt │ │ │ │ ├── bottomToolbarExtension │ │ │ │ │ ├── CustomSliderItem.kt │ │ │ │ │ └── DrawModeToolbarExtension.kt │ │ │ │ ├── drawingCanvas │ │ │ │ │ ├── DrawingCanvas.kt │ │ │ │ │ ├── DrawingCanvasState.kt │ │ │ │ │ ├── drawingTool │ │ │ │ │ │ ├── DrawingTool.kt │ │ │ │ │ │ └── shapes │ │ │ │ │ │ │ ├── AbstractShape.kt │ │ │ │ │ │ │ ├── BaseShape.kt │ │ │ │ │ │ │ ├── BrushShape.kt │ │ │ │ │ │ │ ├── LineShape.kt │ │ │ │ │ │ │ ├── OvalShape.kt │ │ │ │ │ │ │ ├── RectangleShape.kt │ │ │ │ │ │ │ └── ShapeType.kt │ │ │ │ │ └── models │ │ │ │ │ │ └── PathDetails.kt │ │ │ │ ├── stateHandling │ │ │ │ │ ├── DrawModeEvent.kt │ │ │ │ │ └── DrawModeState.kt │ │ │ │ └── toptoolbar │ │ │ │ │ └── DrawModeTopToolbar.kt │ │ │ ├── editorScreen │ │ │ │ ├── EditorScreen.kt │ │ │ │ ├── EditorScreenState.kt │ │ │ │ ├── EditorScreenViewModel.kt │ │ │ │ ├── bottomToolbar │ │ │ │ │ ├── BottomToolbar.kt │ │ │ │ │ └── state │ │ │ │ │ │ ├── BottomToolbarEvent.kt │ │ │ │ │ │ └── BottomToolbarItem.kt │ │ │ │ └── topToolbar │ │ │ │ │ └── EditorTopToolbar.kt │ │ │ ├── effectsMode │ │ │ │ ├── EffectsModeScreen.kt │ │ │ │ ├── EffectsModeState.kt │ │ │ │ ├── EffectsModeViewModel.kt │ │ │ │ └── effectsPreview │ │ │ │ │ ├── EffectItem.kt │ │ │ │ │ └── EffectsPreviewListFullWidth.kt │ │ │ ├── mainScreen │ │ │ │ ├── MainScreen.kt │ │ │ │ ├── MainScreenButtonsLayout.kt │ │ │ │ ├── MainScreenLayout.kt │ │ │ │ └── MainScreenViewModel.kt │ │ │ ├── navigation │ │ │ │ ├── NavDestinations.kt │ │ │ │ ├── QuickEditApp.kt │ │ │ │ └── QuickEditNavigation.kt │ │ │ ├── textMode │ │ │ │ ├── TextModeEvent.kt │ │ │ │ ├── TextModeScreen.kt │ │ │ │ ├── TextModeState.kt │ │ │ │ ├── TextModeViewModel.kt │ │ │ │ ├── bottomToolbarExtension │ │ │ │ │ ├── TextModeToolbarExtension.kt │ │ │ │ │ ├── TextModeToolbarExtensionEvent.kt │ │ │ │ │ ├── fontFamilyOptions │ │ │ │ │ │ ├── FontFamilyOptions.kt │ │ │ │ │ │ └── FontItem.kt │ │ │ │ │ └── textFormatOptions │ │ │ │ │ │ ├── alignmentOptions │ │ │ │ │ │ └── AlignmentOptions.kt │ │ │ │ │ │ ├── caseOptions │ │ │ │ │ │ ├── TextCaseOptions.kt │ │ │ │ │ │ └── TextCaseType.kt │ │ │ │ │ │ └── styleOptions │ │ │ │ │ │ ├── TextStyleAttr.kt │ │ │ │ │ │ └── TextStyleOptions.kt │ │ │ │ ├── textEditorLayout │ │ │ │ │ ├── TextEditorEvent.kt │ │ │ │ │ ├── TextEditorLayout.kt │ │ │ │ │ ├── TextEditorState.kt │ │ │ │ │ └── TextEditorViewModel.kt │ │ │ │ └── topToolbar │ │ │ │ │ └── TextModeTopToolbar.kt │ │ │ └── transformableViews │ │ │ │ ├── TransformableTextBox.kt │ │ │ │ └── base │ │ │ │ ├── TransformableBox.kt │ │ │ │ ├── TransformableBoxEvents.kt │ │ │ │ └── TransformableBoxState.kt │ │ │ └── utils │ │ │ ├── AppUtils.kt │ │ │ ├── ColorUtils.kt │ │ │ ├── CommonExtensions.kt │ │ │ ├── FileUtils.kt │ │ │ ├── ImmutableList.kt │ │ │ ├── PermissionUtils.kt │ │ │ ├── cropMode │ │ │ └── CropModeUtils.kt │ │ │ ├── drawMode │ │ │ ├── CustromLayerTypeComposable.kt │ │ │ ├── DrawModeUtils.kt │ │ │ └── DrawingConstants.kt │ │ │ ├── editorScreen │ │ │ └── EditorScreenUtils.kt │ │ │ ├── effectsMode │ │ │ └── EffectsModeUtils.kt │ │ │ ├── other │ │ │ ├── anim │ │ │ │ └── AnimUtils.kt │ │ │ └── bitmap │ │ │ │ ├── BitmapStatus.kt │ │ │ │ ├── BitmapUtils.kt │ │ │ │ └── ImmutableBitmap.kt │ │ │ └── textMode │ │ │ ├── FontUtils.kt │ │ │ ├── TextModeUtils.kt │ │ │ ├── blurBackground │ │ │ └── BlurBitmapBackground.kt │ │ │ └── colorList │ │ │ ├── ColorListFullWidth.kt │ │ │ └── SelectableColor.kt │ └── res │ │ ├── drawable │ │ ├── app_logo.webp │ │ ├── baseline_crop_free_24.xml │ │ ├── baseline_fit_screen_24.xml │ │ ├── ic_color_picker.png │ │ ├── ic_crop.xml │ │ ├── ic_effects.xml │ │ ├── ic_eraser.xml │ │ ├── ic_stylus_note.xml │ │ ├── outline_custom_typography_24.xml │ │ ├── outline_lowercase_24.xml │ │ ├── outline_match_case_24.xml │ │ ├── outline_serif_24.xml │ │ ├── outline_uppercase_24.xml │ │ ├── placeholder_image_3.jpg │ │ └── placeholder_image_4.jpg │ │ ├── font │ │ ├── edu_vicwant_bold.ttf │ │ ├── edu_vicwant_regular.ttf │ │ ├── grey_qo_regular.ttf │ │ ├── matemasie_regular.ttf │ │ ├── moderustic_bold.ttf │ │ ├── moderustic_regular.ttf │ │ ├── montserrat_bold.ttf │ │ ├── montserrat_bold_italic.ttf │ │ ├── montserrat_italic.ttf │ │ ├── montserrat_regular.ttf │ │ ├── new_amsterdam_regular.ttf │ │ ├── oswald_bold.ttf │ │ ├── oswald_regular.ttf │ │ ├── playwrite_italic.ttf │ │ ├── playwrite_regular.ttf │ │ ├── poppins_bold.ttf │ │ ├── poppins_bold_italic.ttf │ │ ├── poppins_italic.ttf │ │ ├── poppins_regular.ttf │ │ ├── roboto_bold.ttf │ │ ├── roboto_bold_italic.ttf │ │ ├── roboto_italic.ttf │ │ ├── roboto_regular.ttf │ │ ├── teko_bold.ttf │ │ └── teko_regular.ttf │ │ ├── values │ │ └── strings.xml │ │ └── xml │ │ └── file_paths.xml │ └── test │ └── java │ └── com │ └── abizer_r │ └── touchdraw │ └── ExampleUnitTest.kt └── settings.gradle.kts /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | name: Run Tests 2 | 3 | on: 4 | pull_request: 5 | branches: [main] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | 11 | steps: 12 | - uses: actions/checkout@v4 13 | 14 | - name: Setup JDK 17 15 | uses: actions/setup-java@v4 16 | with: 17 | distribution: 'temurin' 18 | java-version: 17 19 | cache: 'gradle' 20 | 21 | - name: Grant execute Permissions for gradlew 22 | run: chmod +x gradlew 23 | 24 | - name: Run unit tests 25 | run: ./gradlew clean testDebug -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea 5 | .DS_Store 6 | /build 7 | /captures 8 | /app/release 9 | /keystoreDetails 10 | .externalNativeBuild 11 | .cxx 12 | local.properties 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # QuickEdit - Photo Editor 2 | QuickEdit is a user-friendly photo editor for Android, built using **Jetpack Compose**. It offers essential photo editing tools with a clean and smooth interface. 3 | 4 | ## Latest Release 5 | 6 | [![Release v1.1.0](https://img.shields.io/github/v/release/Abizer-R/QuickEdit-Photo-Editor)](https://github.com/Abizer-R/QuickEdit-Photo-Editor/releases/tag/v1.1.0-4) 7 | 8 | - [Download from the Google Play Store](https://play.google.com/store/apps/details?id=com.abizer_r.quickedit) 9 | - [Download Apk (v1.1.0)](https://github.com/Abizer-R/QuickEdit-Photo-Editor/releases/download/v1.1.0-4/app-release.apk) 10 | 11 | 12 | ## [Click Here To Watch Demo Video](https://drive.google.com/file/d/18IipYR_jbUQVFL8U1jNEJd_KTm_Y9ije/view?usp=sharing) 13 | 14 | 15 | 16 | 17 |
18 | 1 19 | 2 20 | 3 21 | 4 22 |
23 | 24 |
25 | 5 26 | 6 27 | 7 28 | 8 29 |
30 | 31 | ## Features 32 | 33 | - **Basic Editing Tools**: Crop, Draw, and Apply filters to your photos. 34 | - **Filters**: Apply filter effects using GPUImage. 35 | - **Add Text**: Add text with option to customize fonts and format (bold, italic and more). 36 | - **Smooth Animations**: Enjoy a seamless experience thanks to Jetpack Compose. 37 | 38 | ## Libraries Used 39 | 40 | QuickEdit makes use of the following libraries to provide its features: 41 | 42 | - **Jetpack Compose**: A modern toolkit for building native Android UI. 43 | - **Compose Animations**: For smooth and customizable UI animations. 44 | - **[GPUImage](https://github.com/CyberAgent/android-gpuimage)**: A library for GPU-based image processing by CyberAgent. 45 | - **[Cloudy](https://github.com/skydoves/cloudy)**: A library by Skydoves for blurring a composable. 46 | - **[Image Cropper](https://github.com/CanHub/Android-Image-Cropper)**: A cropping library by Canhub that allows users to crop images seamlessly. 47 | - **[Compose-Screenshot](https://github.com/SmartToolFactory/Compose-Screenshot)**: A library by SmartToolFactory for capturing screenshots of composables in Jetpack Compose. 48 | 49 | 50 | # License 51 | ```xml 52 | Designed and developed by 2024 Abizer-R (Abizer Rampurawala) 53 | 54 | Licensed under the Apache License, Version 2.0 (the "License"); 55 | you may not use this file except in compliance with the License. 56 | You may obtain a copy of the License at 57 | 58 | http://www.apache.org/licenses/LICENSE-2.0 59 | 60 | Unless required by applicable law or agreed to in writing, software 61 | distributed under the License is distributed on an "AS IS" BASIS, 62 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 63 | See the License for the specific language governing permissions and 64 | limitations under the License. 65 | ``` 66 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle.kts: -------------------------------------------------------------------------------- 1 | plugins { 2 | alias(libs.plugins.android.application) 3 | alias(libs.plugins.kotlin.android) 4 | alias(libs.plugins.kotlin.kapt) 5 | alias(libs.plugins.dagger.hilt) 6 | } 7 | 8 | android { 9 | namespace = "com.abizer_r.quickedit" 10 | compileSdk = 34 11 | 12 | defaultConfig { 13 | applicationId = "com.abizer_r.quickedit" 14 | minSdk = 24 15 | targetSdk = 34 16 | versionCode = 4 17 | versionName = "1.1.0" 18 | 19 | testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" 20 | vectorDrawables { 21 | useSupportLibrary = true 22 | } 23 | } 24 | 25 | buildTypes { 26 | release { 27 | isMinifyEnabled = true 28 | proguardFiles( 29 | getDefaultProguardFile("proguard-android-optimize.txt"), 30 | "proguard-rules.pro" 31 | ) 32 | signingConfig = signingConfigs.getByName("debug") 33 | } 34 | } 35 | compileOptions { 36 | sourceCompatibility = JavaVersion.VERSION_17 37 | targetCompatibility = JavaVersion.VERSION_17 38 | } 39 | kotlinOptions { 40 | jvmTarget = "17" 41 | } 42 | buildFeatures { 43 | compose = true 44 | } 45 | composeOptions { 46 | kotlinCompilerExtensionVersion = "1.4.3" 47 | } 48 | packaging { 49 | resources { 50 | excludes += "/META-INF/{AL2.0,LGPL2.1}" 51 | } 52 | } 53 | } 54 | 55 | dependencies { 56 | 57 | implementation(project(":quickedit")) 58 | 59 | implementation(libs.androidx.core.ktx) 60 | implementation(libs.androidx.lifecycle.runtime.ktx) 61 | implementation(libs.androidx.activity.compose) 62 | implementation(platform(libs.androidx.compose.bom)) 63 | implementation(libs.androidx.compose.ui) 64 | implementation(libs.androidx.compose.ui.graphics) 65 | implementation(libs.androidx.compose.ui.tooling.preview) 66 | implementation(libs.androidx.compose.material3) 67 | implementation(libs.androidx.compose.material.icons.extended) 68 | implementation(libs.androidx.lifecycle.runtime.compose.android) 69 | testImplementation(libs.junit) 70 | androidTestImplementation(libs.androidx.junit) 71 | androidTestImplementation(libs.androidx.espresso.core) 72 | androidTestImplementation(platform(libs.androidx.compose.bom)) 73 | androidTestImplementation(libs.androidx.compose.ui.tooling) 74 | androidTestImplementation(libs.androidx.compose.ui.test.junit4) 75 | debugImplementation(libs.androidx.compose.ui.test.manifest) 76 | 77 | implementation(libs.kotlinx.serialization.json) 78 | implementation(libs.hilt.android) 79 | kapt(libs.hilt.compiler) 80 | 81 | implementation(libs.androidx.navigation.compose) 82 | implementation(libs.androidx.compose.animation) 83 | // Below dependency allows us to create viewModels scoped to a particular composable screen inside a NavHost (ie in navigation) 84 | implementation(libs.androidx.hilt.navigation.compose) 85 | } 86 | 87 | kapt { 88 | correctErrorTypes = true 89 | } -------------------------------------------------------------------------------- /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/androidTest/java/com/abizer_r/sketchdraft/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.abizer_r.quickedit 2 | 3 | import androidx.test.platform.app.InstrumentationRegistry 4 | import androidx.test.ext.junit.runners.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getInstrumentation().targetContext 22 | assertEquals("com.abizer_r.quickedit", appContext.packageName) 23 | } 24 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 16 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/main/java/com/abizer_r/quickedit/ui/QuickEditApplication.kt: -------------------------------------------------------------------------------- 1 | package com.abizer_r.quickedit.ui 2 | 3 | import android.app.Application 4 | import dagger.hilt.android.HiltAndroidApp 5 | 6 | @HiltAndroidApp 7 | class QuickEditApplication: Application() { 8 | } -------------------------------------------------------------------------------- /app/src/main/java/com/abizer_r/quickedit/ui/main/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.abizer_r.quickedit.ui.main 2 | 3 | import android.os.Bundle 4 | import androidx.activity.ComponentActivity 5 | import androidx.activity.compose.setContent 6 | import com.abizer_r.quickedit.ui.navigation.QuickEditApp 7 | import dagger.hilt.android.AndroidEntryPoint 8 | 9 | @AndroidEntryPoint 10 | class MainActivity : ComponentActivity() { 11 | override fun onCreate(savedInstanceState: Bundle?) { 12 | super.onCreate(savedInstanceState) 13 | setContent { 14 | QuickEditApp() 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background2.xml: -------------------------------------------------------------------------------- 1 | 7 | 9 | 10 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_foreground2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-hdpi/ic_launcher_foreground2.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_foreground2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-mdpi/ic_launcher_foreground2.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_foreground2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground2.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground2.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground2.webp -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Abizer-R/QuickEdit-Photo-Editor/9a1f6a687b4c73de53190ebf03fa2ead1c15e071/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 | 3 | QuickEdit 4 | -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |