Skip to content

Commit

Permalink
Merge pull request #149 from Super12138/compose-refactor
Browse files Browse the repository at this point in the history
使用 Jetpack Compose 重构大部分功能
  • Loading branch information
Super12138 authored Feb 7, 2025
2 parents a181480 + aa3ad69 commit ba2c979
Show file tree
Hide file tree
Showing 249 changed files with 4,531 additions and 8,515 deletions.
70 changes: 47 additions & 23 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.ksp)
alias(libs.plugins.aboutlibraries)
}

ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}

val baseVersionName = "1.0.6"
// 配置版本信息
val baseVersionName = "compose-refactor"
val commitHash by lazy { "git rev-parse --short HEAD".exec() }
val verCode by lazy { "git rev-list --count HEAD".exec().toInt() }

Expand Down Expand Up @@ -53,50 +57,70 @@ android {
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_18
targetCompatibility = JavaVersion.VERSION_18
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
kotlinOptions {
jvmTarget = "18"
jvmTarget = "21"
}
aboutLibraries {
configPath = "$projectDir/licences"
}
buildFeatures {
viewBinding = true
compose = true
}
}

dependencies {

// Android X
implementation(libs.androidx.core)
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.core.core.splashscreen)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.activity)
implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.fragment)
implementation(libs.androidx.fragment.ktx)
implementation(libs.androidx.recyclerview)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.preference)
implementation(libs.androidx.preference.ktx)
implementation(libs.androidx.security)
// Material Design
implementation(libs.material)
implementation(libs.androidx.core.splashscreen)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.androidx.compose.runtime.livedata)
// implementation(libs.androidx.security)
// Compose
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.animation)
implementation(libs.androidx.navigation)
implementation(libs.androidx.material3.adaptive)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.android)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.material.icon.core)
implementation(libs.androidx.material.icon.extended)
// About Libraries
implementation(libs.aboutlibraries.core)
implementation(libs.aboutlibraries.compose)
// M3 Color
implementation(libs.com.kyant0.m3color)
// Konfetti
implementation(libs.nl.dionsegijn.konfetti.compose)
// Lazy Column Scrollbar
implementation(libs.lazycolumnscrollbar)
// Kotlin Coroutines
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinx.coroutines.android)
// Room
implementation(libs.androidx.room.runtime)
implementation(libs.androidx.room.ktx)
annotationProcessor(libs.androidx.room.compiler)
ksp(libs.androidx.room.compiler)
// FastScroll
implementation(project(":fastscroll"))
// Test
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}

// 命令执行工具类
fun String.exec(): String = exec(this)

fun Project.exec(command: String): String = providers.exec {
Expand Down
16 changes: 16 additions & 0 deletions app/licences/libraries/eastereggs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"uniqueId": "com.dede.android_eggs:3.4.0",
"artifactVersion": "3.4.0",
"name": "AndroidEasterEggs",
"developers": [
{
"name": "hushenghao"
}
],
"description": "Collections the Android release Easter Egg",
"website": "https://github.com/hushenghao/AndroidEasterEggs",
"tag": "custom",
"licenses": [
"Apache-2.0"
]
}
16 changes: 16 additions & 0 deletions app/licences/libraries/libchecker.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"uniqueId": "com.absinthe.libchecker:2.5.0",
"artifactVersion": "2.5.0",
"name": "LibChecker",
"developers": [
{
"name": "LibChecker"
}
],
"description": "An app to view libraries used in apps in your device.",
"website": "https://github.com/LibChecker/LibChecker",
"tag": "custom",
"licenses": [
"Apache-2.0"
]
}
16 changes: 16 additions & 0 deletions app/licences/libraries/mauth.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"uniqueId": "com.xinto.mauth:0.9.0",
"artifactVersion": "0.9.0",
"name": "Mauth",
"developers": [
{
"name": "X1nto"
}
],
"description": "A Material You Two-factor Authentication app",
"website": "https://github.com/X1nto/Mauth/",
"tag": "custom",
"licenses": [
"GPL-3.0-or-later"
]
}
16 changes: 16 additions & 0 deletions app/licences/libraries/readyou.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"uniqueId": "me.ash.reader:0.11.1",
"artifactVersion": "0.11.1",
"name": "Read You",
"developers": [
{
"name": "Ashinch"
}
],
"description": "An Android RSS reader presented in Material You style.",
"website": "https://github.com/Ashinch/ReadYou/",
"tag": "custom",
"licenses": [
"GPL-3.0-or-later"
]
}
13 changes: 13 additions & 0 deletions app/licences/libraries/skipad.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"uniqueId": "com.github.crayonxiaoxin.abc:1.0.1",
"artifactVersion": "1.0.1",
"name": "SkipAD",
"developers": [
{
"name": "crayonxiaoxin"
}
],
"description": "Android无障碍跳过开屏广告",
"website": "https://github.com/crayonxiaoxin/SkipAD",
"tag": "custom"
}
4 changes: 1 addition & 3 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,4 @@

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-dontwarn javax.annotation.Nullable
-dontwarn javax.annotation.concurrent.GuardedBy
#-renamesourcefileattribute SourceFile
52 changes: 0 additions & 52 deletions app/schemas/cn.super12138.todo.logic.dao.ToDoRoomDB/1.json

This file was deleted.

14 changes: 5 additions & 9 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,30 @@
xmlns:tools="http://schemas.android.com/tools">

<application
android:name=".ToDoApp"
android:name=".TodoApp"
android:allowBackup="true"
android:appCategory="productivity"
android:dataExtractionRules="@xml/data_extraction_rules"
android:enableOnBackInvokedCallback="true"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.ToDo.Starting"
tools:targetApi="35">

<activity
android:name=".views.activities.MainActivity"
android:name=".ui.activities.MainActivity"
android:exported="true"
android:launchMode="singleTask">
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<action android:name="android.intent.action.APPLICATION_PREFERENCES" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".views.activities.CrashActivity"
android:name=".ui.activities.CrashActivity"
android:exported="false"
android:theme="@style/Theme.ToDo" />
</application>

</manifest>
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,25 @@ package cn.super12138.todo
import android.annotation.SuppressLint
import android.app.Application
import android.content.Context
import cn.super12138.todo.logic.dao.ToDoRoomDB
import cn.super12138.todo.views.activities.CrashHandler
import com.google.android.material.color.DynamicColors
import cn.super12138.todo.logic.database.TodoDatabase
import cn.super12138.todo.ui.pages.crash.CrashHandler

class ToDoApp : Application() {
private val database by lazy { ToDoRoomDB.getDatabase(this) }
class TodoApp : Application() {
private val database by lazy { TodoDatabase.getDatabase(this) }

companion object {
@SuppressLint("StaticFieldLeak")
lateinit var context: Context
lateinit var db: ToDoRoomDB
lateinit var db: TodoDatabase
}

override fun onCreate() {
super.onCreate()
DynamicColors.applyToActivitiesIfAvailable(this)

db = database
context = applicationContext

val crashHandler = CrashHandler(this)
val crashHandler = CrashHandler(applicationContext)
Thread.setDefaultUncaughtExceptionHandler(crashHandler)

db = database
}
}
38 changes: 0 additions & 38 deletions app/src/main/kotlin/cn/super12138/todo/constant/Constants.kt

This file was deleted.

12 changes: 0 additions & 12 deletions app/src/main/kotlin/cn/super12138/todo/constant/GlobalValues.kt

This file was deleted.

Loading

0 comments on commit ba2c979

Please sign in to comment.