mirror of
https://github.com/lineageos4microg/docker-lineage-cicd
synced 2024-11-09 10:09:56 +01:00
Maybe this will work :)
This commit is contained in:
parent
0d6e508e7e
commit
8b949e96ab
@ -1,36 +1,39 @@
|
|||||||
diff --git a/core/api/current.txt b/core/api/current.txt
|
diff --git a/core/api/current.txt b/core/api/current.txt
|
||||||
index 9b5316fb79b5..7d93b81a590e 100644
|
index 9b5316fb..9e0b9558 100644
|
||||||
--- a/core/api/current.txt
|
--- a/core/api/current.txt
|
||||||
+++ b/core/api/current.txt
|
+++ b/core/api/current.txt
|
||||||
@@ -95,6 +95,8 @@ package android {
|
@@ -95,6 +95,7 @@ package android {
|
||||||
field public static final String EXECUTE_APP_ACTION = "android.permission.EXECUTE_APP_ACTION";
|
field public static final String EXECUTE_APP_ACTION = "android.permission.EXECUTE_APP_ACTION";
|
||||||
field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
|
field public static final String EXPAND_STATUS_BAR = "android.permission.EXPAND_STATUS_BAR";
|
||||||
field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST";
|
field public static final String FACTORY_TEST = "android.permission.FACTORY_TEST";
|
||||||
+ <!-- @hide -->
|
+ field public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE";
|
||||||
+ field @FlaggedApi("android.permission-group.FAKE_PACKAGE_SIGNATURE") public static final String FAKE_PACKAGE_SIGNATURE = "android.permission.FAKE_PACKAGE_SIGNATURE";
|
|
||||||
field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE";
|
field public static final String FOREGROUND_SERVICE = "android.permission.FOREGROUND_SERVICE";
|
||||||
field public static final String FOREGROUND_SERVICE_CAMERA = "android.permission.FOREGROUND_SERVICE_CAMERA";
|
field public static final String FOREGROUND_SERVICE_CAMERA = "android.permission.FOREGROUND_SERVICE_CAMERA";
|
||||||
field public static final String FOREGROUND_SERVICE_CONNECTED_DEVICE = "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE";
|
field public static final String FOREGROUND_SERVICE_CONNECTED_DEVICE = "android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE";
|
||||||
@@ -328,6 +330,8 @@ package android {
|
@@ -328,6 +329,7 @@ package android {
|
||||||
field public static final String CALL_LOG = "android.permission-group.CALL_LOG";
|
field public static final String CALL_LOG = "android.permission-group.CALL_LOG";
|
||||||
field public static final String CAMERA = "android.permission-group.CAMERA";
|
field public static final String CAMERA = "android.permission-group.CAMERA";
|
||||||
field public static final String CONTACTS = "android.permission-group.CONTACTS";
|
field public static final String CONTACTS = "android.permission-group.CONTACTS";
|
||||||
+ <!-- @hide -->
|
+ field public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE";
|
||||||
+ field @FlaggedApi("android.permission-group.FAKE_PACKAGE") public static final String FAKE_PACKAGE = "android.permission-group.FAKE_PACKAGE";
|
|
||||||
field public static final String LOCATION = "android.permission-group.LOCATION";
|
field public static final String LOCATION = "android.permission-group.LOCATION";
|
||||||
field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
|
field public static final String MICROPHONE = "android.permission-group.MICROPHONE";
|
||||||
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
|
field public static final String NEARBY_DEVICES = "android.permission-group.NEARBY_DEVICES";
|
||||||
|
@@ -61892,4 +61894,3 @@ package org.apache.http.params {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
-
|
||||||
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
|
||||||
index 22591641cc66..f3660c30705c 100644
|
index 22591641..f3660c30 100644
|
||||||
--- a/core/res/AndroidManifest.xml
|
--- a/core/res/AndroidManifest.xml
|
||||||
+++ b/core/res/AndroidManifest.xml
|
+++ b/core/res/AndroidManifest.xml
|
||||||
@@ -4318,6 +4318,28 @@
|
@@ -4318,6 +4318,28 @@
|
||||||
android:description="@string/permdesc_getPackageSize"
|
android:description="@string/permdesc_getPackageSize"
|
||||||
android:protectionLevel="normal" />
|
android:protectionLevel="normal" />
|
||||||
|
|
||||||
+ <!-- Dummy user-facing group for faking package signature
|
+ <!-- Dummy user-facing group for faking package signature
|
||||||
+ @FlaggedApi("android.permission-group.FAKE_PACKAGE")
|
+ @FlaggedApi("android.permission-group.FAKE_PACKAGE")
|
||||||
+ @hide
|
+ @hide
|
||||||
+ -->
|
+ -->
|
||||||
+ <permission-group android:name="android.permission-group.FAKE_PACKAGE"
|
+ <permission-group android:name="android.permission-group.FAKE_PACKAGE"
|
||||||
+ android:label="@string/permgrouplab_fake_package_signature"
|
+ android:label="@string/permgrouplab_fake_package_signature"
|
||||||
@ -40,8 +43,8 @@ index 22591641cc66..f3660c30705c 100644
|
|||||||
+
|
+
|
||||||
+ <!-- Allows an application to change the package signature as
|
+ <!-- Allows an application to change the package signature as
|
||||||
+ seen by applications
|
+ seen by applications
|
||||||
+ @FlaggedApi("android.permission-group.FAKE_PACKAGE_SIGNATURE")
|
+ @FlaggedApi("android.permission-group.FAKE_PACKAGE_SIGNATURE")
|
||||||
+ @hide
|
+ @hide
|
||||||
+ -->
|
+ -->
|
||||||
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
+ <permission android:name="android.permission.FAKE_PACKAGE_SIGNATURE"
|
||||||
+ android:permissionGroup="android.permission-group.UNDEFINED"
|
+ android:permissionGroup="android.permission-group.UNDEFINED"
|
||||||
@ -54,14 +57,14 @@ index 22591641cc66..f3660c30705c 100644
|
|||||||
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
{@link android.content.pm.PackageManager#addPackageToPreferred}
|
||||||
for details. -->
|
for details. -->
|
||||||
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
|
||||||
index 4596ca74bf8f..a5ce5eb28735 100644
|
index 4596ca74..a5ce5eb2 100644
|
||||||
--- a/core/res/res/values/strings.xml
|
--- a/core/res/res/values/strings.xml
|
||||||
+++ b/core/res/res/values/strings.xml
|
+++ b/core/res/res/values/strings.xml
|
||||||
@@ -993,6 +993,19 @@
|
@@ -993,6 +993,19 @@
|
||||||
<string name="dream_preview_title">Preview, <xliff:g id="dream_name" example="Clock">%1$s</xliff:g></string>
|
<string name="dream_preview_title">Preview, <xliff:g id="dream_name" example="Clock">%1$s</xliff:g></string>
|
||||||
|
|
||||||
<!-- Permissions -->
|
<!-- Permissions -->
|
||||||
+
|
+
|
||||||
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
+ <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||||
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
+ <string name="permlab_fakePackageSignature">Spoof package signature</string>
|
||||||
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
+ <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||||
@ -74,17 +77,17 @@ index 4596ca74bf8f..a5ce5eb28735 100644
|
|||||||
+ <string name="permgrouprequest_fake_package_signature">Allow
|
+ <string name="permgrouprequest_fake_package_signature">Allow
|
||||||
+ <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to spoof package signature?</string>
|
+ <b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g></b> to spoof package signature?</string>
|
||||||
+
|
+
|
||||||
|
|
||||||
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
<!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. -->
|
||||||
<string name="permlab_statusBar">disable or modify status bar</string>
|
<string name="permlab_statusBar">disable or modify status bar</string>
|
||||||
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
|
diff --git a/services/core/java/com/android/server/pm/ComputerEngine.java b/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||||
index d8cbe9d5e7c7..827a20616ace 100644
|
index d8cbe9d5..827a2061 100644
|
||||||
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
|
--- a/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||||
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
|
+++ b/services/core/java/com/android/server/pm/ComputerEngine.java
|
||||||
@@ -1512,6 +1512,29 @@ public class ComputerEngine implements Computer {
|
@@ -1512,6 +1512,29 @@ public class ComputerEngine implements Computer {
|
||||||
return Optional.of(fakeSignature);
|
return Optional.of(fakeSignature);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ private boolean requestsFakeSignature(AndroidPackage p) {
|
+ private boolean requestsFakeSignature(AndroidPackage p) {
|
||||||
+ return p.getMetaData() != null &&
|
+ return p.getMetaData() != null &&
|
||||||
+ p.getMetaData().getString("fake-signature") != null;
|
+ p.getMetaData().getString("fake-signature") != null;
|
||||||
@ -120,13 +123,13 @@ index d8cbe9d5e7c7..827a20616ace 100644
|
|||||||
+ && !requestsFakeSignature(p))
|
+ && !requestsFakeSignature(p))
|
||||||
|| ArrayUtils.isEmpty(p.getRequestedPermissions())) ? Collections.emptySet()
|
|| ArrayUtils.isEmpty(p.getRequestedPermissions())) ? Collections.emptySet()
|
||||||
: mPermissionManager.getGrantedPermissions(ps.getPackageName(), userId);
|
: mPermissionManager.getGrantedPermissions(ps.getPackageName(), userId);
|
||||||
|
|
||||||
- PackageInfo packageInfo = PackageInfoUtils.generate(p, gids, flags,
|
- PackageInfo packageInfo = PackageInfoUtils.generate(p, gids, flags,
|
||||||
+ PackageInfo packageInfo = mayFakeSignature(p, PackageInfoUtils.generate(p, gids, flags,
|
+ PackageInfo packageInfo = mayFakeSignature(p, PackageInfoUtils.generate(p, gids, flags,
|
||||||
state.getFirstInstallTimeMillis(), ps.getLastUpdateTime(), installedPermissions,
|
state.getFirstInstallTimeMillis(), ps.getLastUpdateTime(), installedPermissions,
|
||||||
- grantedPermissions, state, userId, ps);
|
- grantedPermissions, state, userId, ps);
|
||||||
+ grantedPermissions, state, userId, ps),
|
+ grantedPermissions, state, userId, ps),
|
||||||
+ grantedPermissions);
|
+ grantedPermissions);
|
||||||
|
|
||||||
if (packageInfo == null) {
|
if (packageInfo == null) {
|
||||||
return null;
|
return null;
|
||||||
|
Loading…
Reference in New Issue
Block a user