plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsKotlinAndroid) id("kotlin-parcelize") alias(libs.plugins.navigationSafeArgs) alias(libs.plugins.ksp) id 'com.google.gms.google-services' id 'com.google.firebase.firebase-perf' } android { namespace 'com.woka' compileSdk 34 defaultConfig { applicationId "com.woka" minSdk 24 targetSdk 34 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { buildConfigField "String", "WOKA_STAGINNG_BASE_URL", WOKA_STAGINNG_BASE_URL buildConfigField "String", "WOKA_USER_NAME", WOKA_USER_NAME buildConfigField "String", "WOKA_PASSWORD", WOKA_PASSWORD minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug{ buildConfigField "String", "WOKA_STAGINNG_BASE_URL", WOKA_STAGINNG_BASE_URL buildConfigField "String", "WOKA_USER_NAME", WOKA_USER_NAME buildConfigField "String", "WOKA_PASSWORD", WOKA_PASSWORD } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures{ viewBinding true buildConfig true } } ext.jwPlayerVersion = '4.17.0' ext.exoplayerVersion = '1.3.1' dependencies { implementation libs.libphonenumber implementation libs.shimmer implementation libs.lottie implementation libs.androidx.core.splashscreen implementation libs.flexbox implementation libs.glide // dynamics text sizes implementation libs.ssp.android // dynamic sizes implementation libs.sdp.android // retrofit implementation libs.retrofit implementation libs.converter.gson implementation(libs.logging.interceptor) // ViewModel implementation libs.androidx.lifecycle.viewmodel.ktx implementation(libs.androidx.lifecycle.livedata.ktx) // circle image view implementation libs.circleimageview // jwplayer implementation libs.jwplayer.core implementation libs.jwplayer.common implementation libs.jwplayer.ima implementation libs.interactivemedia implementation libs.play.services.ads.identifier // media player 3 implementation libs.androidx.media3.exoplayer // For DASH playback support with ExoPlayer implementation libs.androidx.media3.exoplayer.dash // For HLS playback support with ExoPlayer implementation libs.androidx.media3.exoplayer.hls // For SmoothStreaming playback support with ExoPlayer implementation libs.androidx.media3.exoplayer.smoothstreaming // Common functionality for reading and writing media containers implementation libs.androidx.media3.container // Common functionality for media database components implementation libs.androidx.media3.database // Common functionality for media decoders implementation libs.androidx.media3.decoder // Common functionality for loading data implementation libs.androidx.media3.datasource // Common functionality used across multiple media libraries implementation libs.androidx.media3.common // For extracting data from media containers implementation libs.androidx.media3.extractor // For building media playback UIs implementation libs.androidx.media3.ui // audio mixer for karaoke implementation(libs.android.audio.mixer) // one-signal implementation(libs.onesignal) // room-database def room_version = "2.6.1" implementation(libs.androidx.room.runtime) ksp("androidx.room:room-compiler:$room_version") // optional - Kotlin Extensions and Coroutines support for Room implementation(libs.room.ktx) // admob implementation(libs.play.services.ads) // work manager implementation libs.androidx.work.runtime.ktx implementation libs.firebase.analytics implementation libs.firebase.perf implementation libs.androidx.core.ktx implementation libs.androidx.appcompat implementation libs.material implementation libs.androidx.activity implementation libs.androidx.constraintlayout implementation libs.androidx.navigation.fragment.ktx implementation libs.androidx.navigation.ui.ktx testImplementation libs.junit androidTestImplementation libs.androidx.junit androidTestImplementation libs.androidx.espresso.core }