diff options
author | Roshan Pius <rpius@google.com> | 2015-06-11 11:18:49 -0700 |
---|---|---|
committer | Roshan Pius <rpius@google.com> | 2015-06-15 18:14:09 +0000 |
commit | 66b6f6e26ac604d73139fdba2c4f8adb1c732516 (patch) | |
tree | e7e754c5b8e4ddde01c57fa9bae23647e498864a | |
parent | 233aa923ca0da2ca4fecebd9c4e8814a138cfde0 (diff) | |
download | packages_apps_InCallUI-66b6f6e26ac604d73139fdba2c4f8adb1c732516.tar.gz packages_apps_InCallUI-66b6f6e26ac604d73139fdba2c4f8adb1c732516.tar.bz2 packages_apps_InCallUI-66b6f6e26ac604d73139fdba2c4f8adb1c732516.zip |
Check if numbers have changed to update the contact cache.
Along with checking if the call ID's are the same, add a check to see if
the 2 phone call numbers are still the same to correctly update the
contact info cache used to present the UI to the user.
Bug: 20032056
Change-Id: I81bcc6b31df9fa12c3a399ce6a2897662a1be74b
-rw-r--r-- | src/com/android/incallui/Call.java | 12 | ||||
-rw-r--r-- | src/com/android/incallui/CallCardPresenter.java | 6 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/com/android/incallui/Call.java b/src/com/android/incallui/Call.java index 77d6117a..da2ef3c0 100644 --- a/src/com/android/incallui/Call.java +++ b/src/com/android/incallui/Call.java @@ -30,6 +30,7 @@ import android.telecom.GatewayInfo; import android.telecom.InCallService.VideoCall; import android.telecom.PhoneAccountHandle; import android.telecom.VideoProfile; +import android.text.TextUtils; import java.util.ArrayList; import java.util.List; @@ -538,6 +539,17 @@ public class Call { return call1.getId().equals(call2.getId()); } + public static boolean areSameNumber(Call call1, Call call2) { + if (call1 == null && call2 == null) { + return true; + } else if (call1 == null || call2 == null) { + return false; + } + + // otherwise compare call Numbers + return TextUtils.equals(call1.getNumber(), call2.getNumber()); + } + public int getSessionModificationState() { return mSessionModificationState; } diff --git a/src/com/android/incallui/CallCardPresenter.java b/src/com/android/incallui/CallCardPresenter.java index 5cbffa62..c93fe4cb 100644 --- a/src/com/android/incallui/CallCardPresenter.java +++ b/src/com/android/incallui/CallCardPresenter.java @@ -201,8 +201,10 @@ public class CallCardPresenter extends Presenter<CallCardPresenter.CallCardUi> Log.d(this, "Primary call: " + primary); Log.d(this, "Secondary call: " + secondary); - final boolean primaryChanged = !Call.areSame(mPrimary, primary); - final boolean secondaryChanged = !Call.areSame(mSecondary, secondary); + final boolean primaryChanged = !(Call.areSame(mPrimary, primary) && + Call.areSameNumber(mPrimary, primary)); + final boolean secondaryChanged = !(Call.areSame(mSecondary, secondary) && + Call.areSameNumber(mSecondary, secondary)); mSecondary = secondary; Call previousPrimary = mPrimary; |