mirror of
https://github.com/LittleTurtle2333/SimplicityTools.git
synced 2026-07-13 03:41:19 +08:00
26
.github/workflows/android.yml
vendored
26
.github/workflows/android.yml
vendored
@@ -32,10 +32,24 @@ jobs:
|
|||||||
path: |
|
path: |
|
||||||
~/.gradle/caches/build-cache-*
|
~/.gradle/caches/build-cache-*
|
||||||
key: gradle-builds-${{ github.sha }}
|
key: gradle-builds-${{ github.sha }}
|
||||||
- name: Clone UI
|
|
||||||
run: git clone https://github.com/Block-Network/blockmiui.git
|
- name: Init Submodule
|
||||||
- name: Grant execute permission for gradlew
|
run: |
|
||||||
run: chmod +x gradlew
|
git submodule init
|
||||||
- name: Build with Gradle
|
git submodule update
|
||||||
run: ./gradlew build
|
|
||||||
|
- name: Build with Gradle
|
||||||
|
run: bash ./gradlew assemble
|
||||||
|
|
||||||
|
- name: Upload Release APK
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: SimplicityTools_Release
|
||||||
|
path: "app/build/outputs/apk/release/*.apk"
|
||||||
|
|
||||||
|
- name: Upload Debug APK
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: Simplicity Tools_Debug
|
||||||
|
path: "app/build/outputs/apk/debug/*.apk"
|
||||||
|
|
||||||
|
|||||||
@@ -19,13 +19,8 @@ android {
|
|||||||
buildTypes {
|
buildTypes {
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
isZipAlignEnabled = true
|
|
||||||
isShrinkResources = true
|
isShrinkResources = true
|
||||||
setProguardFiles(
|
setProguardFiles(listOf("proguard-rules.pro")
|
||||||
listOf(
|
|
||||||
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
||||||
"proguard-rules.pro"
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -50,7 +45,7 @@ android {
|
|||||||
applicationVariants.all {
|
applicationVariants.all {
|
||||||
outputs.all {
|
outputs.all {
|
||||||
(this as BaseVariantOutputImpl).outputFileName =
|
(this as BaseVariantOutputImpl).outputFileName =
|
||||||
"Simplicity_Tools_Xposed-${versionName}-${name}.apk"
|
"Simplicity_Tools_Xposed-$versionName-$name.apk"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -974,6 +974,14 @@ class SettingsActivity : MIUIActivity() {
|
|||||||
SwitchV("remove_macro_blacklist")
|
SwitchV("remove_macro_blacklist")
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
add(
|
||||||
|
TextSummaryWithSwitchV(
|
||||||
|
TextSummaryV(
|
||||||
|
textId = R.string.battery_life_function
|
||||||
|
),
|
||||||
|
SwitchV("battery_life_function")
|
||||||
|
)
|
||||||
|
)
|
||||||
add(LineV())
|
add(LineV())
|
||||||
add(TitleTextV(resId = R.string.scope_mediaeditor))
|
add(TitleTextV(resId = R.string.scope_mediaeditor))
|
||||||
add(
|
add(
|
||||||
|
|||||||
@@ -2,12 +2,14 @@ package com.lt2333.simplicitytools.hook.app
|
|||||||
|
|
||||||
import com.lt2333.simplicitytools.hook.app.securitycenter.LockOneHundred
|
import com.lt2333.simplicitytools.hook.app.securitycenter.LockOneHundred
|
||||||
import com.lt2333.simplicitytools.hook.app.securitycenter.RemoveMacroBlacklist
|
import com.lt2333.simplicitytools.hook.app.securitycenter.RemoveMacroBlacklist
|
||||||
|
import com.lt2333.simplicitytools.hook.app.securitycenter.ShowBatteryTemperature
|
||||||
import com.lt2333.simplicitytools.hook.app.securitycenter.SkipWaitingTime
|
import com.lt2333.simplicitytools.hook.app.securitycenter.SkipWaitingTime
|
||||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
import de.robv.android.xposed.XposedBridge
|
import de.robv.android.xposed.XposedBridge
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
|
import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam
|
||||||
|
|
||||||
class SecurityCenter : IXposedHookLoadPackage {
|
class SecurityCenter : IXposedHookLoadPackage {
|
||||||
|
|
||||||
override fun handleLoadPackage(lpparam: LoadPackageParam) {
|
override fun handleLoadPackage(lpparam: LoadPackageParam) {
|
||||||
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
|
XposedBridge.log("Simplicitytools: 成功 Hook "+javaClass.simpleName)
|
||||||
//跳过 5/10秒等待时间
|
//跳过 5/10秒等待时间
|
||||||
@@ -16,5 +18,7 @@ class SecurityCenter : IXposedHookLoadPackage {
|
|||||||
LockOneHundred().handleLoadPackage(lpparam)
|
LockOneHundred().handleLoadPackage(lpparam)
|
||||||
//去除自动连招黑名单
|
//去除自动连招黑名单
|
||||||
RemoveMacroBlacklist().handleLoadPackage(lpparam)
|
RemoveMacroBlacklist().handleLoadPackage(lpparam)
|
||||||
|
//显示电池温度
|
||||||
|
ShowBatteryTemperature().handleLoadPackage(lpparam)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
package com.lt2333.simplicitytools.hook.app
|
package com.lt2333.simplicitytools.hook.app
|
||||||
|
|
||||||
import com.lt2333.simplicitytools.util.XSPUtils
|
import com.lt2333.simplicitytools.util.XSPUtils
|
||||||
|
import com.lt2333.simplicitytools.util.hookBeforeMethod
|
||||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
import de.robv.android.xposed.XC_MethodHook
|
|
||||||
import de.robv.android.xposed.XposedHelpers
|
import de.robv.android.xposed.XposedHelpers
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
||||||
|
|
||||||
@@ -15,11 +15,9 @@ class Updater : IXposedHookLoadPackage {
|
|||||||
"com.android.updater.common.utils.$letter", lpparam.classLoader
|
"com.android.updater.common.utils.$letter", lpparam.classLoader
|
||||||
) ?: continue
|
) ?: continue
|
||||||
if (classIfExists.declaredFields.size >= 9 && classIfExists.declaredMethods.size > 60) {
|
if (classIfExists.declaredFields.size >= 9 && classIfExists.declaredMethods.size > 60) {
|
||||||
XposedHelpers.findAndHookMethod(classIfExists, "T", object : XC_MethodHook() {
|
classIfExists.hookBeforeMethod("T") {
|
||||||
override fun beforeHookedMethod(param: MethodHookParam) {
|
it.result = false
|
||||||
param.result = false
|
}
|
||||||
}
|
|
||||||
})
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
letter++
|
letter++
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.lt2333.simplicitytools.hook.app.android
|
package com.lt2333.simplicitytools.hook.app.android
|
||||||
|
|
||||||
import com.lt2333.simplicitytools.util.*
|
import com.lt2333.simplicitytools.util.hasEnable
|
||||||
|
import com.lt2333.simplicitytools.util.hookBeforeMethod
|
||||||
import de.robv.android.xposed.IXposedHookLoadPackage
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
package com.lt2333.simplicitytools.hook.app.securitycenter
|
||||||
|
|
||||||
|
import android.app.AndroidAppHelper
|
||||||
|
import android.content.BroadcastReceiver
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.IntentFilter
|
||||||
|
import android.content.res.Configuration
|
||||||
|
import android.graphics.Color
|
||||||
|
import android.graphics.Typeface
|
||||||
|
import android.util.TypedValue
|
||||||
|
import android.view.Gravity
|
||||||
|
import android.view.View
|
||||||
|
import android.widget.LinearLayout
|
||||||
|
import android.widget.TextView
|
||||||
|
import cn.fkj233.ui.activity.dp2px
|
||||||
|
import com.lt2333.simplicitytools.util.*
|
||||||
|
import de.robv.android.xposed.IXposedHookLoadPackage
|
||||||
|
import de.robv.android.xposed.callbacks.XC_LoadPackage
|
||||||
|
import java.lang.reflect.Field
|
||||||
|
|
||||||
|
class ShowBatteryTemperature: IXposedHookLoadPackage {
|
||||||
|
|
||||||
|
override fun handleLoadPackage(lpparam: XC_LoadPackage.LoadPackageParam) {
|
||||||
|
if (!XSPUtils.getBoolean("battery_life_function", false)) return
|
||||||
|
val a = "com.miui.powercenter.a\$a".findClass(lpparam.classLoader)
|
||||||
|
"com.miui.powercenter.a".hookBeforeMethod(lpparam.classLoader, "b", Context::class.java) {
|
||||||
|
it.result = getBatteryTemperature(it.args[0] as Context).toString()
|
||||||
|
}
|
||||||
|
a.hookAfterMethod("run") {
|
||||||
|
val context = AndroidAppHelper.currentApplication().applicationContext
|
||||||
|
val isDarkMode = context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK == Configuration.UI_MODE_NIGHT_YES
|
||||||
|
val currentTemperatureValue = context.resources.getIdentifier("current_temperature_value", "id", "com.miui.securitycenter")
|
||||||
|
val field = a.getDeclaredField("a") as Field
|
||||||
|
field.isAccessible = true
|
||||||
|
val view = field.get(it.thisObject) as View
|
||||||
|
val textView = view.findViewById<TextView>(currentTemperatureValue)
|
||||||
|
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 36.399998f)
|
||||||
|
textView.gravity = Gravity.NO_GRAVITY
|
||||||
|
textView.setPadding(0, 0, 0, 0)
|
||||||
|
textView.height = dp2px(context, 49.099983f)
|
||||||
|
textView.textAlignment = View.TEXT_ALIGNMENT_VIEW_START
|
||||||
|
(textView.layoutParams as LinearLayout.LayoutParams).marginStart = dp2px(context, 25f)
|
||||||
|
(textView.layoutParams as LinearLayout.LayoutParams).topMargin = 0
|
||||||
|
val tempView = TextView(context)
|
||||||
|
tempView.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, dp2px(context, 49.099983f))
|
||||||
|
(tempView.layoutParams as LinearLayout.LayoutParams).marginStart = dp2px(context, 3.599976f)
|
||||||
|
tempView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13.099977f)
|
||||||
|
tempView.setPadding(0, dp2px(context, 25f), 0, 0)
|
||||||
|
tempView.text = "℃"
|
||||||
|
tempView.setTextColor(Color.parseColor(if (isDarkMode) "#e6e6e6" else "#333333"))
|
||||||
|
tempView.typeface = Typeface.create(null, 500, false)
|
||||||
|
tempView.textAlignment = View.TEXT_ALIGNMENT_VIEW_START
|
||||||
|
val tempeValueContainer = context.resources.getIdentifier("tempe_value_container", "id", "com.miui.securitycenter")
|
||||||
|
val linearLayout = view.findViewById<LinearLayout>(tempeValueContainer)
|
||||||
|
linearLayout.addView(tempView)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private fun getBatteryTemperature(context: Context): Int {
|
||||||
|
return context.registerReceiver(
|
||||||
|
null as BroadcastReceiver?,
|
||||||
|
IntentFilter("android.intent.action.BATTERY_CHANGED")
|
||||||
|
)!!.getIntExtra("temperature", 0) / 10
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -149,5 +149,6 @@
|
|||||||
<string name="show_notification_importance">显示通知重要程度</string>
|
<string name="show_notification_importance">显示通知重要程度</string>
|
||||||
<string name="remove_ad">去广告</string>
|
<string name="remove_ad">去广告</string>
|
||||||
<string name="remove_thememanager_ads">移除主题壁纸的广告</string>
|
<string name="remove_thememanager_ads">移除主题壁纸的广告</string>
|
||||||
|
<string name="battery_life_function">电池页面显示当前温度</string>
|
||||||
<string name="enable_wave_charge_animation">启用Alpha充电动画</string>
|
<string name="enable_wave_charge_animation">启用Alpha充电动画</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -149,5 +149,6 @@
|
|||||||
<string name="settings">設定</string>
|
<string name="settings">設定</string>
|
||||||
<string name="remove_ad">去廣告</string>
|
<string name="remove_ad">去廣告</string>
|
||||||
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
|
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
|
||||||
|
<string name="battery_life_function">電池頁面展示當前溫度</string>
|
||||||
<string name="enable_wave_charge_animation">啟用Alpha充電動畫</string>
|
<string name="enable_wave_charge_animation">啟用Alpha充電動畫</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -149,5 +149,6 @@
|
|||||||
<string name="settings">設定</string>
|
<string name="settings">設定</string>
|
||||||
<string name="remove_ad">去廣告</string>
|
<string name="remove_ad">去廣告</string>
|
||||||
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
|
<string name="remove_thememanager_ads">拿掉主題壁紙的廣告</string>
|
||||||
|
<string name="battery_life_function">電池頁面展示當前溫度</string>
|
||||||
<string name="enable_wave_charge_animation">啟用Alpha充電動畫</string>
|
<string name="enable_wave_charge_animation">啟用Alpha充電動畫</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -149,5 +149,6 @@
|
|||||||
<string name="show_notification_importance_summary">Show notification importance settings which are hidden in MIUI 12 and later versions</string>
|
<string name="show_notification_importance_summary">Show notification importance settings which are hidden in MIUI 12 and later versions</string>
|
||||||
<string name="remove_ad">Remove ads</string>
|
<string name="remove_ad">Remove ads</string>
|
||||||
<string name="remove_thememanager_ads">Remove ads for theme manager</string>
|
<string name="remove_thememanager_ads">Remove ads for theme manager</string>
|
||||||
|
<string name="battery_life_function">Battery page shows the current temperature</string>
|
||||||
<string name="enable_wave_charge_animation">Enable wave charge animation</string>
|
<string name="enable_wave_charge_animation">Enable wave charge animation</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
|||||||
#Sun Feb 13 16:53:34 CST 2022
|
#Sun Feb 13 16:53:34 CST 2022
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|||||||
Reference in New Issue
Block a user