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

Commit 0ccda04e authored by Amit Mahajan's avatar Amit Mahajan Committed by android-build-merger
Browse files

Merge "Clear calling identity in SmsNumberUtils.needToConvert()" into oc-dr1-dev

am: d617ef1e

Change-Id: I7391ac35373d8d6d7e2c6d43fac6329e17d50d2b
parents 1a223c2f d617ef1e
Loading
Loading
Loading
Loading
+22 −14
Original line number Original line Diff line number Diff line
@@ -16,23 +16,24 @@


package com.android.internal.telephony;
package com.android.internal.telephony;


import java.util.ArrayList;
import java.util.HashMap;

import android.content.Context;
import android.content.Context;
import android.os.Build;
import android.os.PersistableBundle;
import android.text.TextUtils;
import android.database.Cursor;
import android.database.Cursor;
import android.database.SQLException;
import android.database.SQLException;
import android.os.Binder;
import android.os.Build;
import android.os.PersistableBundle;
import android.telephony.CarrierConfigManager;
import android.telephony.CarrierConfigManager;
import android.telephony.PhoneNumberUtils;
import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.telephony.Rlog;
import android.telephony.Rlog;
import android.telephony.TelephonyManager;
import android.text.TextUtils;


import com.android.internal.telephony.HbpcdLookup.MccIdd;
import com.android.internal.telephony.HbpcdLookup.MccIdd;
import com.android.internal.telephony.HbpcdLookup.MccLookup;
import com.android.internal.telephony.HbpcdLookup.MccLookup;


import java.util.ArrayList;
import java.util.HashMap;



 /**
 /**
 * This class implements handle the MO SMS target address before sending.
 * This class implements handle the MO SMS target address before sending.
@@ -601,15 +602,22 @@ public class SmsNumberUtils {
    }
    }


    private static boolean needToConvert(Phone phone) {
    private static boolean needToConvert(Phone phone) {
        // Calling package may not have READ_PHONE_STATE which is required for getConfig().
        // Clear the calling identity so that it is called as self.
        final long identity = Binder.clearCallingIdentity();
        try {
            CarrierConfigManager configManager = (CarrierConfigManager)
            CarrierConfigManager configManager = (CarrierConfigManager)
                    phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
                    phone.getContext().getSystemService(Context.CARRIER_CONFIG_SERVICE);
            if (configManager != null) {
            if (configManager != null) {
                PersistableBundle bundle = configManager.getConfig();
                PersistableBundle bundle = configManager.getConfig();
                if (bundle != null) {
                if (bundle != null) {
                return bundle.getBoolean(
                    return bundle.getBoolean(CarrierConfigManager
                        CarrierConfigManager.KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL);
                            .KEY_SMS_REQUIRES_DESTINATION_NUMBER_CONVERSION_BOOL);
                }
                }
            }
            }
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
        // by default this value is false
        // by default this value is false
        return false;
        return false;
    }
    }