Skip to content
This repository has been archived by the owner on Sep 15, 2024. It is now read-only.

Migrate project codebase to Kotlin #34

Merged
merged 101 commits into from
May 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
2210df6
Rename .java to .kt
mkx173 Apr 20, 2024
bd60ad0
refactor: migrate util classes to kotlin
mkx173 Apr 20, 2024
5a47193
chore: bump version
mkx173 Apr 21, 2024
07f61de
fix: unable to open file
mkx173 Apr 21, 2024
f4cdd0d
refactor: add JvmField annotation to XposedContext
mkx173 Apr 21, 2024
56c99bb
Rename .java to .kt
mkx173 Apr 21, 2024
2b139be
Migrate widgets to Kotlin
mkx173 Apr 21, 2024
a3847e2
Revert TbToast
mkx173 Apr 21, 2024
a4e1419
Rename .java to .kt
mkx173 Apr 21, 2024
2e6459e
Partially migrate DAO to Kotlin
mkx173 Apr 21, 2024
1d5cec1
Rename .java to .kt
mkx173 Apr 21, 2024
0b8f16a
Migrate Adp to Kotlin
mkx173 Apr 21, 2024
4367031
Revert "Revert TbToast"
mkx173 Apr 22, 2024
ce8717f
Add findRule function for Kotlin
mkx173 Apr 22, 2024
49c0c7a
Convert property to getter functions
mkx173 Apr 22, 2024
b1b4298
Add helper hook functions
mkx173 Apr 22, 2024
aac5eef
Rename .java to .kt
mkx173 Apr 22, 2024
3c60186
Migrate HistoryCache to Kotlin
mkx173 Apr 22, 2024
3e10b27
Rename .java to .kt
mkx173 Apr 22, 2024
2a17fe9
Migrate Ripple to Kotlin
mkx173 Apr 22, 2024
ba32398
Rename .java to .kt
mkx173 Apr 22, 2024
d7bf519
Migrate SaveImages to Kotlin
mkx173 Apr 22, 2024
8583aa8
Rename .java to .kt
mkx173 Apr 22, 2024
9683741
Migrate SelectClipboard to Kotlin
mkx173 Apr 22, 2024
767625a
Rename .java to .kt
mkx173 Apr 22, 2024
5373835
Migrate AgreeNum to Kotlin
mkx173 Apr 22, 2024
d715418
Rename .java to .kt
mkx173 Apr 22, 2024
bb010c4
Migrate AutoSign to Kotlin
mkx173 Apr 22, 2024
6687e57
Change version name to alpha
mkx173 Apr 22, 2024
8efa1e9
Rename .java to .kt
mkx173 Apr 22, 2024
bcb140f
Migrate FrsTab to Kotlin
mkx173 Apr 22, 2024
b2df207
Add findClass helper function
mkx173 Apr 22, 2024
1792e20
Rename .java to .kt
mkx173 Apr 22, 2024
75b74b7
Migrate MsgCenterTab to Kotlin
mkx173 Apr 22, 2024
0e8cde5
Rename .java to .kt
mkx173 Apr 22, 2024
9525752
Migrate NotificationDetect to Kotlin
mkx173 Apr 22, 2024
ad84865
Rename .java to .kt
mkx173 Apr 22, 2024
8fa6242
Migrate OpenSign to Kotlin
mkx173 Apr 22, 2024
92e2ab6
Add installDebug task to gradle
mkx173 Apr 22, 2024
f133648
Add unhook to helper functions
mkx173 Apr 23, 2024
905f017
Rename .java to .kt
mkx173 Apr 23, 2024
805cd26
Migrate OriginSrc to Kotlin
mkx173 Apr 23, 2024
7ae9612
Rename .java to .kt
mkx173 Apr 23, 2024
e0eb647
Migrate ContentFilter to Kotlin
mkx173 Apr 23, 2024
0f5ed0f
Rename .java to .kt
mkx173 Apr 23, 2024
a0e11a9
Migrate FoldTopCardView to Kotlin
mkx173 Apr 23, 2024
2c4bc48
Rename .java to .kt
mkx173 Apr 23, 2024
f2e2a63
Migrate FollowFilter to Kotlin
mkx173 Apr 23, 2024
b2c6ac3
Rename .java to .kt
mkx173 Apr 23, 2024
d5c7308
Migrate FragmentTab to Kotlin
mkx173 Apr 23, 2024
663fb84
Rename .java to .kt
mkx173 Apr 23, 2024
fb4f695
Migrate FrsPageFilter to Kotlin
mkx173 Apr 23, 2024
0fd6476
Rename .java to .kt
mkx173 Apr 23, 2024
4ac8a7f
Migrate PersonalizedFilter to Kotlin
mkx173 Apr 23, 2024
4a1e160
Rename .java to .kt
mkx173 May 2, 2024
e67c647
Migrate PurgeEnter to Kotlin
mkx173 May 2, 2024
0631af2
Rename .java to .kt
mkx173 May 2, 2024
8307bd6
Migrate PurgeMy to Kotlin
mkx173 May 2, 2024
f5d5e46
Rename .java to .kt
mkx173 May 2, 2024
c0a1b38
Migrate PurgeVideo to Kotlin
mkx173 May 2, 2024
2eee897
Rename .java to .kt
mkx173 May 2, 2024
56a837a
Migrate RedTip to Kotlin
mkx173 May 2, 2024
9ac37ce
Rename .java to .kt
mkx173 May 2, 2024
1759e88
Migrate RemoveUpdate to Kotlin
mkx173 May 2, 2024
2e2ab20
Rename .java to .kt
mkx173 May 2, 2024
da21b9f
Migrate UserFilter to Kotlin
mkx173 May 2, 2024
c02f013
Rename .java to .kt
mkx173 May 2, 2024
32dbb31
Migrate RegexFilter to Kotlin
mkx173 May 2, 2024
85bc6e9
Convert property to getter functions in Switch
mkx173 May 2, 2024
0be8bc1
Update page filter logic
mkx173 May 2, 2024
5829f02
Rename .java to .kt
mkx173 May 2, 2024
441ce04
Migrate Purge to Kotlin
mkx173 May 2, 2024
8bbbcff
Rename .java to .kt
mkx173 May 2, 2024
0fd0944
Migrate Deobfuscation to Kotlin
mkx173 May 2, 2024
7d22628
Rename .java to .kt
mkx173 May 2, 2024
a77c2ec
Migrate TransitionAnimation to Kotlin
mkx173 May 2, 2024
3bc8d3f
Rename .java to .kt
mkx173 May 2, 2024
2877068
Migrate ForbidGesture to Kotlin
mkx173 May 2, 2024
5047fd8
Rename .java to .kt
mkx173 May 2, 2024
431d42a
Migrate IHooker and Obfuscated to Kotlin
mkx173 May 2, 2024
12ceca7
Update AGP
mkx173 May 3, 2024
643ef58
Rename .java to .kt
mkx173 May 3, 2024
c9af1a3
Migrate TSPreferenceHelper to Kotlin
mkx173 May 3, 2024
b900b35
Extract getDialogTheme to separate function
mkx173 May 3, 2024
bef8bde
Rename .java to .kt
mkx173 May 3, 2024
885a5c9
Migrate TSPreference to Kotlin
mkx173 May 3, 2024
67efba4
Rename .java to .kt
mkx173 May 3, 2024
3d63579
Migrate XposedInit to Kotlin
mkx173 May 3, 2024
f3058a0
Optimize imports
mkx173 May 3, 2024
a95c339
Optimize variable naming
mkx173 May 3, 2024
54fcc23
Optimize imports
mkx173 May 3, 2024
46a555b
Migrate build.gradle to Kotlin
mkx173 May 3, 2024
ee9ffea
Update Purge rules
mkx173 May 3, 2024
dd4bb6a
Remove project wide build.gradle.kts
mkx173 May 3, 2024
6780e6a
Move isModuleBetaVersion to XposedContext
mkx173 May 3, 2024
a63471e
Bump version
mkx173 May 4, 2024
2103166
Simplify matcher logic
mkx173 May 4, 2024
7f50190
General style improvements
mkx173 May 4, 2024
3e78f05
Fix incorrect button color when skin changed
mkx173 May 4, 2024
ec69e92
Remove key file
mkx173 May 4, 2024
2928d22
Improve style and null handling
mkx173 May 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
88 changes: 0 additions & 88 deletions app/build.gradle

This file was deleted.

119 changes: 119 additions & 0 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
import java.io.ByteArrayOutputStream

plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")
}

fun String.runCommand(currentWorkingDir: File = file("./")): String {
val byteOut = ByteArrayOutputStream()
project.exec {
workingDir = currentWorkingDir
commandLine = [email protected]("\\s".toRegex())
standardOutput = byteOut
}
return String(byteOut.toByteArray()).trim()
}

val gitCommitCount = "git rev-list --count HEAD".runCommand().toInt()
val latestTag = "git describe --abbrev=0 --tags".runCommand()
val commitCountSinceLatestTag = ("git rev-list --count $latestTag..HEAD").runCommand()
val sdk = 34

android {
compileSdk = sdk
buildToolsVersion = "34.0.0"
ndkVersion = "26.0.10792818"

defaultConfig {
applicationId = "gm.tieba.tabswitch"
minSdk = 28
targetSdk = sdk
versionCode = gitCommitCount
versionName = "3.0.0-beta"
if (versionName!!.contains("alpha") || versionName!!.contains("beta")) {
versionNameSuffix = ".$commitCountSinceLatestTag"
}
buildConfigField("String", "TARGET_VERSION", "\"12.60.1.1\"")
buildConfigField("String", "MIN_VERSION", "\"12.53.1.0\"")

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
abiFilters("arm64-v8a")
arguments("-DANDROID_STL=none")
}
}
}
applicationVariants.all {
outputs
.map { it as com.android.build.gradle.internal.api.ApkVariantOutputImpl }
.all { output ->
output.outputFileName = "TS_${defaultConfig.versionName}${defaultConfig.versionNameSuffix ?: ""}_${name}.apk"
false
}
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
externalNativeBuild {
cmake {
path("src/main/cpp/CMakeLists.txt")
}
}
packaging {
resources.excludes.addAll(listOf("/META-INF/**", "/kotlin/**", "/okhttp3/**"))
jniLibs.excludes.addAll(listOf("**/liblog.so", "/lib/x86/**", "/lib/x86_64/**"))
}
buildFeatures {
prefab = true
buildConfig = true
}
lint {
checkDependencies = true
}
namespace = "gm.tieba.tabswitch"
}

dependencies {
compileOnly("de.robv.android.xposed:api:82")
api("androidx.annotation:annotation:1.7.1")

val roomVersion = "2.6.1"
implementation("androidx.room:room-runtime:$roomVersion")
annotationProcessor("androidx.room:room-compiler:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")
ksp("androidx.room:room-compiler:$roomVersion")

implementation("io.reactivex.rxjava3:rxjava:3.1.8")
implementation("org.luckypray:dexkit:2.0.1")
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("dev.rikka.ndk.thirdparty:cxx:1.2.0")
}

val adbExecutable: String = androidComponents.sdkComponents.adb.get().asFile.absolutePath

tasks.register("restartTieba") {
doLast {
exec {
commandLine(adbExecutable, "shell", "am", "force-stop", "com.baidu.tieba")
}
exec {
commandLine(adbExecutable, "shell", "am", "start", "$(pm resolve-activity --components com.baidu.tieba)")
}
}
}

afterEvaluate {
tasks.named("installDebug").configure {
finalizedBy(tasks.named("restartTieba"))
}
}
1 change: 0 additions & 1 deletion app/gm.jks.base64.txt

This file was deleted.

1 change: 0 additions & 1 deletion app/src/main/java/gm/tieba/tabswitch/Constants.kt
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package gm.tieba.tabswitch

object Constants {
@JvmStatic
val strings = mapOf(
"EULA" to "如果您对本协议的任何条款表示异议,您可以选择不使用本模块;使用本模块则意味着您已完全理解和同意遵守本协议。\n\n" +
" ①本模块开源免费,所有版本均为自动构建,可确保构建版本与源代码一致。对本模块的任何异议都必须以源代码为依据。\n" +
Expand Down
60 changes: 0 additions & 60 deletions app/src/main/java/gm/tieba/tabswitch/XposedContext.java

This file was deleted.

Loading
Loading