From e4fb450fe01c97c6ee90ba52db24997cf8a79483 Mon Sep 17 00:00:00 2001 From: Hui Wang Date: Fri, 19 Feb 2021 20:09:31 -0800 Subject: Notify rcs config as needed when RCS service ready Bug: 180503768 Test: atest TeleServiceTests:com.android.phone.RcsProvisioningMonitorTest Merged-In: I859a9b6bd439cca01aeed8448f684e17cb80d397 Change-Id: I859a9b6bd439cca01aeed8448f684e17cb80d397 --- telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'telephony/java/android') diff --git a/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java b/telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java index cc050becfb25..34984e05e181 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 -> { -- cgit v1.2.3