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 | fb008c2423a510a57be251d16bc963f64e98c2da (patch) | |
tree | 2af77346b6c396bea48668725235a1eac21809f2 | |
parent | 2b9b9d417bd63c7dcde05760bd50e13003220f24 (diff) |
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-- | InCallUI/src/com/android/incallui/Call.java | 12 | ||||
-rw-r--r-- | InCallUI/src/com/android/incallui/CallCardPresenter.java | 6 |
2 files changed, 16 insertions, 2 deletions
diff --git a/InCallUI/src/com/android/incallui/Call.java b/InCallUI/src/com/android/incallui/Call.java index 77d6117ac..da2ef3c07 100644 --- a/InCallUI/src/com/android/incallui/Call.java +++ b/InCallUI/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/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java index 5cbffa628..c93fe4cb4 100644 --- a/InCallUI/src/com/android/incallui/CallCardPresenter.java +++ b/InCallUI/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; |