File size: 4,725 Bytes
8ab7dfe
 
 
 
d616f51
8ab7dfe
 
 
 
 
 
 
 
 
 
d616f51
b69b649
8ab7dfe
 
 
 
 
 
d616f51
8ab7dfe
 
d616f51
8ab7dfe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d616f51
8ab7dfe
 
 
 
 
 
 
 
 
 
d616f51
8ab7dfe
d616f51
 
 
8ab7dfe
 
 
d616f51
8ab7dfe
 
d616f51
 
 
8ab7dfe
 
 
d616f51
 
8ab7dfe
 
 
 
 
 
d616f51
8ab7dfe
 
 
 
 
 
d616f51
 
 
8ab7dfe
d616f51
 
 
b845d45
d616f51
 
 
 
 
8ab7dfe
d616f51
 
8ab7dfe
 
d616f51
 
 
 
 
 
 
8ab7dfe
d616f51
 
 
 
 
 
 
 
 
 
 
8ab7dfe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
    id 'kotlin-kapt'
    id 'kotlin-android'
}

android {
    namespace 'com.matthaigh27.chatgptwrapper'
    compileSdk 33

    defaultConfig {
        applicationId "com.matthaigh27.chatgptwrapper"
        minSdk 28
        targetSdk 33
        versionCode 1
        versionName "1.7"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        debug {
            buildConfigField "String", "BASE_URL", "\"https://ttt246-brain.hf.space/\""
        }
        release {
            buildConfigField "String", "BASE_URL", "\"https://ttt246-brain.hf.space/\""

            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    buildFeatures {
        viewBinding true
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_11
        targetCompatibility JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_11
    }

    dataBinding {
        enabled true
    }
}

dependencies {
    //Core
    implementation 'androidx.core:core-ktx:1.9.0'
    implementation 'com.google.code.gson:gson:2.8.5'

    //UI & UX
    implementation 'androidx.appcompat:appcompat:1.6.0'
    implementation 'com.google.android.material:material:1.8.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation 'com.github.soulqw:CoCo:1.1.2'
    implementation 'com.github.dhaval2404:imagepicker:2.1'
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'

    testImplementation 'org.testng:testng:6.9.6'

    // Testing-only dependencies
    androidTestImplementation "androidx.test.ext:junit:$rootProject.extJUnitVersion"
    androidTestImplementation "androidx.test:runner:$rootProject.runnerVersion"

    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

    // UiAutomator Testing
    androidTestImplementation "androidx.test.uiautomator:uiautomator:$rootProject.uiAutomatorVersion"
    androidTestImplementation 'org.hamcrest:hamcrest-integration:1.3'

    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.2.0-alpha05"

    //Firebase
    implementation platform('com.google.firebase:firebase-bom:31.4.0')
    implementation 'com.google.android.gms:play-services-gcm:17.0.0'

    implementation 'com.google.firebase:firebase-messaging'
    implementation 'com.google.firebase:firebase-analytics'
    implementation 'com.google.firebase:firebase-firestore-ktx:24.4.5'
    implementation 'com.google.firebase:firebase-database-ktx:19.6.0'
    implementation 'com.google.firebase:firebase-firestore:15.0.0'
    implementation 'com.google.firebase:firebase-storage-ktx:20.1.0'
    implementation 'com.google.firebase:firebase-messaging-ktx'
    implementation 'com.google.firebase:firebase-analytics-ktx'
    implementation 'com.firebaseui:firebase-ui-storage:7.2.0'

    implementation "androidx.room:room-runtime:$rootProject.roomVersion"
    annotationProcessor "androidx.room:room-compiler:$rootProject.roomVersion"

    // To use room database
    implementation "androidx.room:room-ktx:$rootProject.roomVersion"
    kapt "androidx.room:room-compiler:$rootProject.roomVersion"
    implementation "androidx.room:room-rxjava2:$rootProject.roomVersion"
    implementation "androidx.room:room-rxjava3:$rootProject.roomVersion"
    implementation "androidx.room:room-guava:$rootProject.roomVersion"
    testImplementation "androidx.room:room-testing:$rootProject.roomVersion"
    implementation "androidx.room:room-paging:$rootProject.roomVersion"

    //To use Retrofit

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$rootProject.lifecycleVersion"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$rootProject.lifecycleVersion"

    implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
    implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersion"

    implementation "com.squareup.okhttp3:okhttp:$rootProject.okHttpVersion"
    implementation "com.squareup.okhttp3:logging-interceptor:$rootProject.okHttpVersion"
    implementation "com.squareup.okhttp3:okhttp-urlconnection:$rootProject.okHttpVersion"
}