Skip to content

Commit 8a1ae50

Browse files
authored
Merge pull request #8 from Trumeet/canary
Canary
2 parents 29d333c + 5b20b63 commit 8a1ae50

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1639
-1643
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ before_deploy:
2828
- export VERSION_CODE=$(cat version_code.txt)
2929
- git tag $VERSION_CODE
3030
# Rename
31-
- mv "app/build/outputs/apk/release/app-release.apk" "app/build/outputs/apk/release/app.apk"
31+
- mv "app/build/outputs/apk/release/app-release.apk" "app/build/outputs/apk/release/app-${VERSION}.apk"
3232
deploy:
3333
name: ${VERSION}
3434
body: Snapshot version automatically generated by Travis CI. Please be cautious to experience due to potential bugs.
@@ -37,6 +37,6 @@ deploy:
3737
skip_cleanup: true
3838
api_key:
3939
secure: rvV6A3CKwvyo0rUHYq3kHLzEukLZaT4Dddqn1tK7MSoD33MZqTo5VKtS6p+bKFQzI6aqdpDl9eminv9HsYO9ogtIRP5GuPhi+UMNX/RNC3ISwgPjMT0WkZKovNqfQxr2QLrg95NrdI+tZ4MPAlprtAB6onkFcssS6pPsm3UZ/RAB0s5PT/+pBVIplWD93hx805s1Soijg4T22HyYvLr26ZqcHud2lx6ams1GT73ZAxx5HZHQYBKJvp4Qnsh16XWlvQCTMc7kCS8O1xFCpN33BDpcBeoCynhO5zIV7V7y9S6RtfnJMoSGjCoaPOAJdPRgqWgyfZCCdLoJBRO7Ig2IAKNNENaSwvsDsTm2nQ3DbYcVY6aRX+s1m2Vysvh3pxkxNaKTl58pXsTlEdYvTFJ1Bd1Y3m6E3Y9k7UiRsSw2PAcA4iRCAU3WaSgekJ03uOMQoZUT5xAiRfTORL4cv5TMKwWq7dl7gn2Ild1sb3ajT1JgNLVyTKrzG4qgxnIWyS28pLosTRurabheA6JbkM1PGuUyLUkh1UBQ2WkoKUjUaJ9v6+XmT6NdFD70ukdeE9QijVq1SlvIDX/iPCkSsY6fMlM18bfkO44AhYvkNow6uMIoKrZf5E1izIkwGAeGlDB/aqxpZHcW7zgkpys/q6MWSfwxcY2eIZUi7V9Epr0kGi0=
40-
file: app/build/outputs/apk/release/app.apk
40+
file: app/build/outputs/apk/release/app-${VERSION}.apk
4141
on:
4242
repo: Trumeet/MiPushTester

Dockerfile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ WORKDIR /app/server
77
RUN apk add git && \
88
chmod +x ./gradlew && \
99
rm -rf app/ && \
10-
./gradlew --no-daemon :server:shadowJar && \
11-
mv server/build/libs/server-1.0-all.jar /server.jar
10+
./gradlew :common:build && \
11+
./gradlew :server:jar && \
12+
mv server/build/libs/server-1.0.jar /server.jar
1213

1314
FROM openjdk:8u171-jre-alpine3.8 as environment
1415
WORKDIR /app
1516
COPY --from=builder /server.jar .
16-
ENTRYPOINT java -jar /app/server.jar
17+
ENTRYPOINT java -jar /app/server.jar

app/build.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
apply plugin: 'com.android.application'
2+
apply plugin: 'kotlin-android-extensions'
3+
apply plugin: 'kotlin-android'
4+
apply plugin: 'kotlin-kapt'
25
apply plugin: 'com.google.android.gms.oss-licenses-plugin'
36

47
if (file("play-store-api.json").exists()) {
@@ -80,6 +83,9 @@ android {
8083
checkReleaseBuilds false
8184
abortOnError false
8285
}
86+
kapt {
87+
generateStubs = true
88+
}
8389
}
8490

8591
dependencies {
@@ -112,4 +118,8 @@ dependencies {
112118
implementation 'com.elvishew:xlog:1.6.1'
113119
// Common
114120
implementation project(':common')
121+
// Kotlin
122+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
123+
implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
124+
kapt 'com.android.databinding:compiler:3.1.4'
115125
}

app/proguard-rules.pro

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
-keep class moe.yuuta.mipushtester.push.PushReceiver {*;}
33
-dontwarn com.xiaomi.push.**
44
-dontwarn com.xiaomi.mipush.**
5+
-keepclassmembers class com.xiaomi.mipush.sdk.MiPushMessage {
6+
private <fields>;
7+
}
58

69
# OkHttp3 rules comes from https://github.com/square/okhttp/blob/master/okhttp/src/main/resources/META-INF/proguard/okhttp3.pro
710
-dontwarn javax.annotation.**

app/src/main/java/moe/yuuta/mipushtester/App.java

Lines changed: 0 additions & 67 deletions
This file was deleted.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package moe.yuuta.mipushtester
2+
3+
import android.app.Application
4+
import android.os.SystemClock
5+
import com.crashlytics.android.Crashlytics
6+
import com.crashlytics.android.answers.Answers
7+
import com.elvishew.xlog.LogConfiguration
8+
import com.elvishew.xlog.XLog
9+
import com.elvishew.xlog.formatter.message.json.DefaultJsonFormatter
10+
import com.elvishew.xlog.printer.AndroidPrinter
11+
import com.elvishew.xlog.printer.file.FilePrinter
12+
import com.elvishew.xlog.printer.file.clean.FileLastModifiedCleanStrategy
13+
import com.elvishew.xlog.printer.file.naming.DateFileNameGenerator
14+
import com.xiaomi.channel.commonutils.logger.LoggerInterface
15+
import com.xiaomi.mipush.sdk.Logger
16+
import io.fabric.sdk.android.Fabric
17+
import moe.yuuta.mipushtester.log.LogUtils
18+
19+
class App : Application() {
20+
@Override
21+
override fun onCreate() {
22+
super.onCreate()
23+
val logConfiguration = LogConfiguration.Builder()
24+
.tag("MiPushTester")
25+
.jsonFormatter(DefaultJsonFormatter())
26+
.build()
27+
val androidPrinter = AndroidPrinter()
28+
val filePrinter = FilePrinter.Builder(LogUtils.getLogFolder(this))
29+
.fileNameGenerator(DateFileNameGenerator())
30+
.cleanStrategy(FileLastModifiedCleanStrategy(1000 * 60 * 60 * 24 * 5))
31+
.build()
32+
XLog.init(logConfiguration, androidPrinter, filePrinter)
33+
34+
if (!BuildConfig.DEBUG && !BuildConfig.FABRIC_KEY.equals("disabled")) {
35+
Fabric.with(this, Crashlytics(), Answers())
36+
}
37+
val currentHandler = Thread.getDefaultUncaughtExceptionHandler()
38+
Thread.setDefaultUncaughtExceptionHandler(object : Thread.UncaughtExceptionHandler {
39+
override fun uncaughtException(t: Thread?, e: Throwable?) {
40+
val logger = XLog.tag("Crash").build()
41+
logger.e("App crashed", e)
42+
SystemClock.sleep(100)
43+
if (currentHandler != null) currentHandler.uncaughtException(t, e)
44+
}
45+
})
46+
47+
val newLogger = object: LoggerInterface {
48+
private var logger: com.elvishew.xlog.Logger =
49+
XLog.tag("XMPush").build()
50+
51+
@Override
52+
override fun setTag(tag: String) {
53+
logger = XLog.tag("XMPush-$tag").build()
54+
}
55+
@Override
56+
override fun log(content: String, t: Throwable) {
57+
logger.d(content, t)
58+
}
59+
@Override
60+
override fun log(content: String) {
61+
logger.d(content)
62+
}
63+
}
64+
Logger.setLogger(this, newLogger)
65+
}
66+
}

app/src/main/java/moe/yuuta/mipushtester/MainActivity.java

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package moe.yuuta.mipushtester
2+
3+
import android.os.Bundle
4+
5+
import androidx.annotation.Nullable
6+
import androidx.appcompat.app.AppCompatActivity
7+
import androidx.navigation.Navigation
8+
import androidx.navigation.ui.NavigationUI
9+
10+
class MainActivity : AppCompatActivity() {
11+
@Override
12+
override fun onCreate(@Nullable savedInstanceState: Bundle?) {
13+
super.onCreate(savedInstanceState)
14+
setContentView(R.layout.activity_main)
15+
NavigationUI.setupActionBarWithNavController(this, Navigation.findNavController(this, R.id.nav_host))
16+
}
17+
18+
@Override
19+
override fun onSupportNavigateUp(): Boolean =
20+
Navigation.findNavController(this, R.id.nav_host).navigateUp()
21+
}

0 commit comments

Comments
 (0)