Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aaff007b authored by Eugene Susla's avatar Eugene Susla
Browse files

Revert sms appops to their original defaults

The appop defaults change is now handled in a better way with ag/5372491

This also reverts the special treatment of MODE_IGNORED in SmsAmmplication
to be compatible with the default value of OP_WRITE_SMS being reverted to

Fixes: 118452447
Test: atest android.telephony.cts.SmsManagerTest
Change-Id: I88b01136aaaf8a243d3a14a873e8a15c02a57673
parent f4bebfea
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -1285,13 +1285,13 @@ public class AppOpsManager {
            AppOpsManager.MODE_ALLOWED, // POST_NOTIFICATION
            AppOpsManager.MODE_ALLOWED, // NEIGHBORING_CELLS
            AppOpsManager.MODE_ALLOWED, // CALL_PHONE
            AppOpsManager.MODE_DEFAULT, // READ_SMS
            AppOpsManager.MODE_DEFAULT, // WRITE_SMS
            AppOpsManager.MODE_DEFAULT, // RECEIVE_SMS
            AppOpsManager.MODE_ALLOWED, // READ_SMS
            AppOpsManager.MODE_IGNORED, // WRITE_SMS
            AppOpsManager.MODE_ALLOWED, // RECEIVE_SMS
            AppOpsManager.MODE_ALLOWED, // RECEIVE_EMERGENCY_BROADCAST
            AppOpsManager.MODE_ALLOWED, // RECEIVE_MMS
            AppOpsManager.MODE_DEFAULT, // RECEIVE_WAP_PUSH
            AppOpsManager.MODE_DEFAULT, // SEND_SMS
            AppOpsManager.MODE_ALLOWED, // RECEIVE_WAP_PUSH
            AppOpsManager.MODE_ALLOWED, // SEND_SMS
            AppOpsManager.MODE_ALLOWED, // READ_ICC_SMS
            AppOpsManager.MODE_ALLOWED, // WRITE_ICC_SMS
            AppOpsManager.MODE_DEFAULT, // WRITE_SETTINGS
@@ -1328,7 +1328,7 @@ public class AppOpsManager {
            AppOpsManager.MODE_ALLOWED, // PROCESS_OUTGOING_CALLS
            AppOpsManager.MODE_ALLOWED, // USE_FINGERPRINT
            AppOpsManager.MODE_ALLOWED, // BODY_SENSORS
            AppOpsManager.MODE_DEFAULT, // READ_CELL_BROADCASTS
            AppOpsManager.MODE_ALLOWED, // READ_CELL_BROADCASTS
            AppOpsManager.MODE_ERRORED, // MOCK_LOCATION
            AppOpsManager.MODE_ALLOWED, // READ_EXTERNAL_STORAGE
            AppOpsManager.MODE_ALLOWED, // WRITE_EXTERNAL_STORAGE
+1 −10
Original line number Diff line number Diff line
@@ -562,8 +562,7 @@ public final class SmsApplication {
                        + AppOpsManager.modeToName(appOp) + ": "
                        + (updateIfNeeded ? " (fixing)" : " (no permission to fix)"));
                if (updateIfNeeded) {
                    setExclusiveAppop(applicationData.mPackageName, appOps, appOp,
                            AppOpsManager.MODE_ALLOWED, applicationData.mUid);
                    appOps.setUidMode(appOp, applicationData.mUid, AppOpsManager.MODE_ALLOWED);
                } else {
                    return false;
                }
@@ -732,14 +731,6 @@ public final class SmsApplication {
    private static void setExclusiveAppops(String pkg, AppOpsManager appOpsManager, int uid,
            int mode) {
        for (int appop : DEFAULT_APP_EXCLUSIVE_APPOPS) {
            setExclusiveAppop(pkg, appOpsManager, appop, mode, uid);
        }
    }

    private static void setExclusiveAppop(String pkg, AppOpsManager appOpsManager, int appop,
            int mode, int uid) {
        // IGNORED means user explicitly revoked permission in settings, so avoid overriding it.
        if (appOpsManager.checkOpNoThrow(appop, uid, pkg) != AppOpsManager.MODE_IGNORED) {
            appOpsManager.setUidMode(appop, uid, mode);
        }
    }