mirror of
https://github.com/fumiama/simple-dict-android.git
synced 2026-06-07 19:40:29 +08:00
v1.9.2
1. 修正连接失败处理逻辑
This commit is contained in:
@@ -157,12 +157,6 @@ class MainActivity : AppCompatActivity() {
|
||||
}
|
||||
})
|
||||
|
||||
setOnClearClickListener(object : SearchLayout.OnClearClickListener {
|
||||
override fun onClearClick() {
|
||||
Toast.makeText(this@MainActivity, "clear", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
})
|
||||
|
||||
setOnFocusChangeListener(object : SearchLayout.OnFocusChangeListener {
|
||||
override fun onFocusChange(hasFocus: Boolean) {
|
||||
navigationIconSupport = if (hasFocus) SearchLayout.NavigationIconSupport.ARROW
|
||||
@@ -206,9 +200,16 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
private fun fetchThread(doWhenFinish: (()->Unit)? = null) {
|
||||
Thread{
|
||||
dict?.fetchDict {
|
||||
dict?.fetchDict({
|
||||
runOnUiThread {
|
||||
Toast.makeText(this@MainActivity, "刷新失败", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}, {
|
||||
runOnUiThread {
|
||||
Toast.makeText(this@MainActivity, "刷新成功", Toast.LENGTH_SHORT).show()
|
||||
}
|
||||
}) {
|
||||
runOnUiThread {
|
||||
ffsw.isRefreshing = false
|
||||
ad?.capacity = 5
|
||||
ad?.refresh()
|
||||
|
||||
@@ -8,7 +8,7 @@ class SimpleDict(private val client: Client, private val pwd: String) { //must
|
||||
val size get() = dict.size
|
||||
val keys get() = dict.keys
|
||||
var latestKeys = arrayOf<String>()
|
||||
private val raw: ByteArray
|
||||
private val raw: ByteArray?
|
||||
get() {
|
||||
var times = 3
|
||||
var re: ByteArray
|
||||
@@ -36,7 +36,7 @@ class SimpleDict(private val client: Client, private val pwd: String) { //must
|
||||
closeDict()
|
||||
}
|
||||
} while (times-- > 0)
|
||||
return re
|
||||
return if(re.isEmpty()) null else re
|
||||
}
|
||||
|
||||
private fun sendMessageWithDelay(msg: CharSequence, delay: Long = 233) = Thread{
|
||||
@@ -77,16 +77,19 @@ class SimpleDict(private val client: Client, private val pwd: String) { //must
|
||||
|
||||
fun filterValues(predicate: (String?) -> Boolean) = dict.filterValues(predicate)
|
||||
|
||||
fun fetchDict(doOnLoadSuccess: ()->Unit = {
|
||||
fun fetchDict(doOnLoadFailure: ()->Unit = {
|
||||
Log.d("MySD", "Fetch dict success")
|
||||
}) {
|
||||
}, doOnLoadSuccess: ()->Unit = {
|
||||
Log.d("MySD", "Fetch dict success")
|
||||
}, doCommon: (() -> Unit)? = null) {
|
||||
val dictBlock = ByteArray(128)
|
||||
dict = hashMapOf()
|
||||
latestKeys = arrayOf()
|
||||
raw.inputStream().let {
|
||||
raw?.inputStream()?.let {
|
||||
while (it.read(dictBlock, 0, 128) == 128) analyzeDictBlk(dictBlock)
|
||||
doOnLoadSuccess()
|
||||
}
|
||||
}?:doOnLoadFailure()
|
||||
doCommon?.let { it() }
|
||||
}
|
||||
|
||||
operator fun minusAssign(key: String) {
|
||||
|
||||
Reference in New Issue
Block a user