Skip to content

Commit 3f138d6

Browse files
authored
Merge pull request #271 from Mahmud0808/master
Merge master into fdroid
2 parents 66fbf14 + 9c7bc78 commit 3f138d6

File tree

158 files changed

+10112
-7035
lines changed

Some content is hidden

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

158 files changed

+10112
-7035
lines changed

.github/workflows/build_apk.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,29 @@ name: Build Release APK
22

33
on:
44
workflow_dispatch:
5-
branches:
6-
- fdroid
75

86
jobs:
97
build:
108
name: Build Release APK
119
runs-on: ubuntu-latest
10+
1211
steps:
13-
- uses: actions/checkout@v4
12+
- name: Checkout fdroid branch
13+
uses: actions/checkout@v4
14+
with:
15+
ref: fdroid
16+
fetch-depth: 0
17+
18+
- name: Show Git info
19+
run: |
20+
echo "Branch:"
21+
git branch --show-current
22+
echo ""
23+
echo "Commit hash:"
24+
git rev-parse HEAD
25+
echo ""
26+
echo "Commit info:"
27+
git log -1 --oneline
1428
1529
- name: Set up JDK 21
1630
uses: actions/setup-java@v4

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ Elevate your creativity with effortless material customization. Instantly tweak
4545

4646
- Working **Root**, **Shizuku**, or **Wireless ADB** environment
4747

48+
> [!WARNING]
49+
>
50+
> SuperSU root is not supported.
51+
4852
## How to Use 🚀
4953

5054
- Download and install the apk

app/build.gradle.kts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ android {
1616
defaultConfig {
1717
minSdk = 31
1818
targetSdk = 36
19-
versionCode = 38
20-
versionName = "v2.0.3"
19+
versionCode = 39
20+
versionName = "v2.1"
2121

2222
ndk {
2323
abiFilters.addAll(listOf("arm64-v8a", "armeabi-v7a", "x86", "x86_64"))
@@ -136,6 +136,7 @@ dependencies {
136136
compileOnly(project(":systemstubs"))
137137
implementation(project(":libadb"))
138138
implementation(project(":colorpickerdialog"))
139+
implementation(project(":materialcolorutilities"))
139140

140141
implementation(libs.core.ktx)
141142
implementation(libs.libsu.core)

app/src/main/aidl/com/drdisagree/colorblendr/service/IShizukuConnection.aidl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ interface IShizukuConnection {
66
void applyFabricatedColors(String jsonString) = 2;
77
void removeFabricatedColors() = 3;
88
String getCurrentSettings() = 4;
9+
String run(String command) = 5;
910
}

app/src/main/assets/privacy_policy.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,25 +29,25 @@ Permissions Used and Justifications
2929
The app requests the following permissions only to enable essential functionality:
3030

3131
1. **Query All Packages**
32-
- Purpose: To list installed apps for per-app theming functionality.
33-
- Justification: Required for selecting which apps to apply themes to.
34-
- Access is entirely local and is never shared or transmitted.
32+
Purpose: To list installed apps for per-app theming functionality.
33+
Justification: Required for selecting which apps to apply themes to.
34+
Access is entirely local and is never shared or transmitted.
3535

3636
2. **Post Notification**
37-
- Purpose: To keep the app's background service alive.
38-
- ColorBlendr does **not** read or analyze the contents of your notifications.
37+
Purpose: To keep the app's background service alive.
38+
ColorBlendr does **not** read or analyze the contents of your notifications.
3939

4040
3. **Read External Storage / File Access**
41-
- Purpose: To read the current wallpaper file for extracting color data.
42-
- Accessed locally and not stored or transmitted.
41+
Purpose: To read the current wallpaper file for extracting color data.
42+
Accessed locally and not stored or transmitted.
4343

4444
4. **Photos / Media / Images Permission**
45-
- Purpose: To allow the user to pick an image and extract colors from it.
46-
- The image is processed locally and not stored or uploaded.
45+
Purpose: To allow the user to pick an image and extract colors from it.
46+
The image is processed locally and not stored or uploaded.
4747

4848
5. **Internet Permission**
49-
- Purpose: To load profile pictures of app contributors and translators.
50-
- No user data is sent or received beyond basic image display.
49+
Purpose: To load profile pictures of app contributors and translators.
50+
No user data is sent or received beyond basic image display.
5151

5252
External Links
5353
--------------

app/src/main/assets/translators.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

app/src/main/java/com/drdisagree/colorblendr/data/common/Constant.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ object Constant {
5151
const val CUSTOM_MONET_STYLE = "userGeneratedMonetStyle"
5252
const val MODE_SPECIFIC_THEMES = "modeSpecificThemes"
5353
const val SCREEN_OFF_UPDATE_COLORS = "screenOffUpdateColors"
54+
const val COLORSPEC_VERSION_2025 = "colorspecVersion2025"
5455
const val DARKER_LAUNCHER_ICONS = "darkerLauncherIcons"
5556
const val SEMI_TRANSPARENT_LAUNCHER_ICONS = "semiTransparentLauncherIcons"
5657
const val FORCE_PITCH_BLACK_SETTINGS = "forcePitchBlackSettings"

app/src/main/java/com/drdisagree/colorblendr/data/common/Utilities.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.drdisagree.colorblendr.data.common
22

33
import android.graphics.Color
44
import com.drdisagree.colorblendr.data.common.Constant.APP_LIST_FILTER_METHOD
5+
import com.drdisagree.colorblendr.data.common.Constant.COLORSPEC_VERSION_2025
56
import com.drdisagree.colorblendr.data.common.Constant.CUSTOM_MONET_STYLE
67
import com.drdisagree.colorblendr.data.common.Constant.DARKER_LAUNCHER_ICONS
78
import com.drdisagree.colorblendr.data.common.Constant.FABRICATED_OVERLAY_FOR_APPS_STATE
@@ -155,6 +156,14 @@ object Utilities {
155156
putBoolean(SCREEN_OFF_UPDATE_COLORS, enabled)
156157
}
157158

159+
fun getColorSpecVersion2025Enabled(): Boolean {
160+
return getBoolean(COLORSPEC_VERSION_2025, false)
161+
}
162+
163+
fun setColorSpecVersion2025Enabled(enabled: Boolean) {
164+
putBoolean(COLORSPEC_VERSION_2025, enabled)
165+
}
166+
158167
fun darkerLauncherIconsEnabled(): Boolean {
159168
return getBoolean(DARKER_LAUNCHER_ICONS, false)
160169
}

app/src/main/java/com/drdisagree/colorblendr/service/RootConnection.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,16 @@ class RootConnection : RootService() {
4545
* the Activity Manager to receive notifications about process state changes.
4646
*/
4747
private val processListener: IProcessObserver.Stub = object : IProcessObserver.Stub() {
48+
override fun onProcessStarted(
49+
pid: Int,
50+
processUid: Int,
51+
packageUid: Int,
52+
packageName: String?,
53+
processName: String?
54+
) {
55+
// Do nothing
56+
}
57+
4858
@Throws(RemoteException::class)
4959
override fun onForegroundActivitiesChanged(
5060
pid: Int,

app/src/main/java/com/drdisagree/colorblendr/service/ShizukuConnection.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,18 @@ class ShizukuConnection : IShizukuConnection.Stub {
103103
currentSettings
104104
}
105105
}
106+
107+
/**
108+
* Runs a specified shell command and returns its output.
109+
*
110+
* This function executes a given command using the `Shell.cmd()` utility.
111+
* It captures the standard output of the command execution and returns it as a list of strings,
112+
* where each string is a line from the output.
113+
*
114+
* @param command The shell command to be executed.
115+
* @return A list of strings representing the lines of the command's standard output.
116+
*/
117+
override fun run(command: String): String {
118+
return Shell.cmd(command).exec().out.joinToString("\n")
119+
}
106120
}

0 commit comments

Comments
 (0)