summaryrefslogtreecommitdiff
path: root/telephony/java
diff options
context:
space:
mode:
authorHui Wang <huiwang@google.com>2021-03-02 19:20:38 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-03-02 19:20:38 +0000
commita340c35a864d06d3ae760c1a896324ae7b8ed7a1 (patch)
tree41f57f286046f87cb60408d4f802a573fa333f1d /telephony/java
parent3727cc1834c014d3d9631eb17cbe85865ab13204 (diff)
parente4fb450fe01c97c6ee90ba52db24997cf8a79483 (diff)
Merge "Notify rcs config as needed when RCS service ready"
Diffstat (limited to 'telephony/java')
-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 -> {