From 6e3d94b2c8932164fda4085092033abb129a4d86 Mon Sep 17 00:00:00 2001 From: Nathan Harold Date: Mon, 4 Mar 2019 15:15:24 -0800 Subject: [PATCH] Add TimeStamp Constructor for HAL 1.4 Support Becuase the Timestamp is no longer passed by the radio, CellInfo objects are stamped when received by the RIL. Since the structure passed to these constructors is a HAL structure, we have to pass the timestamp all the way through to have it supported for constructors invoked on a 1.4 HAL object. Bug: 126911026 Test: atest RILTest#testCellInfoTimestamp_1_4; atest RILTest#testCellInfoTimestamp_1_2 Change-Id: I2b0833a0a8b6eeb75bff9cbe956ad36656a46208 --- telephony/java/android/telephony/CellInfo.java | 17 ++++++++--------- .../java/android/telephony/CellInfoCdma.java | 4 ++-- .../java/android/telephony/CellInfoGsm.java | 4 ++-- .../java/android/telephony/CellInfoLte.java | 4 ++-- .../java/android/telephony/CellInfoTdscdma.java | 4 ++-- .../java/android/telephony/CellInfoWcdma.java | 4 ++-- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/telephony/java/android/telephony/CellInfo.java b/telephony/java/android/telephony/CellInfo.java index 8ce5c54c810e6..78ccedef6d99b 100644 --- a/telephony/java/android/telephony/CellInfo.java +++ b/telephony/java/android/telephony/CellInfo.java @@ -22,7 +22,6 @@ import android.annotation.UnsupportedAppUsage; import android.hardware.radio.V1_4.CellInfo.Info; import android.os.Parcel; import android.os.Parcelable; -import android.os.SystemClock; import com.android.internal.annotations.VisibleForTesting; @@ -320,9 +319,9 @@ public abstract class CellInfo implements Parcelable { } /** @hide */ - protected CellInfo(android.hardware.radio.V1_4.CellInfo ci) { + protected CellInfo(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { this.mRegistered = ci.isRegistered; - this.mTimeStamp = SystemClock.elapsedRealtimeNanos(); + this.mTimeStamp = timeStamp; this.mCellConnectionStatus = ci.connectionStatus; } @@ -353,14 +352,14 @@ public abstract class CellInfo implements Parcelable { } /** @hide */ - public static CellInfo create(android.hardware.radio.V1_4.CellInfo ci) { + public static CellInfo create(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { if (ci == null) return null; switch (ci.info.getDiscriminator()) { - case Info.hidl_discriminator.gsm: return new CellInfoGsm(ci); - case Info.hidl_discriminator.cdma: return new CellInfoCdma(ci); - case Info.hidl_discriminator.lte: return new CellInfoLte(ci); - case Info.hidl_discriminator.wcdma: return new CellInfoWcdma(ci); - case Info.hidl_discriminator.tdscdma: return new CellInfoTdscdma(ci); + case Info.hidl_discriminator.gsm: return new CellInfoGsm(ci, timeStamp); + case Info.hidl_discriminator.cdma: return new CellInfoCdma(ci, timeStamp); + case Info.hidl_discriminator.lte: return new CellInfoLte(ci, timeStamp); + case Info.hidl_discriminator.wcdma: return new CellInfoWcdma(ci, timeStamp); + case Info.hidl_discriminator.tdscdma: return new CellInfoTdscdma(ci, timeStamp); default: return null; } } diff --git a/telephony/java/android/telephony/CellInfoCdma.java b/telephony/java/android/telephony/CellInfoCdma.java index 4440108879f20..359c8bee8b8d6 100644 --- a/telephony/java/android/telephony/CellInfoCdma.java +++ b/telephony/java/android/telephony/CellInfoCdma.java @@ -68,8 +68,8 @@ public final class CellInfoCdma extends CellInfo implements Parcelable { } /** @hide */ - public CellInfoCdma(android.hardware.radio.V1_4.CellInfo ci) { - super(ci); + public CellInfoCdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { + super(ci, timeStamp); final android.hardware.radio.V1_2.CellInfoCdma cic = ci.info.cdma(); mCellIdentityCdma = new CellIdentityCdma(cic.cellIdentityCdma); mCellSignalStrengthCdma = diff --git a/telephony/java/android/telephony/CellInfoGsm.java b/telephony/java/android/telephony/CellInfoGsm.java index 248adfcb2d90c..dc2779f5fb2ab 100644 --- a/telephony/java/android/telephony/CellInfoGsm.java +++ b/telephony/java/android/telephony/CellInfoGsm.java @@ -64,8 +64,8 @@ public final class CellInfoGsm extends CellInfo implements Parcelable { } /** @hide */ - public CellInfoGsm(android.hardware.radio.V1_4.CellInfo ci) { - super(ci); + public CellInfoGsm(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { + super(ci, timeStamp); final android.hardware.radio.V1_2.CellInfoGsm cig = ci.info.gsm(); mCellIdentityGsm = new CellIdentityGsm(cig.cellIdentityGsm); mCellSignalStrengthGsm = new CellSignalStrengthGsm(cig.signalStrengthGsm); diff --git a/telephony/java/android/telephony/CellInfoLte.java b/telephony/java/android/telephony/CellInfoLte.java index 8e8ce8a1f5de3..0e9623dfab2b4 100644 --- a/telephony/java/android/telephony/CellInfoLte.java +++ b/telephony/java/android/telephony/CellInfoLte.java @@ -71,8 +71,8 @@ public final class CellInfoLte extends CellInfo implements Parcelable { } /** @hide */ - public CellInfoLte(android.hardware.radio.V1_4.CellInfo ci) { - super(ci); + public CellInfoLte(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { + super(ci, timeStamp); final android.hardware.radio.V1_4.CellInfoLte cil = ci.info.lte(); mCellIdentityLte = new CellIdentityLte(cil.base.cellIdentityLte); mCellSignalStrengthLte = new CellSignalStrengthLte(cil.base.signalStrengthLte); diff --git a/telephony/java/android/telephony/CellInfoTdscdma.java b/telephony/java/android/telephony/CellInfoTdscdma.java index 2ab38fb77a90d..cb45e956a1cdc 100644 --- a/telephony/java/android/telephony/CellInfoTdscdma.java +++ b/telephony/java/android/telephony/CellInfoTdscdma.java @@ -65,8 +65,8 @@ public final class CellInfoTdscdma extends CellInfo implements Parcelable { } /** @hide */ - public CellInfoTdscdma(android.hardware.radio.V1_4.CellInfo ci) { - super(ci); + public CellInfoTdscdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { + super(ci, timeStamp); final android.hardware.radio.V1_2.CellInfoTdscdma cit = ci.info.tdscdma(); mCellIdentityTdscdma = new CellIdentityTdscdma(cit.cellIdentityTdscdma); mCellSignalStrengthTdscdma = new CellSignalStrengthTdscdma(cit.signalStrengthTdscdma); diff --git a/telephony/java/android/telephony/CellInfoWcdma.java b/telephony/java/android/telephony/CellInfoWcdma.java index 65e0470776399..fe06c78c3a913 100644 --- a/telephony/java/android/telephony/CellInfoWcdma.java +++ b/telephony/java/android/telephony/CellInfoWcdma.java @@ -64,8 +64,8 @@ public final class CellInfoWcdma extends CellInfo implements Parcelable { } /** @hide */ - public CellInfoWcdma(android.hardware.radio.V1_4.CellInfo ci) { - super(ci); + public CellInfoWcdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) { + super(ci, timeStamp); final android.hardware.radio.V1_2.CellInfoWcdma ciw = ci.info.wcdma(); mCellIdentityWcdma = new CellIdentityWcdma(ciw.cellIdentityWcdma); mCellSignalStrengthWcdma = new CellSignalStrengthWcdma(ciw.signalStrengthWcdma);