Merge 25Q1 (ab/12770256) to aosp-main-future

Bug: 385190204
Merged-In: I1c5acde9514207aba7cabceeaca9ccbd8c7f461a
Change-Id: I6a1d965a56f4f370c3dc9971999fe34a32219e75
diff --git a/OWNERS b/OWNERS
index ff1a04e..aa0dee2 100644
--- a/OWNERS
+++ b/OWNERS
@@ -18,4 +18,4 @@
 xiaotonj@google.com
 
 # Domain Selection code is co-owned, adding additional owners for this code
-per-file EmergencyStateTracker*=hwangoo@google.com,forestchoi@google.com,avinashmp@google.com,mkoon@google.com,seheele@google.com,jdyou@google.com
+per-file EmergencyStateTracker*=hwangoo@google.com,avinashmp@google.com,mkoon@google.com,seheele@google.com,jdyou@google.com
diff --git a/jarjar-rules-shared.txt b/jarjar-rules-shared.txt
index 2353507..01bdb75 100644
--- a/jarjar-rules-shared.txt
+++ b/jarjar-rules-shared.txt
@@ -18,6 +18,7 @@
 rule com.android.internal.util.State* com.android.internal.telephony.State@1
 rule com.android.internal.util.StateMachine* com.android.internal.telephony.StateMachine@1
 rule com.android.internal.util.UserIcons* com.android.internal.telephony.UserIcons@1
+rule com.android.server.updates.ConfigUpdateInstallReceiver* com.android.internal.telephony.server.updates.ConfigUpdateInstallReceiver@1
 rule com.google.i18n.phonenumbers.** com.android.internal.telephony.phonenumbers.@1
 
 # Module library in frameworks/libs/net
diff --git a/proguard.flags b/proguard.flags
index ebc8922..1c79a2d 100644
--- a/proguard.flags
+++ b/proguard.flags
@@ -6,24 +6,27 @@
 
 # Keep deprecated GSM SMS API
 -keepclasseswithmembers class android.telephony.gsm.SmsManager,android.telephony.gsm.SmsManager$* {
-public *;
+    public *;
 }
 -keepclasseswithmembers class android.telephony.gsm.SmsMessage,android.telephony.gsm.SmsMessage$* {
-public protected *;
+    public protected *;
 }
 
 # Keep telephony sysprop
 -keepclasseswithmembers class android.internal.telephony.sysprop.TelephonyProperties {
-public *;
+    public *;
 }
 
 # Keep public classes and public/protected members
 -keepclasseswithmembers class com.android.internal.telephony.** {
-public protected *;
+    public protected *;
 }
 
 # Keep classes and members that have the @UnsupportedAppUsage annotation
--keep @**.UnsupportedAppUsage class *
+# TODO(b/373579455): Evaluate if <init> needs to be kept.
+-keep @**.UnsupportedAppUsage class * {
+    void <init>();
+}
 -keepclassmembers class * {
-@**.UnsupportedAppUsage *;
+    @**.UnsupportedAppUsage *;
 }
diff --git a/src/java/com/android/internal/telephony/RIL.java b/src/java/com/android/internal/telephony/RIL.java
index 39b6d37..2857244 100644
--- a/src/java/com/android/internal/telephony/RIL.java
+++ b/src/java/com/android/internal/telephony/RIL.java
@@ -6010,7 +6010,6 @@
             case RIL_REQUEST_GET_IMEISV:
             case RIL_REQUEST_SIM_OPEN_CHANNEL:
             case RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL:
-            case RIL_REQUEST_DEVICE_IMEI:
 
                 if (!RILJ_LOGV) {
                     // If not versbose logging just return and don't display IMSI and IMEI, IMEISV
@@ -6052,6 +6051,16 @@
             }
             sb.append("}");
             s = sb.toString();
+        } else if (req == RIL_REQUEST_DEVICE_IMEI) {
+            sb = new StringBuilder("{");
+            ImeiInfo imeiInfo = (ImeiInfo) ret;
+            if (imeiInfo != null) {
+                sb.append(Rlog.pii(RILJ_LOG_TAG, imeiInfo.imei)).append(", ");
+                sb.append(imeiInfo.type).append(", ");
+                sb.append(imeiInfo.svn);
+            }
+            sb.append("}");
+            s = sb.toString();
         } else if (req == RIL_REQUEST_GET_CURRENT_CALLS) {
             ArrayList<DriverCall> calls = (ArrayList<DriverCall>) ret;
             sb = new StringBuilder("{");