From e4331c3492bc2a09c4a33dedb86631d8fb65597a Mon Sep 17 00:00:00 2001 From: Hui Wang Date: Fri, 19 Feb 2021 20:09:31 -0800 Subject: [PATCH] Notify rcs config as needed when RCS service ready Bug: 180503768 Test: atest TeleServiceTests:com.android.phone.RcsProvisioningMonitorTest Change-Id: I859a9b6bd439cca01aeed8448f684e17cb80d397 --- .../android/telephony/ims/stub/ImsConfigImplBase.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java b/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java index cc050becfb25a..34984e05e181c 100644 --- a/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java +++ b/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java @@ -37,6 +37,7 @@ import com.android.internal.telephony.util.RemoteCallbackListExt; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.ref.WeakReference; +import java.util.Arrays; import java.util.HashMap; /** @@ -368,7 +369,13 @@ public class ImsConfigImplBase { } private void onNotifyRcsAutoConfigurationReceived(byte[] config, boolean isCompressed) { - mRcsConfigData = isCompressed ? RcsConfig.decompressGzip(config) : config; + // cache uncompressed config + config = isCompressed ? RcsConfig.decompressGzip(config) : config; + if (Arrays.equals(mRcsConfigData, config)) { + return; + } + mRcsConfigData = config; + // can be null in testing if (mRcsCallbacks != null) { mRcsCallbacks.broadcastAction(c -> {