Skip to content

Commit

Permalink
feat:更新依赖
Browse files Browse the repository at this point in the history
  • Loading branch information
wuhongsheng committed Nov 19, 2024
1 parent fa12b34 commit af08c0d
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 29 deletions.
5 changes: 4 additions & 1 deletion app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -62,11 +62,14 @@ dependencies {
implementation(libs.androidx.appcompat)
implementation(libs.androidx.datastore.preferences)
implementation("com.squareup.okhttp3:okhttp:4.12.0")
// implementation("com.google.ai.edge.aicore:aicore:0.0.1-exp01")


// implementation(project(":deepfilter"))
implementation(project(":webrtc_apm"))
// implementation(project(":webrtc_apm"))
implementation(project(":asr"))
implementation(libs.androidx.preference.ktx)
implementation(libs.core.ktx)

testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
Expand Down
27 changes: 23 additions & 4 deletions app/src/main/java/com/rs/s2s/LocalAsrActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.core.app.ActivityCompat
import androidx.test.core.app.ApplicationProvider
import com.k2fsa.sherpa.onnx.OfflineRecognizer
import com.k2fsa.sherpa.onnx.OfflineRecognizerConfig
import com.k2fsa.sherpa.onnx.OnlineRecognizer
Expand Down Expand Up @@ -120,12 +121,13 @@ class LocalAsrActivity : ComponentActivity(), TextToSpeech.OnInitListener {
}
}

@SuppressLint("CoroutineCreationDuringComposition")
@Composable
fun ChatScreen(){
var chatMessages by remember {mutableStateOf(arrayListOf<ChatMessage>())}
var isRecording by remember { mutableStateOf(false) }
val scope = rememberCoroutineScope()
val context = LocalContext.current
var context = LocalContext.current
val launcher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.RequestPermission(),
onResult = { isGranted ->
Expand All @@ -144,12 +146,29 @@ class LocalAsrActivity : ComponentActivity(), TextToSpeech.OnInitListener {
)
var recordJob: Job? by remember { mutableStateOf(null) }
// chatMessages.add(ChatMessage("测试测试测试车的精神",false))
// val generationConfig = generationConfig {
// context = ApplicationProvider.getApplicationContext() // required
// temperature = 0.2f
// topK = 16
// maxOutputTokens = 256
// }
// val generativeModel = GenerativeModel(
// generationConfig = generationConfig,
// )
//
// scope.launch {
// // Single string input prompt
// val input = "你好"
// val response = generativeModel.generateContent(input)
// print(response.text)
// }

ChatScreen(
isRecording = isRecording,
messages = chatMessages,
serverAddress = viewModel.getServerUrl(),
apiKey = viewModel.getApiKey(),
modelName = viewModel.getModelName(),
onStartRecording = {
// 开始录音逻辑
checkAndRequestPermission(context, launcher) {
Expand Down Expand Up @@ -214,10 +233,10 @@ class LocalAsrActivity : ComponentActivity(), TextToSpeech.OnInitListener {
}

},
onSave = { url, apikey ->
Log.i(TAG, "onSave url: $url apikey: $apikey")
onSave = { url, apikey,modelName ->
Log.i(TAG, "onSave url: $url apikey: $apikey modelName:$modelName")
scope.launch {
viewModel.setSavedConfig(url,apikey)
viewModel.setSavedConfig(url,apikey,modelName)
}
}
)
Expand Down
34 changes: 17 additions & 17 deletions app/src/main/java/com/rs/s2s/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import com.webrtc.audioprocessing.WebrtcAPMActivity
//import com.webrtc.audioprocessing.WebrtcAPMActivity
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.Flow
Expand Down Expand Up @@ -257,22 +257,22 @@ class MainActivity : ComponentActivity() {
// )
// }

IconButton(
onClick = {
// 跳转到目标Activity
val intent = Intent(context, WebrtcAPMActivity::class.java)
startActivity(intent)
},
modifier = Modifier
.align(Alignment.End)
) {
Icon(
imageVector = ImageVector.vectorResource(id = R.drawable.ic_offline_bolt), // 使用设置图标
tint = Color.Unspecified,
contentDescription = "offline",
modifier = Modifier.size(48.dp)
)
}
// IconButton(
// onClick = {
// // 跳转到目标Activity
// val intent = Intent(context, WebrtcAPMActivity::class.java)
// startActivity(intent)
// },
// modifier = Modifier
// .align(Alignment.End)
// ) {
// Icon(
// imageVector = ImageVector.vectorResource(id = R.drawable.ic_offline_bolt), // 使用设置图标
// tint = Color.Unspecified,
// contentDescription = "offline",
// modifier = Modifier.size(48.dp)
// )
// }
}


Expand Down
11 changes: 8 additions & 3 deletions app/src/main/java/com/rs/s2s/MainViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
private val preferences = PreferenceManager.getDefaultSharedPreferences(application)
fun getServerUrl() = preferences.getString(PREFERENCES_KEY_URL, URL) as String
fun getApiKey() = preferences.getString(PREFERENCES_KEY_KEY, API_KEY) as String
fun getModelName() = preferences.getString(PREFERENCES_MODEL, MODEL) as String

fun sendDeepSeekRequest(content: String, callback: Callback) {

Expand All @@ -40,7 +41,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
})
}
val json = JSONObject().apply {
put("model", "deepseek-chat")
put("model", MODEL)
put("messages", messages)
put("stream", false)
}
Expand All @@ -60,19 +61,23 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
client.newCall(request).enqueue(callback)
}

fun setSavedConfig(url: String,apikey: String) {
fun setSavedConfig(url: String,apikey: String, model:String) {
preferences.edit {
putString(PREFERENCES_KEY_URL, url)
putString(PREFERENCES_KEY_KEY, apikey)
putString(PREFERENCES_MODEL, model)

}
}


companion object {
private const val PREFERENCES_KEY_URL = "url"
private const val PREFERENCES_KEY_KEY = "apikey"
const val URL = "https://api.deepseek.com/chat/completions"
private const val PREFERENCES_MODEL = "model"
const val URL = "https://api.deepseek.com/chat/completions" //https://api.openai.com/v1/chat/completions
const val API_KEY = ""
const val MODEL = "deepseek-chat" //deepseek-chat
}


Expand Down
17 changes: 14 additions & 3 deletions app/src/main/java/com/rs/s2s/layout.kt
Original file line number Diff line number Diff line change
Expand Up @@ -62,13 +62,16 @@ fun ChatScreen(
messages: MutableList<ChatMessage>,
serverAddress: String,
apiKey: String,
modelName:String,
onStartRecording: () -> Unit,
onStopRecording: () -> Unit,
onSave: (url: String, key: String) -> Unit = { _, _,-> },
onSave: (url: String, key: String, model:String) -> Unit = { _, _,_,-> },
) {
var showDialog by remember { mutableStateOf(false) }
var serverAddress by remember { mutableStateOf(serverAddress) }
var apiKey by remember { mutableStateOf(apiKey) }
var modelName by remember { mutableStateOf(modelName) }



Column(modifier = Modifier
Expand Down Expand Up @@ -117,15 +120,23 @@ fun ChatScreen(
label = { Text("Enter Server apiKey") },
// placeholder = { Text(serverAddress) }, 限制为单行
modifier = Modifier.fillMaxWidth(),
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Unspecified) // 设置键盘类型为数字)
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Text) // 设置键盘类型为数字)
)
OutlinedTextField(
value = modelName,
onValueChange = { modelName = it },
label = { Text("Enter Model Name") },
// placeholder = { Text(serverAddress) }, 限制为单行
modifier = Modifier.fillMaxWidth(),
keyboardOptions = KeyboardOptions.Default.copy(keyboardType = KeyboardType.Text) // 设置键盘类型为数字)
)
}
},
confirmButton = {
TextButton(
onClick = {
showDialog = false // 点击确定后关闭对话框
onSave(serverAddress, apiKey)
onSave(serverAddress, apiKey, modelName)
}
) {
Text("确定")
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<resources>
<string name="app_name">S2S</string>
<string name="app_name">AI Assistant</string>
</resources>
2 changes: 2 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ storage = "1.5.0"
uiToolingPreviewAndroid = "1.6.6"
foundationLayoutAndroid = "1.7.4"
preferenceKtx = "1.2.1"
coreKtxVersion = "1.6.1"

[libraries]
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
Expand Down Expand Up @@ -46,6 +47,7 @@ androidx-storage = { group = "androidx.test.services", name = "storage", version
androidx-ui-tooling-preview-android = { group = "androidx.compose.ui", name = "ui-tooling-preview-android", version.ref = "uiToolingPreviewAndroid" }
androidx-foundation-layout-android = { group = "androidx.compose.foundation", name = "foundation-layout-android", version.ref = "foundationLayoutAndroid" }
androidx-preference-ktx = { group = "androidx.preference", name = "preference-ktx", version.ref = "preferenceKtx" }
core-ktx = { group = "androidx.test", name = "core-ktx", version.ref = "coreKtxVersion" }

[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
Expand Down

0 comments on commit af08c0d

Please sign in to comment.