Merge "Add signal strength converter" am: b8e4cd87de

am: 35bfc604b9

Change-Id: If56530867a8bfbffb25c60f62189c422851aeab0
This commit is contained in:
Pengquan Meng
2019-02-01 13:38:36 -08:00
committed by android-build-merger
2 changed files with 44 additions and 6 deletions

View File

@@ -76,6 +76,14 @@ public final class CellSignalStrengthNr extends CellSignalStrength implements Pa
updateLevel(null, null);
}
/**
* @hide
* @param ss signal strength from modem.
*/
public CellSignalStrengthNr(android.hardware.radio.V1_4.NrSignalStrength ss) {
this(ss.csiRsrp, ss.csiRsrq, ss.csiSinr, ss.ssRsrp, ss.ssRsrq, ss.ssSinr);
}
/**
* Reference: 3GPP TS 38.215.
* Range: -140 dBm to -44 dBm.

View File

@@ -85,6 +85,7 @@ public class SignalStrength implements Parcelable {
CellSignalStrengthWcdma mWcdma;
CellSignalStrengthTdscdma mTdscdma;
CellSignalStrengthLte mLte;
CellSignalStrengthNr mNr;
/**
* Create a new SignalStrength from a intent notifier Bundle
@@ -116,7 +117,7 @@ public class SignalStrength implements Parcelable {
public SignalStrength() {
this(new CellSignalStrengthCdma(), new CellSignalStrengthGsm(),
new CellSignalStrengthWcdma(), new CellSignalStrengthTdscdma(),
new CellSignalStrengthLte());
new CellSignalStrengthLte(), new CellSignalStrengthNr());
}
/**
@@ -129,12 +130,14 @@ public class SignalStrength implements Parcelable {
@NonNull CellSignalStrengthGsm gsm,
@NonNull CellSignalStrengthWcdma wcdma,
@NonNull CellSignalStrengthTdscdma tdscdma,
@NonNull CellSignalStrengthLte lte) {
@NonNull CellSignalStrengthLte lte,
@NonNull CellSignalStrengthNr nr) {
mCdma = cdma;
mGsm = gsm;
mWcdma = wcdma;
mTdscdma = tdscdma;
mLte = lte;
mNr = nr;
}
/**
@@ -147,7 +150,8 @@ public class SignalStrength implements Parcelable {
new CellSignalStrengthGsm(signalStrength.gw),
new CellSignalStrengthWcdma(),
new CellSignalStrengthTdscdma(signalStrength.tdScdma),
new CellSignalStrengthLte(signalStrength.lte));
new CellSignalStrengthLte(signalStrength.lte),
new CellSignalStrengthNr());
}
/**
@@ -160,7 +164,23 @@ public class SignalStrength implements Parcelable {
new CellSignalStrengthGsm(signalStrength.gsm),
new CellSignalStrengthWcdma(signalStrength.wcdma),
new CellSignalStrengthTdscdma(signalStrength.tdScdma),
new CellSignalStrengthLte(signalStrength.lte));
new CellSignalStrengthLte(signalStrength.lte),
new CellSignalStrengthNr());
}
/**
* Constructor for Radio HAL V1.4.
*
* @param signalStrength signal strength reported from modem.
* @hide
*/
public SignalStrength(android.hardware.radio.V1_4.SignalStrength signalStrength) {
this(new CellSignalStrengthCdma(signalStrength.cdma, signalStrength.evdo),
new CellSignalStrengthGsm(signalStrength.gsm),
new CellSignalStrengthWcdma(signalStrength.wcdma),
new CellSignalStrengthTdscdma(signalStrength.tdscdma),
new CellSignalStrengthLte(signalStrength.lte),
new CellSignalStrengthNr(signalStrength.nr));
}
private CellSignalStrength getPrimary() {
@@ -171,6 +191,7 @@ public class SignalStrength implements Parcelable {
if (mTdscdma.isValid()) return mTdscdma;
if (mWcdma.isValid()) return mWcdma;
if (mGsm.isValid()) return mGsm;
if (mNr.isValid()) return mNr;
return mLte;
}
@@ -200,6 +221,7 @@ public class SignalStrength implements Parcelable {
if (mTdscdma.isValid()) cssList.add(mTdscdma);
if (mWcdma.isValid()) cssList.add(mWcdma);
if (mGsm.isValid()) cssList.add(mGsm);
if (mNr.isValid()) cssList.add(mNr);
return cssList;
}
@@ -210,6 +232,7 @@ public class SignalStrength implements Parcelable {
mWcdma.updateLevel(cc, ss);
mTdscdma.updateLevel(cc, ss);
mLte.updateLevel(cc, ss);
mNr.updateLevel(cc, ss);
}
/**
@@ -234,6 +257,7 @@ public class SignalStrength implements Parcelable {
mWcdma = new CellSignalStrengthWcdma(s.mWcdma);
mTdscdma = new CellSignalStrengthTdscdma(s.mTdscdma);
mLte = new CellSignalStrengthLte(s.mLte);
mNr = new CellSignalStrengthNr(s.mNr);
}
/**
@@ -250,6 +274,7 @@ public class SignalStrength implements Parcelable {
mWcdma = in.readParcelable(CellSignalStrengthWcdma.class.getClassLoader());
mTdscdma = in.readParcelable(CellSignalStrengthTdscdma.class.getClassLoader());
mLte = in.readParcelable(CellSignalStrengthLte.class.getClassLoader());
mNr = in.readParcelable(CellSignalStrengthLte.class.getClassLoader());
}
/**
@@ -261,6 +286,7 @@ public class SignalStrength implements Parcelable {
out.writeParcelable(mWcdma, flags);
out.writeParcelable(mTdscdma, flags);
out.writeParcelable(mLte, flags);
out.writeParcelable(mNr, flags);
}
/**
@@ -814,7 +840,7 @@ public class SignalStrength implements Parcelable {
*/
@Override
public int hashCode() {
return Objects.hash(mCdma, mGsm, mWcdma, mTdscdma, mLte);
return Objects.hash(mCdma, mGsm, mWcdma, mTdscdma, mLte, mNr);
}
/**
@@ -830,7 +856,8 @@ public class SignalStrength implements Parcelable {
&& mGsm.equals(s.mGsm)
&& mWcdma.equals(s.mWcdma)
&& mTdscdma.equals(s.mTdscdma)
&& mLte.equals(s.mLte);
&& mLte.equals(s.mLte)
&& mNr.equals(s.mNr);
}
/**
@@ -844,6 +871,7 @@ public class SignalStrength implements Parcelable {
.append(",mWcdma=").append(mWcdma)
.append(",mTdscdma=").append(mTdscdma)
.append(",mLte=").append(mLte)
.append(",mNr=").append(mNr)
.append(",primary=").append(getPrimary().getClass().getSimpleName())
.append("}")
.toString();
@@ -866,6 +894,7 @@ public class SignalStrength implements Parcelable {
mWcdma = m.getParcelable("Wcdma");
mTdscdma = m.getParcelable("Tdscdma");
mLte = m.getParcelable("Lte");
mNr = m.getParcelable("Nr");
}
/**
@@ -885,6 +914,7 @@ public class SignalStrength implements Parcelable {
m.putParcelable("Wcdma", mWcdma);
m.putParcelable("Tdscdma", mTdscdma);
m.putParcelable("Lte", mLte);
m.putParcelable("Nr", mNr);
}
/**