diff options
author | Yorke Lee <yorkelee@google.com> | 2013-11-08 07:54:23 -0800 |
---|---|---|
committer | Yorke Lee <yorkelee@google.com> | 2013-11-08 07:54:23 -0800 |
commit | cce501cbde0ba0a53e1f458328bb96dff4dd6588 (patch) | |
tree | 5678b84626d7cbb922b58e4c27b010ca5bebef0e /src/com/android/dialer/CallDetailActivity.java | |
parent | 7d661343d1ee126e2f34c7204315bbc61a2d9f36 (diff) |
Fix bug where resuming CallDetailActivity loses the add contact intent
getLoaderManager.initLoader() performs the onLoadFinish callback
immediately if CallDetailActivity is being resumed from a previously
paused state. This causes bindContactPhotoAction to be called
with a null intent later on causing the add contact button to be no
longer clickable.
To fix this, if we know that we will receive a loader call back
that correctly binds the intent later on (or immediately), we should
skip the initial bind.
Bug: 11588776
Change-Id: I9407a88ec8bbde303109eb14496e01cf6c347c8f
Diffstat (limited to 'src/com/android/dialer/CallDetailActivity.java')
-rw-r--r-- | src/com/android/dialer/CallDetailActivity.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java index 2b16a983b..a24940d73 100644 --- a/src/com/android/dialer/CallDetailActivity.java +++ b/src/com/android/dialer/CallDetailActivity.java @@ -489,6 +489,8 @@ public class CallDetailActivity extends Activity implements ProximitySensorAware nameOrNumber = firstDetails.number; } + boolean skipBind = false; + if (contactUri != null && !UriUtils.isEncodedContactUri(contactUri)) { mainActionIntent = new Intent(Intent.ACTION_VIEW, contactUri); // This will launch People's detail contact screen, so we probably want to @@ -505,6 +507,7 @@ public class CallDetailActivity extends Activity implements ProximitySensorAware mainActionIntent = null; mainActionIcon = R.drawable.ic_add_contact_holo_dark; mainActionDescription = getString(R.string.description_add_contact); + skipBind = true; } else if (isVoicemailNumber) { mainActionIntent = null; mainActionIcon = 0; @@ -536,7 +539,10 @@ public class CallDetailActivity extends Activity implements ProximitySensorAware mainActionDescription = null; } - bindContactPhotoAction(mainActionIntent, mainActionIcon, mainActionDescription); + if (!skipBind) { + bindContactPhotoAction(mainActionIntent, mainActionIcon, + mainActionDescription); + } // This action allows to call the number that places the call. if (canPlaceCallsTo) { |