package com.iwedia.gui.osd.infobanner; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.ObjectAnimator; import android.os.RemoteException; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; import com.iwedia.comm.IAudioControl; import com.iwedia.comm.ISubtitleControl; import com.iwedia.comm.ITeletextControl; import com.iwedia.comm.content.Content; import com.iwedia.comm.enums.FilterType; import com.iwedia.gui.MainActivity; import com.iwedia.gui.R; import com.iwedia.gui.components.A4TVInfoDescriptionScrollView; import com.iwedia.gui.components.A4TVMultimediaController; import com.iwedia.gui.components.A4TVProgressBarPVR; import com.iwedia.gui.components.A4TVProgressInfoBanner; import com.iwedia.gui.components.A4TVProgressVolumeBanner; import com.iwedia.gui.components.A4TVTextView; import com.iwedia.gui.config_handler.ConfigHandler; import com.iwedia.gui.osd.OSDGlobal; import java.util.ArrayList; public class InfoBannerHelper implements OSDGlobal { private MainActivity mActivity = null; /** Is animation in progress or not */ public static boolean animationFlag = false; /** Linear Layout for volume_layout.xml */ protected LinearLayout linearLayoutVolume = null; /** Linear Layout for pvr, timeshift and playback */ protected LinearLayout linearLayoutPlayerInfo = null; /** Linear Layout for elapsed time in play timeshift */ protected LinearLayout linearLayoutPlayerElapsedTime = null; /** Linear Layout for input */ protected LinearLayout linearLayoutInput = null; /** Title: Recording or Elapsed */ protected A4TVTextView textViewPlayerTitle = null; /** Name of pvr, timeshift file */ protected A4TVTextView textViewFileName = null; protected A4TVTextView textViewFileDescription = null; protected A4TVTextView textViewNameOfAlbum = null; protected ImageView imageViewMediaIcon = null; protected LinearLayout mLinearLayoutPictureFormatInfo = null; protected A4TVTextView mTextViewPictureFormatInfo = null; // ///////////////////////////////////////////////// // PVR information protected A4TVTextView textViewStartTime = null;; protected A4TVTextView textViewEndTime = null; protected A4TVTextView textViewRecordTime = null; protected A4TVTextView textViewElapsedTime = null; protected A4TVTextView textViewPlayerState = null; protected A4TVProgressInfoBanner playerProgressBarTime = null; // //////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////// // PVR, timeshift icon(play, stop,...) protected ImageView imageViewStopPlayerControl = null;; protected ImageView imageViewRewPlayerControl = null; protected ImageView imageViewPlayPlayerControl = null; protected ImageView imageViewFFPlayerControl = null; protected ImageView imageViewRecPlayerControl = null; // /////////////////////////////////////////////////////////////// // Volume information protected A4TVProgressVolumeBanner volumeProgressBar = null; protected A4TVTextView textViewVolumeValue = null; protected ImageView imageViewVolumeState = null; // //////////////////////////////////////////////////////////////// // /////////////////////////////////////////////////////////////// // Input information protected A4TVTextView textViewFrameRate = null; protected A4TVTextView textViewResolution = null; protected A4TVTextView textViewInputName = null; // /////////////////////////////////////////////////////////////// protected ArrayList<String> mStrValues = null; /** Is service: TV, Radio or Data */ protected int tvStatus = -1; protected int mChannelProgressValue = 0; protected int currentState = STATE_INIT; protected int previousState = STATE_INIT; protected ObjectAnimator objectAnimator = null; /** Detect is there is long description in info */ public static boolean description = false; // //////////////////////////////////////////////////// // Info banner // /////////////////////////////////////////////////// protected LinearLayout mViewFlipper = null; protected LinearLayout infobanerBackground = null; protected LinearLayout linearLayoutLeftSeparator = null; protected LinearLayout linearLayoutRightSeparator = null; protected LinearLayout linearLayoutEpg = null; protected LinearLayout linearLayoutDate = null; protected LinearLayout linearLayoutProgressBar = null; protected A4TVInfoDescriptionScrollView scrollView = null; protected ImageView channelIcon = null; /** Is service: radio, data or tv service */ protected A4TVTextView textViewTVStatus = null; protected A4TVTextView channelName = null; protected A4TVTextView progressBarStart = null; protected A4TVTextView progressBarDuration = null; protected A4TVTextView currentShow = null; protected A4TVTextView shortDescription = null; protected A4TVTextView longDescription = null; protected A4TVTextView timeFromStream = null; protected A4TVTextView dateFromStream = null; protected ImageView imageViewTeletext = null; protected ImageView imageViewHD = null; protected ImageView imageViewSubtitle = null; protected ImageView imageViewAudio = null; protected ImageView imageViewHbbTv = null; protected ProgressBar progressBar = null; protected A4TVTextView playerChannelName = null; protected ImageView infobanerArrowRight = null; protected ImageView infobanerArrowLeft = null; private ISubtitleControl subControl = null; private ITeletextControl ttxControl = null; private IAudioControl audControl = null; protected boolean nowEvent = false; // /////////////////////////////////////// // New player channel info // //////////////////////////////////////// LinearLayout playerlinearLayoutDate = null; ProgressBar playerProgressBar = null; LinearLayout playerlinearLayoutProgressBar = null; A4TVTextView playerProgressBarStart = null; A4TVTextView playerProgressBarDuration = null; A4TVTextView playerTimeFromStream = null; A4TVTextView playerDateFromStream = null; ImageView playerImageViewSubtitle = null; ImageView playerImageViewTeletext = null; ImageView playerImageViewAudio = null; ImageView playerImageViewHbbTv = null; ImageView playerImageViewHD = null; public InfoBannerHelper(MainActivity activity) { this.mActivity = activity; initViews(); } protected void setChannelNumericInfoInformation() { linearLayoutInput.setVisibility(View.GONE); linearLayoutPlayerInfo.setVisibility(View.GONE); linearLayoutVolume.setVisibility(View.GONE); linearLayoutEpg.setVisibility(View.GONE); linearLayoutLeftSeparator.setVisibility(View.GONE); linearLayoutRightSeparator.setVisibility(View.GONE); linearLayoutDate.setVisibility(View.GONE); channelIcon.setVisibility(View.GONE); progressBar.setVisibility(View.GONE); linearLayoutProgressBar.setVisibility(View.GONE); mLinearLayoutPictureFormatInfo.setVisibility(View.GONE); channelName.setText(mStrValues.get(0)); mStrValues = null; } protected void setChannelUpDownInfoInformation() { linearLayoutInput.setVisibility(View.GONE); linearLayoutPlayerInfo.setVisibility(View.GONE); linearLayoutVolume.setVisibility(View.GONE); linearLayoutEpg.setVisibility(View.GONE); linearLayoutLeftSeparator.setVisibility(View.GONE); linearLayoutRightSeparator.setVisibility(View.GONE); linearLayoutDate.setVisibility(View.GONE); channelIcon.setVisibility(View.GONE); progressBar.setVisibility(View.GONE); linearLayoutProgressBar.setVisibility(View.GONE); mLinearLayoutPictureFormatInfo.setVisibility(View.GONE); channelName.setText(mStrValues.get(0) + "." + mStrValues.get(1)); mStrValues = null; } protected void setChannelInfoInformation() { if (mStrValues != null && mStrValues.size() > 2) { // if service except // channel name and // channel number // have and epg, // start, end time // information if (nowEvent) { infobanerArrowLeft.setVisibility(View.INVISIBLE); infobanerArrowRight.setVisibility(View.VISIBLE); currentShow.setText(mStrValues.get(2)); shortDescription.setText(mStrValues.get(7)); longDescription.setText(mStrValues.get(12)); } else { infobanerArrowLeft.setVisibility(View.VISIBLE); infobanerArrowRight.setVisibility(View.INVISIBLE); currentShow.setText(mStrValues.get(3)); shortDescription.setText(mStrValues.get(8)); longDescription.setText(mStrValues.get(13)); } linearLayoutEpg.setVisibility(View.VISIBLE); linearLayoutLeftSeparator.setVisibility(View.VISIBLE); linearLayoutRightSeparator.setVisibility(View.VISIBLE); linearLayoutDate.setVisibility(View.VISIBLE); progressBar.setVisibility(View.VISIBLE); linearLayoutProgressBar.setVisibility(View.VISIBLE); channelIcon.setVisibility(View.VISIBLE); progressBar.setProgress(mChannelProgressValue); playerChannelName.setSelected(false); channelName.setSelected(true); Content cntChannel = ((MainActivity) mActivity).getPageCurl() .getChannelChangeHandler().getCurrentChannelContent(); if (cntChannel != null) channelName.setText(mStrValues.get(0) + "." + cntChannel.getName()); progressBarStart.setText(mStrValues.get(4)); progressBarDuration.setText(mStrValues.get(11)); dateFromStream.setText(mStrValues.get(10)); timeFromStream.setText(mStrValues.get(1)); serviceState(); // ////////////////////////////////////////////////// // If no now and next information set progress to invisible // ////////////////////////////////////////////////// if (mStrValues.get(2).length() == 0) { linearLayoutProgressBar.setVisibility(View.GONE); progressBar.setVisibility(View.GONE); infobanerArrowRight.setVisibility(View.INVISIBLE); infobanerArrowLeft.setVisibility(View.INVISIBLE); } else { linearLayoutProgressBar.setVisibility(View.VISIBLE); progressBar.setVisibility(View.VISIBLE); } // //////////////////////////////////////////////////////////////////////////// // If we don't have now long description we may press channel up and // channel down // ///////////////////////////////////////////////////////////////////////////// if (mStrValues.get(12).length() == 0) { description = false; } else { description = true; } } else { description = false; int activeFilterInService = FilterType.ALL; try { activeFilterInService = MainActivity.service .getContentListControl().getActiveFilterIndex(); } catch (RemoteException e2) { e2.printStackTrace(); } int index = MainActivity.activity.getPageCurl() .getChannelChangeHandler().getChannelIndex(); Content content = ((MainActivity) mActivity).getPageCurl() .getChannelChangeHandler().getCurrentChannelContent(); String strChannelNumber = ""; if (ConfigHandler.ATSC && content != null) { int major; int minor; if (ConfigHandler.USE_LCN) { major = content.getServiceLCN() / MAJOR_MINOR_CONVERT_NUMBER; minor = content.getServiceLCN() % MAJOR_MINOR_CONVERT_NUMBER; } else { major = content.getIndex() / MAJOR_MINOR_CONVERT_NUMBER; minor = content.getIndex() % MAJOR_MINOR_CONVERT_NUMBER; } strChannelNumber = String.format("%d-%d", major, minor); } else { if (activeFilterInService == FilterType.ALL) { strChannelNumber = String.valueOf(index + 1); } else { if (content != null) { if (ConfigHandler.USE_LCN) strChannelNumber = String.valueOf(content .getServiceLCN()); else strChannelNumber = String.valueOf(content .getIndex()); } } } playerChannelName.setSelected(false); channelName.setSelected(true); Content cntChannel = ((MainActivity) mActivity).getPageCurl() .getChannelChangeHandler().getCurrentChannelContent(); if (cntChannel != null) channelName.setText(strChannelNumber/* mStrValues.get(0) */ + "." + cntChannel.getName()); linearLayoutDate.setVisibility(View.INVISIBLE); linearLayoutEpg.setVisibility(View.INVISIBLE); linearLayoutProgressBar.setVisibility(View.INVISIBLE); progressBar.setVisibility(View.INVISIBLE); } } protected void setPlayerChannelInfoInformation() { if (mStrValues != null && mStrValues.size() > 2) { playerlinearLayoutDate.setVisibility(View.VISIBLE); playerProgressBar.setVisibility(View.VISIBLE); playerlinearLayoutProgressBar.setVisibility(View.VISIBLE); channelIcon.setVisibility(View.VISIBLE); playerProgressBar.setProgress(mChannelProgressValue); channelName.setSelected(false); playerChannelName.setSelected(true); playerChannelName.setText(mStrValues.get(0) + "." + mStrValues.get(6)); /* * + "." + ((MainActivity) mActivity).getPageCurl() * .getChannelChangeHandler() * .getCurrentChannelContent().getName()); */ playerProgressBarStart.setText(mStrValues.get(4)); playerProgressBarDuration.setText(mStrValues.get(11)); playerDateFromStream.setText(mStrValues.get(10)); playerTimeFromStream.setText(mStrValues.get(1)); playerServiceState(); if (mStrValues.get(4).length() == 0) { playerlinearLayoutProgressBar.setVisibility(View.GONE); playerProgressBar.setVisibility(View.GONE); } else { playerlinearLayoutProgressBar.setVisibility(View.VISIBLE); playerProgressBar.setVisibility(View.VISIBLE); } } else { int activeFilterInService = FilterType.ALL; try { activeFilterInService = MainActivity.service .getContentListControl().getActiveFilterIndex(); } catch (RemoteException e2) { e2.printStackTrace(); } int index = MainActivity.activity.getPageCurl() .getChannelChangeHandler().getChannelIndex(); Content content = ((MainActivity) mActivity).getPageCurl() .getChannelChangeHandler().getCurrentChannelContent(); String strChannelNumber = ""; if (ConfigHandler.ATSC && content != null) { int major; int minor; if (ConfigHandler.USE_LCN) { major = content.getServiceLCN() / MAJOR_MINOR_CONVERT_NUMBER; minor = content.getServiceLCN() % MAJOR_MINOR_CONVERT_NUMBER; } else { major = content.getIndex() / MAJOR_MINOR_CONVERT_NUMBER; minor = content.getIndex() % MAJOR_MINOR_CONVERT_NUMBER; } strChannelNumber = String.format("%d-%d", major, minor); } else { if (activeFilterInService == FilterType.ALL) { strChannelNumber = String.valueOf(index + 1); } else { if (content != null) { if (ConfigHandler.USE_LCN) strChannelNumber = String.valueOf(content .getServiceLCN()); else strChannelNumber = String.valueOf(content .getIndex()); } } } channelName.setSelected(false); playerChannelName.setSelected(true); Content cntChannel = ((MainActivity) mActivity).getPageCurl() .getChannelChangeHandler().getCurrentChannelContent(); if (cntChannel != null) playerChannelName.setText(strChannelNumber + "." + cntChannel.getName()); linearLayoutDate.setVisibility(View.INVISIBLE); playerlinearLayoutProgressBar.setVisibility(View.INVISIBLE); playerProgressBar.setVisibility(View.INVISIBLE); } } private void playerServiceState() { try { subControl = MainActivity.service.getSubtitleControl(); } catch (Exception e1) { e1.printStackTrace(); } try { ttxControl = MainActivity.service.getTeletextControl(); } catch (Exception e1) { e1.printStackTrace(); } try { audControl = MainActivity.service.getAudioControl(); } catch (Exception e1) { e1.printStackTrace(); } switch (tvStatus) { case 0: { playerImageViewSubtitle .setImageResource(R.drawable.sub_unselect); if (subControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = subControl.getSubtitleTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { playerImageViewSubtitle .setImageResource(R.drawable.sub_select); } } playerImageViewTeletext .setImageResource(R.drawable.ttx_unselect); if (ttxControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = ttxControl.getTeletextTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { playerImageViewTeletext .setImageResource(R.drawable.ttx_select); } } playerImageViewAudio.setImageResource(R.drawable.aud_unselect); if (audControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = audControl.getAudioTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { playerImageViewAudio .setImageResource(R.drawable.aud_select); } } playerImageViewHbbTv.setImageResource(R.drawable.hbb_unselect); boolean isHbbTVEnabled = false; try { isHbbTVEnabled = MainActivity.service.getHbbTvControl() .isHbbEnabled(); } catch (RemoteException e) { e.printStackTrace(); } if (isHbbTVEnabled) { playerImageViewHbbTv .setImageResource(R.drawable.hbb_select); } break; } case 1: { playerImageViewSubtitle .setImageResource(R.drawable.sub_unselect); playerImageViewTeletext .setImageResource(R.drawable.ttx_unselect); playerImageViewHbbTv.setImageResource(R.drawable.hbb_unselect); playerImageViewAudio.setImageResource(R.drawable.aud_unselect); playerImageViewHD.setImageResource(R.drawable.hd_unselect); break; } case 2: { playerImageViewSubtitle .setImageResource(R.drawable.sub_unselect); playerImageViewTeletext .setImageResource(R.drawable.ttx_unselect); playerImageViewHbbTv.setImageResource(R.drawable.hbb_unselect); playerImageViewAudio.setImageResource(R.drawable.aud_select); playerImageViewHD.setImageResource(R.drawable.hd_unselect); break; } } } private void serviceState() { switch (tvStatus) { case 0: { try { subControl = MainActivity.service.getSubtitleControl(); } catch (Exception e1) { e1.printStackTrace(); } try { ttxControl = MainActivity.service.getTeletextControl(); } catch (Exception e1) { e1.printStackTrace(); } try { audControl = MainActivity.service.getAudioControl(); } catch (Exception e1) { e1.printStackTrace(); } imageViewSubtitle.setImageResource(R.drawable.sub_unselect); if (subControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = subControl.getSubtitleTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { imageViewSubtitle .setImageResource(R.drawable.sub_select); } } imageViewTeletext.setImageResource(R.drawable.ttx_unselect); if (ttxControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = ttxControl.getTeletextTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { imageViewTeletext .setImageResource(R.drawable.ttx_select); } } imageViewAudio.setImageResource(R.drawable.aud_unselect); if (audControl != null) { int numberOfLanguages = 0; try { numberOfLanguages = audControl.getAudioTrackCount(); } catch (Exception e) { e.printStackTrace(); } if (numberOfLanguages > 0) { imageViewAudio.setImageResource(R.drawable.aud_select); } } boolean isHbbTVEnabled = false; try { isHbbTVEnabled = MainActivity.service.getHbbTvControl() .isHbbEnabled(); } catch (RemoteException e) { e.printStackTrace(); } if (isHbbTVEnabled) { imageViewHbbTv.setImageResource(R.drawable.hbb_select); } else { imageViewHbbTv.setImageResource(R.drawable.hbb_unselect); } break; } case 1: { imageViewSubtitle.setImageResource(R.drawable.sub_unselect); imageViewTeletext.setImageResource(R.drawable.ttx_unselect); imageViewHbbTv.setImageResource(R.drawable.hbb_unselect); imageViewAudio.setImageResource(R.drawable.aud_unselect); imageViewHD.setImageResource(R.drawable.hd_unselect); break; } case 2: { imageViewSubtitle.setImageResource(R.drawable.sub_unselect); imageViewTeletext.setImageResource(R.drawable.ttx_unselect); imageViewHbbTv.setImageResource(R.drawable.hbb_unselect); imageViewAudio.setImageResource(R.drawable.aud_select); imageViewHD.setImageResource(R.drawable.hd_unselect); break; } } } /** Init views for info, pvr, timeshift, playback banner */ protected void initViews() { mViewFlipper = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.infobaner_backgroud); channelName = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewChannelName); linearLayoutProgressBar = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.linearLayoutProgressBar); progressBarStart = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewProgressBarStart); progressBarDuration = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewProgressBarDuration); progressBar = (ProgressBar) ((MainActivity) mActivity) .findViewById(R.id.progress_bar); channelIcon = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.channel_icon); scrollView = (A4TVInfoDescriptionScrollView) ((MainActivity) mActivity) .findViewById(R.id.infobaner_descriptions); linearLayoutLeftSeparator = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.linearLayoutLeftSeparator); linearLayoutRightSeparator = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.linearLayoutRightSeparator); linearLayoutEpg = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.linearLayoutEpg); currentShow = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewCurrentShow); shortDescription = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewShortDescription); longDescription = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewlongDescription); linearLayoutDate = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.linearLayoutDate); timeFromStream = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewTimeFromStream); dateFromStream = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewDateFromStream); imageViewTeletext = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.ImageViewTeletext); imageViewHD = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.ImageViewHD); imageViewSubtitle = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.ImageViewSubtitle); imageViewAudio = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.ImageViewAudio); imageViewHbbTv = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.ImageViewHbbTv); infobanerArrowRight = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.infobaner_right); infobanerArrowLeft = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.infobaner_left); linearLayoutVolume = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.LinearLayoutVolume); linearLayoutInput = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.LinearLayoutInput); linearLayoutPlayerInfo = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.LinearLayoutPlayerInfoLayout); linearLayoutPlayerElapsedTime = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.LinearLayoutPlayerElapsedTime); mLinearLayoutPictureFormatInfo = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.LinearLayoutPictureFormatInfo); mTextViewPictureFormatInfo = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.A4TVTextViewPictureFormatInfo); textViewPlayerTitle = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerRecordDummy); textViewFileName = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewFileName); textViewFileDescription = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewFileDescription); textViewNameOfAlbum = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewNameOfAlbum); imageViewMediaIcon = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewMediaIcon); textViewRecordTime = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerRecordTime); textViewElapsedTime = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerElapsedTime); textViewStartTime = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerStartTime); textViewEndTime = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerEndTime); textViewPlayerState = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.textViewPlayerState); playerProgressBarTime = (A4TVProgressInfoBanner) ((MainActivity) mActivity) .findViewById(R.id.playerProgressBarTime); imageViewStopPlayerControl = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewPlayerStop); imageViewRewPlayerControl = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewPlayerREW); imageViewPlayPlayerControl = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewPlayerPlay); imageViewFFPlayerControl = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewPlayerFF); imageViewRecPlayerControl = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewPlayerRecord); volumeProgressBar = (A4TVProgressVolumeBanner) ((MainActivity) mActivity) .findViewById(R.id.aTVProgressBarVolume); textViewVolumeValue = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.aTVTextViewVolumeValue); imageViewVolumeState = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.imageViewVolumeState); textViewFrameRate = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.TextViewFrameRate); textViewResolution = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.TextViewResolution); textViewInputName = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.TextViewInputName); // /////////////////////// // Player channel info // ///////////////////////// playerChannelName = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.player_channel_name); playerlinearLayoutDate = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.playerlinearLayoutDate); playerProgressBar = (ProgressBar) ((MainActivity) mActivity) .findViewById(R.id.player_progress_bar); playerlinearLayoutProgressBar = (LinearLayout) ((MainActivity) mActivity) .findViewById(R.id.player_linear_layout_progress_bar); playerProgressBarStart = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.player_progress_bar_start); playerProgressBarDuration = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.player_progress_bar_duration); playerTimeFromStream = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.player_time_from_stream); playerDateFromStream = (A4TVTextView) ((MainActivity) mActivity) .findViewById(R.id.player_date_from_stream); playerImageViewSubtitle = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.playerImageViewSubtitle); playerImageViewTeletext = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.playerImageViewTeletext); playerImageViewAudio = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.playerImageViewAudio); playerImageViewHbbTv = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.playerImageViewHbbTv); playerImageViewHD = (ImageView) ((MainActivity) mActivity) .findViewById(R.id.playerImageViewHD); } /** Animation in for info,pvr,timeshift and playback banner */ protected void animationIn(final View v) { objectAnimator = ObjectAnimator.ofFloat(v, "translationY", 100, 0); objectAnimator.addListener(new AnimatorListener() { @Override public void onAnimationStart(Animator animation) { v.setVisibility(View.VISIBLE); } @Override public void onAnimationRepeat(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { } @Override public void onAnimationCancel(Animator animation) { } }); objectAnimator.setDuration(60); objectAnimator.start(); } /** Animation out for info, pvr, timeshift and playback banner */ protected void animationOut(final View v) { objectAnimator = ObjectAnimator.ofFloat(v, "translationY", 0, 100); objectAnimator.addListener(new AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { v.setVisibility(View.GONE); } @Override public void onAnimationCancel(Animator animation) { } }); objectAnimator.setDuration(60); objectAnimator.start(); } /** Set multimedia playback fields to null */ protected void flushMultimediaPlaybackFields() { textViewPlayerTitle.setText(""); textViewRecordTime.setText(""); textViewStartTime.setText("00:00:00"); playerProgressBarTime.setProgress(0); playerProgressBarTime.setSecondaryProgress(0); imageViewMediaIcon.setImageBitmap(null); textViewFileName.setText(""); textViewFileDescription.setText(""); textViewNameOfAlbum.setText(""); textViewPlayerState.setText(""); } /** Set pvr and timeshift fields to null */ protected void flushPlayerFields() { linearLayoutPlayerElapsedTime.setVisibility(View.INVISIBLE); textViewPlayerTitle.setText(""); textViewRecordTime.setText(""); textViewElapsedTime.setText(""); textViewEndTime.setText("00:00:00"); textViewStartTime.setText("00:00:00"); playerProgressBarTime.setProgress(0); playerProgressBarTime.setSecondaryProgress(0); imageViewMediaIcon.setImageBitmap(null); textViewFileName.setText(""); textViewPlayerState.setText(""); } protected void setImageRecord(int position) { if (position == MULTIMEDIA_CONTROLLER_RE) { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_record_focused); } else { if (A4TVProgressBarPVR.getControlProviderPVR().isFlagRecord()) { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_record_recording); } else { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_record_un_focused); } } } protected void setImageStop(int position) { if (position == MULTIMEDIA_CONTROLLER_STOP) { imageViewStopPlayerControl .setImageResource(R.drawable.media_controller_stop_focused); } else { imageViewStopPlayerControl .setImageResource(R.drawable.media_controller_stop_un_focused); } } protected void setImageRew(int position) { if (position == MULTIMEDIA_CONTROLLER_REW_PREVIOUS) { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_rew_focused); } else { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_rew_un_focused); } } protected void setPlaybackImageRew(int position) { if (position == MULTIMEDIA_CONTROLLER_REW_PREVIOUS) { if (A4TVMultimediaController.getControlProvider().getFlagPlay() || A4TVMultimediaController.getControlProvider() .getFlagFFREW()) { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_rew_focused); } else { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_previous_focused); } } else { if (A4TVMultimediaController.getControlProvider().getFlagPlay() || A4TVMultimediaController.getControlProvider() .getFlagFFREW()) { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_rew_un_focused); } else { imageViewRewPlayerControl .setImageResource(R.drawable.media_controller_previous_un_focused); } } } protected void setImageFF(int position) { if (position == MULTIMEDIA_CONTROLLER_FF_NEXT) { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_ff_focused); } else { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_ff_un_focused); } } protected void setPlaybackImageForward(int position) { if (position == MULTIMEDIA_CONTROLLER_FF_NEXT) { if (A4TVMultimediaController.getControlProvider().getFlagPlay() || A4TVMultimediaController.getControlProvider() .getFlagFFREW()) { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_ff_focused); } else { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_next_focused); } } else { if (A4TVMultimediaController.getControlProvider().getFlagPlay() || A4TVMultimediaController.getControlProvider() .getFlagFFREW()) { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_ff_un_focused); } else { imageViewFFPlayerControl .setImageResource(R.drawable.media_controller_next_un_focused); } } } protected void setImagePlay(int position) { if (position == MULTIMEDIA_CONTROLLER_PLAY) { if (!A4TVProgressBarPVR.getControlProviderPVR().getFlagPlay()) { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_play_focused); } else { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_pause_focused); } } else { if (!A4TVProgressBarPVR.getControlProviderPVR().getFlagPlay()) { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_play_un_focused); } else { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_pause_un_focused); } } } protected void setPlaybackImagePlay(int position) { if (position == MULTIMEDIA_CONTROLLER_PLAY) { if (!A4TVMultimediaController.getControlProvider().getFlagPlay()) { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_play_focused); } else { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_pause_focused); } } else { if (!A4TVMultimediaController.getControlProvider().getFlagPlay()) { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_play_un_focused); } else { imageViewPlayPlayerControl .setImageResource(R.drawable.media_controller_pause_un_focused); } } } protected void setImageRepeat(int position) { if (position == MULTIMEDIA_CONTROLLER_RE) { switch (A4TVMultimediaController.getControlRepeatPosition()) { case 0: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_off_focused); break; } case 1: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_one_focused); break; } case 2: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_all_focused); break; } default: break; } } else { switch (A4TVMultimediaController.getControlRepeatPosition()) { case 0: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_off_un_focused); break; } case 1: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_one_un_focused); break; } case 2: { imageViewRecPlayerControl .setImageResource(R.drawable.media_controller_repeat_all_un_focused); break; } default: break; } } } /** Draw player image control */ protected void setPlayerImageControl(int state) { int position; if (state == STATE_PVR) { position = A4TVProgressBarPVR.getControlPosition(); setImagePlay(position); setImageRecord(position); setImageFF(position); setImageRew(position); setImageStop(position); } else { position = A4TVMultimediaController.getControlPosition(); setPlaybackImagePlay(position); setImageRepeat(position); setImageStop(position); setPlaybackImageForward(position); setPlaybackImageRew(position); } } protected void setStrValues(ArrayList<String> strValues) { this.mStrValues = strValues; } protected void setChannelProgressValue(int mChannelProgressValue) { this.mChannelProgressValue = mChannelProgressValue; } protected int getImageByVolumeLevel(int volumeLevel) { if (volumeLevel == 0) { return R.drawable.volume_icon_mute; } else if (volumeLevel >= 0 && volumeLevel <= 10) { return R.drawable.volume_icon_10; } else if (volumeLevel <= 30) { return R.drawable.volume_icon_30; } else if (volumeLevel <= 60) { return R.drawable.volume_icon_60; } else { return R.drawable.volume_icon_max; } } }