summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPranav Vashi <neobuddy89@gmail.com>2021-05-14 20:22:34 +0530
committeralk3pInjection <webmaster@raspii.tech>2021-09-27 21:17:05 +0800
commit8abff700cb9c045874f3c336e11b2e624ae53886 (patch)
tree9f096d2c670238f612ca6d8ba4b3a7752114c87a
parent61eaf79c49593f1ec220c35abadbd8b4a203fd1c (diff)
[crdroid][11.0] base: General workarounds for stitchimage
Squashed commit of the following: Author: ender1324 <ender1324@abv.bg> Date: Thu, 4 Feb 2021 15:16:33 +0200 Fallback stitchimage's broken value to unknown - For some reason stitchimage returns 9528, no idea why - A proper fix would be to fix it from the apk itself but "we dont do that here" - Thanks to kandnub for helping me find the core issue Fixes: 02-03 22:05:46.956 10753 10753 E AndroidRuntime: java.lang.RuntimeException: Unable to create service com.asus.stitchimage.OverlayService: java.lang.IllegalArgumentException: Invalid usage 9528 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.app.ActivityThread.handleCreateService(ActivityThread.java:4198) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.app.ActivityThread.access$1500(ActivityThread.java:237) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1932) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.os.Looper.loop(Looper.java:223) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7661) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: Caused by: java.lang.IllegalArgumentException: Invalid usage 9528 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.media.AudioAttributes$Builder.setUsage(AudioAttributes.java:783) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.asus.stitchimage.f.g.b(Unknown Source:7) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.asus.stitchimage.f.t.a(Unknown Source:19) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.asus.stitchimage.OverlayService.B(Unknown Source:83) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at com.asus.stitchimage.OverlayService.onCreate(Unknown Source:73) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: at android.app.ActivityThread.handleCreateService(ActivityThread.java:4186) 02-03 22:05:46.956 10753 10753 E AndroidRuntime: ... 8 more Co-authored-by: Kandarp <kandnub@gmail.com> Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Author: jhenrique09 <jhenrique09.mcz@hotmail.com> Date: Wed, 3 Feb 2021 22:20:43 +0200 base: Whitelist stitchimage Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Author: Pranav Vashi <neobuddy89@gmail.com> Date: Fri, 14 May 2021 20:22:34 +0530 Fix screenshot sharing with longshot and launcher Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Author: ender1324 <ender1324@abv.bg> Date: Wed, 3 Feb 2021 15:40:04 +0200 base: Add missing long screenshot permission Signed-off-by: Pranav Vashi <neobuddy89@gmail.com> Signed-off-by: alk3pInjection <webmaster@raspii.tech> Change-Id: I4fd74068c6b634c7db5ae0226a85b11959a532ed
-rw-r--r--media/java/android/media/AudioAttributes.java7
-rw-r--r--packages/SystemUI/AndroidManifest.xml3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java4
-rw-r--r--services/core/java/com/android/server/uri/UriGrantsManagerService.java5
4 files changed, 18 insertions, 1 deletions
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 158482a6a833..7ec04ba87170 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -184,6 +184,10 @@ public final class AudioAttributes implements Parcelable {
*/
public final static int USAGE_ASSISTANT = 16;
/**
+ * Usage value to use when stitchimage returns 9528 for some reason
+ */
+ public final static int USAGE_STITCH = 9528;
+ /**
* @hide
* Usage value to use for assistant voice interaction with remote caller on Cell and VoIP calls.
*/
@@ -779,6 +783,9 @@ public final class AudioAttributes implements Parcelable {
case USAGE_ASSISTANT:
mUsage = usage;
break;
+ case USAGE_STITCH:
+ mUsage = USAGE_UNKNOWN;
+ break;
default:
throw new IllegalArgumentException("Invalid usage " + usage);
}
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 6bee19745c87..402ddda34b56 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -272,6 +272,9 @@
<uses-permission android:name="android.permission.ADD_TRUSTED_DISPLAY" />
+ <!-- Asus Long screenshot -->
+ <uses-permission android:name="com.asus.stitchimage.permission.EXPORTED_FOR_ASUS_APPS"/>
+
<protected-broadcast android:name="com.android.settingslib.action.REGISTER_SLICE_RECEIVER" />
<protected-broadcast android:name="com.android.settingslib.action.UNREGISTER_SLICE_RECEIVER" />
<protected-broadcast android:name="com.android.settings.flashlight.action.FLASHLIGHT_CHANGED" />
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java
index da1ef2f0f650..5bb939e35d12 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CastControllerImpl.java
@@ -177,6 +177,10 @@ public class CastControllerImpl implements CastController {
}
synchronized (mProjectionLock) {
+ if (mProjection != null && mProjection.getPackageName().equals(
+ "com.asus.stitchimage")){
+ mProjection = null;
+ }
if (mProjection != null) {
final CastDevice device = new CastDevice();
device.id = mProjection.getPackageName();
diff --git a/services/core/java/com/android/server/uri/UriGrantsManagerService.java b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
index e8a0379473da..abaf7c472899 100644
--- a/services/core/java/com/android/server/uri/UriGrantsManagerService.java
+++ b/services/core/java/com/android/server/uri/UriGrantsManagerService.java
@@ -1126,12 +1126,15 @@ public class UriGrantsManagerService extends IUriGrantsManager.Stub {
final int callingAppId = UserHandle.getAppId(callingUid);
if ((callingAppId == SYSTEM_UID) || (callingAppId == ROOT_UID)) {
if ("com.android.settings.files".equals(grantUri.uri.getAuthority())
- || "com.android.settings.module_licenses".equals(grantUri.uri.getAuthority())) {
+ || "com.android.settings.module_licenses".equals(grantUri.uri.getAuthority())
+ || "com.android.launcher3.overview.fileprovider".equals(grantUri.uri.getAuthority())
+ || "com.asus.stitchimage.fileprovider".equals(grantUri.uri.getAuthority())) {
// Exempted authority for
// 1. cropping user photos and sharing a generated license html
// file in Settings app
// 2. sharing a generated license html file in TvSettings app
// 3. Sharing module license files from Settings app
+ // 4. Sharing screenshot from Launcher and Screenshot apps
} else {
Slog.w(TAG, "For security reasons, the system cannot issue a Uri permission"
+ " grant to " + grantUri + "; use startActivityAsCaller() instead");