Merge "Add comments in grouping APIs to clarify possible exceptions."
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 5a1089b..d176462 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1365,6 +1365,7 @@
renderer.setStopped(mStopped);
}
if (!mStopped) {
+ mNewSurfaceNeeded = true;
scheduleTraversals();
} else {
if (renderer != null) {
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index 2ce3caf..770f780 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -39,6 +39,7 @@
import android.util.Log;
import java.util.Arrays;
+import java.util.Collections;
import java.util.List;
import java.util.Objects;
@@ -123,6 +124,16 @@
private String mMnc;
/**
+ * EHPLMNs associated with the subscription
+ */
+ private String[] mEhplmns;
+
+ /**
+ * HPLMNs associated with the subscription
+ */
+ private String[] mHplmns;
+
+ /**
* ISO Country code for the subscription's provider
*/
private String mCountryIso;
@@ -316,6 +327,14 @@
}
/**
+ * @hide
+ */
+ public void setAssociatedPlmns(String[] ehplmns, String[] hplmns) {
+ mEhplmns = ehplmns;
+ mHplmns = hplmns;
+ }
+
+ /**
* Creates and returns an icon {@code Bitmap} to represent this {@code SubscriptionInfo} in a
* user interface.
*
@@ -467,6 +486,20 @@
}
/**
+ * @hide
+ */
+ public List<String> getEhplmns() {
+ return mEhplmns == null ? Collections.emptyList() : Arrays.asList(mEhplmns);
+ }
+
+ /**
+ * @hide
+ */
+ public List<String> getHplmns() {
+ return mHplmns == null ? Collections.emptyList() : Arrays.asList(mHplmns);
+ }
+
+ /**
* @return the profile class of this subscription.
* @hide
*/
@@ -599,7 +632,7 @@
String mcc = source.readString();
String mnc = source.readString();
String countryIso = source.readString();
- Bitmap iconBitmap = Bitmap.CREATOR.createFromParcel(source);
+ Bitmap iconBitmap = source.readParcelable(Bitmap.class.getClassLoader());
boolean isEmbedded = source.readBoolean();
UiccAccessRule[] accessRules = source.createTypedArray(UiccAccessRule.CREATOR);
String cardString = source.readString();
@@ -610,11 +643,15 @@
int carrierid = source.readInt();
int profileClass = source.readInt();
int subType = source.readInt();
+ String[] ehplmns = source.readStringArray();
+ String[] hplmns = source.readStringArray();
- return new SubscriptionInfo(id, iccId, simSlotIndex, displayName, carrierName,
- nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc, countryIso,
- isEmbedded, accessRules, cardString, cardId, isOpportunistic, groupUUID,
- isGroupDisabled, carrierid, profileClass, subType);
+ SubscriptionInfo info = new SubscriptionInfo(id, iccId, simSlotIndex, displayName,
+ carrierName, nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc,
+ countryIso, isEmbedded, accessRules, cardString, cardId, isOpportunistic,
+ groupUUID, isGroupDisabled, carrierid, profileClass, subType);
+ info.setAssociatedPlmns(ehplmns, hplmns);
+ return info;
}
@Override
@@ -637,7 +674,7 @@
dest.writeString(mMcc);
dest.writeString(mMnc);
dest.writeString(mCountryIso);
- mIconBitmap.writeToParcel(dest, flags);
+ dest.writeParcelable(mIconBitmap, flags);
dest.writeBoolean(mIsEmbedded);
dest.writeTypedArray(mAccessRules, flags);
dest.writeString(mCardString);
@@ -648,6 +685,8 @@
dest.writeInt(mCarrierId);
dest.writeInt(mProfileClass);
dest.writeInt(mSubscriptionType);
+ dest.writeStringArray(mEhplmns);
+ dest.writeStringArray(mHplmns);
}
@Override
@@ -685,6 +724,8 @@
+ " isOpportunistic " + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
+ " mIsGroupDisabled=" + mIsGroupDisabled
+ " profileClass=" + mProfileClass
+ + " ehplmns = " + Arrays.toString(mEhplmns)
+ + " hplmns = " + Arrays.toString(mHplmns)
+ " subscriptionType=" + mSubscriptionType + "}";
}
@@ -728,6 +769,8 @@
&& TextUtils.equals(mDisplayName, toCompare.mDisplayName)
&& TextUtils.equals(mCarrierName, toCompare.mCarrierName)
&& Arrays.equals(mAccessRules, toCompare.mAccessRules)
- && mProfileClass == toCompare.mProfileClass;
+ && mProfileClass == toCompare.mProfileClass
+ && Arrays.equals(mEhplmns, toCompare.mEhplmns)
+ && Arrays.equals(mHplmns, toCompare.mHplmns);
}
}
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index 78f38f6..586c815 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -458,6 +458,18 @@
public static final String CARRIER_ID = "carrier_id";
/**
+ * @hide A comma-separated list of EHPLMNs associated with the subscription
+ * <P>Type: TEXT (String)</P>
+ */
+ public static final String EHPLMNS = "ehplmns";
+
+ /**
+ * @hide A comma-separated list of HPLMNs associated with the subscription
+ * <P>Type: TEXT (String)</P>
+ */
+ public static final String HPLMNS = "hplmns";
+
+ /**
* TelephonyProvider column name for the MCC associated with a SIM, stored as a string.
* <P>Type: TEXT (String)</P>
* @hide
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index 12acf9d..e1425b9 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -10321,10 +10321,10 @@
* <p>Requires permission {@link android.Manifest.permission#READ_PHONE_STATE} or the calling
* app has carrier privileges (see {@link #hasCarrierPrivileges}).
*
- * @return Map including the key as the active subscription ID (Note: if there is no active
+ * @return Map including the keys as the active subscription IDs (Note: if there is no active
* subscription, the key is {@link SubscriptionManager#getDefaultSubscriptionId}) and the value
- * as the list of {@link EmergencyNumber}; null if this information is not available; or throw
- * a SecurityException if the caller does not have the permission.
+ * as the list of {@link EmergencyNumber}; empty Map if this information is not available;
+ * or throw a SecurityException if the caller does not have the permission.
*/
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
@NonNull
@@ -10374,10 +10374,10 @@
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_MIEC} </li>
* <li>{@link EmergencyNumber#EMERGENCY_SERVICE_CATEGORY_AIEC} </li>
* </ol>
- * @return Map including the key as the active subscription ID (Note: if there is no active
+ * @return Map including the keys as the active subscription IDs (Note: if there is no active
* subscription, the key is {@link SubscriptionManager#getDefaultSubscriptionId}) and the value
- * as the list of {@link EmergencyNumber}; null if this information is not available; or throw
- * a SecurityException if the caller does not have the permission.
+ * as the list of {@link EmergencyNumber}; empty Map if this information is not available;
+ * or throw a SecurityException if the caller does not have the permission.
*/
@RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
@NonNull