Refactor Sms function of using ActivtyThread hidden API
Refactor Telephony function with a server method to return current package.
Bug: 145147528
Test: Treehugger; manual
Change-Id: I70e129ef9e4f94b45090ab08c2cc227257833263
Merged-In: I70e129ef9e4f94b45090ab08c2cc227257833263
(cherry picked from commit da2d6ec3f6629ac4acc226490aa15196ce4b622a)
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index f11da4b..b4cef7d 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -7819,6 +7819,15 @@
}
/**
+ * Get the current calling package name.
+ * @return the current calling package name
+ */
+ @Override
+ public String getCurrentPackageName() {
+ return mApp.getPackageManager().getPackagesForUid(Binder.getCallingUid())[0];
+ }
+
+ /**
* Return whether data is enabled for certain APN type. This will tell if framework will accept
* corresponding network requests on a subId.
*
@@ -7879,6 +7888,9 @@
@Override
public void enqueueSmsPickResult(String callingPackage, IIntegerConsumer pendingSubIdResult) {
+ if (callingPackage == null) {
+ callingPackage = getCurrentPackageName();
+ }
SmsPermissions permissions = new SmsPermissions(getDefaultPhone(), mApp,
(AppOpsManager) mApp.getSystemService(Context.APP_OPS_SERVICE));
if (!permissions.checkCallingCanSendSms(callingPackage, "Sending message")) {