summaryrefslogtreecommitdiff
path: root/java/com/android/dialer/speeddial
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-04-25 01:53:47 -0700
committerCopybara-Service <copybara-piper@google.com>2018-04-25 11:47:45 -0700
commit79a407ee27e6c8f6447f3a8c71ae2c7f6b33f591 (patch)
treeac6491831c0d331f8582a65eda60143cb0798fd0 /java/com/android/dialer/speeddial
parenta1723256b90fce7fad0a760bf8c889203b8d24df (diff)
Show clear frequents option in the toolbar if there are suggested contacts.
Bug: 36841782 Test: SpeedDialAdapterTest PiperOrigin-RevId: 194210091 Change-Id: I5b8ad5ca43ee6f519de09ad2a8b1b959637a825b
Diffstat (limited to 'java/com/android/dialer/speeddial')
-rw-r--r--java/com/android/dialer/speeddial/SpeedDialAdapter.java5
-rw-r--r--java/com/android/dialer/speeddial/SpeedDialFragment.java17
2 files changed, 17 insertions, 5 deletions
diff --git a/java/com/android/dialer/speeddial/SpeedDialAdapter.java b/java/com/android/dialer/speeddial/SpeedDialAdapter.java
index 6f6ac5498..8a37e97dd 100644
--- a/java/com/android/dialer/speeddial/SpeedDialAdapter.java
+++ b/java/com/android/dialer/speeddial/SpeedDialAdapter.java
@@ -210,4 +210,9 @@ public final class SpeedDialAdapter extends RecyclerView.Adapter<RecyclerView.Vi
public void setItemTouchHelper(ItemTouchHelper itemTouchHelper) {
this.itemTouchHelper = itemTouchHelper;
}
+
+ /** Returns true if there are suggested contacts. */
+ public boolean hasFrequents() {
+ return !speedDialUiItems.isEmpty() && getItemViewType(getItemCount() - 1) == RowType.SUGGESTION;
+ }
}
diff --git a/java/com/android/dialer/speeddial/SpeedDialFragment.java b/java/com/android/dialer/speeddial/SpeedDialFragment.java
index 26893a8d3..b74c06239 100644
--- a/java/com/android/dialer/speeddial/SpeedDialFragment.java
+++ b/java/com/android/dialer/speeddial/SpeedDialFragment.java
@@ -34,6 +34,7 @@ import android.view.ViewGroup;
import android.widget.FrameLayout;
import com.android.dialer.callintent.CallInitiationType;
import com.android.dialer.callintent.CallIntentBuilder;
+import com.android.dialer.common.FragmentUtils;
import com.android.dialer.common.LogUtil;
import com.android.dialer.common.concurrent.DialerExecutorComponent;
import com.android.dialer.common.concurrent.SupportUiListener;
@@ -132,11 +133,6 @@ public class SpeedDialFragment extends Fragment {
return rootLayout;
}
- public boolean hasFrequents() {
- // TODO(calderwoodra)
- return false;
- }
-
@Override
public void onResume() {
super.onResume();
@@ -173,12 +169,17 @@ public class SpeedDialFragment extends Fragment {
}
private void onSpeedDialUiItemListLoaded(ImmutableList<SpeedDialUiItem> speedDialUiItems) {
+ LogUtil.enterBlock("SpeedDialFragment.onSpeedDialUiItemListLoaded");
// TODO(calderwoodra): Use DiffUtil to properly update and animate the change
adapter.setSpeedDialUiItems(
UiItemLoaderComponent.get(getContext())
.speedDialUiItemLoader()
.insertDuoChannels(getContext(), speedDialUiItems));
adapter.notifyDataSetChanged();
+ if (getActivity() != null) {
+ FragmentUtils.getParentUnsafe(this, HostInterface.class)
+ .setHasFrequents(adapter.hasFrequents());
+ }
}
@Override
@@ -359,4 +360,10 @@ public class SpeedDialFragment extends Fragment {
Contacts.CONTENT_URI, String.valueOf(speedDialUiItem.contactId()))));
}
}
+
+ /** Interface for {@link SpeedDialFragment} to communicate with its host/parent. */
+ public interface HostInterface {
+
+ void setHasFrequents(boolean hasFrequents);
+ }
}