diff --git a/app/build.gradle b/app/build.gradle index 7970e9f..d75b72c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,15 +5,15 @@ plugins { } android { - compileSdkVersion 30 + compileSdkVersion 31 buildToolsVersion "30.0.2" defaultConfig { applicationId "top.fumiama.simpledict" minSdkVersion 26 - targetSdkVersion 30 - versionCode 17 - versionName '3.0' + targetSdkVersion 31 + versionCode 18 + versionName '3.1.1' resConfigs "zh", "zh-rCN" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -43,15 +43,15 @@ android { dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" - implementation 'androidx.core:core-ktx:1.5.0' - implementation 'androidx.appcompat:appcompat:1.3.0' - implementation 'com.google.android.material:material:1.3.0' - implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.core:core-ktx:1.7.0' + implementation 'androidx.appcompat:appcompat:1.4.0' + implementation 'com.google.android.material:material:1.4.0' + implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5' implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.13.2' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' + androidTestImplementation 'androidx.test.ext:junit:1.1.3' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation 'com.lapism:search:2.4.1@aar' } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3f7dc3d..72f4239 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -15,10 +15,10 @@ + android:theme="@style/Theme.SimpleDict.NoActionBar" + android:exported="true"> - diff --git a/app/src/main/java/top/fumiama/simpledict/MainActivity.kt b/app/src/main/java/top/fumiama/simpledict/MainActivity.kt index 4cb0e09..704455c 100644 --- a/app/src/main/java/top/fumiama/simpledict/MainActivity.kt +++ b/app/src/main/java/top/fumiama/simpledict/MainActivity.kt @@ -262,7 +262,7 @@ class MainActivity : AppCompatActivity() { } .setNeutralButton("删除") { _, _ -> Thread{ - if(dict?.send_del(key) == true) line?.apply { + if(dict?.del(key) == true) line?.apply { val delKey = SpannableString(key) val delData = SpannableString(data) delKey.setSpan(StrikethroughSpan(), 0, key.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE) @@ -270,6 +270,8 @@ class MainActivity : AppCompatActivity() { ta.text = delKey tn.text = delKey tb.text = delData + start-- + end-- updateSize() } else runOnUiThread { diff --git a/app/src/main/java/top/fumiama/simpledict/SimpleDict.kt b/app/src/main/java/top/fumiama/simpledict/SimpleDict.kt index cbeb737..da8e933 100644 --- a/app/src/main/java/top/fumiama/simpledict/SimpleDict.kt +++ b/app/src/main/java/top/fumiama/simpledict/SimpleDict.kt @@ -80,13 +80,13 @@ class SimpleDict(private val client: Client, private val pwd: String, private va dict[k] = data.decodeToString() latestKeys += k } else { - send_del(key) // 去错 + sendel(key) // 去错 } } else if(!dict.containsKey(k)){ dict[k] = data.decodeToString() latestKeys += k } else { - send_del(key) // 去重 + sendel(key) // 去重 } } } @@ -96,10 +96,10 @@ class SimpleDict(private val client: Client, private val pwd: String, private va fun filterValues(predicate: (String?) -> Boolean) = dict.filterValues(predicate) fun fetchDict(doOnLoadFailure: ()->Unit, doOnLoadSuccess: ()->Unit, doCommon: (() -> Unit)? = null) { - dict = hashMapOf() - latestKeys = arrayOf() val noChange = md5File.exists() && dspFile.exists() && !hasNewItem(md5File.readBytes()) val data = if(noChange) dspFile.readBytes() else raw + dict.clear() + latestKeys = arrayOf() if(data == null) doOnLoadFailure() else { analyzeDict(data, !noChange) @@ -108,7 +108,7 @@ class SimpleDict(private val client: Client, private val pwd: String, private va doCommon?.let { it() } } - fun send_del(key: String): Boolean { + fun del(key: String): Boolean { if(spwd == null) return false else if(initDict()) { val delPass = "del$spwd" @@ -133,7 +133,7 @@ class SimpleDict(private val client: Client, private val pwd: String, private va return false } - private fun send_del(key: ByteArray): Boolean { + private fun sendel(key: ByteArray): Boolean { if(spwd == null) return false else if(initDict()) { val delPass = "del$spwd" @@ -152,7 +152,7 @@ class SimpleDict(private val client: Client, private val pwd: String, private va fun set(key: String, value: String): Boolean { //if(spwd == null) return false val contain = dict.containsKey(key) - if((contain && send_del(key)) || !contain) { + if((contain && sendel(key.toByteArray())) || !contain) { if(initDict()) { val setPass = "set$spwd" client.sendMessage(setPass) diff --git a/build.gradle b/build.gradle index aec97cf..24c5744 100644 --- a/build.gradle +++ b/build.gradle @@ -1,12 +1,12 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.5.20' + ext.kotlin_version = '1.5.31' repositories { google() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.1' + classpath 'com.android.tools.build:gradle:4.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong