Skip to content

Commit 8b0b06b

Browse files
committed
perf: UI
1 parent 8445aaf commit 8b0b06b

6 files changed

Lines changed: 43 additions & 32 deletions

File tree

app/src/main/java/com/github/jing332/tts_server_android/ui/systts/edit/HttpTtsEditActivity.kt

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import com.github.jing332.tts_server_android.ui.custom.widget.WaitDialog
2727
import com.github.jing332.tts_server_android.util.FileUtils.readAllText
2828
import com.github.jing332.tts_server_android.util.SoftKeyboardUtils
2929
import com.github.jing332.tts_server_android.util.setFadeAnim
30+
import kotlin.math.min
3031

3132
@Suppress("DEPRECATION")
3233
class HttpTtsEditActivity : BackActivity() {
@@ -35,7 +36,6 @@ class HttpTtsEditActivity : BackActivity() {
3536
SysttsHttpEditActivityBinding.inflate(layoutInflater)
3637
}
3738

38-
private var resultCode: Int = RESULT_EDIT
3939
private var data: SysTts? = null
4040

4141
@SuppressLint("SetTextI18n")
@@ -56,10 +56,7 @@ class HttpTtsEditActivity : BackActivity() {
5656

5757
// 获取数据 为null表示Add
5858
data = intent.getParcelableExtra(KEY_DATA)
59-
if (data == null) {
60-
data = SysTts(tts = HttpTTS())
61-
resultCode = RESULT_ADD
62-
}
59+
if (data == null) data = SysTts(tts = HttpTTS())
6360
data?.let {
6461
val tts = it.ttsAs<HttpTTS>()
6562
binding.apply {
@@ -88,10 +85,16 @@ class HttpTtsEditActivity : BackActivity() {
8885
binding.etTestText.text.toString(),
8986
{ size, sampleRate, mime, contentType ->
9087
waitDialog.dismiss()
91-
AlertDialog.Builder(this@HttpTtsEditActivity).setTitle("测试成功")
88+
AlertDialog.Builder(this@HttpTtsEditActivity)
89+
.setTitle(R.string.systts_http_test_success)
9290
.setMessage(
93-
"音频大小:${size / 1024}KB \n格式:$mime " +
94-
"\n采样率:${sampleRate}hz \nContent-Type:$contentType"
91+
getString(
92+
R.string.systts_http_test_msg,
93+
size / 1024,
94+
mime,
95+
sampleRate,
96+
contentType
97+
)
9598
).setOnDismissListener {
9699
vm.stopPlay()
97100
}
@@ -181,7 +184,7 @@ class HttpTtsEditActivity : BackActivity() {
181184
SoftKeyboardUtils.hideSoftKeyboard(this)
182185
val intent = Intent()
183186
intent.putExtra(KEY_DATA, data)
184-
setResult(resultCode, intent)
187+
setResult(RESULT_OK, intent)
185188
finish()
186189
}
187190
}

app/src/main/java/com/github/jing332/tts_server_android/ui/systts/edit/MsTtsEditActivity.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,7 @@ class MsTtsEditActivity : BackActivity() {
3030
private val binding: SysttsMsEditActivityBinding by lazy {
3131
SysttsMsEditActivityBinding.inflate(layoutInflater).apply { m = vm }
3232
}
33-
private val vm: MsTtsEditViewModel2 by viewModels()
34-
35-
private var resultCode = RESULT_EDIT
33+
private val vm: MsTtsEditViewModel by viewModels()
3634

3735
@SuppressLint("ClickableViewAccessibility")
3836
@Suppress("DEPRECATION")
@@ -67,7 +65,7 @@ class MsTtsEditActivity : BackActivity() {
6765

6866
val waitDialog = WaitDialog(this)
6967
// 接口加载回调
70-
vm.setCallback(object : MsTtsEditViewModel2.CallBack {
68+
vm.setCallback(object : MsTtsEditViewModel.CallBack {
7169
override fun onStart(@MsTtsApiType api: Int) {
7270
waitDialog.show()
7371
binding.numEditView.setFormatByApi(api)
@@ -98,10 +96,7 @@ class MsTtsEditActivity : BackActivity() {
9896
)
9997

10098
var data: SysTts? = intent.getParcelableExtra(KEY_DATA)
101-
if (data == null) {
102-
resultCode = RESULT_ADD
103-
data = SysTts(tts = MsTTS())
104-
}
99+
if (data == null) data = SysTts(tts = MsTTS())
105100

106101
vm.initUserData(data)
107102

@@ -119,7 +114,7 @@ class MsTtsEditActivity : BackActivity() {
119114
when (item.itemId) {
120115
R.id.systts_config_edit_save -> {
121116
val data = vm.getData(binding.etName.text.toString())
122-
setResult(resultCode, Intent().apply { putExtra(KEY_DATA, data) })
117+
setResult(RESULT_OK, Intent().apply { putExtra(KEY_DATA, data) })
123118
finish()
124119
}
125120
}

app/src/main/java/com/github/jing332/tts_server_android/ui/systts/edit/MsTtsEditViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import com.github.jing332.tts_server_android.util.runOnIO
1818
import kotlinx.coroutines.launch
1919
import kotlin.math.max
2020

21-
class MsTtsEditViewModel2 : ViewModel() {
21+
class MsTtsEditViewModel : ViewModel() {
2222
companion object {
2323
const val TAG = "MsTtsEditViewModel2"
2424
private val repo: MsTtsEditRepository by lazy { MsTtsEditRepository() }

app/src/main/java/com/github/jing332/tts_server_android/ui/systts/list/SysTtsListFragment.kt

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ import com.drake.net.utils.withMain
2323
import com.github.jing332.tts_server_android.App
2424
import com.github.jing332.tts_server_android.R
2525
import com.github.jing332.tts_server_android.constant.KeyConst.KEY_DATA
26-
import com.github.jing332.tts_server_android.constant.KeyConst.RESULT_ADD
2726
import com.github.jing332.tts_server_android.constant.ReadAloudTarget
2827
import com.github.jing332.tts_server_android.data.CompatSysTtsConfig
2928
import com.github.jing332.tts_server_android.data.appDb
3029
import com.github.jing332.tts_server_android.data.entities.SysTts
3130
import com.github.jing332.tts_server_android.databinding.DialogInAppPlaySettingsBinding
3231
import com.github.jing332.tts_server_android.databinding.SysttsListFragmentBinding
3332
import com.github.jing332.tts_server_android.help.SysTtsConfig
33+
import com.github.jing332.tts_server_android.model.tts.HttpTTS
34+
import com.github.jing332.tts_server_android.model.tts.MsTTS
3435
import com.github.jing332.tts_server_android.service.systts.SystemTtsService
3536
import com.github.jing332.tts_server_android.ui.MainActivity
3637
import com.github.jing332.tts_server_android.ui.custom.widget.ConvenientSeekbar
@@ -64,17 +65,13 @@ class SysTtsListFragment : Fragment() {
6465
registerForActivityResult(StartActivityForResult()) { result: ActivityResult ->
6566
val data = result.data?.getParcelableExtra<SysTts>(KEY_DATA)
6667
data?.let {
67-
if (result.resultCode == RESULT_ADD) appDb.sysTtsDao.insert(data)
68+
if (it.id == 0L) appDb.sysTtsDao.insert(data)
6869
else appDb.sysTtsDao.update(data)
6970

7071
notifyTtsUpdate(data.isEnabled)
7172
}
7273
}
7374

74-
private fun startMsTtsEditActivity() {
75-
val intent = Intent(requireContext(), MsTtsEditActivity::class.java)
76-
startForResult.launch(intent)
77-
}
7875

7976
override fun onCreateView(
8077
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
@@ -190,10 +187,6 @@ class SysTtsListFragment : Fragment() {
190187
}.setFadeAnim().show()
191188
}
192189

193-
private fun startHttpTtsEditActivity() {
194-
startForResult.launch(Intent(requireContext(), HttpTtsEditActivity::class.java))
195-
}
196-
197190
@Suppress("DEPRECATION")
198191
private fun showInAppSettingsDialog() {
199192
val view = FrameLayout(requireContext())
@@ -288,11 +281,28 @@ class SysTtsListFragment : Fragment() {
288281
}.setFadeAnim().show()
289282
}
290283

284+
private fun addHttpTTS(@ReadAloudTarget raTarget: Int = ReadAloudTarget.ALL) {
285+
startForResult.launch(
286+
Intent(
287+
requireContext(),
288+
HttpTtsEditActivity::class.java
289+
).apply { putExtra(KEY_DATA, SysTts(readAloudTarget = raTarget, tts = HttpTTS())) })
290+
}
291+
292+
private fun addMsTTS(@ReadAloudTarget raTarget: Int = ReadAloudTarget.ALL) {
293+
val intent = Intent(requireContext(), MsTtsEditActivity::class.java).apply {
294+
putExtra(
295+
KEY_DATA, SysTts(readAloudTarget = raTarget, tts = MsTTS())
296+
)
297+
}
298+
startForResult.launch(intent)
299+
}
300+
291301
private fun onOptionsItemSelected(itemId: Int) {
292302
when (itemId) {
293303
/* 添加配置 */
294-
R.id.menu_addMsTts -> startMsTtsEditActivity()
295-
R.id.menu_addHttpTts -> startHttpTtsEditActivity()
304+
R.id.menu_addMsTts -> addMsTTS(binding.viewPager.currentItem)
305+
R.id.menu_addHttpTts -> addHttpTTS(binding.viewPager.currentItem)
296306

297307
R.id.menu_isInAppPlayAudio -> showInAppSettingsDialog()
298308
R.id.menu_setAudioRequestTimeout -> showSetAudioRequestTimeoutDialog()

app/src/main/res/layout/systts_ms_edit_activity.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
<variable
1111
name="m"
12-
type="com.github.jing332.tts_server_android.ui.systts.edit.MsTtsEditViewModel2" />
12+
type="com.github.jing332.tts_server_android.ui.systts.edit.MsTtsEditViewModel" />
1313
</data>
1414

1515
<androidx.core.widget.NestedScrollView

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,8 @@
180180
<string name="systts_warn_no_ra_all">警告:缺少{全部},使用默认!</string>
181181
<string name="systts_warn_no_ra_aside">警告:缺少{旁白},使用默认配置!</string>
182182

183+
<string name="systts_http_test_success">测试成功</string>
184+
<string name="systts_http_test_msg">音频大小:%1$d kb \n格式:%2$s \n采样率:%3$d hz \nContent-Type:%4$s</string>
185+
183186

184187
</resources>

0 commit comments

Comments
 (0)