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

Commit 2c19d88e authored by Parvathy Shanmugam's avatar Parvathy Shanmugam Committed by Android (Google) Code Review
Browse files

Merge "Removed codes related to hal version specific" into udc-dev

parents fa69e321 0f42111f
Loading
Loading
Loading
Loading
+0 −78
Original line number Diff line number Diff line
@@ -16,9 +16,6 @@

package com.android.internal.telephony.emergency;

import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE;

import android.annotation.NonNull;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
@@ -30,7 +27,6 @@ import android.os.Handler;
import android.os.Message;
import android.os.ParcelFileDescriptor;
import android.os.PersistableBundle;
import android.os.SystemProperties;
import android.telephony.CarrierConfigManager;
import android.telephony.CellIdentity;
import android.telephony.PhoneNumberUtils;
@@ -47,7 +43,6 @@ import android.util.LocalLog;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.HalVersion;
import com.android.internal.telephony.LocaleTracker;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneConstants;
@@ -110,7 +105,6 @@ public class EmergencyNumberTracker extends Handler {
    private String mCountryIso;
    private String mLastKnownEmergencyCountryIso = "";
    private int mCurrentDatabaseVersion = INVALID_DATABASE_VERSION;
    private boolean mIsHalVersionLessThan1Dot4 = false;
    private Resources mResources = null;
    /**
     * Used for storing all specific mnc's along with the list of emergency numbers
@@ -209,9 +203,6 @@ public class EmergencyNumberTracker extends Handler {
            } else {
                loge("CarrierConfigManager is null.");
            }

            mIsHalVersionLessThan1Dot4 = mPhone.getHalVersion(HAL_SERVICE_VOICE)
                                                 .lessOrEqual(new HalVersion(1, 3));
        } else {
            loge("mPhone is null.");
        }
@@ -1025,9 +1016,6 @@ public class EmergencyNumberTracker extends Handler {
    private List<EmergencyNumber> getEmergencyNumberListFromEccList() {
        List<EmergencyNumber> emergencyNumberList = new ArrayList<>();

        if (mIsHalVersionLessThan1Dot4) {
            emergencyNumberList.addAll(getEmergencyNumberListFromEccListForHalv1_3());
        }
        String emergencyNumbers = ((isSimAbsent()) ? "112,911,000,08,110,118,119,999" : "112,911");
        for (String emergencyNum : emergencyNumbers.split(",")) {
            emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum));
@@ -1039,37 +1027,6 @@ public class EmergencyNumberTracker extends Handler {
        return emergencyNumberList;
    }

    private String getEmergencyNumberListForHalv1_3() {
        int slotId;
        if (mPhone.isSubscriptionManagerServiceEnabled()) {
            slotId = SubscriptionManagerService.getInstance().getSlotIndex(mPhone.getSubId());
        } else {
            slotId = SubscriptionController.getInstance().getSlotIndex(mPhone.getSubId());
        }

        String ecclist = (slotId <= 0) ? "ril.ecclist" : ("ril.ecclist" + slotId);
        String emergencyNumbers = SystemProperties.get(ecclist, "");

        if (TextUtils.isEmpty(emergencyNumbers)) {
            // then read-only ecclist property since old RIL only uses this
            emergencyNumbers = SystemProperties.get("ro.ril.ecclist");
        }
        logd(ecclist + " emergencyNumbers: " + emergencyNumbers);
        return emergencyNumbers;
    }

    private List<EmergencyNumber> getEmergencyNumberListFromEccListForHalv1_3() {
        List<EmergencyNumber> emergencyNumberList = new ArrayList<>();
        String emergencyNumbers = getEmergencyNumberListForHalv1_3();

        if (!TextUtils.isEmpty(emergencyNumbers)) {
            for (String emergencyNum : emergencyNumbers.split(",")) {
                emergencyNumberList.add(getLabeledEmergencyNumberForEcclist(emergencyNum));
            }
        }
        return emergencyNumberList;
    }

    private List<EmergencyNumber> getEmergencyNumberListWithPrefix(
            List<EmergencyNumber> emergencyNumberList) {
        List<EmergencyNumber> emergencyNumberListWithPrefix = new ArrayList<>();
@@ -1167,14 +1124,6 @@ public class EmergencyNumberTracker extends Handler {
        String countryIso = getLastKnownEmergencyCountryIso();
        logd("country:" + countryIso);

        if (mIsHalVersionLessThan1Dot4) {
            emergencyNumbers = getEmergencyNumberListForHalv1_3();

            if (!TextUtils.isEmpty(emergencyNumbers)) {
                return isEmergencyNumberFromEccListForHalv1_3(number, emergencyNumbers);
            }
        }

        logd("System property doesn't provide any emergency numbers."
                + " Use embedded logic for determining ones.");

@@ -1215,25 +1164,6 @@ public class EmergencyNumberTracker extends Handler {
        return false;
    }

    private boolean isEmergencyNumberFromEccListForHalv1_3(@NonNull String number,
            @NonNull String emergencyNumbers) {
        // searches through the comma-separated list for a match,
        // return true if one is found.
        for (String emergencyNum : emergencyNumbers.split(",")) {
            if (number.equals(emergencyNum)) {
                return true;
            } else {
                for (String prefix : mEmergencyNumberPrefix) {
                    if (number.equals(prefix + emergencyNum)) {
                        return true;
                    }
                }
            }
        }
        // no matches found against the list!
        return false;
    }

    /**
     * Execute command for updating emergency number for test mode.
     */
@@ -1369,9 +1299,6 @@ public class EmergencyNumberTracker extends Handler {
     */
    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
        final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, "  ");
        ipw.println(" Hal Version:" + mPhone.getHalVersion(HAL_SERVICE_VOICE));
        ipw.println(" ========================================= ");

        ipw.println(" Country Iso:" + getEmergencyCountryIso());
        ipw.println(" ========================================= ");

@@ -1408,11 +1335,6 @@ public class EmergencyNumberTracker extends Handler {
        ipw.decreaseIndent();
        ipw.println(" ========================================= ");

        if (mIsHalVersionLessThan1Dot4) {
            getEmergencyNumberListForHalv1_3();
            ipw.println(" ========================================= ");
        }

        ipw.println("Emergency Number List for Phone" + "(" + mPhone.getPhoneId() + ")");
        ipw.increaseIndent();
        ipw.println(getEmergencyNumberList());
+0 −44
Original line number Diff line number Diff line
@@ -16,8 +16,6 @@

package com.android.internal.telephony.emergency;

import static android.telephony.TelephonyManager.HAL_SERVICE_VOICE;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -50,7 +48,6 @@ import android.testing.TestableLooper;

import androidx.test.InstrumentationRegistry;

import com.android.internal.telephony.HalVersion;
import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.SubscriptionController;
@@ -150,12 +147,10 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        doReturn(mContext).when(mPhone).getContext();
        doReturn(0).when(mPhone).getPhoneId();
        doReturn(SUB_ID_PHONE_1).when(mPhone).getSubId();
        doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE);

        doReturn(mContext).when(mPhone2).getContext();
        doReturn(1).when(mPhone2).getPhoneId();
        doReturn(SUB_ID_PHONE_2).when(mPhone2).getSubId();
        doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE);

        initializeEmergencyNumberListTestSamples();
        mEmergencyNumberTrackerMock = new EmergencyNumberTracker(mPhone, mSimulatedCommands);
@@ -429,10 +424,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {

    @Test
    public void testIsEmergencyNumber_FallbackToShortNumberXml_NoSims() throws Exception {
        // Set up the Hal version as 1.4
        doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE);
        doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE);

        setDsdsPhones();
        replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock);

@@ -469,10 +460,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
    }

    private void testIsEmergencyNumber_NoFallbackToShortNumberXml(int numSims) throws Exception {
        // Set up the Hal version as 1.4
        doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE);
        doReturn(new HalVersion(1, 4)).when(mPhone2).getHalVersion(HAL_SERVICE_VOICE);

        assertTrue((numSims > 0 && numSims < 3));
        setDsdsPhones();
        replaceInstance(SubscriptionController.class, "sInstance", null, mSubControllerMock);
@@ -547,34 +534,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
        assertTrue(mEmergencyNumberTrackerMock2.getEmergencyCountryIso().equals("us"));
    }

    /**
     * In 1.3 or less HAL. we should not use database number.
     */
    @Test
    public void testUsingEmergencyNumberDatabaseWheneverHal_1_3() {
        doReturn(new HalVersion(1, 3)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE);
        doReturn(mMockContext).when(mPhone).getContext();
        doReturn(mResources).when(mMockContext).getResources();
        doReturn(true).when(mResources).getBoolean(
                com.android.internal.R.bool.ignore_emergency_number_routing_from_db);

        EmergencyNumberTracker emergencyNumberTracker = new EmergencyNumberTracker(
                mPhone, mSimulatedCommands);

        sendEmergencyNumberPrefix(emergencyNumberTracker);
        emergencyNumberTracker.updateEmergencyCountryIsoAllPhones("us");
        processAllMessages();

        boolean hasDatabaseNumber = false;
        for (EmergencyNumber number : emergencyNumberTracker.getEmergencyNumberList()) {
            if (number.isFromSources(EmergencyNumber.EMERGENCY_NUMBER_SOURCE_DATABASE)) {
                hasDatabaseNumber = true;
                break;
            }
        }
        assertFalse(hasDatabaseNumber);
    }

    /**
     * In 1.4 or above HAL, we should use database number.
     */
@@ -813,9 +772,6 @@ public class EmergencyNumberTrackerTest extends TelephonyTest {
     */
    @Test
    public void testOtaEmergencyNumberDatabase() {
        // Set up the Hal version as 1.4 to apply emergency number database
        doReturn(new HalVersion(1, 4)).when(mPhone).getHalVersion(HAL_SERVICE_VOICE);

        sendEmergencyNumberPrefix(mEmergencyNumberTrackerMock);
        mEmergencyNumberTrackerMock.updateEmergencyCountryIsoAllPhones("");
        processAllMessages();