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

Commit 8d7307d

Browse files
committed
fixme
1 parent 33a553a commit 8d7307d

File tree

8 files changed

+80
-47
lines changed

8 files changed

+80
-47
lines changed

app/build.gradle

Lines changed: 35 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ apply plugin: 'kotlinx-serialization'
99
apply plugin: "com.github.johnrengelman.shadow"
1010

1111

12-
def CORE_VERSION = "2.7-M1"
13-
def CONSOLE_VERSION = "2.7-M1"
12+
def CORE_VERSION = "2.7-RC"
13+
def CONSOLE_VERSION = "2.7-RC"
1414
def LUAMIRAI_VERSION = "2.0.8"
1515

1616
android {
@@ -53,7 +53,7 @@ android {
5353
versionNameSuffix "-Api21"
5454
applicationIdSuffix ".Api21"
5555
}
56-
normal{
56+
normal {
5757
dimension "api"
5858
minSdkVersion 26
5959
}
@@ -128,18 +128,22 @@ task nnioJar(type: ShadowJar) {
128128
dependencies {
129129
implementation(fileTree(dir: 'libs', include: ['*.jar']))
130130
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
131-
implementation 'com.google.android.material:material:1.3.0'
131+
implementation 'com.google.android.material:material:1.4.0'
132132

133-
implementation 'androidx.core:core-ktx:1.6.0-rc01'
133+
implementation 'androidx.core:core-ktx:1.7.0-alpha01'
134134

135135
//androidx-appcompat
136-
implementation 'androidx.appcompat:appcompat:1.3.0'
136+
implementation 'androidx.appcompat:appcompat:1.3.1'
137137

138138
//androidx-legacy
139139
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
140140

141141
//androidx-constraintlayout
142-
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
142+
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
143+
144+
// https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on
145+
implementation group: 'org.bouncycastle', name: 'bcprov-jdk15to18', version: '1.69'
146+
143147

144148
//androidx-navigation
145149
implementation 'androidx.navigation:navigation-fragment:2.3.5'
@@ -156,10 +160,10 @@ dependencies {
156160
implementation 'androidx.preference:preference:1.1.1'
157161

158162
//kotlinx-coroutines
159-
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0"
160-
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.1'
163+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1"
164+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.1-native-mt'
161165

162-
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0"
166+
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.1"
163167

164168

165169
//zip
@@ -169,20 +173,28 @@ dependencies {
169173
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.2'
170174

171175
//mirai-core
172-
implementation("net.mamoe:mirai-core:$CORE_VERSION")
176+
// implementation("net.mamoe:mirai-core-android:$CORE_VERSION")
177+
implementation("net.mamoe:mirai-core-android:$CORE_VERSION") {
178+
exclude module: "net.mamoe:mirai-core-api"
179+
exclude module: "net.mamoe:mirai-core-utils"
180+
}
181+
implementation("net.mamoe:mirai-core-api-android:$CORE_VERSION") {
182+
exclude module: "net.mamoe:mirai-core-utils"
183+
}
184+
implementation("net.mamoe:mirai-core-utils-android:$CORE_VERSION")
173185
// implementation("net.mamoe:mirai-core:$CORE_VERSION"){
174186
// exclude module: "mirai-core-utils"
175187
// // 修复Duplicate class
176188
// }
177189

178190
//mirai-lua
179-
implementation "com.ooooonly:luaMirai:${LUAMIRAI_VERSION}"
191+
// implementation "com.ooooonly:luaMirai:${LUAMIRAI_VERSION}"
180192
// implementation 'org.json:json:20160212'
181193
implementation 'com.ooooonly:giteeman:0.1.1'
182194

183195
//splitties
184-
implementation("com.louiscad.splitties:splitties-fun-pack-android-base:3.0.0-alpha06")
185-
implementation("com.louiscad.splitties:splitties-fun-pack-android-appcompat:3.0.0-alpha06")
196+
implementation("com.louiscad.splitties:splitties-fun-pack-android-base:3.0.0-rc02")
197+
implementation("com.louiscad.splitties:splitties-fun-pack-android-appcompat:3.0.0-rc02")
186198

187199
//acra
188200
implementation "ch.acra:acra-core:5.1.3"
@@ -193,14 +205,14 @@ dependencies {
193205
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
194206

195207
//yaml
196-
implementation 'net.mamoe.yamlkt:yamlkt:0.9.0'
208+
implementation 'net.mamoe.yamlkt:yamlkt:0.10.0'
197209
implementation group: 'com.moandjiezana.toml', name: 'toml4j', version: '0.7.2'
198210

199211
//okhttp3
200212
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
201213

202214
//test
203-
implementation 'androidx.test.espresso:espresso-idling-resource:3.3.0'
215+
implementation 'androidx.test.espresso:espresso-idling-resource:3.4.0'
204216

205217
implementation 'com.fanjun:keeplive:1.1.22'
206218

@@ -213,14 +225,14 @@ dependencies {
213225
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
214226

215227

216-
debugImplementation 'androidx.fragment:fragment-testing:1.2.4'
228+
debugImplementation 'androidx.fragment:fragment-testing:1.3.6'
217229

218-
testImplementation 'junit:junit:4.12'
219-
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
220-
androidTestImplementation 'androidx.test:runner:1.2.0'
221-
androidTestImplementation 'androidx.test:rules:1.2.0'
222-
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
223-
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.2.0'
230+
testImplementation 'junit:junit:4.13.2'
231+
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
232+
androidTestImplementation 'androidx.test:runner:1.4.0'
233+
androidTestImplementation 'androidx.test:rules:1.4.0'
234+
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
235+
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.4.0'
224236
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
225237

226238
// https://mvnrepository.com/artifact/net.mamoe/mirai-console

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ object AppSettings : Preferences("setting") {
1111
}
1212

1313
operator fun setValue(thisRef: Preferences, prop: KProperty<*>, value: Int) {
14-
editor.putString(key, value.toString()).commit()
14+
prefs.edit().putString(key, value.toString()).apply()
1515
}
1616

1717
}

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

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ import org.acra.ACRA
1919
import org.acra.config.CoreConfigurationBuilder
2020
import org.acra.config.DialogConfigurationBuilder
2121
import org.acra.data.StringFormat
22+
import org.bouncycastle.jce.provider.BouncyCastleProvider
23+
import splitties.init.injectAsAppCtx
24+
import java.security.Security
2225

2326
class BotApplication : Application() {
2427
companion object {
@@ -33,6 +36,7 @@ class BotApplication : Application() {
3336

3437
override fun onCreate() {
3538
super.onCreate()
39+
injectAsAppCtx()
3640
context = this
3741
val processName = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
3842
getProcessName()
@@ -43,7 +47,10 @@ class BotApplication : Application() {
4347
if (processName?.isEmpty() == false && processName == packageName) {
4448
initNotification()
4549
}
46-
50+
if (Security.getProperty(BouncyCastleProvider.PROVIDER_NAME) != null) {
51+
Security.removeProvider(BouncyCastleProvider.PROVIDER_NAME)
52+
}
53+
Security.addProvider(BouncyCastleProvider())
4754
}
4855

4956

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

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package io.github.mzdluo123.mirai.android
22

3-
import android.app.*
3+
import android.app.Notification
4+
import android.app.PendingIntent
45
import android.content.Intent
56
import android.graphics.Bitmap
7+
import androidx.core.app.NotificationChannelCompat
68
import androidx.core.app.NotificationCompat
79
import androidx.core.app.NotificationManagerCompat
8-
import androidx.core.app.NotificationChannelCompat
9-
import androidx.core.app.TaskStackBuilder
1010
import io.github.mzdluo123.mirai.android.activity.MainActivity
1111
import io.github.mzdluo123.mirai.android.miraiconsole.AndroidLoginSolver
1212
import io.github.mzdluo123.mirai.android.service.BotService
@@ -26,17 +26,26 @@ object NotificationFactory {
2626
val notificationManager = NotificationManagerCompat.from(context)
2727

2828
val statusChannel =
29-
NotificationChannelCompat.Builder(SERVICE_NOTIFICATION, NotificationManagerCompat.IMPORTANCE_MIN)
29+
NotificationChannelCompat.Builder(
30+
SERVICE_NOTIFICATION,
31+
NotificationManagerCompat.IMPORTANCE_MIN
32+
)
3033
.setName("状态通知")
3134
.setDescription("Mirai正在运行的通知")
3235

3336
val captchaChannel =
34-
NotificationChannelCompat.Builder(CAPTCHA_NOTIFICATION, NotificationManagerCompat.IMPORTANCE_HIGH)
37+
NotificationChannelCompat.Builder(
38+
CAPTCHA_NOTIFICATION,
39+
NotificationManagerCompat.IMPORTANCE_HIGH
40+
)
3541
.setName("验证码通知")
3642
.setDescription("登录需要输入验证码时的通知")
3743

3844
val offlineChannel =
39-
NotificationChannelCompat.Builder(OFFLINE_NOTIFICATION, NotificationManagerCompat.IMPORTANCE_HIGH)
45+
NotificationChannelCompat.Builder(
46+
OFFLINE_NOTIFICATION,
47+
NotificationManagerCompat.IMPORTANCE_HIGH
48+
)
4049
.setName("离线通知")
4150
.setDescription("Mirai因各种原因离线的通知")
4251

@@ -113,14 +122,21 @@ object NotificationFactory {
113122
internal fun captchaNotification(activity: Class<*>): Notification {
114123

115124
val notifyIntent = Intent(context, activity)
125+
val mainIntent = Intent(context, MainActivity::class.java)
126+
116127
// val notifyPendingIntent = PendingIntent.getActivity(
117128
// context, 0, notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT
118129
// )
119-
val notifyPendingIntent = TaskStackBuilder.create(BotApplication.context)
120-
.addParentStack(MainActivity::class.java)
121-
.addNextIntent(notifyIntent)
122-
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
123-
130+
// val notifyPendingIntent = TaskStackBuilder.create(BotApplication.context)
131+
// .addParentStack(MainActivity::class.java)
132+
// .addNextIntent(notifyIntent)
133+
// .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
134+
val notifyPendingIntent = PendingIntent.getActivities(
135+
BotApplication.context,
136+
0,
137+
arrayOf(mainIntent, notifyIntent),
138+
PendingIntent.FLAG_UPDATE_CURRENT
139+
)
124140

125141
return NotificationCompat.Builder(
126142
context,

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class AndroidLoginSolver(private val context: Context) : LoginSolver() {
1919
const val CAPTCHA_NOTIFICATION_ID = 2
2020
}
2121

22-
override suspend fun onSolvePicCaptcha(bot: Bot, data: ByteArray): String? {
22+
override suspend fun onSolvePicCaptcha(bot: Bot, data: ByteArray): String {
2323
MiraiAndroidLogger.info("本次登录需要输入验证码,请在通知栏点击通知来输入")
2424
verificationResult = CompletableDeferred()
2525
captchaData = data

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

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import android.os.RemoteCallbackList
1717
import android.util.Log
1818
import androidx.lifecycle.LifecycleService
1919
import androidx.lifecycle.lifecycleScope
20-
import com.ooooonly.luaMirai.miraiconsole.LuaMiraiPlugin
2120
import io.github.mzdluo123.mirai.android.AppSettings
2221
import io.github.mzdluo123.mirai.android.IConsole
2322
import io.github.mzdluo123.mirai.android.IbotAidlInterface
@@ -40,8 +39,6 @@ import net.mamoe.mirai.console.MiraiConsoleImplementation.Companion.start
4039
import net.mamoe.mirai.console.command.CommandManager.INSTANCE.register
4140
import net.mamoe.mirai.console.command.ConsoleCommandSender
4241
import net.mamoe.mirai.console.command.executeCommand
43-
import net.mamoe.mirai.console.plugin.PluginManager.INSTANCE.enable
44-
import net.mamoe.mirai.console.plugin.PluginManager.INSTANCE.load
4542
import net.mamoe.mirai.console.rootDir
4643
import net.mamoe.mirai.event.GlobalEventChannel
4744
import net.mamoe.mirai.event.events.BotOnlineEvent
@@ -61,7 +58,7 @@ class BotService : LifecycleService() {
6158
// private lateinit var wakeLock: PowerManager.WakeLock
6259
private var bot: Bot? = null
6360
private val msgReceiver = PushMsgReceiver(this)
64-
private val allowPushMsg = AppSettings.allowPushMsg
61+
private var allowPushMsg: Boolean = false
6562

6663
// 多进程调试辅助
6764
// init {
@@ -111,7 +108,9 @@ class BotService : LifecycleService() {
111108
@SuppressLint("InvalidWakeLockTag")
112109
override fun onCreate() {
113110
super.onCreate()
114-
consoleFrontEnd = AndroidMiraiConsole(baseContext, Paths.get(getExternalFilesDir("")!!.absolutePath))
111+
allowPushMsg = AppSettings.allowPushMsg
112+
consoleFrontEnd =
113+
AndroidMiraiConsole(baseContext, Paths.get(getExternalFilesDir("")!!.absolutePath))
115114

116115
if (AppSettings.waitingDebugger) {
117116
MiraiAndroidLogger.info("等待调试器链接..... PID:${android.os.Process.myPid()}")
@@ -182,9 +181,9 @@ class BotService : LifecycleService() {
182181
// consoleVersion = BuildConfig.COREVERSION,
183182
// path = getExternalFilesDir(null).toString()
184183
// )
185-
186-
LuaMiraiPlugin.load()
187-
LuaMiraiPlugin.enable()
184+
//
185+
// LuaMiraiPlugin.load()
186+
// LuaMiraiPlugin.enable()
188187

189188
registerReceiver()
190189
isStart = true

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Top-level build file where you can add configuration options common to all sub-projects/modules.
22

33
buildscript {
4-
ext.kotlin_version = '1.4.32'
4+
ext.kotlin_version = '1.5.21'
55
repositories {
66
google()
77
jcenter()

settings.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
rootProject.name='MiraiAndroid'
22
include ':app'
3-

0 commit comments

Comments
 (0)