diff options
Diffstat (limited to 'java')
30 files changed, 176 insertions, 149 deletions
diff --git a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java index 009fb9e10..3a1e196e2 100644 --- a/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java +++ b/java/com/android/dialer/app/voicemail/VoicemailPlaybackLayout.java @@ -276,7 +276,7 @@ public class VoicemailPlaybackLayout extends LinearLayout @Override public void onSpeakerphoneOn(boolean on) { if (on) { - playbackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_up_white_24); + playbackSpeakerphone.setImageResource(R.drawable.quantum_ic_volume_up_vd_theme_24); // Speaker is now on, tapping button will turn it off. playbackSpeakerphone.setContentDescription(context.getString(R.string.voicemail_speaker_off)); } else { diff --git a/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java index f7ba9efde..05a339978 100644 --- a/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java +++ b/java/com/android/dialer/calllog/ui/NewCallLogAdapter.java @@ -25,8 +25,6 @@ import android.view.LayoutInflater; import android.view.ViewGroup; import com.android.dialer.calllogutils.CallLogDates; import com.android.dialer.common.Assert; -import com.android.dialer.glidephotomanager.GlidePhotoManager; -import com.android.dialer.glidephotomanager.GlidePhotoManagerComponent; import com.android.dialer.time.Clock; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -55,7 +53,6 @@ final class NewCallLogAdapter extends RecyclerView.Adapter<ViewHolder> { private final Clock clock; private final RealtimeRowProcessor realtimeRowProcessor; - private final GlidePhotoManager glidePhotoManager; private Cursor cursor; @@ -72,7 +69,6 @@ final class NewCallLogAdapter extends RecyclerView.Adapter<ViewHolder> { this.cursor = cursor; this.clock = clock; this.realtimeRowProcessor = CallLogUiComponent.get(context).realtimeRowProcessor(); - this.glidePhotoManager = GlidePhotoManagerComponent.get(context).glidePhotoManager(); setHeaderPositions(); } @@ -142,8 +138,7 @@ final class NewCallLogAdapter extends RecyclerView.Adapter<ViewHolder> { LayoutInflater.from(viewGroup.getContext()) .inflate(R.layout.new_call_log_entry, viewGroup, false), clock, - realtimeRowProcessor, - glidePhotoManager); + realtimeRowProcessor); default: throw Assert.createUnsupportedOperationFailException("Unsupported view type: " + viewType); } diff --git a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java index 9809d97f5..f322b562b 100644 --- a/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java +++ b/java/com/android/dialer/calllog/ui/NewCallLogViewHolder.java @@ -34,7 +34,6 @@ import com.android.dialer.calllogutils.NumberAttributesConverter; import com.android.dialer.common.concurrent.DialerExecutorComponent; import com.android.dialer.compat.AppCompatConstants; import com.android.dialer.compat.telephony.TelephonyManagerCompat; -import com.android.dialer.glidephotomanager.GlidePhotoManager; import com.android.dialer.oem.MotorolaUtils; import com.android.dialer.time.Clock; import com.android.dialer.widget.ContactPhotoView; @@ -62,15 +61,9 @@ final class NewCallLogViewHolder extends RecyclerView.ViewHolder { private final RealtimeRowProcessor realtimeRowProcessor; private final ExecutorService uiExecutorService; - private final GlidePhotoManager glidePhotoManager; - private long currentRowId; - NewCallLogViewHolder( - View view, - Clock clock, - RealtimeRowProcessor realtimeRowProcessor, - GlidePhotoManager glidePhotoManager) { + NewCallLogViewHolder(View view, Clock clock, RealtimeRowProcessor realtimeRowProcessor) { super(view); this.context = view.getContext(); contactPhotoView = view.findViewById(R.id.contact_photo_view); @@ -86,7 +79,6 @@ final class NewCallLogViewHolder extends RecyclerView.ViewHolder { this.clock = clock; this.realtimeRowProcessor = realtimeRowProcessor; - this.glidePhotoManager = glidePhotoManager; uiExecutorService = DialerExecutorComponent.get(context).uiExecutor(); } @@ -251,8 +243,7 @@ final class NewCallLogViewHolder extends RecyclerView.ViewHolder { } private void setOnClickListenerForMenuButon(CoalescedRow row) { - menuButton.setOnClickListener( - NewCallLogMenu.createOnClickListener(context, row, glidePhotoManager)); + menuButton.setOnClickListener(NewCallLogMenu.createOnClickListener(context, row)); } private class RealtimeRowFutureCallback implements FutureCallback<CoalescedRow> { diff --git a/java/com/android/dialer/calllog/ui/menu/NewCallLogMenu.java b/java/com/android/dialer/calllog/ui/menu/NewCallLogMenu.java index 78354caac..dabb9bbe4 100644 --- a/java/com/android/dialer/calllog/ui/menu/NewCallLogMenu.java +++ b/java/com/android/dialer/calllog/ui/menu/NewCallLogMenu.java @@ -22,7 +22,6 @@ import android.view.View; import com.android.dialer.calllog.CallLogComponent; import com.android.dialer.calllog.model.CoalescedRow; import com.android.dialer.common.concurrent.DefaultFutureCallback; -import com.android.dialer.glidephotomanager.GlidePhotoManager; import com.android.dialer.historyitemactions.HistoryItemActionBottomSheet; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.MoreExecutors; @@ -31,14 +30,10 @@ import com.google.common.util.concurrent.MoreExecutors; public final class NewCallLogMenu { /** Creates and returns the OnClickListener which opens the menu for the provided row. */ - public static View.OnClickListener createOnClickListener( - Context context, CoalescedRow row, GlidePhotoManager glidePhotoManager) { + public static View.OnClickListener createOnClickListener(Context context, CoalescedRow row) { return view -> { HistoryItemActionBottomSheet.show( - context, - BottomSheetHeader.fromRow(context, row), - Modules.fromRow(context, row), - glidePhotoManager); + context, BottomSheetHeader.fromRow(context, row), Modules.fromRow(context, row)); // If the user opens the bottom sheet for a new call, clear the notifications and make the row // not bold immediately. To do this, mark all of the calls in group as not new. diff --git a/java/com/android/dialer/historyitemactions/HistoryItemActionBottomSheet.java b/java/com/android/dialer/historyitemactions/HistoryItemActionBottomSheet.java index ce303272c..79205a7d9 100644 --- a/java/com/android/dialer/historyitemactions/HistoryItemActionBottomSheet.java +++ b/java/com/android/dialer/historyitemactions/HistoryItemActionBottomSheet.java @@ -28,42 +28,37 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.android.dialer.common.Assert; -import com.android.dialer.glidephotomanager.GlidePhotoManager; +import com.android.dialer.widget.ContactPhotoView; import java.util.List; /** * {@link BottomSheetDialog} used to show a list of actions in a bottom sheet menu. * - * <p>{@link #show(Context, HistoryItemBottomSheetHeaderInfo, List, GlidePhotoManager)} should be - * used to create and display the menu. Modules are built using {@link HistoryItemActionModule} and - * some defaults are provided by {@link IntentModule} and {@link DividerModule}. + * <p>{@link #show(Context, HistoryItemBottomSheetHeaderInfo, List)} should be used to create and + * display the menu. Modules are built using {@link HistoryItemActionModule} and some defaults are + * provided by {@link IntentModule} and {@link DividerModule}. */ public class HistoryItemActionBottomSheet extends BottomSheetDialog implements OnClickListener { private final List<HistoryItemActionModule> modules; private final HistoryItemBottomSheetHeaderInfo historyItemBottomSheetHeaderInfo; - private final GlidePhotoManager glidePhotoManager; private HistoryItemActionBottomSheet( Context context, HistoryItemBottomSheetHeaderInfo historyItemBottomSheetHeaderInfo, - List<HistoryItemActionModule> modules, - GlidePhotoManager glidePhotoManager) { + List<HistoryItemActionModule> modules) { super(context); this.modules = modules; this.historyItemBottomSheetHeaderInfo = historyItemBottomSheetHeaderInfo; - this.glidePhotoManager = glidePhotoManager; setContentView(LayoutInflater.from(context).inflate(R.layout.sheet_layout, null)); } public static HistoryItemActionBottomSheet show( Context context, HistoryItemBottomSheetHeaderInfo historyItemBottomSheetHeaderInfo, - List<HistoryItemActionModule> modules, - GlidePhotoManager glidePhotoManager) { + List<HistoryItemActionModule> modules) { HistoryItemActionBottomSheet sheet = - new HistoryItemActionBottomSheet( - context, historyItemBottomSheetHeaderInfo, modules, glidePhotoManager); + new HistoryItemActionBottomSheet(context, historyItemBottomSheetHeaderInfo, modules); sheet.show(); return sheet; } @@ -87,10 +82,8 @@ public class HistoryItemActionBottomSheet extends BottomSheetDialog implements O LayoutInflater inflater = LayoutInflater.from(getContext()); View contactView = inflater.inflate(R.layout.contact_layout, container, false); - // TODO(zachh): The contact image should be badged with a video icon if it is for a video call. - glidePhotoManager.loadQuickContactBadge( - contactView.findViewById(R.id.quick_contact_photo), - historyItemBottomSheetHeaderInfo.getPhotoInfo()); + ContactPhotoView contactPhotoView = contactView.findViewById(R.id.contact_photo_view); + contactPhotoView.setPhoto(historyItemBottomSheetHeaderInfo.getPhotoInfo()); TextView primaryTextView = contactView.findViewById(R.id.primary_text); TextView secondaryTextView = contactView.findViewById(R.id.secondary_text); diff --git a/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml b/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml index 4deef3e07..f2dc8c7ac 100644 --- a/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml +++ b/java/com/android/dialer/historyitemactions/res/layout/contact_layout.xml @@ -23,14 +23,13 @@ android:gravity="center_vertical" android:orientation="horizontal"> - <QuickContactBadge - android:id="@+id/quick_contact_photo" - android:layout_width="@dimen/contact_actions_image_size" - android:layout_height="@dimen/contact_actions_image_size" - android:layout_marginStart="@dimen/contact_actions_image_margin" - android:layout_marginEnd="@dimen/contact_actions_image_margin" - android:padding="4dp" - android:focusable="true"/> + <com.android.dialer.widget.ContactPhotoView + android:id="@+id/contact_photo_view" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="10dp" + android:layout_marginEnd="10dp" + android:minHeight="@dimen/contact_actions_image_size"/> <LinearLayout android:layout_width="wrap_content" diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java b/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java index d42c255eb..66e2195b7 100644 --- a/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailViewHolder.java @@ -151,8 +151,7 @@ final class NewVoicemailViewHolder extends RecyclerView.ViewHolder implements On itemView.setOnClickListener(this); menuButton.setOnClickListener( - NewVoicemailMenu.createOnClickListener( - context, voicemailEntryOfViewHolder, glidePhotoManager)); + NewVoicemailMenu.createOnClickListener(context, voicemailEntryOfViewHolder)); setPhoto(voicemailEntryOfViewHolder); diff --git a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java index 7ec86c5b9..60080598d 100644 --- a/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java +++ b/java/com/android/dialer/voicemail/listui/menu/NewVoicemailMenu.java @@ -18,7 +18,6 @@ package com.android.dialer.voicemail.listui.menu; import android.content.Context; import android.view.View; -import com.android.dialer.glidephotomanager.GlidePhotoManager; import com.android.dialer.historyitemactions.HistoryItemActionBottomSheet; import com.android.dialer.voicemail.model.VoicemailEntry; @@ -27,12 +26,11 @@ public final class NewVoicemailMenu { /** Creates and returns the OnClickListener which opens the menu for the provided row. */ public static View.OnClickListener createOnClickListener( - Context context, VoicemailEntry voicemailEntry, GlidePhotoManager glidePhotoManager) { + Context context, VoicemailEntry voicemailEntry) { return (view) -> HistoryItemActionBottomSheet.show( context, BottomSheetHeader.fromVoicemailEntry(voicemailEntry), - Modules.fromVoicemailEntry(context, voicemailEntry), - glidePhotoManager); + Modules.fromVoicemailEntry(context, voicemailEntry)); } } diff --git a/java/com/android/dialer/widget/res/layout/contact_photo_view.xml b/java/com/android/dialer/widget/res/layout/contact_photo_view.xml index e505e5866..2f5cd9e3d 100644 --- a/java/com/android/dialer/widget/res/layout/contact_photo_view.xml +++ b/java/com/android/dialer/widget/res/layout/contact_photo_view.xml @@ -19,6 +19,7 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="52dp" android:layout_height="44dp" + android:layout_gravity="center" android:focusable="false"> <QuickContactBadge diff --git a/java/com/android/incallui/ReturnToCallController.java b/java/com/android/incallui/ReturnToCallController.java index 9dfb73bae..d5e6a1001 100644 --- a/java/com/android/incallui/ReturnToCallController.java +++ b/java/com/android/incallui/ReturnToCallController.java @@ -44,7 +44,6 @@ import com.android.incallui.call.CallList; import com.android.incallui.call.CallList.Listener; import com.android.incallui.call.DialerCall; import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo; -import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize; import java.lang.ref.WeakReference; import java.util.ArrayList; import java.util.List; @@ -280,7 +279,7 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio @NonNull private List<Action> generateActions() { List<Action> actions = new ArrayList<>(); - SpeakerButtonInfo speakerButtonInfo = new SpeakerButtonInfo(audioState, IconSize.SIZE_24_DP); + SpeakerButtonInfo speakerButtonInfo = new SpeakerButtonInfo(audioState); // Return to call actions.add( @@ -294,7 +293,7 @@ public class ReturnToCallController implements InCallUiListener, Listener, Audio // Mute/unmute actions.add( Action.builder() - .setIconDrawable(context.getDrawable(R.drawable.quantum_ic_mic_off_white_24)) + .setIconDrawable(context.getDrawable(R.drawable.quantum_ic_mic_off_vd_theme_24)) .setChecked(audioState.isMuted()) .setIntent(toggleMute) .setName(context.getText(R.string.incall_label_mute)) diff --git a/java/com/android/incallui/StatusBarNotifier.java b/java/com/android/incallui/StatusBarNotifier.java index 503df6c88..9a2753219 100644 --- a/java/com/android/incallui/StatusBarNotifier.java +++ b/java/com/android/incallui/StatusBarNotifier.java @@ -916,7 +916,7 @@ public class StatusBarNotifier createNotificationPendingIntent(context, ACTION_TURN_ON_SPEAKER); builder.addAction( new Notification.Action.Builder( - Icon.createWithResource(context, R.drawable.quantum_ic_volume_up_white_24), + Icon.createWithResource(context, R.drawable.quantum_ic_volume_up_vd_theme_24), context.getText(R.string.notification_action_speaker_on), speakerOnPendingIntent) .build()); @@ -930,7 +930,7 @@ public class StatusBarNotifier createNotificationPendingIntent(context, ACTION_TURN_OFF_SPEAKER); builder.addAction( new Notification.Action.Builder( - Icon.createWithResource(context, R.drawable.quantum_ic_phone_in_talk_white_24), + Icon.createWithResource(context, R.drawable.quantum_ic_phone_in_talk_vd_theme_24), context.getText(R.string.notification_action_speaker_off), speakerOffPendingIntent) .build()); diff --git a/java/com/android/incallui/answer/impl/AnswerFragment.java b/java/com/android/incallui/answer/impl/AnswerFragment.java index e5271f5c2..77352f94b 100644 --- a/java/com/android/incallui/answer/impl/AnswerFragment.java +++ b/java/com/android/incallui/answer/impl/AnswerFragment.java @@ -174,7 +174,7 @@ public class AnswerFragment extends Fragment }, ANSWER_VIDEO_AS_AUDIO( - R.drawable.quantum_ic_videocam_off_white_24, + R.drawable.quantum_ic_videocam_off_vd_theme_24, R.string.a11y_description_incoming_call_answer_video_as_audio, R.string.a11y_incoming_call_answer_video_as_audio, R.string.call_incoming_swipe_to_answer_video_as_audio) { diff --git a/java/com/android/incallui/incall/impl/ButtonController.java b/java/com/android/incallui/incall/impl/ButtonController.java index dd11fff33..98460c704 100644 --- a/java/com/android/incallui/incall/impl/ButtonController.java +++ b/java/com/android/incallui/incall/impl/ButtonController.java @@ -31,7 +31,6 @@ import com.android.incallui.incall.protocol.InCallButtonIds; import com.android.incallui.incall.protocol.InCallButtonUiDelegate; import com.android.incallui.incall.protocol.InCallScreenDelegate; import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo; -import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize; /** Manages a single button. */ interface ButtonController { @@ -379,7 +378,7 @@ interface ButtonController { } public void setAudioState(CallAudioState audioState) { - SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_36_DP); + SpeakerButtonInfo info = new SpeakerButtonInfo(audioState); checkable = info.checkable; isChecked = info.isChecked; diff --git a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java index 2a061c546..6a7aeba96 100644 --- a/java/com/android/incallui/rtt/impl/RttOverflowMenu.java +++ b/java/com/android/incallui/rtt/impl/RttOverflowMenu.java @@ -24,7 +24,6 @@ import com.android.incallui.incall.protocol.InCallButtonUiDelegate; import com.android.incallui.incall.protocol.InCallScreenDelegate; import com.android.incallui.rtt.impl.RttCheckableButton.OnCheckedChangeListener; import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo; -import com.android.incallui.speakerbuttonlogic.SpeakerButtonInfo.IconSize; /** Overflow menu for RTT call. */ public class RttOverflowMenu extends PopupWindow implements OnCheckedChangeListener { @@ -89,7 +88,7 @@ public class RttOverflowMenu extends PopupWindow implements OnCheckedChangeListe } void setAudioState(CallAudioState audioState) { - SpeakerButtonInfo info = new SpeakerButtonInfo(audioState, IconSize.SIZE_24_DP); + SpeakerButtonInfo info = new SpeakerButtonInfo(audioState); if (info.checkable) { speakerButton.setChecked(info.isChecked); speakerButton.setOnClickListener(null); diff --git a/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java index 5ab821be0..58fd40fb4 100644 --- a/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java +++ b/java/com/android/incallui/speakerbuttonlogic/SpeakerButtonInfo.java @@ -42,7 +42,7 @@ public class SpeakerButtonInfo { public final boolean checkable; public final boolean isChecked; - public SpeakerButtonInfo(CallAudioState audioState, @IconSize int iconSize) { + public SpeakerButtonInfo(CallAudioState audioState) { if ((audioState.getSupportedRouteMask() & CallAudioState.ROUTE_BLUETOOTH) == CallAudioState.ROUTE_BLUETOOTH) { checkable = false; @@ -51,40 +51,25 @@ public class SpeakerButtonInfo { if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH) == CallAudioState.ROUTE_BLUETOOTH) { - icon = - iconSize == IconSize.SIZE_36_DP - ? R.drawable.quantum_ic_bluetooth_audio_white_36 - : R.drawable.quantum_ic_bluetooth_audio_white_24; + icon = R.drawable.quantum_ic_bluetooth_audio_vd_theme_24; contentDescription = R.string.incall_content_description_bluetooth; } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER) == CallAudioState.ROUTE_SPEAKER) { - icon = - iconSize == IconSize.SIZE_36_DP - ? R.drawable.quantum_ic_volume_up_white_36 - : R.drawable.quantum_ic_volume_up_white_24; + icon = R.drawable.quantum_ic_volume_up_vd_theme_24; contentDescription = R.string.incall_content_description_speaker; } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET) == CallAudioState.ROUTE_WIRED_HEADSET) { - icon = - iconSize == IconSize.SIZE_36_DP - ? R.drawable.quantum_ic_headset_white_36 - : R.drawable.quantum_ic_headset_white_24; + icon = R.drawable.quantum_ic_headset_vd_theme_24; contentDescription = R.string.incall_content_description_headset; } else { - icon = - iconSize == IconSize.SIZE_36_DP - ? R.drawable.quantum_ic_phone_in_talk_white_36 - : R.drawable.quantum_ic_phone_in_talk_white_24; + icon = R.drawable.quantum_ic_phone_in_talk_vd_theme_24; contentDescription = R.string.incall_content_description_earpiece; } } else { checkable = true; isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER; label = R.string.incall_label_speaker; - icon = - iconSize == IconSize.SIZE_36_DP - ? R.drawable.quantum_ic_volume_up_white_36 - : R.drawable.quantum_ic_volume_up_white_24; + icon = R.drawable.quantum_ic_volume_up_vd_theme_24; contentDescription = R.string.incall_content_description_speaker; } } diff --git a/java/com/android/incallui/video/impl/SpeakerButtonController.java b/java/com/android/incallui/video/impl/SpeakerButtonController.java index d98545feb..e17cf7b9f 100644 --- a/java/com/android/incallui/video/impl/SpeakerButtonController.java +++ b/java/com/android/incallui/video/impl/SpeakerButtonController.java @@ -36,7 +36,7 @@ public class SpeakerButtonController implements OnCheckedChangeListener, OnClick @NonNull private CheckableImageButton button; - @DrawableRes private int icon = R.drawable.quantum_ic_volume_up_white_36; + @DrawableRes private int icon = R.drawable.quantum_ic_volume_up_vd_theme_24; private boolean isChecked; private boolean checkable; @@ -77,24 +77,24 @@ public class SpeakerButtonController implements OnCheckedChangeListener, OnClick if ((audioState.getRoute() & CallAudioState.ROUTE_BLUETOOTH) == CallAudioState.ROUTE_BLUETOOTH) { - icon = R.drawable.quantum_ic_bluetooth_audio_white_36; + icon = R.drawable.quantum_ic_bluetooth_audio_vd_theme_24; contentDescriptionResId = R.string.incall_content_description_bluetooth; } else if ((audioState.getRoute() & CallAudioState.ROUTE_SPEAKER) == CallAudioState.ROUTE_SPEAKER) { - icon = R.drawable.quantum_ic_volume_up_white_36; + icon = R.drawable.quantum_ic_volume_up_vd_theme_24; contentDescriptionResId = R.string.incall_content_description_speaker; } else if ((audioState.getRoute() & CallAudioState.ROUTE_WIRED_HEADSET) == CallAudioState.ROUTE_WIRED_HEADSET) { - icon = R.drawable.quantum_ic_headset_white_36; + icon = R.drawable.quantum_ic_headset_vd_theme_24; contentDescriptionResId = R.string.incall_content_description_headset; } else { - icon = R.drawable.quantum_ic_phone_in_talk_white_36; + icon = R.drawable.quantum_ic_phone_in_talk_vd_theme_24; contentDescriptionResId = R.string.incall_content_description_earpiece; } } else { checkable = true; isChecked = audioState.getRoute() == CallAudioState.ROUTE_SPEAKER; - icon = R.drawable.quantum_ic_volume_up_white_36; + icon = R.drawable.quantum_ic_volume_up_vd_theme_24; contentDescriptionResId = R.string.incall_content_description_speaker; } diff --git a/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml index 40b50bc70..9a3682f02 100644 --- a/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml +++ b/java/com/android/incallui/video/impl/res/layout-land/videocall_controls_surfaceview.xml @@ -60,33 +60,25 @@ <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_speaker_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" android:checked="true" - android:src="@drawable/quantum_ic_volume_up_white_36" + android:src="@drawable/quantum_ic_volume_up_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_speaker" app:contentDescriptionUnchecked="@string/incall_content_description_earpiece" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" - android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_white_36" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_muted" app:contentDescriptionUnchecked="@string/incall_content_description_unmuted" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_video" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" - android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_36" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_video_off" app:contentDescriptionUnchecked="@string/incall_content_description_video_on" /> @@ -111,7 +103,7 @@ android:layout_width="@dimen/videocall_button_size" android:layout_height="@dimen/videocall_button_size" android:contentDescription="@string/incall_content_description_swap_calls" - android:src="@drawable/quantum_ic_swap_calls_white_36" + android:src="@drawable/quantum_ic_swap_calls_vd_theme_24" android:visibility="gone" tools:visibility="visible" /> diff --git a/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml b/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml index 1fb1bb088..66602837e 100644 --- a/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml +++ b/java/com/android/incallui/video/impl/res/layout-v21/switch_camera_button.xml @@ -1,6 +1,21 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <ImageButton xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/videocall_switch_video" style="@style/Incall.Button.VideoCall" android:contentDescription="@string/incall_content_description_swap_video" + android:scaleType="center" android:src="@drawable/front_back_switch_button_animation"/> diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml index f8c6fc3c7..ed32ae235 100644 --- a/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml +++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" @@ -85,7 +99,7 @@ android:layout_alignRight="@+id/videocall_video_preview" android:layout_alignTop="@+id/videocall_video_preview" android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_24" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" android:tint="@color/videocall_camera_off_tint" android:tintMode="src_in" android:visibility="gone" @@ -101,7 +115,8 @@ android:background="@drawable/videocall_background_circle_white" android:contentDescription="@string/incall_content_description_muted" android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_black_24" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" + android:tint="@android:color/black" android:visibility="gone" tools:visibility="visible"/> diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml index 2353deea1..f74456963 100644 --- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml +++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_land.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" @@ -79,7 +93,7 @@ android:layout_alignRight="@+id/videocall_video_preview" android:layout_alignTop="@+id/videocall_video_preview" android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_36" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" android:visibility="gone" android:importantForAccessibility="no" tools:visibility="visible"/> @@ -93,7 +107,8 @@ android:background="@drawable/videocall_background_circle_white" android:contentDescription="@string/incall_content_description_muted" android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_black_24" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" + android:tint="@android:color/black" android:visibility="gone" tools:visibility="visible"/> diff --git a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml index 1a2bc2429..dd1bd61c2 100644 --- a/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml +++ b/java/com/android/incallui/video/impl/res/layout/frag_videocall_surfaceview.xml @@ -65,7 +65,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_24" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" android:tint="@color/videocall_camera_off_tint" android:tintMode="src_in" android:visibility="gone" @@ -84,7 +84,8 @@ android:background="@drawable/videocall_background_circle_white" android:contentDescription="@string/incall_content_description_muted" android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_black_24" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" + android:tint="@android:color/black" android:visibility="gone" tools:visibility="visible"/> diff --git a/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml b/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml index 87c2e1b6c..f473dd8c3 100644 --- a/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml +++ b/java/com/android/incallui/video/impl/res/layout/switch_camera_button.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <ImageButton xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/videocall_switch_video" style="@style/Incall.Button.VideoCall" diff --git a/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml b/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml index 3cf050467..56797d92e 100644 --- a/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml +++ b/java/com/android/incallui/video/impl/res/layout/video_contact_grid.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml index b3141bdf3..70cbac8d2 100644 --- a/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml +++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" @@ -46,31 +60,25 @@ <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_speaker_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" android:checked="true" - android:src="@drawable/quantum_ic_volume_up_white_36" + android:src="@drawable/quantum_ic_volume_up_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_speaker" app:contentDescriptionUnchecked="@string/incall_content_description_earpiece" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" - android:src="@drawable/quantum_ic_mic_off_white_36" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_muted" app:contentDescriptionUnchecked="@string/incall_content_description_unmuted" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_video" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" - android:src="@drawable/quantum_ic_videocam_off_white_36" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_video_off" app:contentDescriptionUnchecked="@string/incall_content_description_video_on" /> @@ -92,10 +100,8 @@ <ImageButton android:id="@+id/videocall_switch_on_hold" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:contentDescription="@string/incall_content_description_swap_calls" - android:src="@drawable/quantum_ic_swap_calls_white_36" + android:src="@drawable/quantum_ic_swap_calls_vd_theme_24" android:visibility="gone" tools:visibility="visible" /> diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml index d71b3c00e..404e5c842 100644 --- a/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml +++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls_land.xml @@ -1,4 +1,18 @@ <?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2018 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" @@ -45,33 +59,25 @@ <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_speaker_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" android:checked="true" - android:src="@drawable/quantum_ic_volume_up_white_36" + android:src="@drawable/quantum_ic_volume_up_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_speaker" app:contentDescriptionUnchecked="@string/incall_content_description_earpiece" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" - android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_white_36" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_muted" app:contentDescriptionUnchecked="@string/incall_content_description_unmuted" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_video" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginEnd="24dp" - android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_36" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_video_off" app:contentDescriptionUnchecked="@string/incall_content_description_video_on" /> @@ -93,10 +99,8 @@ <ImageButton android:id="@+id/videocall_switch_on_hold" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:contentDescription="@string/incall_content_description_swap_calls" - android:src="@drawable/quantum_ic_swap_calls_white_36" + android:src="@drawable/quantum_ic_swap_calls_vd_theme_24" android:visibility="gone" tools:visibility="visible" /> diff --git a/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml b/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml index d2dc992b7..7cea79267 100644 --- a/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml +++ b/java/com/android/incallui/video/impl/res/layout/videocall_controls_surfaceview.xml @@ -61,33 +61,25 @@ <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_speaker_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" android:checked="true" - android:src="@drawable/quantum_ic_volume_up_white_36" + android:src="@drawable/quantum_ic_volume_up_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_speaker" app:contentDescriptionUnchecked="@string/incall_content_description_earpiece" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_button" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" - android:scaleType="center" - android:src="@drawable/quantum_ic_mic_off_white_36" + android:src="@drawable/quantum_ic_mic_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_muted" app:contentDescriptionUnchecked="@string/incall_content_description_unmuted" /> <com.android.incallui.video.impl.CheckableImageButton android:id="@+id/videocall_mute_video" style="@style/Incall.Button.VideoCall" - android:layout_width="@dimen/videocall_button_size" - android:layout_height="@dimen/videocall_button_size" android:layout_marginBottom="@dimen/videocall_button_spacing" - android:scaleType="center" - android:src="@drawable/quantum_ic_videocam_off_white_36" + android:src="@drawable/quantum_ic_videocam_off_vd_theme_24" app:contentDescriptionChecked="@string/incall_content_description_video_off" app:contentDescriptionUnchecked="@string/incall_content_description_video_on" /> @@ -112,7 +104,7 @@ android:layout_width="@dimen/videocall_button_size" android:layout_height="@dimen/videocall_button_size" android:contentDescription="@string/incall_content_description_swap_calls" - android:src="@drawable/quantum_ic_swap_calls_white_36" + android:src="@drawable/quantum_ic_swap_calls_vd_theme_24" android:visibility="gone" tools:visibility="visible" /> diff --git a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml index e9e7f9e8b..d4a5e17d6 100644 --- a/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml +++ b/java/com/android/incallui/video/impl/res/values-h580dp/dimens.xml @@ -17,6 +17,7 @@ <resources> <dimen name="videocall_button_spacing">16dp</dimen> <dimen name="videocall_button_size">72dp</dimen> + <dimen name="videocall_button_padding">18dp</dimen> <dimen name="videocall_preview_width">88dp</dimen> <dimen name="videocall_preview_height">88dp</dimen> <dimen name="videocall_preview_long">116dp</dimen> diff --git a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml index e9e7f9e8b..d4a5e17d6 100644 --- a/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml +++ b/java/com/android/incallui/video/impl/res/values-w460dp/dimens.xml @@ -17,6 +17,7 @@ <resources> <dimen name="videocall_button_spacing">16dp</dimen> <dimen name="videocall_button_size">72dp</dimen> + <dimen name="videocall_button_padding">18dp</dimen> <dimen name="videocall_preview_width">88dp</dimen> <dimen name="videocall_preview_height">88dp</dimen> <dimen name="videocall_preview_long">116dp</dimen> diff --git a/java/com/android/incallui/video/impl/res/values/dimens.xml b/java/com/android/incallui/video/impl/res/values/dimens.xml index 606b158d9..b6449a6d1 100644 --- a/java/com/android/incallui/video/impl/res/values/dimens.xml +++ b/java/com/android/incallui/video/impl/res/values/dimens.xml @@ -23,4 +23,5 @@ <dimen name="videocall_preview_margin_end">24dp</dimen> <dimen name="videocall_button_spacing">8dp</dimen> <dimen name="videocall_button_size">60dp</dimen> + <dimen name="videocall_button_padding">12dp</dimen> </resources> diff --git a/java/com/android/incallui/video/impl/res/values/styles.xml b/java/com/android/incallui/video/impl/res/values/styles.xml index 010aca2d1..03395d989 100644 --- a/java/com/android/incallui/video/impl/res/values/styles.xml +++ b/java/com/android/incallui/video/impl/res/values/styles.xml @@ -16,10 +16,13 @@ --> <resources> <style name="Incall.Button.VideoCall" parent="Widget.AppCompat.ImageButton"> + <item name="android:layout_height">@dimen/videocall_button_size</item> + <item name="android:layout_width">@dimen/videocall_button_size</item> <item name="android:background">@drawable/videocall_video_button_background</item> - <item name="android:scaleType">center</item> <item name="android:tint">@color/videocall_button_icon_tint</item> <item name="android:tintMode">src_atop</item> + <item name="android:padding">@dimen/videocall_button_padding</item> + <item name="android:scaleType">fitCenter</item> <item name="android:stateListAnimator">@animator/disabled_alpha</item> </style> <style name="VideoPreviewHolder"> |