Migrate convertHalCellIdentityToCellIdentity()
Remove convertHalCellIdentityToCellIdentity() in CellularNetworkService, and introduce create() in CellIdentity for CellIdentity 1.0 and 1.2. Bug: 146498725 Test: atest CellularNetworkServiceTest Change-Id: Ibf07f770b377c383ea0c4d3ef2d1d991a37854a9
This commit is contained in:
@@ -16,16 +16,17 @@
|
||||
|
||||
package android.telephony;
|
||||
|
||||
import com.android.telephony.Rlog;
|
||||
|
||||
import android.annotation.CallSuper;
|
||||
import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SystemApi;
|
||||
import android.hardware.radio.V1_0.CellInfoType;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.telephony.Rlog;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.UUID;
|
||||
|
||||
@@ -323,6 +324,86 @@ public abstract class CellIdentity implements Parcelable {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public static CellIdentity create(android.hardware.radio.V1_0.CellIdentity cellIdentity) {
|
||||
if (cellIdentity == null) return null;
|
||||
switch(cellIdentity.cellInfoType) {
|
||||
case CellInfoType.GSM: {
|
||||
if (cellIdentity.cellIdentityGsm.size() == 1) {
|
||||
return new CellIdentityGsm(cellIdentity.cellIdentityGsm.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.WCDMA: {
|
||||
if (cellIdentity.cellIdentityWcdma.size() == 1) {
|
||||
return new CellIdentityWcdma(cellIdentity.cellIdentityWcdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.TD_SCDMA: {
|
||||
if (cellIdentity.cellIdentityTdscdma.size() == 1) {
|
||||
return new CellIdentityTdscdma(cellIdentity.cellIdentityTdscdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.LTE: {
|
||||
if (cellIdentity.cellIdentityLte.size() == 1) {
|
||||
return new CellIdentityLte(cellIdentity.cellIdentityLte.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.CDMA: {
|
||||
if (cellIdentity.cellIdentityCdma.size() == 1) {
|
||||
return new CellIdentityCdma(cellIdentity.cellIdentityCdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.NONE: break;
|
||||
default: break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public static CellIdentity create(android.hardware.radio.V1_2.CellIdentity cellIdentity) {
|
||||
if (cellIdentity == null) return null;
|
||||
switch(cellIdentity.cellInfoType) {
|
||||
case CellInfoType.GSM: {
|
||||
if (cellIdentity.cellIdentityGsm.size() == 1) {
|
||||
return new CellIdentityGsm(cellIdentity.cellIdentityGsm.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.WCDMA: {
|
||||
if (cellIdentity.cellIdentityWcdma.size() == 1) {
|
||||
return new CellIdentityWcdma(cellIdentity.cellIdentityWcdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.TD_SCDMA: {
|
||||
if (cellIdentity.cellIdentityTdscdma.size() == 1) {
|
||||
return new CellIdentityTdscdma(cellIdentity.cellIdentityTdscdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.LTE: {
|
||||
if (cellIdentity.cellIdentityLte.size() == 1) {
|
||||
return new CellIdentityLte(cellIdentity.cellIdentityLte.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.CDMA: {
|
||||
if (cellIdentity.cellIdentityCdma.size() == 1) {
|
||||
return new CellIdentityCdma(cellIdentity.cellIdentityCdma.get(0));
|
||||
}
|
||||
break;
|
||||
}
|
||||
case CellInfoType.NONE: break;
|
||||
default: break;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
public static CellIdentity create(android.hardware.radio.V1_5.CellIdentity ci) {
|
||||
if (ci == null) return null;
|
||||
|
||||
Reference in New Issue
Block a user