Changed the onQualifiedNetworkTypesChanged API

Changed the first parameter from apnType to apnTypes so the
caller can update multiple APN types in one single call. This is
useful because in some cases one single APN setting can serve
multiple APN types.

Test: Manual
Bug: 73659459
Change-Id: Ie3274c76b42a67d2f41b41195a240052c2096f9f
This commit is contained in:
Jack Yu
2018-11-02 11:34:55 -07:00
parent b23fc3c2cd
commit 390edbd3d2
2 changed files with 9 additions and 8 deletions

View File

@@ -22,5 +22,5 @@ package android.telephony.data;
*/
oneway interface IQualifiedNetworksServiceCallback
{
void onQualifiedNetworkTypesChanged(int apnType, in int[] qualifiedNetworkTypesList);
void onQualifiedNetworkTypesChanged(int apnTypes, in int[] qualifiedNetworkTypes);
}

View File

@@ -121,27 +121,28 @@ public abstract class QualifiedNetworksService extends Service {
/**
* Update the qualified networks list. Network availability updater must invoke this method
* whenever the qualified networks changes. If this method is never invoked for certain
* APN type, then frameworks will always use the default (i.e. cellular) data and network
* APN types, then frameworks will always use the default (i.e. cellular) data and network
* service.
*
* @param apnType APN type of the qualified networks
* @param apnTypes APN types of the qualified networks. This must be a bitmask combination
* of {@link ApnSetting.ApnType}.
* @param qualifiedNetworkTypes List of network types which are qualified for data
* connection setup for {@link @apnType} in the preferred order. Each element in the array
* is a {@link AccessNetworkType}. An empty list or null indicates no networks are qualified
* for data setup.
*/
public final void updateQualifiedNetworkTypes(@ApnType int apnType,
public final void updateQualifiedNetworkTypes(@ApnType int apnTypes,
int[] qualifiedNetworkTypes) {
mHandler.obtainMessage(QNS_UPDATE_QUALIFIED_NETWORKS, mSlotIndex, apnType,
mHandler.obtainMessage(QNS_UPDATE_QUALIFIED_NETWORKS, mSlotIndex, apnTypes,
qualifiedNetworkTypes).sendToTarget();
}
private void onUpdateQualifiedNetworkTypes(@ApnType int apnType,
private void onUpdateQualifiedNetworkTypes(@ApnType int apnTypes,
int[] qualifiedNetworkTypes) {
mQualifiedNetworkTypesList.put(apnType, qualifiedNetworkTypes);
mQualifiedNetworkTypesList.put(apnTypes, qualifiedNetworkTypes);
if (mCallback != null) {
try {
mCallback.onQualifiedNetworkTypesChanged(apnType, qualifiedNetworkTypes);
mCallback.onQualifiedNetworkTypesChanged(apnTypes, qualifiedNetworkTypes);
} catch (RemoteException e) {
loge("Failed to call onQualifiedNetworksChanged. " + e);
}