From 4ef51165ffd5e2b9fc804b18d5bb8a49937cd44d Mon Sep 17 00:00:00 2001 From: linyuh Date: Tue, 27 Feb 2018 16:49:39 -0800 Subject: Internal cleanup for the new UI's bottom sheet. Test: Existing tests PiperOrigin-RevId: 187254014 Change-Id: I8a57b632d45e87ad075eb8bbb25180858e890f08 --- .../dialer/voicemail/listui/menu/Modules.java | 67 +++++++++++++--------- .../voicemail/listui/menu/NewVoicemailMenu.java | 4 +- .../voicemail/listui/menu/PrimaryAction.java | 6 +- 3 files changed, 46 insertions(+), 31 deletions(-) (limited to 'java/com/android/dialer/voicemail') diff --git a/java/com/android/dialer/voicemail/listui/menu/Modules.java b/java/com/android/dialer/voicemail/listui/menu/Modules.java index 76ce172b8..9473b80e1 100644 --- a/java/com/android/dialer/voicemail/listui/menu/Modules.java +++ b/java/com/android/dialer/voicemail/listui/menu/Modules.java @@ -17,11 +17,12 @@ package com.android.dialer.voicemail.listui.menu; import android.content.Context; -import com.android.dialer.contactactions.ContactActionModule; -import com.android.dialer.contactactions.DividerModule; -import com.android.dialer.contactactions.SharedModules; +import com.android.dialer.historyitemactions.DividerModule; +import com.android.dialer.historyitemactions.HistoryItemActionModule; +import com.android.dialer.historyitemactions.SharedModules; import com.android.dialer.logging.ReportingLocation; import com.android.dialer.voicemail.model.VoicemailEntry; +import com.google.common.base.Optional; import java.util.ArrayList; import java.util.List; @@ -29,43 +30,57 @@ import java.util.List; * Configures the modules for the voicemail bottom sheet; these are the rows below the top row * (primary action) in the bottom sheet. */ +@SuppressWarnings("Guava") final class Modules { - static List fromVoicemailEntry( + static List fromVoicemailEntry( Context context, VoicemailEntry voicemailEntry) { // Conditionally add each module, which are items in the bottom sheet's menu. - List modules = new ArrayList<>(); + List modules = new ArrayList<>(); // TODO(uabdullah): Handle maybeAddModuleForVideoOrAudioCall(context, modules, row); - SharedModules.maybeAddModuleForAddingToContacts( - context, - modules, - voicemailEntry.number(), - voicemailEntry.numberAttributes().getName(), - voicemailEntry.numberAttributes().getLookupUri(), - voicemailEntry.numberAttributes().getIsBlocked(), - voicemailEntry.numberAttributes().getIsSpam()); + Optional moduleForAddingContacts = + SharedModules.createModuleForAddingToContacts( + context, + voicemailEntry.number(), + voicemailEntry.numberAttributes().getName(), + voicemailEntry.numberAttributes().getLookupUri(), + voicemailEntry.numberAttributes().getIsBlocked(), + voicemailEntry.numberAttributes().getIsSpam()); + if (moduleForAddingContacts.isPresent()) { + modules.add(moduleForAddingContacts.get()); + } - String normalizedNumber = voicemailEntry.number().getNormalizedNumber(); - SharedModules.maybeAddModuleForSendingTextMessage( - context, modules, normalizedNumber, voicemailEntry.numberAttributes().getIsBlocked()); + Optional moduleForSendingTextMessage = + SharedModules.createModuleForSendingTextMessage( + context, + voicemailEntry.number().getNormalizedNumber(), + voicemailEntry.numberAttributes().getIsBlocked()); + if (moduleForSendingTextMessage.isPresent()) { + modules.add(moduleForSendingTextMessage.get()); + } if (!modules.isEmpty()) { modules.add(new DividerModule()); } - SharedModules.addModulesHandlingBlockedOrSpamNumber( - context, - modules, - voicemailEntry.number().getNormalizedNumber(), - voicemailEntry.number().getCountryIso(), - voicemailEntry.callType(), - voicemailEntry.numberAttributes().getIsBlocked(), - voicemailEntry.numberAttributes().getIsSpam(), - ReportingLocation.Type.VOICEMAIL_HISTORY); + modules.addAll( + SharedModules.createModulesHandlingBlockedOrSpamNumber( + context, + voicemailEntry.number().getNormalizedNumber(), + voicemailEntry.number().getCountryIso(), + voicemailEntry.callType(), + voicemailEntry.numberAttributes().getIsBlocked(), + voicemailEntry.numberAttributes().getIsSpam(), + ReportingLocation.Type.VOICEMAIL_HISTORY)); // TODO(zachh): Module for CallComposer. - SharedModules.maybeAddModuleForCopyingNumber(context, modules, normalizedNumber); + Optional moduleForCopyingNumber = + SharedModules.createModuleForCopyingNumber( + context, voicemailEntry.number().getNormalizedNumber()); + if (moduleForCopyingNumber.isPresent()) { + modules.add(moduleForCopyingNumber.get()); + } return modules; } diff --git a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java index fbd7fe854..7c669e194 100644 --- a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java +++ b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java @@ -18,8 +18,8 @@ package com.android.dialer.voicemail.listui.menu; import android.content.Context; import android.view.View; -import com.android.dialer.contactactions.ContactActionBottomSheet; import com.android.dialer.glidephotomanager.GlidePhotoManager; +import com.android.dialer.historyitemactions.HistoryItemActionBottomSheet; import com.android.dialer.voicemail.model.VoicemailEntry; /** Handles configuration of the bottom sheet menus for voicemail entries. */ @@ -29,7 +29,7 @@ public final class NewVoicemailMenu { public static View.OnClickListener createOnClickListener( Context context, VoicemailEntry voicemailEntry, GlidePhotoManager glidePhotoManager) { return (view) -> - ContactActionBottomSheet.show( + HistoryItemActionBottomSheet.show( context, PrimaryAction.fromVoicemailEntry(context, voicemailEntry), Modules.fromVoicemailEntry(context, voicemailEntry), diff --git a/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java b/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java index 91f505cb0..9a5aa1886 100644 --- a/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java +++ b/java/com/android/dialer/voicemail/listui/menu/PrimaryAction.java @@ -19,7 +19,7 @@ package com.android.dialer.voicemail.listui.menu; import android.content.Context; import android.text.TextUtils; import com.android.dialer.calllogutils.NumberAttributesConverter; -import com.android.dialer.contactactions.ContactPrimaryActionInfo; +import com.android.dialer.historyitemactions.HistoryItemPrimaryActionInfo; import com.android.dialer.voicemail.model.VoicemailEntry; /** Configures the primary action row (top row) for theottom sheet for the Voicemail Tab */ @@ -31,9 +31,9 @@ final class PrimaryAction { // setIntent - allow video calling // setPrimaryText - check in with UX // setSecondaryText - check in with UX - static ContactPrimaryActionInfo fromVoicemailEntry( + static HistoryItemPrimaryActionInfo fromVoicemailEntry( Context context, VoicemailEntry voicemailEntry) { - return ContactPrimaryActionInfo.builder() + return HistoryItemPrimaryActionInfo.builder() .setNumber(voicemailEntry.number()) .setPhotoInfo( NumberAttributesConverter.toPhotoInfoBuilder(voicemailEntry.numberAttributes()) -- cgit v1.2.3