In sim1 APN settings interface and hot plug out/in sim2, APN information change to sim2's

STEPS TO REPRODUCE:
1. Insert two sim into device, sim1 is CUCC, sim2 is CMCC
2. Goto Settings-Network & Internet-sim1-MobileNetworkSettings-Access Point Names. It shows CUCC APN information
3. Hot plug out sim2
4. Hot plug in sim2, APN information changes to CMCC APN information

EXPECTED RESULTS:
When hot plug out/in sim2, sim1 APN settings interface should still keep its APN information instead of changing to sim2 APN information

Change-Id: I04c769f60ba1686b2c9bebcd07e3a04685979442
Bug: 141087659
Test:In sim1 APN settings interface, hot plug out/in sim2, it shows sim1 APN information all the time, test pass.
diff --git a/src/com/android/settings/network/ApnSettings.java b/src/com/android/settings/network/ApnSettings.java
index f0603bb..137abadf 100755
--- a/src/com/android/settings/network/ApnSettings.java
+++ b/src/com/android/settings/network/ApnSettings.java
@@ -113,6 +113,7 @@
     private HandlerThread mRestoreDefaultApnThread;
     private SubscriptionInfo mSubscriptionInfo;
     private int mSubId;
+    private int mPhoneId;
     private UiccController mUiccController;
     private String mMvnoType;
     private String mMvnoMatchData;
@@ -151,7 +152,9 @@
                 if (!mRestoreDefaultApnMode) {
                     int extraSubId = intent.getIntExtra(TelephonyManager.EXTRA_SUBSCRIPTION_ID,
                             SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-                    if (extraSubId != mSubId) {
+                    if (SubscriptionManager.isValidSubscriptionId(extraSubId) &&
+                            mPhoneId == SubscriptionManager.getPhoneId(extraSubId) &&
+                            extraSubId != mSubId) {
                         // subscription has changed
                         mSubId = extraSubId;
                         mSubscriptionInfo = getSubscriptionInfo(mSubId);
@@ -182,7 +185,7 @@
         final Activity activity = getActivity();
         mSubId = activity.getIntent().getIntExtra(SUB_ID,
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
+        mPhoneId = SubscriptionManager.getPhoneId(mSubId);
         mIntentFilter = new IntentFilter(
                 TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED);
         mIntentFilter.addAction(TelephonyManager.ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED);