From f6ea975eaea6d217c2ea50eeec50053437cca2c4 Mon Sep 17 00:00:00 2001 From: Aishwarya Mallampati Date: Thu, 14 Jul 2022 15:16:25 +0000 Subject: [PATCH] Implementation of metrics for MMS. Added a utility method to test if the given application is default mms application. Bug: 233259583 Test: atest MmsServiceTests Change-Id: I1beae190ab42b18191a5d4e3791b53a27645053a --- .../internal/telephony/SmsApplication.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/telephony/common/com/android/internal/telephony/SmsApplication.java b/telephony/common/com/android/internal/telephony/SmsApplication.java index 4924a82c385f9..423022599de60 100644 --- a/telephony/common/com/android/internal/telephony/SmsApplication.java +++ b/telephony/common/com/android/internal/telephony/SmsApplication.java @@ -1146,4 +1146,35 @@ public final class SmsApplication { } return null; } + + /** + * Check if a package is default mms app (or equivalent, like bluetooth) + * + * @param context context from the calling app + * @param packageName the name of the package to be checked + * @return true if the package is default mms app or bluetooth + */ + @UnsupportedAppUsage + public static boolean isDefaultMmsApplication(Context context, String packageName) { + if (packageName == null) { + return false; + } + String defaultMmsPackage = getDefaultMmsApplicationPackageName(context); + String bluetoothPackageName = context.getResources() + .getString(com.android.internal.R.string.config_systemBluetoothStack); + + if ((defaultMmsPackage != null && defaultMmsPackage.equals(packageName)) + || bluetoothPackageName.equals(packageName)) { + return true; + } + return false; + } + + private static String getDefaultMmsApplicationPackageName(Context context) { + ComponentName component = getDefaultMmsApplication(context, false); + if (component != null) { + return component.getPackageName(); + } + return null; + } }