From ec7125939e564b80801414964e03be750ee6001d Mon Sep 17 00:00:00 2001 From: calvinpan Date: Mon, 20 Jul 2020 19:41:57 +0800 Subject: Fix MMS send with incorrect MMSC Context://telephony/carriers/subid/* only return the APN that queried by mcc/mnc. If there are two different carrier in the DB with same mcc/mnc, TelephonyProvider will return all of APN. Using SIM_APN_URI to query the current sim APN. Bug: 161394004 Test: Insert a fake APN that mcc/mnc same as current sim then send MMS. Change-Id: I26f1170a0727f97844678244841996e4e2ae2b19 --- src/com/android/mms/service/ApnSettings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/mms/service/ApnSettings.java b/src/com/android/mms/service/ApnSettings.java index 7e4a0fc..65d38b7 100644 --- a/src/com/android/mms/service/ApnSettings.java +++ b/src/com/android/mms/service/ApnSettings.java @@ -102,7 +102,7 @@ public class ApnSettings { } try (Cursor cursor = context.getContentResolver().query( - Uri.withAppendedPath(Telephony.Carriers.CONTENT_URI, "/subId/" + subId), + Uri.withAppendedPath(Telephony.Carriers.SIM_APN_URI, String.valueOf(subId)), APN_PROJECTION, selection, selectionArgs, -- cgit v1.2.3