Merge "Format numbers in block dialog fragment" into ub-contactsdialer-a-dev
diff --git a/src/com/android/dialer/CallDetailActivity.java b/src/com/android/dialer/CallDetailActivity.java
index f63fcf3..2e2bea8 100644
--- a/src/com/android/dialer/CallDetailActivity.java
+++ b/src/com/android/dialer/CallDetailActivity.java
@@ -445,11 +445,11 @@
private void updateBlockActionItem() {
if (mBlockedNumberId == null) {
mBlockNumberActionItem.setText(R.string.action_block_number);
- mBlockNumberActionItem.setCompoundDrawablesWithIntrinsicBounds(
+ mBlockNumberActionItem.setCompoundDrawablesRelativeWithIntrinsicBounds(
R.drawable.ic_call_detail_block, 0, 0, 0);
} else {
mBlockNumberActionItem.setText(R.string.action_unblock_number);
- mBlockNumberActionItem.setCompoundDrawablesWithIntrinsicBounds(
+ mBlockNumberActionItem.setCompoundDrawablesRelativeWithIntrinsicBounds(
R.drawable.ic_call_detail_unblock, 0, 0, 0);
}
diff --git a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
index 0087506..89596f2 100644
--- a/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
+++ b/src/com/android/dialer/calllog/CallLogListItemViewHolder.java
@@ -467,7 +467,8 @@
}
// For voicemail calls, show the voicemail playback layout; hide otherwise.
- if (callType == Calls.VOICEMAIL_TYPE && mVoicemailPlaybackPresenter != null) {
+ if (callType == Calls.VOICEMAIL_TYPE && mVoicemailPlaybackPresenter != null
+ && !TextUtils.isEmpty(voicemailUri)) {
voicemailPlaybackView.setVisibility(View.VISIBLE);
Uri uri = Uri.parse(voicemailUri);
diff --git a/src/com/android/dialer/list/BlockedListSearchFragment.java b/src/com/android/dialer/list/BlockedListSearchFragment.java
index 2d04c69..daa384a 100644
--- a/src/com/android/dialer/list/BlockedListSearchFragment.java
+++ b/src/com/android/dialer/list/BlockedListSearchFragment.java
@@ -32,7 +32,6 @@
import com.android.contacts.common.GeoUtil;
import com.android.contacts.common.list.ContactEntryListAdapter;
-import com.android.contacts.common.list.ContactListItemView;
import com.android.contacts.common.util.ContactDisplayUtils;
import com.android.dialer.R;
import com.android.dialer.database.FilteredNumberAsyncQueryHandler;
@@ -49,22 +48,18 @@
private FilteredNumberAsyncQueryHandler mFilteredNumberAsyncQueryHandler;
private EditText mSearchView;
- private String mSearchQuery;
private final TextWatcher mPhoneSearchQueryTextListener = new TextWatcher() {
@Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
- }
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
- mSearchQuery = s.toString();
- setQueryString(mSearchQuery, false);
+ setQueryString(s.toString(), false);
}
@Override
- public void afterTextChanged(Editable s) {
- }
+ public void afterTextChanged(Editable s) {}
};
private final SearchEditTextLayout.Callback mSearchLayoutCallback =
@@ -83,14 +78,17 @@
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- // Show list of all phone numbers when search query is empty.
- setShowEmptyListForNullQuery(false);
-
+ setShowEmptyListForNullQuery(true);
+ /*
+ * Pass in the empty string here so ContactEntryListFragment#setQueryString interprets it as
+ * an empty search query, rather than as an uninitalized value. In the latter case, the
+ * adapter returned by #createListAdapter is used, which populates the view with contacts.
+ * Passing in the empty string forces ContactEntryListFragment to interpret it as an empty
+ * query, which results in showing an empty view
+ */
+ setQueryString(getQueryString() == null ? "" : getQueryString(), false);
mFilteredNumberAsyncQueryHandler = new FilteredNumberAsyncQueryHandler(
getContext().getContentResolver());
- if (savedInstanceState != null) {
- mSearchQuery = savedInstanceState.getString(KEY_SEARCH_QUERY);
- }
}
@Override
@@ -116,8 +114,8 @@
searchEditTextLayout.findViewById(R.id.search_box_expanded)
.setBackgroundColor(getContext().getResources().getColor(android.R.color.white));
- if (!TextUtils.isEmpty(mSearchQuery)) {
- mSearchView.setText(mSearchQuery);
+ if (!TextUtils.isEmpty(getQueryString())) {
+ mSearchView.setText(getQueryString());
}
// TODO: Don't set custom text size; use default search text size.
@@ -126,21 +124,17 @@
}
@Override
- public void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- outState.putString(KEY_SEARCH_QUERY, getAdapter().getQueryString());
- }
-
- @Override
protected ContactEntryListAdapter createListAdapter() {
BlockedListSearchAdapter adapter = new BlockedListSearchAdapter(getActivity());
adapter.setDisplayPhotos(true);
// Don't show SIP addresses.
adapter.setUseCallableUri(false);
- adapter.setQueryString(mSearchQuery);
+ // Keep in sync with the queryString set in #onCreate
+ adapter.setQueryString(getQueryString() == null ? "" : getQueryString());
return adapter;
}
+
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
super.onItemClick(parent, view, position, id);
@@ -153,7 +147,7 @@
case DialerPhoneNumberListAdapter.SHORTCUT_INVALID:
// Handles click on a search result, either contact or nearby places result.
number = adapter.getPhoneNumber(adapterPosition);
- blockContactNumber(adapter, (ContactListItemView) view, number, blockId);
+ blockContactNumber(number, blockId);
break;
case DialerPhoneNumberListAdapter.SHORTCUT_BLOCK_NUMBER:
// Handles click on 'Block number' shortcut to add the user query as a number.
@@ -218,11 +212,7 @@
getAdapter().notifyDataSetChanged();
}
- private void blockContactNumber(
- final BlockedListSearchAdapter adapter,
- final ContactListItemView view,
- final String number,
- final Integer blockId) {
+ private void blockContactNumber(final String number, final Integer blockId) {
if (blockId != null) {
Toast.makeText(getContext(), ContactDisplayUtils.getTtsSpannedPhoneNumber(
getResources(), R.string.alreadyBlocked, number),
diff --git a/src/com/android/dialer/logging/ScreenEvent.java b/src/com/android/dialer/logging/ScreenEvent.java
index c88a7b7..7af3f6e 100644
--- a/src/com/android/dialer/logging/ScreenEvent.java
+++ b/src/com/android/dialer/logging/ScreenEvent.java
@@ -121,6 +121,9 @@
sScreenNameMap.put(ScreenEvent.INCOMING_CALL, AnswerFragment.class.getSimpleName());
sScreenNameMap.put(ScreenEvent.CONFERENCE_MANAGEMENT,
ConferenceManagerFragment.class.getSimpleName());
+ sScreenNameMap.put(ScreenEvent.INCALL_DIALPAD,
+ getScreenNameWithTag(DialpadFragment.class.getSimpleName(), "InCall"));
+
}
/**