summaryrefslogtreecommitdiff
path: root/telephony
diff options
context:
space:
mode:
authorHui Wang <huiwang@google.com>2021-02-19 20:09:31 -0800
committerHui Wang <huiwang@google.com>2021-03-01 22:51:42 +0000
commite4fb450fe01c97c6ee90ba52db24997cf8a79483 (patch)
tree00bdd3f98cd1b51ae7aa706fdacbe231a91d1c6e /telephony
parentf9e2a9c55ac956872fa3bc0a455b82ff87d3791e (diff)
Notify rcs config as needed when RCS service ready
Bug: 180503768 Test: atest TeleServiceTests:com.android.phone.RcsProvisioningMonitorTest Merged-In: I859a9b6bd439cca01aeed8448f684e17cb80d397 Change-Id: I859a9b6bd439cca01aeed8448f684e17cb80d397
Diffstat (limited to 'telephony')
-rw-r--r--telephony/java/android/telephony/ims/stub/ImsConfigImplBase.java9
1 files changed, 8 insertions, 1 deletions
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 -> {