diff options
author | Pranav Vashi <neobuddy89@gmail.com> | 2021-05-14 20:22:34 +0530 |
---|---|---|
committer | alk3pInjection <webmaster@raspii.tech> | 2021-09-27 21:17:05 +0800 |
commit | 8abff700cb9c045874f3c336e11b2e624ae53886 (patch) | |
tree | 9f096d2c670238f612ca6d8ba4b3a7752114c87a | |
parent | 61eaf79c49593f1ec220c35abadbd8b4a203fd1c (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
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"); |