Merge "Adding logging to capture MessageHandler ordering." into klp-dev
diff --git a/InCallUI/res/values-ca/strings.xml b/InCallUI/res/values-ca/strings.xml
index 9d95426..02e1b8c 100644
--- a/InCallUI/res/values-ca/strings.xml
+++ b/InCallUI/res/values-ca/strings.xml
@@ -617,7 +617,7 @@
<string name="ringtone_title" msgid="6374978286202084684">"To del telèfon"</string>
<string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar en sonar"</string>
<string name="dtmf_tone_enable_title" msgid="827601042915852989">"Sonar en marcar els números"</string>
- <string name="dial_pad_autocomplete" msgid="494525952035761075">"Compleció autom. del teclat"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autocompletar amb teclat"</string>
<string name="preference_category_ringtone" msgid="5197960752529332721">"To i vibració"</string>
<string name="manageConferenceLabel" msgid="4691922394301969053">"Gestiona la trucada de conferència"</string>
</resources>
diff --git a/InCallUI/res/values-cs/strings.xml b/InCallUI/res/values-cs/strings.xml
index 49ba0aa..85f4f42 100644
--- a/InCallUI/res/values-cs/strings.xml
+++ b/InCallUI/res/values-cs/strings.xml
@@ -617,7 +617,7 @@
<string name="ringtone_title" msgid="6374978286202084684">"Vyzváněcí tón telefonu"</string>
<string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrace při vyzvánění"</string>
<string name="dtmf_tone_enable_title" msgid="827601042915852989">"Tóny při dotyku číselníku"</string>
- <string name="dial_pad_autocomplete" msgid="494525952035761075">"Aut. doplň. pomocí číselníku"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Autom. doplňování číselníku"</string>
<string name="preference_category_ringtone" msgid="5197960752529332721">"Vyzvánění a vibrace"</string>
<string name="manageConferenceLabel" msgid="4691922394301969053">"Spravovat konferenční hovor"</string>
</resources>
diff --git a/InCallUI/res/values-hi/strings.xml b/InCallUI/res/values-hi/strings.xml
index 8019ab4..825c082 100644
--- a/InCallUI/res/values-hi/strings.xml
+++ b/InCallUI/res/values-hi/strings.xml
@@ -87,23 +87,23 @@
<string name="sum_cw_disabled" msgid="3648693907300104575">"कॉल के दौरान, मुझे इनकमिंग कॉल की सूचना दें"</string>
<string name="call_forwarding_settings" msgid="3378927671091537173">"कॉल अग्रेषण सेटिंग"</string>
<string name="labelCF" msgid="2574386948026924737">"कॉल अग्रेषण"</string>
- <string name="labelCFU" msgid="8147177368148660600">"हमेशा अग्रेषित करें"</string>
+ <string name="labelCFU" msgid="8147177368148660600">"हमेशा इसको भेजें"</string>
<string name="messageCFU" msgid="3560082430662923687">"हमेशा इस नंबर का उपयोग करें"</string>
<string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"सभी कॉल अग्रेषित कर रहा है"</string>
<string name="sum_cfu_enabled" msgid="2450052502198827927">"सभी कॉल <xliff:g id="PHONENUMBER">{0}</xliff:g> को अग्रेषित किए जा रहे हैं"</string>
<string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"नंबर अनुपलब्ध है"</string>
<string name="sum_cfu_disabled" msgid="3698472522160364904">"अक्षम की गई"</string>
- <string name="labelCFB" msgid="218938523102207587">"व्यस्त होने पर अग्रेषित करें"</string>
+ <string name="labelCFB" msgid="218938523102207587">"व्यस्त होने पर इसको भेजें"</string>
<string name="messageCFB" msgid="3711089705936187129">"व्यस्त रहते समय नंबर"</string>
<string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> को अग्रेषित कर रहा है"</string>
<string name="sum_cfb_disabled" msgid="227440009979537651">"अक्षम की गई"</string>
<string name="disable_cfb_forbidden" msgid="3506984333877998061">"जब आपका फ़ोन व्यस्त हो, तो आपका ऑपरेटर कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता."</string>
- <string name="labelCFNRy" msgid="3646316323834351390">"अनुत्तरित होने पर अग्रेषित करें"</string>
+ <string name="labelCFNRy" msgid="3646316323834351390">"अनुत्तरित होने पर इसको भेजें"</string>
<string name="messageCFNRy" msgid="672317899884380374">"अनुत्तरित होने पर नंबर"</string>
<string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> को अग्रेषित कर रहा है"</string>
<string name="sum_cfnry_disabled" msgid="8422350929957344729">"अक्षम की गई"</string>
<string name="disable_cfnry_forbidden" msgid="4308233959150658058">"जब आपका फ़ोन उत्तर न दे, तो आपका ऑपरेटर कॉल अग्रेषण अक्षम करने का समर्थन नहीं करता."</string>
- <string name="labelCFNRc" msgid="47183615370850000">"पहुंच योग्य न होने पर अग्रेषित करें"</string>
+ <string name="labelCFNRc" msgid="47183615370850000">"पहुंच योग्य न होने पर इसको भेजें"</string>
<string name="messageCFNRc" msgid="6380695421020295119">"पहुंच योग्य न होने पर नंबर"</string>
<string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> को अग्रेषित कर रहा है"</string>
<string name="sum_cfnrc_disabled" msgid="7222141261321276464">"अक्षम की गई"</string>
diff --git a/InCallUI/res/values-pt/strings.xml b/InCallUI/res/values-pt/strings.xml
index 844d3cd..01e88c3 100644
--- a/InCallUI/res/values-pt/strings.xml
+++ b/InCallUI/res/values-pt/strings.xml
@@ -580,10 +580,10 @@
<string name="sip_system_decide" msgid="368030746310423471">"Automático"</string>
<string name="sip_always_send_keepalive" msgid="8192080724632877132">"Sempre enviar"</string>
<string name="not_voice_capable" msgid="2739898841461577811">"Chamada de voz não compatível"</string>
- <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"Não posso falar agora. Me manda um SMS, por favor?"</string>
+ <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"Não posso falar agora. Manda um SMS, por favor?"</string>
<string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Já te ligo de volta."</string>
<string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Eu te ligo mais tarde."</string>
- <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Não posso falar agora. Me liga depois, por favor?"</string>
+ <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Não posso falar agora. Liga depois, por favor?"</string>
<string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Escreva sua resposta..."</string>
<string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respostas rápidas"</string>
<string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respostas rápidas"</string>
@@ -616,7 +616,7 @@
<string name="default_notification_description" msgid="78174796906240970">"Som padrão (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
<string name="ringtone_title" msgid="6374978286202084684">"Toque do telefone"</string>
<string name="vibrate_on_ring_title" msgid="9197564612065258960">"Vibrar quando estiver tocando"</string>
- <string name="dtmf_tone_enable_title" msgid="827601042915852989">"Tons de toque do teclado numérico"</string>
+ <string name="dtmf_tone_enable_title" msgid="827601042915852989">"Tons de toque teclado numérico"</string>
<string name="dial_pad_autocomplete" msgid="494525952035761075">"Autopreenchimento do teclado"</string>
<string name="preference_category_ringtone" msgid="5197960752529332721">"Toque e vibração"</string>
<string name="manageConferenceLabel" msgid="4691922394301969053">"Gerenciar conferência telefônica"</string>
diff --git a/InCallUI/res/values-sw/strings.xml b/InCallUI/res/values-sw/strings.xml
index 661e310..51c8add 100644
--- a/InCallUI/res/values-sw/strings.xml
+++ b/InCallUI/res/values-sw/strings.xml
@@ -617,7 +617,7 @@
<string name="ringtone_title" msgid="6374978286202084684">"Mlio wa simu"</string>
<string name="vibrate_on_ring_title" msgid="9197564612065258960">"Tetema wakati wa kuita"</string>
<string name="dtmf_tone_enable_title" msgid="827601042915852989">"Toa sauti vitufe vya kupiga vinapoguswa"</string>
- <string name="dial_pad_autocomplete" msgid="494525952035761075">"Jaza kitufe cha kupiga kiotomatiki"</string>
+ <string name="dial_pad_autocomplete" msgid="494525952035761075">"Jaza nambari kiotomatiki"</string>
<string name="preference_category_ringtone" msgid="5197960752529332721">"Malio wa simu na Mtetemo"</string>
<string name="manageConferenceLabel" msgid="4691922394301969053">"Dhibiti simu ya kongamano"</string>
</resources>
diff --git a/InCallUI/src/com/android/incallui/AnimationUtils.java b/InCallUI/src/com/android/incallui/AnimationUtils.java
index aef3cdf..d214c85 100644
--- a/InCallUI/src/com/android/incallui/AnimationUtils.java
+++ b/InCallUI/src/com/android/incallui/AnimationUtils.java
@@ -209,11 +209,14 @@
final ImageView imageView, final Drawable from, final Drawable to) {
// We skip the cross-fade when those two Drawables are equal, or they are BitmapDrawables
// pointing to the same Bitmap.
- final boolean areSameImage = from.equals(to) ||
- ((from instanceof BitmapDrawable)
- && (to instanceof BitmapDrawable)
- && ((BitmapDrawable) from).getBitmap()
- .equals(((BitmapDrawable) to).getBitmap()));
+ final boolean drawableIsEqual = (from != null && to != null && from.equals(to));
+ final boolean hasFromImage = ((from instanceof BitmapDrawable) &&
+ ((BitmapDrawable) from).getBitmap() != null);
+ final boolean hasToImage = ((to instanceof BitmapDrawable) &&
+ ((BitmapDrawable) to).getBitmap() != null);
+ final boolean areSameImage = drawableIsEqual || (hasFromImage && hasToImage &&
+ ((BitmapDrawable) from).getBitmap().equals(((BitmapDrawable) to).getBitmap()));
+
if (!areSameImage) {
if (FADE_DBG) {
log("Start cross-fade animation for " + imageView
@@ -263,6 +266,9 @@
imageView.setImageDrawable(transitionDrawable);
transitionDrawable.startTransition(ANIMATION_DURATION); */
imageView.setTag(to);
+ } else if (!hasFromImage && hasToImage) {
+ imageView.setImageDrawable(to);
+ imageView.setTag(to);
} else {
if (FADE_DBG) {
log("*Not* start cross-fade. " + imageView);
diff --git a/InCallUI/src/com/android/incallui/AnswerPresenter.java b/InCallUI/src/com/android/incallui/AnswerPresenter.java
index e8bcc99..e820929 100644
--- a/InCallUI/src/com/android/incallui/AnswerPresenter.java
+++ b/InCallUI/src/com/android/incallui/AnswerPresenter.java
@@ -56,7 +56,6 @@
if (mCallId != Call.INVALID_CALL_ID) {
CallList.getInstance().removeCallUpdateListener(mCallId, this);
}
-
}
@Override
diff --git a/InCallUI/src/com/android/incallui/CallButtonPresenter.java b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
index b2884e6..ec8e844 100644
--- a/InCallUI/src/com/android/incallui/CallButtonPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallButtonPresenter.java
@@ -50,13 +50,12 @@
@Override
public void onUiUnready(CallButtonUi ui) {
+ super.onUiUnready(ui);
+
InCallPresenter.getInstance().removeListener(this);
AudioModeProvider.getInstance().removeListener(this);
mProximitySensor = null;
-
- // set Ui to null, so should go last
- super.onUiUnready(ui);
}
@Override
@@ -195,13 +194,13 @@
}
final boolean isVisible = state.isConnectingOrConnected() &&
- !state.isIncoming();
+ !state.isIncoming() && call != null;
ui.setVisible(isVisible);
Log.d(this, "Updating call UI for call: ", call);
- if (isVisible && call != null) {
+ if (isVisible) {
Log.v(this, "Show hold ", call.can(Capabilities.HOLD));
Log.v(this, "Show merge ", call.can(Capabilities.MERGE_CALLS));
Log.v(this, "Show swap ", call.can(Capabilities.SWAP_CALLS));
diff --git a/InCallUI/src/com/android/incallui/CallCardPresenter.java b/InCallUI/src/com/android/incallui/CallCardPresenter.java
index 07978ff..6c8056b 100644
--- a/InCallUI/src/com/android/incallui/CallCardPresenter.java
+++ b/InCallUI/src/com/android/incallui/CallCardPresenter.java
@@ -253,9 +253,12 @@
// because the contactinfocache pre-massages the data into the ui fields.
// Need to do massaging outside of contactinfocache.
if (entry.label == null) {
- // Name not found. Try lookup.
- Log.d(TAG, "Contact lookup. Contact provider miss. Searching people api.");
- lookupPhoneNumber(identification.getNumber(), isPrimary, isConference);
+ if (identification.getNumberPresentation() == Call.PRESENTATION_ALLOWED) {
+ // Name not found. Try lookup.
+ Log.d(TAG, "Contact lookup. Contact provider miss. Searching people "
+ + "api.");
+ lookupPhoneNumber(identification.getNumber(), isPrimary, isConference);
+ }
} else {
Log.d(TAG, "Contact lookup. Found in contact provider: " + entry);
updateContactEntry(entry, isPrimary, isConference);
diff --git a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java b/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
index ccda4a5..041614d 100644
--- a/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
+++ b/InCallUI/src/com/android/incallui/ConferenceManagerPresenter.java
@@ -39,8 +39,24 @@
private Context mContext;
@Override
+ public void onUiReady(ConferenceManagerUi ui) {
+ super.onUiReady(ui);
+
+ // register for call state changes last
+ InCallPresenter.getInstance().addListener(this);
+ }
+
+ @Override
+ public void onUiUnready(ConferenceManagerUi ui) {
+ super.onUiUnready(ui);
+
+ InCallPresenter.getInstance().removeListener(this);
+ }
+
+ @Override
public void onStateChange(InCallState state, CallList callList) {
if (getUi().isFragmentVisible()) {
+ Log.v(this, "onStateChange" + state);
if (state == InCallState.INCALL && callList.getActiveOrBackgroundCall() != null &&
callList.getActiveOrBackgroundCall().isConferenceCall()) {
Log.v(this, "Number of existing calls is " +
diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java
index 38e2a48..7d7ca4b 100644
--- a/InCallUI/src/com/android/incallui/InCallActivity.java
+++ b/InCallUI/src/com/android/incallui/InCallActivity.java
@@ -273,6 +273,7 @@
if (mCallButtonFragment == null) {
mCallButtonFragment = (CallButtonFragment) getFragmentManager()
.findFragmentById(R.id.callButtonFragment);
+ mCallButtonFragment.getView().setVisibility(View.INVISIBLE);
}
if (mCallCardFragment == null) {
diff --git a/InCallUI/src/com/android/incallui/StatusBarNotifier.java b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
index c5b60fe..ad1a67e 100644
--- a/InCallUI/src/com/android/incallui/StatusBarNotifier.java
+++ b/InCallUI/src/com/android/incallui/StatusBarNotifier.java
@@ -25,6 +25,7 @@
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
@@ -215,10 +216,11 @@
private void buildAndSendNotification(InCallState state, Call call,
ContactCacheEntry contactInfo, boolean allowFullScreenIntent) {
+ final boolean isConference = call.isConferenceCall();
final int iconResId = getIconToDisplay(call);
- final Bitmap largeIcon = getLargeIconToDisplay(contactInfo);
+ final Bitmap largeIcon = getLargeIconToDisplay(contactInfo, isConference);
final int contentResId = getContentString(call);
- final String contentTitle = getContentTitle(contactInfo);
+ final String contentTitle = getContentTitle(contactInfo, isConference);
// If we checked and found that nothing is different, dont issue another notification.
if (!checkForChangeAndSaveData(iconResId, contentResId, largeIcon, contentTitle, state,
@@ -316,7 +318,10 @@
/**
* Returns the main string to use in the notification.
*/
- private String getContentTitle(ContactCacheEntry contactInfo) {
+ private String getContentTitle(ContactCacheEntry contactInfo, boolean isConference) {
+ if (isConference) {
+ return mContext.getResources().getString(R.string.card_title_conf_call);
+ }
if (TextUtils.isEmpty(contactInfo.name)) {
return contactInfo.number;
}
@@ -327,7 +332,11 @@
/**
* Gets a large icon from the contact info object to display in the notification.
*/
- private Bitmap getLargeIconToDisplay(ContactCacheEntry contactInfo) {
+ private Bitmap getLargeIconToDisplay(ContactCacheEntry contactInfo, boolean isConference) {
+ if (isConference) {
+ return BitmapFactory.decodeResource(mContext.getResources(),
+ R.drawable.picture_conference);
+ }
if (contactInfo.photo != null && (contactInfo.photo instanceof BitmapDrawable)) {
return ((BitmapDrawable) contactInfo.photo).getBitmap();
}