| plugins { | |
| id 'com.android.application' | |
| id 'org.jetbrains.kotlin.android' | |
| id 'com.google.devtools.ksp' | |
| id 'kotlin-kapt' | |
| id 'com.google.dagger.hilt.android' | |
| id 'kotlin-parcelize' | |
| id 'org.jetbrains.kotlin.plugin.serialization' | |
| } | |
| android { | |
| namespace 'com.airmouse' | |
| compileSdk 34 | |
| defaultConfig { | |
| applicationId "com.airmouse" | |
| minSdk 29 | |
| targetSdk 34 | |
| versionCode 100 | |
| versionName "4.9.9" | |
| testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" | |
| buildConfigField "String", "APP_NAME", '"Air Mouse Pro"' | |
| buildConfigField "String", "BUILD_TIME", "\"${new Date().format("yyyy-MM-dd HH:mm:ss")}\"" | |
| buildConfigField "String", "GIT_HASH", "\"${System.getenv("GIT_COMMIT") ?: "unknown"}\"" | |
| resConfigs "en", "fa" | |
| } | |
| buildFeatures { | |
| compose true | |
| buildConfig true | |
| viewBinding false | |
| dataBinding false | |
| } | |
| composeOptions { | |
| kotlinCompilerExtensionVersion "1.5.14" | |
| } | |
| compileOptions { | |
| sourceCompatibility JavaVersion.VERSION_17 | |
| targetCompatibility JavaVersion.VERSION_17 | |
| } | |
| kotlinOptions { | |
| jvmTarget = '17' | |
| freeCompilerArgs = [ | |
| '-Xskip-metadata-version-check', | |
| '-Xallow-kotlin-package', | |
| '-Xjvm-default=all', | |
| '-opt-in=kotlin.RequiresOptIn', | |
| '-opt-in=androidx.compose.material3.ExperimentalMaterial3Api', | |
| '-opt-in=androidx.compose.animation.ExperimentalAnimationApi', | |
| '-opt-in=androidx.compose.foundation.ExperimentalFoundationApi', | |
| '-opt-in=androidx.compose.ui.ExperimentalComposeUiApi', | |
| '-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi', | |
| '-opt-in=kotlinx.serialization.ExperimentalSerializationApi' | |
| ] | |
| } | |
| signingConfigs { | |
| release { | |
| storeFile file("airmouse.keystore") | |
| storePassword "airmouse" | |
| keyAlias "airmouse" | |
| keyPassword "airmouse" | |
| } | |
| } | |
| buildTypes { | |
| release { | |
| minifyEnabled true | |
| shrinkResources true | |
| proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' | |
| signingConfig signingConfigs.release | |
| buildConfigField "boolean", "IS_DEBUG", "false" | |
| buildConfigField "boolean", "ENABLE_LOGGING", "false" | |
| } | |
| debug { | |
| debuggable true | |
| buildConfigField "boolean", "IS_DEBUG", "true" | |
| buildConfigField "boolean", "ENABLE_LOGGING", "true" | |
| minifyEnabled false | |
| } | |
| } | |
| packagingOptions { | |
| resources { | |
| excludes += '/META-INF/{AL2.0,LGPL2.1}' | |
| excludes += '/META-INF/DEPENDENCIES' | |
| excludes += '/META-INF/LICENSE' | |
| excludes += '/META-INF/NOTICE' | |
| excludes += '/META-INF/INDEX.LIST' | |
| excludes += '/META-INF/io.netty.versions.properties' | |
| excludes += '**/attach_hotspot_windows.dll' | |
| excludes += 'META-INF/versions/**' | |
| merges += 'META-INF/LICENSE.md' | |
| merges += 'META-INF/NOTICE.md' | |
| } | |
| } | |
| testOptions { | |
| unitTests { | |
| includeAndroidResources = true | |
| returnDefaultValues = true | |
| } | |
| } | |
| lint { | |
| abortOnError = false | |
| checkReleaseBuilds = false | |
| disable 'MissingTranslation', 'ExtraTranslation' | |
| baseline file("lint-baseline.xml") | |
| } | |
| sourceSets { | |
| main { | |
| java.srcDirs += 'src/main/kotlin' | |
| java.srcDirs += 'src/main/java' | |
| } | |
| debug { | |
| java.srcDirs += 'src/debug/kotlin' | |
| java.srcDirs += 'src/debug/java' | |
| } | |
| } | |
| } | |
| // Java Toolchain configuration | |
| kotlin { | |
| jvmToolchain(17) | |
| } | |
| dependencies { | |
| implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.24" | |
| implementation "org.jetbrains.kotlin:kotlin-reflect:1.9.24" | |
| implementation platform('androidx.compose:compose-bom:2024.10.00') | |
| implementation 'androidx.compose.ui:ui' | |
| implementation 'androidx.compose.ui:ui-graphics' | |
| implementation 'androidx.compose.ui:ui-tooling-preview' | |
| implementation 'androidx.compose.material3:material3' | |
| implementation 'androidx.compose.material:material-icons-extended' | |
| implementation 'androidx.compose.animation:animation' | |
| implementation 'androidx.compose.animation:animation-graphics' | |
| implementation 'androidx.compose.runtime:runtime-livedata' | |
| implementation 'androidx.compose.runtime:runtime-rxjava2' | |
| debugImplementation 'androidx.compose.ui:ui-tooling' | |
| debugImplementation 'androidx.compose.ui:ui-test-manifest' | |
| implementation 'androidx.activity:activity-compose:1.9.2' | |
| implementation 'androidx.navigation:navigation-compose:2.7.7' | |
| implementation 'androidx.hilt:hilt-navigation-compose:1.2.0' | |
| implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.8.4' | |
| implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.4' | |
| implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.8.4' | |
| implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.8.4' | |
| implementation 'androidx.lifecycle:lifecycle-runtime-compose:2.8.4' | |
| implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3' | |
| implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3' | |
| implementation 'com.google.dagger:hilt-android:2.52' | |
| implementation 'androidx.hilt:hilt-work:1.2.0' | |
| implementation 'androidx.hilt:hilt-navigation-fragment:1.2.0' | |
| ksp 'com.google.dagger:hilt-compiler:2.52' | |
| implementation 'androidx.datastore:datastore-preferences:1.1.1' | |
| implementation 'androidx.datastore:datastore-preferences-core:1.1.1' | |
| implementation 'androidx.room:room-runtime:2.6.1' | |
| ksp 'androidx.room:room-compiler:2.6.1' | |
| implementation 'androidx.room:room-ktx:2.6.1' | |
| implementation 'androidx.room:room-paging:2.6.1' | |
| implementation 'androidx.preference:preference-ktx:1.2.1' | |
| implementation 'androidx.viewpager2:viewpager2:1.1.0' | |
| implementation 'androidx.recyclerview:recyclerview:1.3.2' | |
| implementation 'androidx.paging:paging-runtime-ktx:3.3.0' | |
| implementation 'androidx.paging:paging-compose:3.3.0' | |
| implementation 'com.squareup.okhttp3:okhttp:4.12.0' | |
| implementation 'com.squareup.okhttp3:logging-interceptor:4.12.0' | |
| implementation 'com.squareup.okhttp3:okhttp-sse:4.12.0' | |
| implementation 'com.squareup.okhttp3:okhttp-tls:4.12.0' | |
| implementation 'com.google.code.gson:gson:2.11.0' | |
| implementation 'com.squareup.retrofit2:retrofit:2.11.0' | |
| implementation 'com.squareup.retrofit2:converter-gson:2.11.0' | |
| implementation 'com.github.mik3y:usb-serial-for-android:3.8.0' | |
| implementation 'androidx.core:core-splashscreen:1.0.1' | |
| implementation 'com.jakewharton.timber:timber:5.0.1' | |
| implementation 'com.google.android.material:material:1.12.0' | |
| implementation 'com.github.PhilJay:MPAndroidChart:3.1.0' | |
| implementation 'com.journeyapps:zxing-android-embedded:4.3.0' | |
| implementation 'androidx.work:work-runtime-ktx:2.9.0' | |
| implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1' | |
| implementation 'androidx.core:core-ktx:1.13.1' | |
| implementation 'androidx.appcompat:appcompat:1.7.0' | |
| testImplementation 'junit:junit:4.13.2' | |
| testImplementation 'org.mockito:mockito-core:5.8.0' | |
| testImplementation 'org.mockito.kotlin:mockito-kotlin:5.1.0' | |
| testImplementation 'androidx.arch.core:core-testing:2.2.0' | |
| testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3' | |
| testImplementation 'com.google.truth:truth:1.1.5' | |
| testImplementation 'io.mockk:mockk:1.13.8' | |
| testImplementation 'org.robolectric:robolectric:4.11.1' | |
| testImplementation 'androidx.test:core:1.5.0' | |
| testImplementation 'androidx.test.ext:junit:1.1.5' | |
| testImplementation 'com.squareup.okhttp3:mockwebserver:4.12.0' | |
| androidTestImplementation 'androidx.test:runner:1.5.2' | |
| androidTestImplementation 'androidx.test:rules:1.5.0' | |
| androidTestImplementation 'androidx.test.ext:junit:1.1.5' | |
| androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' | |
| androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.5.1' | |
| androidTestImplementation 'androidx.test.espresso:espresso-intents:3.5.1' | |
| androidTestImplementation platform('androidx.compose:compose-bom:2024.10.00') | |
| androidTestImplementation 'androidx.compose.ui:ui-test-junit4' | |
| androidTestImplementation 'androidx.compose.ui:ui-test-manifest' | |
| androidTestImplementation 'com.google.dagger:hilt-android-testing:2.52' | |
| kspAndroidTest 'com.google.dagger:hilt-compiler:2.52' | |
| } | |
| ksp { | |
| arg("room.schemaLocation", "$projectDir/schemas") | |
| arg("room.incremental", "false") | |
| arg("dagger.hilt.android.internal.disableAndroidSuperclassValidation", "true") | |
| arg("kotlin.incremental", "false") | |
| } | |
| tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { | |
| kotlinOptions { | |
| jvmTarget = '17' | |
| freeCompilerArgs += [ | |
| '-Xskip-metadata-version-check', | |
| '-Xallow-kotlin-package' | |
| ] | |
| } | |
| } | |
Xet Storage Details
- Size:
- 9.26 kB
- Xet hash:
- 2404b4c7b28bf40736100b403a826e800a1a271a1096f9eb7d17b7d38c38f94a
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.