Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/.gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
/build
./google-services.json
15 changes: 9 additions & 6 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.gms.google-services")

}

android {
namespace = "com.nervesparks.iris"
namespace = "com.nervesparks.irisGPT"
compileSdk = 35

ndkVersion = "26.1.10909125"

defaultConfig {
applicationId = "com.nervesparks.iris"
applicationId = "com.nervesparks.irisGPT"
minSdk = 28
targetSdk = 34
versionCode = 1
versionName = "1.0"
versionCode = 4
versionName = "1.2"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
Expand Down Expand Up @@ -84,6 +86,7 @@ dependencies {
implementation("androidx.navigation:navigation-compose:2.8.5")
implementation("androidx.compose.foundation:foundation-layout-android:1.7.6")
implementation("androidx.games:games-activity:3.0.5")
implementation("com.google.firebase:firebase-common-ktx:21.0.0")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.2.1")
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
Expand All @@ -94,7 +97,7 @@ dependencies {
implementation("androidx.core:core-splashscreen:1.0.1")
implementation("com.squareup.okhttp3:okhttp:4.10.0")
implementation("androidx.datastore:datastore-preferences:1.1.1")


implementation(platform("com.google.firebase:firebase-bom:33.8.0"))
implementation("com.google.firebase:firebase-firestore")

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris
package com.nervesparks.irisGPT

import android.annotation.SuppressLint
import android.app.DownloadManager
Expand Down Expand Up @@ -53,13 +53,14 @@ import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.nervesparks.iris.ui.AboutScreen
import com.nervesparks.iris.ui.BenchMarkScreen
import com.nervesparks.iris.ui.MainChatScreen
import com.nervesparks.iris.ui.ModelsScreen
import com.nervesparks.iris.ui.ParametersScreen
import com.nervesparks.iris.ui.SearchResultScreen
import com.nervesparks.iris.ui.SettingsScreen
import com.nervesparks.irisGPT.ui.AboutScreen
import com.nervesparks.irisGPT.ui.BenchMarkScreen
import com.nervesparks.irisGPT.ui.MainChatScreen
import com.nervesparks.irisGPT.ui.ModelsScreen
import com.nervesparks.irisGPT.ui.ParametersScreen
import com.nervesparks.irisGPT.ui.ReportScreen
import com.nervesparks.irisGPT.ui.SearchResultScreen
import com.nervesparks.irisGPT.ui.SettingsScreen
import java.io.File


Expand All @@ -71,6 +72,7 @@ enum class ChatScreen(@StringRes val title: Int) {
ParamsScreen(title = R.string.parameters_screen_title),
AboutScreen(title = R.string.about_screen_title),
BenchMarkScreen(title = R.string.benchmark_screen_title),
ReportScreen(title = R.string.report_screen_title)
}


Expand Down Expand Up @@ -291,6 +293,9 @@ fun ChatScreen(
},
onBenchMarkScreenButtonClicked = {
navController.navigate((ChatScreen.BenchMarkScreen.name))
},
onReportScreenButtonClicked = {
navController.navigate((ChatScreen.ReportScreen.name))
}

)
Expand All @@ -317,6 +322,9 @@ fun ChatScreen(
composable(route = ChatScreen.BenchMarkScreen.name){
BenchMarkScreen(viewModel)
}
composable(route = ChatScreen.ReportScreen.name){
ReportScreen(viewModel)
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris
package com.nervesparks.irisGPT

import android.app.DownloadManager
import android.net.Uri
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris
package com.nervesparks.irisGPT

import android.app.DownloadManager
import android.content.ClipboardManager
Expand Down Expand Up @@ -62,8 +62,8 @@ import androidx.compose.foundation.BorderStroke
import androidx.compose.foundation.border
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import com.nervesparks.iris.data.UserPreferencesRepository
import com.nervesparks.iris.ui.SettingsBottomSheet
import com.nervesparks.irisGPT.data.UserPreferencesRepository
import com.nervesparks.irisGPT.ui.SettingsBottomSheet


class MainViewModelFactory(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris
package com.nervesparks.irisGPT

import android.content.Context
import android.llama.cpp.LLamaAndroid
Expand All @@ -14,7 +14,8 @@ import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.lifecycle.ViewModel
import com.nervesparks.iris.data.UserPreferencesRepository
import androidx.lifecycle.viewmodel.compose.viewModel
import com.nervesparks.irisGPT.data.UserPreferencesRepository
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
Expand Down Expand Up @@ -98,7 +99,7 @@ class MainViewModel(private val llamaAndroid: LLamaAndroid = LLamaAndroid.instan
private set

var eot_str = ""

var showLoader = false

var refresh by mutableStateOf(false)

Expand Down Expand Up @@ -253,6 +254,7 @@ class MainViewModel(private val llamaAndroid: LLamaAndroid = LLamaAndroid.instan
}

fun send() {
showLoader = true
val userMessage = removeExtraWhiteSpaces(message)
message = ""

Expand All @@ -278,15 +280,18 @@ class MainViewModel(private val llamaAndroid: LLamaAndroid = LLamaAndroid.instan
.collect { response ->
// Create a new assistant message with the response
if (getIsMarked()) {
showLoader = false
addMessage("codeBlock", response)

} else {
showLoader = false
addMessage("assistant", response)
}
}
}
finally {
if (!getIsCompleteEOT()) {
showLoader = false
trimEOT()
}
}
Expand Down Expand Up @@ -487,6 +492,7 @@ class MainViewModel(private val llamaAndroid: LLamaAndroid = LLamaAndroid.instan
}

fun stop() {
showLoader = false
llamaAndroid.stopTextGeneration()
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris.data
package com.nervesparks.irisGPT.data

import android.content.Context

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris.ui
package com.nervesparks.irisGPT.ui

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box
Expand Down Expand Up @@ -182,5 +182,13 @@ private val faqs = listOf(
"\n" +
"Go to Settings > Models.\n" +
"Select the model you want to delete.\n" +
"Click the Delete button."
)
"Click the Delete button.",
"How do I report inappropriate content?" to "Models sometimes may generate inappropriate content, If you encounter content that seems inappropriate or concerning, you can report it in a few simple steps:\n" +
"\n" +
"Ensure your device is connected to the internet\n"+
"Press and hold (long press) on the message or generated content you want to report\n"+
"When the menu appears, select the 'Report Content' button\n"+
"\n \nOur team reviews all reports to help maintain a safe environment for all users. Thank you for helping us improve our service."
)


Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.nervesparks.iris.ui
package com.nervesparks.irisGPT.ui

import android.os.Build
import android.widget.Toast
Expand All @@ -15,7 +15,7 @@ import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import com.nervesparks.iris.MainViewModel
import com.nervesparks.irisGPT.MainViewModel
import kotlinx.coroutines.launch

data class BenchmarkState(
Expand Down
Loading