package com.media.vmplayer.message;
import java.io.File;
import java.io.FilenameFilter;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Environment;
import android.os.Message;
import android.os.SystemClock;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.Chronometer;
import android.widget.Chronometer.OnChronometerTickListener;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.SimpleAdapter;
import com.media.vmplayer.daemon.DemonActivity;
import com.media.vmplayer.daemon.NetWorkServer;
import com.media.vmplayer.daemon.WifiBroadcastReceiver;
import com.media.vmplayer.extend.EmailServer;
import com.media.vmplayer.extend.EmailServer.EmailBean;
import com.media.vmplayer.player.Configure;
import com.media.vmplayer.player.Configure.HandlerServerEvent;
import com.media.vmplayer.player.Configure.OPTIONS;
import com.media.vmplayer.player.Configure.TVStationRes;
import com.media.vmplayer.player.PlayerProgram;
import com.media.vmplayer.player.ProgramMenu;
import com.media.vmplayer.player.VMSurfaceView;
import com.media.vmplayer.program.ProgramListDownload;
import com.media.vmplayer.program.ProgramListDownload.TVStation;
import com.media.vmplayer.program.ProgramListDownload.mutiLanguageTVName;
import com.media.vmplayer.ui.ApplicationContext;
import com.media.vmplayer.ui.ApplicationContext.Language;
import com.media.vmplayer.ui.ApplicationContext.PlayerMode;
import com.media.vmplayer.ui.BaseUI;
import com.media.vmplayer.ui.Dialog;
import com.media.vmplayer.ui.LanguageDictionary;
import com.media.vmplayer.ui.TVStationListAdapter;
import com.tongshi.vmplayer.R;
public class Listener
{
private BaseUI baseUI;
private Activity context;
private HandlerServer handlerServer;
private TVStationListAdapter tvsAdapter;
private ArrayAdapter<String> menuListAdapter;
private ArrayAdapter<String> languageAdapter;
private ArrayAdapter<String> recordPathAdapter;
private SimpleAdapter emailAdapter;
private List<String> menuList;
private List<String> languageList;
private List<String> recordPathList;
public static String languageItem;
public Listener()
{
handlerServer = HandlerServer.getInstance();
baseUI = BaseUI.getInstance();
context = ApplicationContext.getApplicationActivityContext();
}
/**
* wifi设置按钮监听器
*/
View.OnClickListener btnSettingsWifiOnClickListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Intent intent = new Intent("android.settings.WIFI_SETTINGS");
context.startActivity(intent);
}
};
/**
* 菜单换台方式事件监听函数
* **/
OnItemClickListener tvstationListViewListener = new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id)
{
TVStation tvs = tvsAdapter.getItemBean(position);
if (tvs != null)
{
String path = tvs.getName();
if (path.endsWith(".mp4"))
{
ApplicationContext.player_mode = PlayerMode.replayer;
baseUI.RecordIcon.setVisibility(View.VISIBLE);
baseUI.seekBar.setProgress(0);
baseUI.playChronometer.setBase(SystemClock.elapsedRealtime());
PlayerProgram.setGoPlayerProgramIndex(((position + 1) * -1));
baseUI.replayInfoLayout.setVisibility(View.GONE);
baseUI.playeSuspendLayout.setVisibility(View.GONE);
baseUI.nextLayout.setVisibility(View.GONE);
baseUI.previousLayout.setVisibility(View.GONE);
baseUI.surfaceViewReplayControlBannerLayout.setVisibility(View.GONE);
baseUI.surfaceViewControlBannerLayout.setVisibility(View.GONE);
}
else
{
ApplicationContext.player_mode = PlayerMode.live;
baseUI.replayInfoLayout.setVisibility(View.GONE);
baseUI.RecordIcon.setVisibility(View.GONE);
baseUI.surfaceViewReplayControlBannerLayout.setVisibility(View.GONE);
PlayerProgram.setGoPlayerProgramIndex(position);
}
baseUI.changeTvsLayout.setVisibility(View.GONE);
handlerServer.sendEmptyMessage(HandlerServerEvent.StartMediaPlayerInitEvent);
}
}
};
/**
* 节目列表item长按监听,只有文件播放模式有效
*/
OnItemLongClickListener tvstationListViewLongClickListener = new OnItemLongClickListener()
{
// File file = null;
int mposition = -1;
DialogInterface.OnClickListener psitiveButtonOnClickListener = new DialogInterface.OnClickListener()
{
/** 点击退出按钮时,保存播放的电台编号 **/
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
TVStation tvs = tvsAdapter.getItemBean(mposition);
File file = new File(tvs.getChannel());
if (file != null)
{
boolean val = file.delete();
if (val)
{
baseUI.changeTvsLayout.setVisibility(View.GONE);
scanDiskFileAndUpdateMenu();
}
}
}
};
DialogInterface.OnClickListener negativeButtonOnClickListener = new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
}
};
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id)
{
TVStation tvs = tvsAdapter.getItemBean(position);
if (tvs.getName().endsWith(".mp4")
&& !tvs.getName().equals(
baseUI.txtReplayInfo.getText().toString()))
{
mposition = position;
Dialog dialog = new Dialog();
dialog.setPsitiveButtonOnClickListener(psitiveButtonOnClickListener);
dialog.setNegativeButtonOnClickListener(negativeButtonOnClickListener);
dialog.showDialog(LanguageDictionary.delete_file,LanguageDictionary.quite_title);
}
return false;
}
};
/**
* 上一个节目按钮监听函数
* **/
View.OnClickListener previousTvsListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (!ProgramListDownload.haveProgramList())
return;
if (ApplicationContext.player_mode == PlayerMode.replayComplete)
ApplicationContext.player_mode = PlayerMode.replayer;
if (ApplicationContext.player_mode == PlayerMode.live
|| ApplicationContext.player_mode == PlayerMode.replayer)
{
UILayoutAsyncTask.upDateEventTime();
PlayerProgram.updatePreviousPlayerProgramIndex(ApplicationContext.player_mode);
handlerServer.sendEmptyMessage(HandlerServerEvent.StartMediaPlayerInitEvent);
}
}
};
/**
* 下一个节目按钮监听函数
* **/
View.OnClickListener nextTvsListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
if (!ProgramListDownload.haveProgramList())
return;
if (ApplicationContext.player_mode == PlayerMode.replayComplete)
ApplicationContext.player_mode = PlayerMode.replayer;
if (ApplicationContext.player_mode == PlayerMode.live
|| ApplicationContext.player_mode == PlayerMode.replayer)
{
UILayoutAsyncTask.upDateEventTime();
PlayerProgram.updateNextPlayerProgramIndex(ApplicationContext.player_mode);
handlerServer.sendEmptyMessage(HandlerServerEvent.StartMediaPlayerInitEvent);
}
}
};
/**
* 刷新按键监听
*/
View.OnClickListener btnRefreshOnClickListener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
TVStationRes.TVSTATIONTABLE = new HashMap<String, TVStation>();
if (NetWorkServer.checkNetEnv(c
评论0