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

Commit

Permalink
[app] Support dynamic colors (#1512)
Browse files Browse the repository at this point in the history
  • Loading branch information
yujincheng08 committed Jan 6, 2022
1 parent b9093f2 commit af61504
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 6 deletions.
2 changes: 1 addition & 1 deletion app/build.gradle.kts
Expand Up @@ -193,7 +193,7 @@ dependencies {
implementation("dev.rikka.rikkax.widget:switchbar:1.0.2")
implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.1.0")
implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1")
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:3.0")
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:4.2")
implementation(project(":manager-service"))
}

Expand Down
2 changes: 1 addition & 1 deletion core/build.gradle.kts
Expand Up @@ -162,7 +162,7 @@ dependencies {
implementation("dev.rikka.ndk.thirdparty:cxx:1.2.0")
implementation("io.github.vvb2060.ndk:dobby:1.2")
implementation("org.apache.commons:commons-lang3:3.12.0")
implementation("de.upb.cs.swt:axml:2.1.1")
implementation("de.upb.cs.swt:axml:2.1.2")
compileOnly("androidx.annotation:annotation:1.3.0")
compileOnly(project(":hiddenapi-stubs"))
implementation(project(":hiddenapi-bridge"))
Expand Down
Expand Up @@ -76,6 +76,10 @@ private synchronized static PackageInfo getManagerPkgInfo(ApplicationInfo appInf
newAppInfo.deviceProtectedDataDir = appInfo.deviceProtectedDataDir;
newAppInfo.processName = appInfo.processName;
HiddenApiBridge.ApplicationInfo_credentialProtectedDataDir(newAppInfo, HiddenApiBridge.ApplicationInfo_credentialProtectedDataDir(appInfo));
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
HiddenApiBridge.ApplicationInfo_overlayPaths(newAppInfo, HiddenApiBridge.ApplicationInfo_overlayPaths(appInfo));
}
HiddenApiBridge.ApplicationInfo_resourceDirs(newAppInfo, HiddenApiBridge.ApplicationInfo_resourceDirs(appInfo));
newAppInfo.uid = appInfo.uid;
} catch (Throwable e) {
Utils.logE("get manager pkginfo", e);
Expand Down
26 changes: 22 additions & 4 deletions hiddenapi-bridge/src/main/java/hidden/HiddenApiBridge.java
Expand Up @@ -40,11 +40,11 @@
import android.system.Os;
import android.util.MutableInt;

import androidx.annotation.RequiresApi;

import java.io.File;
import java.io.FileDescriptor;

import dalvik.system.VMRuntime;

public class HiddenApiBridge {
public static int AssetManager_addAssetPath(AssetManager am, String path) {
return am.addAssetPath(path);
Expand Down Expand Up @@ -80,11 +80,11 @@ public static Intent Context_registerReceiverAsUser(Context ctx, BroadcastReceiv
return ctx.registerReceiverAsUser(receiver, user, filter, broadcastPermission, scheduler);
}

public static UserHandle UserHandle_ALL(){
public static UserHandle UserHandle_ALL() {
return UserHandle.ALL;
}

public static UserHandle UserHandle(int h){
public static UserHandle UserHandle(int h) {
return new UserHandle(h);
}

Expand All @@ -96,6 +96,24 @@ public static void ApplicationInfo_credentialProtectedDataDir(ApplicationInfo ap
applicationInfo.credentialProtectedDataDir = dir;
}

public static String[] ApplicationInfo_resourceDirs(ApplicationInfo applicationInfo) {
return applicationInfo.resourceDirs;
}

public static void ApplicationInfo_resourceDirs(ApplicationInfo applicationInfo, String[] resourceDirs) {
applicationInfo.resourceDirs = resourceDirs;
}

@RequiresApi(31)
public static String[] ApplicationInfo_overlayPaths(ApplicationInfo applicationInfo) {
return applicationInfo.overlayPaths;
}

@RequiresApi(31)
public static void ApplicationInfo_overlayPaths(ApplicationInfo applicationInfo, String[] overlayPaths) {
applicationInfo.overlayPaths = overlayPaths;
}

public static CompatibilityInfo Resources_getCompatibilityInfo(Resources res) {
return res.getCompatibilityInfo();
}
Expand Down
@@ -1,5 +1,12 @@
package android.content.pm;

import androidx.annotation.RequiresApi;

public class ApplicationInfo {
public String credentialProtectedDataDir;

public String[] resourceDirs;

@RequiresApi(31)
public String[] overlayPaths;
}

0 comments on commit af61504

Please sign in to comment.