[]()
[](https://github.com/taamarin/box/actions/workflows/debug.yml)
[](https://t.me/nothing_taamarin)
[](https://t.me/taamarin)
================================================
FILE: app/.gitignore
================================================
/build
/libs
================================================
FILE: app/build.gradle
================================================
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-parcelize'
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
id 'androidx.navigation.safeargs'
}
android {
namespace 'xyz.chz.bfm'
compileSdk 33
defaultConfig {
applicationId "xyz.chz.bfm"
minSdk 24
targetSdk 33
versionCode 20241205
versionName "1.14"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
signingConfigs {
release {
storeFile file('release.keystore')
storePassword 'qwerty'
keyAlias 'key.alias'
keyPassword 'qwerty'
}
}
buildTypes {
release {
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}
dependencies {
implementation project(':ke')
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
implementation 'com.google.android.material:material:1.9.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
implementation 'com.google.dagger:hilt-android:2.43.2'
kapt 'com.google.dagger:hilt-compiler:2.43.2'
implementation 'io.reactivex:rxjava:1.3.8'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.1'
implementation 'com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.1'
}
================================================
FILE: app/proguard-rules.pro
================================================
-keep class xyz.chz.bfm.data.** { *; }
-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
long producerIndex;
long consumerIndex;
}
================================================
FILE: app/src/androidTest/java/xyz/chz/bfm/ExampleInstrumentedTest.kt
================================================
package xyz.chz.bfm
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import org.junit.Assert.*
import org.junit.Test
import org.junit.runner.RunWith
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("xyz.chz.bfm", appContext.packageName)
}
}
================================================
FILE: app/src/main/AndroidManifest.xml
================================================