plugins { alias(libs.plugins.androidApplication) alias(libs.plugins.jetbrainsKotlinAndroid) id("kotlin-parcelize") alias(libs.plugins.navigationSafeArgs) } 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 'com.googlecode.libphonenumber:libphonenumber:8.12.32' implementation "com.facebook.shimmer:shimmer:0.5.0" implementation "com.airbnb.android:lottie:6.4.0" implementation "androidx.core:core-splashscreen:1.0.1" implementation 'com.google.android.flexbox:flexbox:3.0.0' implementation 'com.github.bumptech.glide:glide:4.16.0' // dynamics text sizes implementation 'com.intuit.ssp:ssp-android:1.1.1' // dynamic sizes implementation 'com.intuit.sdp:sdp-android:1.1.1' // retrofit def retrofit_version = "2.11.0" implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-gson:$retrofit_version" implementation("com.squareup.okhttp3:logging-interceptor:4.12.0") def lifecycle_version = "2.7.0" // ViewModel implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version") // circle image view implementation 'de.hdodenhof:circleimageview:3.1.0' // jwplayer implementation "com.jwplayer:jwplayer-core:$jwPlayerVersion" implementation "com.jwplayer:jwplayer-common:$jwPlayerVersion" // media player 3 def media3_version = "1.3.1" implementation "androidx.media3:media3-exoplayer:$media3_version" // For DASH playback support with ExoPlayer implementation "androidx.media3:media3-exoplayer-dash:$media3_version" // For HLS playback support with ExoPlayer implementation "androidx.media3:media3-exoplayer-hls:$media3_version" // For SmoothStreaming playback support with ExoPlayer implementation "androidx.media3:media3-exoplayer-smoothstreaming:$media3_version" // Common functionality for reading and writing media containers implementation "androidx.media3:media3-container:$media3_version" // Common functionality for media database components implementation "androidx.media3:media3-database:$media3_version" // Common functionality for media decoders implementation "androidx.media3:media3-decoder:$media3_version" // Common functionality for loading data implementation "androidx.media3:media3-datasource:$media3_version" // Common functionality used across multiple media libraries implementation "androidx.media3:media3-common:$media3_version" // For extracting data from media containers implementation "androidx.media3:media3-extractor:$media3_version" // For building media playback UIs implementation "androidx.media3:media3-ui:$media3_version" // audio mixer for karaoke implementation("com.github.ZeroOneZeroR:android_audio_mixer:v1.1") 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 }