Skip to content
This repository was archived by the owner on Oct 20, 2023. It is now read-only.

Commit b5c9415

Browse files
committed
2.2
1 parent 033e78d commit b5c9415

File tree

6 files changed

+36
-37
lines changed

6 files changed

+36
-37
lines changed

app/build.gradle

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
apply plugin: 'com.android.application'
22
apply plugin: 'kotlin-android'
33
apply plugin: 'kotlin-android-extensions'
4+
apply plugin: 'kotlin-kapt'
45
apply plugin: 'org.jetbrains.kotlin.plugin.serialization'
56

67

7-
def CORE_VERSION = "1.0-RC2-1"
8+
def CORE_VERSION = "1.0.0"
89
def LUAMIRAI_VERSION = "0.2.1"
910

1011
android {
@@ -15,8 +16,8 @@ android {
1516
applicationId "io.github.mzdluo123.mirai.android"
1617
minSdkVersion 24
1718
targetSdkVersion 29
18-
versionCode 11
19-
versionName "2.1"
19+
versionCode 12
20+
versionName "2.2"
2021
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2122
buildConfigField("String", "COREVERSION", "\"$CORE_VERSION\"")
2223
buildConfigField("String", "LUAMIRAI_VERSION", "\"$LUAMIRAI_VERSION\"")
@@ -62,31 +63,25 @@ dependencies {
6263
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
6364
implementation 'com.google.android.material:material:1.1.0'
6465
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
65-
implementation 'androidx.navigation:navigation-fragment:2.2.1'
66-
implementation 'androidx.navigation:navigation-ui:2.2.1'
66+
implementation 'androidx.navigation:navigation-fragment:2.2.2'
67+
implementation 'androidx.navigation:navigation-ui:2.2.2'
6768
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
68-
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.1'
69-
implementation 'androidx.navigation:navigation-ui-ktx:2.2.1'
69+
implementation 'androidx.navigation:navigation-fragment-ktx:2.2.2'
70+
implementation 'androidx.navigation:navigation-ui-ktx:2.2.2'
7071
// implementation "net.mamoe:mirai-core:0.39.1"
7172
implementation "net.mamoe:mirai-core-qqandroid:$CORE_VERSION"
72-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5"
73+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7"
7374
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.4'
7475
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0'
7576
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.2.0'
76-
implementation 'androidx.preference:preference:1.1.0-alpha04'
77+
implementation 'androidx.preference:preference:1.1.1'
7778
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.2'
7879
implementation 'net.lingala.zip4j:zip4j:2.5.2'
7980
implementation "com.ooooonly:luaMirai:$LUAMIRAI_VERSION"
8081
implementation 'org.jetbrains.anko:anko-common:0.10.1'
8182
implementation "ch.acra:acra-core:5.1.3"
8283
implementation "ch.acra:acra-toast:5.1.3"
83-
//implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
84-
//implementation 'com.alibaba:fastjson:1.1.54.android'
85-
//implementation 'com.google.code.gson:gson:2.8.6'
8684

87-
// https://mvnrepository.com/artifact/com.google.code.gson/gson
88-
// compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
89-
//
9085
// https://mvnrepository.com/artifact/org.yaml/snakeyaml
9186
implementation group: 'org.yaml', name: 'snakeyaml', version: '1.26'
9287
// https://mvnrepository.com/artifact/com.moandjiezana.toml/toml4j
@@ -95,6 +90,5 @@ dependencies {
9590
testImplementation 'junit:junit:4.12'
9691
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
9792
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
98-
implementation files('libs\\mirai-js-1.0.0.jar')
9993

10094
}

app/src/main/java/io/github/mzdluo123/mirai/android/BootReceiver.kt

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package io.github.mzdluo123.mirai.android
33
import android.content.BroadcastReceiver
44
import android.content.Context
55
import android.content.Intent
6+
import android.os.Build
67
import kotlinx.serialization.ImplicitReflectionSerializer
78

89
@ImplicitReflectionSerializer
910
class BootReceiver : BroadcastReceiver() {
10-
// companion object{
11+
// companion object{
1112
// const val TAG = "BootReceiver"
1213
// }
1314
private val ACTION = "android.intent.action.BOOT_COMPLETED"
@@ -18,18 +19,22 @@ class BootReceiver : BroadcastReceiver() {
1819
}
1920

2021
if (intent.action == ACTION) {
21-
val intent = Intent(context, BotService::class.java)
22-
intent.putExtra(
22+
val startIntent = Intent(context, BotService::class.java)
23+
startIntent.putExtra(
2324
"action",
2425
BotService.START_SERVICE
2526
)
2627
val account =
2728
context.getSharedPreferences("account", Context.MODE_PRIVATE)
2829
val qq = account.getLong("qq", 0)
2930
val pwd = account.getString("pwd", null)
30-
intent.putExtra("qq", qq)
31-
intent.putExtra("pwd", pwd)
32-
context.startForegroundService(intent)
31+
startIntent.putExtra("qq", qq)
32+
startIntent.putExtra("pwd", pwd)
33+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
34+
context.startForegroundService(startIntent)
35+
} else {
36+
context.startService(startIntent)
37+
}
3338
}
3439
}
3540
}

app/src/main/java/io/github/mzdluo123/mirai/android/BotService.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,11 +145,11 @@ class BotService : Service(), CommandOwner {
145145
}
146146

147147
private fun registerDefaultCommand() {
148-
register(_description = "显示MiraiAndroid运行状态", _name = "android") { sender, args ->
148+
register(_description = "显示MiraiAndroid运行状态", _name = "android") { sender, _ ->
149149
sender.sendMessage(MiraiAndroidStatus.recentStatus().format())
150150
true
151151
}
152-
register(_description = "查看已加载的脚本", _name = "script", _usage = "script") { sender, args ->
152+
register(_description = "查看已加载的脚本", _name = "script", _usage = "script") { sender, _ ->
153153
sender.sendMessage(buildString {
154154
append("已加载${ScriptManager.instance.hosts.size}个脚本\n")
155155
ScriptManager.instance.hosts.joinTo(
@@ -222,7 +222,7 @@ class BotService : Service(), CommandOwner {
222222

223223
}
224224

225-
override fun createScript(name: String?, type: Int): Boolean {
225+
override fun createScript(name: String, type: Int): Boolean {
226226
return ScriptManager.instance.createScriptFromFile(File(name), type)
227227
}
228228

@@ -265,7 +265,7 @@ class BotService : Service(), CommandOwner {
265265
scriptFile
266266
)
267267
} else {
268-
provideUri = Uri.fromFile(scriptFile);
268+
provideUri = Uri.fromFile(scriptFile)
269269
}
270270
startActivity(
271271
Intent("android.intent.action.VIEW").apply {

app/src/main/java/io/github/mzdluo123/mirai/android/miraiconsole/AndroidMiraiConsole.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,9 @@ class AndroidMiraiConsole(context: Context) : MiraiConsoleUI {
146146
private fun Bot.subscribeBotLifeEvent() {
147147
subscribeAlways<BotOfflineEvent>(priority = Listener.EventPriority.HIGHEST) {
148148
// 防止一闪而过得掉线
149-
delay(200)
150-
if (this.bot.network.areYouOk()) return@subscribeAlways
149+
// 但是它可能并不能在1.0版本正常工作。。。。。
150+
delay(500)
151+
if (this.bot.isActive) return@subscribeAlways
151152
pushLog(0L, "[INFO] 发送离线通知....")
152153
val builder =
153154
NotificationCompat.Builder(

app/src/main/java/io/github/mzdluo123/mirai/android/ui/script/ScriptFragment.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import androidx.lifecycle.Observer
1515
import androidx.lifecycle.ViewModelProvider
1616
import androidx.recyclerview.widget.DividerItemDecoration
1717
import androidx.recyclerview.widget.LinearLayoutManager
18-
import androidx.recyclerview.widget.RecyclerView
1918
import io.github.mzdluo123.mirai.android.BotService
2019
import io.github.mzdluo123.mirai.android.IbotAidlInterface
2120
import io.github.mzdluo123.mirai.android.R
@@ -114,7 +113,7 @@ class ScriptFragment : Fragment(), ScriptInfoDialogFragment.ScriptInfoDialogFrag
114113
}
115114

116115
private fun importScript(uri: Uri, type: Int) {
117-
val scriptFile = ScriptManager.copyFileToScriptDir(context!!, uri)
116+
val scriptFile = ScriptManager.copyFileToScriptDir(requireContext(), uri)
118117
val result = scriptViewModel.createScriptFromFile(scriptFile, type)
119118
if (result) {
120119
context?.toast("导入成功,当前脚本数量:${scriptViewModel.hostSize}")
@@ -140,7 +139,7 @@ class ScriptFragment : Fragment(), ScriptInfoDialogFragment.ScriptInfoDialogFrag
140139
context?.alert("重新加载该脚本?") {
141140
yesButton {
142141
scriptViewModel.reloadScript(index)
143-
context!!.toast("重载完毕")
142+
requireContext().toast("重载完毕")
144143
}
145144
noButton { }
146145
}?.show()
@@ -152,12 +151,12 @@ class ScriptFragment : Fragment(), ScriptInfoDialogFragment.ScriptInfoDialogFrag
152151

153152
override fun onEnableScript(index: Int) {
154153
scriptViewModel.enableScript(index)
155-
context!!.toast("已启用")
154+
requireContext().toast("已启用")
156155
}
157156

158157
override fun onDisableScript(index: Int) {
159158
scriptViewModel.disableScript(index)
160-
context!!.toast("已禁用")
159+
requireContext().toast("已禁用")
161160
}
162161

163162
fun showScriptInfo(index: Int) {

app/src/main/java/io/github/mzdluo123/mirai/android/utils/TextSharer.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@ import org.jetbrains.anko.toast
99

1010
fun Context.shareText(text: String, scope: LifecycleCoroutineScope) {
1111
scope.launch {
12-
var waitingDialog = indeterminateProgressDialog("请稍候", "正在上传") {
12+
val waitingDialog = indeterminateProgressDialog("请稍候", "正在上传") {
1313
//setCancelable(false)
1414
}
1515
waitingDialog.show()
16-
val errorHandle = CoroutineExceptionHandler { coroutineContext, throwable ->
16+
val errorHandle = CoroutineExceptionHandler { _, _ ->
1717
waitingDialog.dismiss()
1818
toast("上传失败!")
1919
}
2020
val url = async(errorHandle) { paste(text) }
2121
withContext(Dispatchers.Main) {
22-
var urlResult = url.await()
22+
val urlResult = url.await()
2323
waitingDialog.dismiss()
2424
startActivity(Intent.createChooser(Intent(Intent.ACTION_SEND).apply {
2525
type = "text/plain"
2626
putExtra(Intent.EXTRA_SUBJECT, "MiraiAndroid日志分享")
2727
putExtra(Intent.EXTRA_TEXT, urlResult)
2828
flags = Intent.FLAG_ACTIVITY_NEW_TASK
29-
}, "分享到"));
29+
}, "分享到"))
3030
}
3131
}
3232
}

0 commit comments

Comments
 (0)