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
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ce017b2..301387f 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -7673,6 +7673,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.
*
@@ -7733,6 +7742,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")) {