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

Commit c81e52a

Browse files
committed
test
1 parent 32578f8 commit c81e52a

File tree

3 files changed

+59
-3
lines changed

3 files changed

+59
-3
lines changed

app/build.gradle

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ def CORE_VERSION = "2.7-RC"
1313
def CONSOLE_VERSION = "2.7-RC"
1414
def LUAMIRAI_VERSION = "2.0.8"
1515

16+
17+
def appCenterSdkVersion = '4.1.0'
18+
1619
android {
1720
compileSdkVersion 30
1821
buildToolsVersion "29.0.2"
@@ -21,8 +24,8 @@ android {
2124
applicationId "io.github.mzdluo123.mirai.android"
2225
minSdkVersion 26
2326
targetSdkVersion 30
24-
versionCode 55
25-
versionName "3.2.4"
27+
versionCode 56
28+
versionName "3.2.4-center"
2629
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
2730
buildConfigField("String", "COREVERSION", "\"$CORE_VERSION\"")
2831
buildConfigField("String", "CONSOLEVERSION", "\"$CONSOLE_VERSION\"")
@@ -193,7 +196,6 @@ dependencies {
193196

194197
//mirai-lua
195198
implementation "com.ooooonly:luaMirai:${LUAMIRAI_VERSION}"
196-
implementation 'org.json:json:20160212'
197199
implementation 'com.ooooonly:giteeman:0.1.1'
198200

199201
//splitties
@@ -222,6 +224,9 @@ dependencies {
222224

223225
implementation group: 'commons-io', name: 'commons-io', version: '2.10.0'
224226

227+
implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
228+
implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
229+
implementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"
225230

226231
// fuck!! 他不能在Android平台工作
227232
// implementation 'org.codehaus.groovy:groovy:2.4.6:grooid'

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

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,13 @@ import android.os.Process
99
import com.fanjun.keeplive.KeepLive
1010
import com.fanjun.keeplive.config.ForegroundNotification
1111
import com.fanjun.keeplive.config.KeepLiveService
12+
import com.microsoft.appcenter.AppCenter
13+
import com.microsoft.appcenter.analytics.Analytics
14+
import com.microsoft.appcenter.crashes.Crashes
15+
import com.microsoft.appcenter.distribute.Distribute
1216
import io.github.mzdluo123.mirai.android.NotificationFactory.initNotification
1317
import io.github.mzdluo123.mirai.android.activity.CrashReportActivity
18+
import io.github.mzdluo123.mirai.android.appcenter.UpdateListener
1419
import io.github.mzdluo123.mirai.android.crash.MiraiAndroidReportSenderFactory
1520
import io.github.mzdluo123.mirai.android.service.BotService
1621
import kotlinx.serialization.json.Json
@@ -21,6 +26,7 @@ import org.acra.config.DialogConfigurationBuilder
2126
import org.acra.data.StringFormat
2227
import splitties.init.injectAsAppCtx
2328

29+
2430
class BotApplication : Application() {
2531
companion object {
2632

@@ -36,6 +42,7 @@ class BotApplication : Application() {
3642
super.onCreate()
3743
injectAsAppCtx()
3844
context = this
45+
initAppCenter()
3946
val processName = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P)
4047
getProcessName()
4148
else
@@ -47,6 +54,15 @@ class BotApplication : Application() {
4754
}
4855
}
4956

57+
private fun initAppCenter() {
58+
59+
AppCenter.start(
60+
this, "70a7bed9-65ce-4526-a448-0be273dbb652",
61+
Analytics::class.java, Crashes::class.java, Distribute::class.java
62+
)
63+
Distribute.setListener(UpdateListener())
64+
}
65+
5066

5167
//崩溃事件注册
5268
override fun attachBaseContext(base: Context?) {
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package io.github.mzdluo123.mirai.android.appcenter
2+
3+
import android.app.Activity
4+
import android.content.Intent
5+
import com.microsoft.appcenter.distribute.DistributeListener
6+
import com.microsoft.appcenter.distribute.ReleaseDetails
7+
import splitties.alertdialog.appcompat.alertDialog
8+
import splitties.alertdialog.appcompat.message
9+
import splitties.alertdialog.appcompat.title
10+
11+
class UpdateListener : DistributeListener {
12+
override fun onReleaseAvailable(activity: Activity, releaseDetails: ReleaseDetails): Boolean {
13+
val dialog = activity.alertDialog {
14+
title = "发现新版本${releaseDetails.version}"
15+
message = releaseDetails.releaseNotes
16+
setPositiveButton("立即更新") { _, _ ->
17+
activity.startActivity(
18+
Intent(
19+
Intent.ACTION_VIEW,
20+
releaseDetails.downloadUrl
21+
)
22+
)
23+
}
24+
}
25+
activity.runOnUiThread {
26+
dialog.show()
27+
}
28+
return true
29+
30+
}
31+
32+
override fun onNoReleaseAvailable(activity: Activity) {
33+
34+
}
35+
}

0 commit comments

Comments
 (0)