Merge "Use PendingIntent.FLAG_IMMUTABLE in PendingIntent in NotificationMgr" into qt-dev
diff --git a/src/com/android/phone/EmergencyCallbackModeService.java b/src/com/android/phone/EmergencyCallbackModeService.java
index a07f7aa..86f8fe6 100644
--- a/src/com/android/phone/EmergencyCallbackModeService.java
+++ b/src/com/android/phone/EmergencyCallbackModeService.java
@@ -189,8 +189,10 @@
// PendingIntent to launch Emergency Callback Mode Exit activity if the user selects
// this notification
- PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
- new Intent(EmergencyCallbackModeExitDialog.ACTION_SHOW_ECM_EXIT_DIALOG), 0);
+ Intent intent = new Intent(this, EmergencyCallbackModeExitDialog.class);
+ intent.setAction(EmergencyCallbackModeExitDialog.ACTION_SHOW_ECM_EXIT_DIALOG);
+ PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent,
+ PendingIntent.FLAG_IMMUTABLE);
builder.setContentIntent(contentIntent);
// Format notification string
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index ca56ab1..34381f7 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -106,6 +106,7 @@
import android.telephony.ims.stub.ImsRegistrationImplBase;
import android.text.TextUtils;
import android.util.ArraySet;
+import android.util.EventLog;
import android.util.Log;
import android.util.Pair;
import android.util.Slog;
@@ -2136,12 +2137,21 @@
.setCallingPid(Binder.getCallingPid())
.setCallingUid(Binder.getCallingUid())
.setMethod("requestCellInfoUpdate")
- .setMinSdkVersionForFine(Build.VERSION_CODES.Q)
+ .setMinSdkVersionForCoarse(Build.VERSION_CODES.BASE)
+ .setMinSdkVersionForFine(Build.VERSION_CODES.BASE)
.build());
switch (locationResult) {
case DENIED_HARD:
+ if (getTargetSdk(callingPackage) < Build.VERSION_CODES.Q) {
+ // Safetynet logging for b/154934934
+ EventLog.writeEvent(0x534e4554, "154934934", Binder.getCallingUid());
+ }
throw new SecurityException("Not allowed to access cell info");
case DENIED_SOFT:
+ if (getTargetSdk(callingPackage) < Build.VERSION_CODES.Q) {
+ // Safetynet logging for b/154934934
+ EventLog.writeEvent(0x534e4554, "154934934", Binder.getCallingUid());
+ }
try {
cb.onCellInfo(new ArrayList<CellInfo>());
} catch (RemoteException re) {
@@ -6328,15 +6338,10 @@
@Override
public List<UiccCardInfo> getUiccCardsInfo(String callingPackage) {
- try {
- PackageManager pm = mApp.getPackageManager();
- if (Binder.getCallingUid() != pm.getPackageUid(callingPackage, 0)) {
- throw new SecurityException("Calling package " + callingPackage + " does not match "
- + "calling UID");
- }
- } catch (PackageManager.NameNotFoundException e) {
- throw new SecurityException("Invalid calling package. e=" + e);
- }
+ // Verify that tha callingPackage belongs to the calling UID
+ mApp.getSystemService(AppOpsManager.class)
+ .checkPackage(Binder.getCallingUid(), callingPackage);
+
boolean hasReadPermission = false;
try {
enforceReadPrivilegedPermission("getUiccCardsInfo");