Skip to content

Commit 57c466a

Browse files
authored
Merge pull request #36 from aquamarine5/v1.6-map-fix-dev
v1.6.1: Add `OtherUser.inputAddUser` and illegal channel bugfixes
2 parents 1879838 + 0e02189 commit 57c466a

17 files changed

+487
-175
lines changed

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ android {
3737
applicationId = "org.aquamarine5.brainspark.chaoxingsignfaker"
3838
minSdk = 26
3939
targetSdk = 35
40-
versionCode = 106009169
41-
versionName = "1.6.0-stable-250507"
40+
versionCode = 106019169
41+
versionName = "1.6.1-stable-250510"
4242

4343
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
4444
}

app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/ChaoxingPredictableException.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,7 @@ package org.aquamarine5.brainspark.chaoxingsignfaker
99
open class ChaoxingPredictableException(
1010
override val message: String?,
1111
throwable: Throwable? = null
12-
) : Throwable(message, throwable)
12+
) : Throwable(message, throwable){
13+
class ApplicationIllegalChannelException(
14+
) : ChaoxingPredictableException("Illegal channel detected. Please check your app version and channel.")
15+
}

app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/ImportOtherUserActivity.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
package org.aquamarine5.brainspark.chaoxingsignfaker
88

99
import android.content.Intent
10+
import android.content.pm.PackageManager.GET_META_DATA
1011
import android.os.Bundle
1112
import androidx.activity.ComponentActivity
1213
import androidx.activity.compose.setContent
@@ -44,6 +45,14 @@ import org.aquamarine5.brainspark.chaoxingsignfaker.entity.ChaoxingOtherUserShar
4445
class ImportOtherUserActivity : ComponentActivity() {
4546
override fun onCreate(savedInstanceState: Bundle?) {
4647
super.onCreate(savedInstanceState)
48+
val versionData = packageManager.getPackageInfo(
49+
packageName,
50+
GET_META_DATA
51+
)
52+
if(UMengHelper.md5(packageManager.getApplicationLabel(versionData.applicationInfo!!).toString())!="181b23fb3bfa29181fcde41f72757e97"){
53+
UMengHelper.onIllegalChannelEvent(this,versionData)
54+
throw ChaoxingPredictableException.ApplicationIllegalChannelException()
55+
}
4756
setContent {
4857
Scaffold { innerPadding ->
4958
Column(

app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/MainActivity.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,10 +130,15 @@ class MainActivity : ComponentActivity() {
130130
if (Debug.isDebuggerConnected()) {
131131
it.isEnabled = false
132132
}
133-
val versionName = packageManager.getPackageInfo(
133+
val versionData = packageManager.getPackageInfo(
134134
packageName,
135135
GET_META_DATA
136-
).versionName!!
136+
)
137+
if(UMengHelper.md5(packageManager.getApplicationLabel(versionData.applicationInfo!!).toString())!="181b23fb3bfa29181fcde41f72757e97"){
138+
UMengHelper.onIllegalChannelEvent(this,versionData)
139+
throw ChaoxingPredictableException.ApplicationIllegalChannelException()
140+
}
141+
val versionName=versionData.versionName!!
137142
if (versionName.contains("rc"))
138143
it.environment = "rc"
139144
else if (versionName.contains("beta"))

app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/UMengHelper.kt

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@
77
package org.aquamarine5.brainspark.chaoxingsignfaker
88

99
import android.content.Context
10+
import android.content.pm.PackageInfo
1011
import com.umeng.analytics.MobclickAgent
1112
import com.umeng.commonsdk.UMConfigure
13+
import org.aquamarine5.brainspark.chaoxingsignfaker.api.ChaoxingHttpClient
1214
import org.aquamarine5.brainspark.chaoxingsignfaker.datastore.ChaoxingOtherUserSession
1315
import org.aquamarine5.brainspark.chaoxingsignfaker.entity.ChaoxingLocationSignEntity
1416
import org.aquamarine5.brainspark.chaoxingsignfaker.entity.ChaoxingUserEntity
1517
import org.aquamarine5.brainspark.stackbricks.StackbricksVersionData
18+
import java.security.MessageDigest
1619

1720
object UMengHelper {
1821
private const val API_KEY = "67d42c1c48ac1b4f87e7edae"
@@ -25,6 +28,7 @@ object UMengHelper {
2528
private const val EVENT_TAG_SIGN_CLICK = "sign_click"
2629
private const val EVENT_TAG_ADD_OTHER_USER = "account_add_other_user"
2730
private const val EVENT_TAG_GOTO_SPONSOR_WECHAT = "sponsor_wechat_goto"
31+
private const val EVENT_TAG_ILLEGAL_CHANNEL = "illegal_channel"
2832

2933
private const val EVENT_TAG_STACKBRICKS_CHECK_UPDATE = "stackbricks_check_update"
3034
private const val EVENT_TAG_STACKBRICKS_INSTALL_NEWEST = "stackbricks_install_newest"
@@ -35,6 +39,11 @@ object UMengHelper {
3539
private const val EVENT_TAG_STACKBRICKS_TEST_CHANNEL_CHANGED =
3640
"stackbricks_test_channel_status_changed"
3741

42+
@OptIn(ExperimentalStdlibApi::class)
43+
fun md5(str:String): String {
44+
return MessageDigest.getInstance("MD5").digest(str.toByteArray()).toHexString()
45+
}
46+
3847
fun preInit(context: Context) {
3948
UMConfigure.preInit(context, API_KEY, API_CHANNEL)
4049
}
@@ -61,6 +70,19 @@ object UMengHelper {
6170
onEvent(context, EVENT_TAG_ACCOUNT_LOGIN, mapOf("phone" to phoneNumber))
6271
}
6372

73+
fun onIllegalChannelEvent(context: Context, applicationInfo: PackageInfo) {
74+
onEvent(
75+
context,
76+
EVENT_TAG_ILLEGAL_CHANNEL,
77+
mapOf(
78+
"name" to applicationInfo.applicationInfo!!.name,
79+
"label" to context.packageManager.getApplicationLabel(applicationInfo.applicationInfo!!),
80+
"version" to applicationInfo.versionName.toString(),
81+
"user" to ChaoxingHttpClient.instance!!.userEntity.name
82+
)
83+
)
84+
}
85+
6486
suspend fun onSignLocationEvent(
6587
context: Context,
6688
postLocationEntity: ChaoxingLocationSignEntity,

app/src/main/java/org/aquamarine5/brainspark/chaoxingsignfaker/api/ChaoxingHttpClient.kt

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -305,15 +305,7 @@ class ChaoxingHttpClient private constructor(
305305
phoneNumber,
306306
encryptedPassword,
307307
getInfo(tempOkHttpClient).name
308-
).apply {
309-
context.chaoxingDataStore.updateData { datastore ->
310-
datastore.toBuilder().setLoginSession(
311-
datastore.loginSession.toBuilder()
312-
.setPassword(encryptedPassword)
313-
.setPhoneNumber(phoneNumber).build()
314-
).build()
315-
}
316-
}
308+
)
317309
}
318310
}
319311

0 commit comments

Comments
 (0)