FishPlaybackOnlineActivity.java 源代码
package activity.FishEye;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.MediaStore;
import android.util.DisplayMetrics;
import android.view.MotionEvent;
import android.view.View;
import android.view.animation.ScaleAnimation;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import base.HiActivity;
import bean.MyCamera;
import com.hichip.base.HiLog;
import com.hichip.base.HiThread;
import com.hichip.callback.ICameraIOSessionCallback;
import com.hichip.callback.ICameraPlayStateCallback;
import com.hichip.campro.R;
import com.hichip.content.HiChipDefines;
import com.hichip.control.HiCamera;
import com.hichip.tools.Packet;
import common.Constant;
import common.HiDataValue;
import common.MyPlaybackGLMonitor;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import main.MainActivity;
import utils.HiLogcatUtil;
import utils.HiTools;
import utils.MyToast;
import utils.OrientationWatchDog;
import utils.SharePreUtils;
import utils.TimeUtil;
public class FishPlaybackOnlineActivity extends HiActivity implements ICameraIOSessionCallback, ICameraPlayStateCallback, View.OnTouchListener, View.OnClickListener, RadioGroup.OnCheckedChangeListener, OrientationWatchDog.OnOrientationListener {
private static final int HANDLE_MESSAGE_PROGRESSBAR_RUN = -1879048190;
private static final int HANDLE_MESSAGE_SEEKBAR_RUN = -1879048189;
public static final short HI_P2P_PB_GETPOS = 5;
public static final short HI_P2P_PB_PAUSE = 3;
public static final short HI_P2P_PB_PLAY = 1;
public static final short HI_P2P_PB_SETPOS = 4;
public static final short HI_P2P_PB_STOP = 2;
private static final int PERMISSION_REQUEST_CODE_STORAGE = 10023;
private static final SimpleDateFormat sdf = new SimpleDateFormat("mm:ss");
private float action_down_x;
private float action_down_y;
public float bottom;
private ImageView btn_return;
private long endTimeLong;
public float height;
private boolean hideUIMenu;
private ImageView img_shade;
public ImageView ivSnapshot;
private ImageView ivSpeed;
private long lastClickTime;
float lastX;
float lastY;
public float left;
public LinearLayout ll_top;
private MyCamera mCamera;
private LinearLayout mLlCurrPro;
private MyPlaybackGLMonitor mMonitor;
private OrientationWatchDog mOrientationWatchDog;
private TextView mTvCurrPro;
private TextView mTvEndTime;
private TextView mTvPrecent;
private TextView mTvStartTime;
public LinearLayout mllPlay;
private short model;
int moveX;
int moveY;
float move_x;
float move_y;
private ConnectionChangeReceiver myReceiver;
private byte[] oldStartTime;
long oldTime;
private ImageView play_btn_playback_online;
private TextView play_view_model;
private long playback_time;
private RelativeLayout playback_view_screen;
private int progressTime;
private ProgressBar prs_loading;
private SeekBar prs_playing;
public RadioButton rbtn_circle;
public RadioButton rbtn_wall_overallview;
private RadioGroup rg_view_model;
private LinearLayout rl_guide;
private RelativeLayout rl_view_model;
public LinearLayout root_lock_screen;
private int screen_height;
private int screen_width;
private byte[] startTime;
private long startTimeLong;
private String str;
private TextView tvSpeed;
private TextView tv_install;
private TextView tv_timezone;
private int video_height;
private int video_width;
public float width;
int xlenOld;
int ylenOld;
private ProgressThread pthread = null;
private boolean mVisible = true;
private boolean visible = true;
private boolean isPlaying = false;
private boolean mIsDrag = false;
private boolean mIsEnd = false;
private SimpleDateFormat sdf_time = new SimpleDateFormat(TimeUtil.FORMAT_DATE_TIME_FULL);
private int mSpeed = 0;
public int isLarge = 0;
private boolean isFirstRevolveLand = false;
private boolean isReadyPlay = false;
private boolean isLeft = true;
private boolean isDoPause = true;
private Handler handler = new Handler() {
@Override
public void handleMessage(Message message) {
int i = message.what;
if (i == -6) {
HiLogcatUtil.e("################# fishplaybackonline PLAY_ONLINESTATE_ERROR ############## ");
FishPlaybackOnlineActivity fishPlaybackOnlineActivity = FishPlaybackOnlineActivity.this;
Toast.makeText(fishPlaybackOnlineActivity, fishPlaybackOnlineActivity.getString(R.string.play_4k_sd_error), 1).show();
FishPlaybackOnlineActivity.this.mCamera.stopPlayback();
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, 0, FishPlaybackOnlineActivity.this.startTime, 0, 0);
FishPlaybackOnlineActivity.this.mCamera.setReconnectTimes(10);
FishPlaybackOnlineActivity.this.startActivity(new Intent(FishPlaybackOnlineActivity.this, (Class<?>) MainActivity.class));
return;
}
if (i != 8195) {
if (i != 16677) {
if (i != 16733) {
if (i == 0) {
FishPlaybackOnlineActivity.this.prs_playing.setEnabled(true);
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(true);
FishPlaybackOnlineActivity.this.tv_timezone.setText(FishPlaybackOnlineActivity.this.sdf_time.format(new Date(FishPlaybackOnlineActivity.this.startTimeLong)));
FishPlaybackOnlineActivity.this.isPlaying = true;
FishPlaybackOnlineActivity.this.model = (short) 1;
FishPlaybackOnlineActivity.this.mIsEnd = false;
FishPlaybackOnlineActivity.this.video_width = message.arg1;
FishPlaybackOnlineActivity.this.video_height = message.arg2;
FishPlaybackOnlineActivity.this.play_btn_playback_online.setSelected(false);
FishPlaybackOnlineActivity.this.resetMonitorSize();
FishPlaybackOnlineActivity.this.isReadyPlay = true;
return;
}
if (i == 1) {
FishPlaybackOnlineActivity.this.isPlaying = false;
FishPlaybackOnlineActivity.this.mIsEnd = true;
FishPlaybackOnlineActivity.this.model = (short) 2;
FishPlaybackOnlineActivity.this.play_btn_playback_online.setSelected(true);
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(true);
FishPlaybackOnlineActivity.this.mTvStartTime.setText(FishPlaybackOnlineActivity.sdf.format(new Date(FishPlaybackOnlineActivity.this.endTimeLong - FishPlaybackOnlineActivity.this.startTimeLong)));
FishPlaybackOnlineActivity.this.tv_timezone.setText(FishPlaybackOnlineActivity.this.sdf_time.format(new Date(FishPlaybackOnlineActivity.this.endTimeLong)));
FishPlaybackOnlineActivity.this.prs_playing.setProgress(FishPlaybackOnlineActivity.this.progressTime);
FishPlaybackOnlineActivity.this.mCamera.stopPlayback();
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, 0, FishPlaybackOnlineActivity.this.startTime, 0, 0);
FishPlaybackOnlineActivity.this.mSpeed = 0;
FishPlaybackOnlineActivity.this.tvSpeed.setText("");
FishPlaybackOnlineActivity fishPlaybackOnlineActivity2 = FishPlaybackOnlineActivity.this;
MyToast.showToast(fishPlaybackOnlineActivity2, fishPlaybackOnlineActivity2.getString(R.string.tips_stop_video));
return;
}
if (i != 16768) {
if (i != 16769) {
switch (i) {
case HiDataValue.HANDLE_MESSAGE_SESSION_STATE:
MyCamera myCamera = (MyCamera) message.obj;
int i2 = message.arg1;
if (i2 == 0 || i2 == 5) {
FishPlaybackOnlineActivity.this.prs_playing.setEnabled(true);
if (myCamera != null) {
myCamera.stopPlayback();
}
FishPlaybackOnlineActivity fishPlaybackOnlineActivity3 = FishPlaybackOnlineActivity.this;
MyToast.showToast(fishPlaybackOnlineActivity3, fishPlaybackOnlineActivity3.getString(R.string.tips_network_disconnect));
FishPlaybackOnlineActivity.this.NetworkError();
return;
}
return;
case FishPlaybackOnlineActivity.HANDLE_MESSAGE_PROGRESSBAR_RUN:
int progress = FishPlaybackOnlineActivity.this.prs_loading.getProgress();
if (progress >= 100) {
FishPlaybackOnlineActivity.this.prs_loading.setProgress(10);
} else {
FishPlaybackOnlineActivity.this.prs_loading.setProgress(progress + 8);
}
FishPlaybackOnlineActivity.this.model = (short) 1;
return;
case -1879048189:
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(true);
if (!FishPlaybackOnlineActivity.this.mIsDrag) {
FishPlaybackOnlineActivity.this.prs_playing.setProgress(message.arg1);
FishPlaybackOnlineActivity.this.mTvStartTime.setText(FishPlaybackOnlineActivity.sdf.format(new Date(message.arg1 * 1000)));
}
FishPlaybackOnlineActivity.this.tv_timezone.setText(FishPlaybackOnlineActivity.this.sdf_time.format(new Date(FishPlaybackOnlineActivity.this.startTimeLong + (message.arg1 * 1000))));
return;
default:
return;
}
}
}
}
}
FishPlaybackOnlineActivity.this.model = (short) 1;
if (FishPlaybackOnlineActivity.this.mSpeed != 0 || FishPlaybackOnlineActivity.this.isPlaying || FishPlaybackOnlineActivity.this.mIsEnd) {
return;
}
FishPlaybackOnlineActivity.this.mCamera.SetPauseOnLine(false);
if (FishPlaybackOnlineActivity.this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_NEW)) {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_NEW, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
} else if (FishPlaybackOnlineActivity.this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_EXT)) {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_EXT, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
} else {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
}
FishPlaybackOnlineActivity.this.play_btn_playback_online.setSelected(false);
FishPlaybackOnlineActivity.this.isPlaying = !r13.isPlaying;
return;
}
if (message.arg2 == 0) {
byte[] byteArray = message.getData().getByteArray("data");
int byteArrayToInt_Little = Packet.byteArrayToInt_Little(byteArray, 0);
int byteArrayToInt_Little2 = Packet.byteArrayToInt_Little(byteArray, 4);
int byteArrayToInt_Little3 = Packet.byteArrayToInt_Little(byteArray, 12);
if (byteArrayToInt_Little3 != 1) {
if (byteArrayToInt_Little3 == 3) {
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(true);
return;
}
return;
} else {
if (byteArrayToInt_Little <= 0 || byteArrayToInt_Little2 <= 0 || byteArrayToInt_Little2 >= 5000 || byteArrayToInt_Little >= 5000) {
FishPlaybackOnlineActivity.this.finish();
FishPlaybackOnlineActivity fishPlaybackOnlineActivity4 = FishPlaybackOnlineActivity.this;
MyToast.showToast(fishPlaybackOnlineActivity4, fishPlaybackOnlineActivity4.getString(R.string.tips_open_video_fail));
return;
}
return;
}
}
FishPlaybackOnlineActivity.this.finish();
FishPlaybackOnlineActivity fishPlaybackOnlineActivity5 = FishPlaybackOnlineActivity.this;
MyToast.showToast(fishPlaybackOnlineActivity5, fishPlaybackOnlineActivity5.getString(R.string.tips_open_video_fail));
}
};
double nLenStart = 0.0d;
private Handler mHandler_lockScreen = new Handler() {
@Override
public void handleMessage(Message message) {
if (message.what == 0) {
FishPlaybackOnlineActivity.this.root_lock_screen.setVisibility(0);
FishPlaybackOnlineActivity.this.mHandler_lockScreen.sendEmptyMessageDelayed(1, 3000L);
} else {
FishPlaybackOnlineActivity.this.root_lock_screen.setVisibility(8);
FishPlaybackOnlineActivity.this.mHandler_lockScreen.removeCallbacksAndMessages(null);
}
}
};
@Override
public void callbackPlayUTC2Dual(HiCamera hiCamera, int i, int i2, int i3) {
}
@Override
public void callbackPlayUTCDual(HiCamera hiCamera, int i, int i2) {
}
@Override
public void callbackRecordState(HiCamera hiCamera, int i, int i2, int i3, String str) {
}
@Override
public void callbackRecordStateDual(HiCamera hiCamera, int i, int i2, int i3, int i4, String str) {
}
@Override
public void callbackStateDual(HiCamera hiCamera, int i, int i2, int i3, int i4) {
}
@Override
protected void initWindow() {
this.hideUIMenu = hideBottomUIMenu();
}
@Override
public void onStart() {
super.onStart();
IntentFilter intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE");
ConnectionChangeReceiver connectionChangeReceiver = new ConnectionChangeReceiver();
this.myReceiver = connectionChangeReceiver;
registerReceiver(connectionChangeReceiver, intentFilter);
}
@Override
protected int setLayoutId() {
getWindow().addFlags(128);
getWindow().setFlags(1024, 1024);
return R.layout.activity_fish_playback_online_lanscape;
}
@Override
protected void init(Bundle bundle) {
Bundle extras = getIntent().getExtras();
this.str = extras.getString("title");
String string = extras.getString(HiDataValue.EXTRAS_KEY_UID);
byte[] byteArray = extras.getByteArray("st");
byte[] bArr = new byte[8];
this.oldStartTime = bArr;
System.arraycopy(byteArray, 0, bArr, 0, 8);
this.playback_time = extras.getLong("pb_time");
this.startTimeLong = extras.getLong("VIDEO START TIME");
this.endTimeLong = extras.getLong("VIDEO END TIME");
Iterator<MyCamera> it = HiDataValue.CameraList.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
MyCamera next = it.next();
if (next.getUid().equals(string)) {
this.mCamera = next;
break;
}
}
int i = SharePreUtils.getInt(Constant.INSTALLMODE, this, this.mCamera.getUid());
MyCamera myCamera = this.mCamera;
if (i == -1) {
i = 0;
}
myCamera.mInstallMode = i;
initView();
setListerners();
showLoadingShade();
this.mCamera.registerIOSessionListener(this);
this.mCamera.registerPlayStateListener(this);
if (this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_QUERY_START_NODST)) {
this.startTime = this.oldStartTime;
} else if (this.mCamera.getSummerTimer()) {
HiChipDefines.STimeDay sTimeDay = new HiChipDefines.STimeDay(this.oldStartTime, 0);
sTimeDay.resetData(-1);
this.startTime = sTimeDay.parseContent();
} else {
this.startTime = this.oldStartTime;
}
startPlayBack();
this.model = (short) 1;
OrientationWatchDog orientationWatchDog = new OrientationWatchDog(this);
this.mOrientationWatchDog = orientationWatchDog;
orientationWatchDog.setOnOrientationListener(this);
this.mOrientationWatchDog.startWatch();
}
private void setListerners() {
this.ivSnapshot.setOnClickListener(new $$Lambda$SRtAzvKImDb94VVJtVXflySvAI(this));
this.mMonitor.setOnTouchListener(this);
this.ll_top.setOnClickListener(this);
this.btn_return.setOnClickListener(this);
this.play_view_model.setOnClickListener(this);
this.rg_view_model.setOnCheckedChangeListener(this);
this.rl_view_model.setOnClickListener(this);
this.rl_guide.setOnClickListener(this);
this.root_lock_screen.setOnClickListener(this);
}
public synchronized void startPlayBack() {
new Thread() {
@Override
public void run() {
super.run();
FishPlaybackOnlineActivity.this.mCamera.startPlayback(new HiChipDefines.STimeDay(FishPlaybackOnlineActivity.this.startTime, 0), FishPlaybackOnlineActivity.this.mMonitor);
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSeekbar(0, FishPlaybackOnlineActivity.this.progressTime);
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, FishPlaybackOnlineActivity.this.progressTime, FishPlaybackOnlineActivity.this.startTime, 0, 0);
}
}.start();
}
private void initView() {
this.ivSnapshot = (ImageView) findViewById(R.id.iv_snapshot);
MyPlaybackGLMonitor myPlaybackGLMonitor = (MyPlaybackGLMonitor) findViewById(R.id.monitor_playback_view);
this.mMonitor = myPlaybackGLMonitor;
myPlaybackGLMonitor.setCamera(this.mCamera);
this.mMonitor.SetCirInfo(SharePreUtils.getFloat(HiDataValue.CACHE, this, this.mCamera.getUid() + "xcircle"), SharePreUtils.getFloat(HiDataValue.CACHE, this, this.mCamera.getUid() + "ycircle"), SharePreUtils.getFloat(HiDataValue.CACHE, this, this.mCamera.getUid() + "rcircle"));
this.mMonitor.SetViewType(1);
this.mMonitor.setFlensType(this.mCamera.getFishModType());
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
this.screen_height = displayMetrics.heightPixels;
this.mMonitor.screen_height = displayMetrics.heightPixels;
if (this.hideUIMenu) {
this.screen_width = displayMetrics.widthPixels + HiTools.getNavigationBarHeight(this);
this.mMonitor.screen_width = displayMetrics.widthPixels + HiTools.getNavigationBarHeight(this);
} else {
this.screen_width = displayMetrics.widthPixels;
this.mMonitor.screen_width = displayMetrics.widthPixels;
}
this.mMonitor.SetScreenSize(this.screen_width, this.screen_height);
this.rbtn_wall_overallview = (RadioButton) findViewById(R.id.rbtn_wall_overallview);
this.rbtn_circle = (RadioButton) findViewById(R.id.rbtn_circle);
if (this.mCamera.mInstallMode == 0) {
this.mMonitor.SetShowScreenMode(0, 1);
} else {
this.mMonitor.SetShowScreenMode(4, 1);
}
this.rbtn_circle.setChecked(true);
this.mCamera.setLiveShowMonitor(this.mMonitor);
this.prs_loading = (ProgressBar) findViewById(R.id.prs_loading);
this.img_shade = (ImageView) findViewById(R.id.img_shade);
this.mllPlay = (LinearLayout) findViewById(R.id.rl_play);
this.mTvStartTime = (TextView) findViewById(R.id.tv_start_time);
TextView textView = (TextView) findViewById(R.id.tv_end_time);
this.mTvEndTime = textView;
textView.setText(sdf.format(new Date(this.endTimeLong - this.startTimeLong)));
this.progressTime = (int) ((this.endTimeLong - this.startTimeLong) / 1000);
SeekBar seekBar = (SeekBar) findViewById(R.id.prs_playing);
this.prs_playing = seekBar;
seekBar.setMax(this.progressTime);
this.prs_playing.setProgress(0);
this.mLlCurrPro = (LinearLayout) findViewById(R.id.ll_cureent_progress);
this.mTvCurrPro = (TextView) findViewById(R.id.tv_current_pro);
this.mTvPrecent = (TextView) findViewById(R.id.tv_precent);
this.ll_top = (LinearLayout) findViewById(R.id.ll_top);
this.btn_return = (ImageView) findViewById(R.id.btn_return);
TextView textView2 = (TextView) findViewById(R.id.play_view_model);
this.play_view_model = textView2;
textView2.setVisibility(this.mCamera.isFishEye() ? 0 : 8);
this.rl_view_model = (RelativeLayout) findViewById(R.id.rl_view_model);
TextView textView3 = (TextView) findViewById(R.id.tv_install);
this.tv_install = textView3;
textView3.setText(getString(this.mCamera.mInstallMode == 0 ? R.string.fish_top : R.string.fish_wall));
this.rg_view_model = (RadioGroup) findViewById(R.id.rg_view_model);
this.tv_timezone = (TextView) findViewById(R.id.tv_timezone);
hideAndShowView();
this.rl_guide = (LinearLayout) findViewById(R.id.rl_guide);
StringBuilder sb = new StringBuilder();
sb.append(this.mCamera.getUid());
sb.append("isFirstPbOnline");
this.rl_guide.setVisibility(SharePreUtils.getBoolean(HiDataValue.CACHE, this, sb.toString()) ? 8 : 0);
this.prs_playing.setEnabled(false);
this.prs_playing.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar2) {
if (FishPlaybackOnlineActivity.this.mIsEnd) {
FishPlaybackOnlineActivity.this.prs_playing.setEnabled(false);
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(false);
FishPlaybackOnlineActivity.this.mCamera.startPlayback(new HiChipDefines.STimeDay(FishPlaybackOnlineActivity.this.startTime, 0), FishPlaybackOnlineActivity.this.mMonitor);
}
int progress = seekBar2.getProgress();
int i = (progress * 100) / FishPlaybackOnlineActivity.this.progressTime;
if (FishPlaybackOnlineActivity.this.progressTime > 500) {
if (progress >= FishPlaybackOnlineActivity.this.progressTime * 0.98d) {
i = 98;
progress = (int) (FishPlaybackOnlineActivity.this.progressTime * 0.98d);
}
} else if (i >= 100.0d - (1000.0d / FishPlaybackOnlineActivity.this.progressTime)) {
i = (int) (100.0d - (1000.0d / FishPlaybackOnlineActivity.this.progressTime));
progress = (FishPlaybackOnlineActivity.this.progressTime * i) / 100;
}
if (i < 1) {
if (!FishPlaybackOnlineActivity.this.mIsEnd) {
FishPlaybackOnlineActivity.this.mCamera.stopPlayback();
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, 0, FishPlaybackOnlineActivity.this.startTime, 0, 0);
FishPlaybackOnlineActivity.this.startPlayBack();
}
} else {
if (FishPlaybackOnlineActivity.this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_POS_SET_NEW)) {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_POS_SET_NEW, HiChipDefines.HI_P2P_PB_SETPOS_REQ.parseContent(0, i, FishPlaybackOnlineActivity.this.startTime));
} else {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_POS_SET, HiChipDefines.HI_P2P_PB_SETPOS_REQ.parseContent(0, i, FishPlaybackOnlineActivity.this.startTime));
}
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSeekbar(progress, FishPlaybackOnlineActivity.this.progressTime);
}
FishPlaybackOnlineActivity.this.model = (short) 3;
FishPlaybackOnlineActivity.this.mIsDrag = false;
FishPlaybackOnlineActivity.this.mLlCurrPro.setVisibility(8);
FishPlaybackOnlineActivity.this.mSpeed = 0;
FishPlaybackOnlineActivity.this.tvSpeed.setText("");
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, 0, FishPlaybackOnlineActivity.this.startTime, 0, 0);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar2) {
FishPlaybackOnlineActivity.this.mIsDrag = true;
}
@Override
public void onProgressChanged(SeekBar seekBar2, int i, boolean z) {
if (FishPlaybackOnlineActivity.this.mIsDrag) {
FishPlaybackOnlineActivity.this.mLlCurrPro.setVisibility(0);
int round = (int) Math.round((i / FishPlaybackOnlineActivity.this.progressTime) * 100.0d);
FishPlaybackOnlineActivity.this.mTvPrecent.setText(round + "%");
FishPlaybackOnlineActivity.this.mTvStartTime.setText(FishPlaybackOnlineActivity.sdf.format(new Date((long) (i * 1000))));
return;
}
FishPlaybackOnlineActivity.this.mLlCurrPro.setVisibility(8);
}
});
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.playback_view_screen);
this.playback_view_screen = relativeLayout;
relativeLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (FishPlaybackOnlineActivity.this.model == 0) {
return;
}
FishPlaybackOnlineActivity.this.visible = !r2.visible;
FishPlaybackOnlineActivity.this.mllPlay.setVisibility(FishPlaybackOnlineActivity.this.visible ? 0 : 8);
}
});
ImageView imageView = (ImageView) findViewById(R.id.play_btn_playback_online);
this.play_btn_playback_online = imageView;
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (FishPlaybackOnlineActivity.this.mCamera.getConnectState() == 4) {
if (FishPlaybackOnlineActivity.this.mIsEnd) {
FishPlaybackOnlineActivity.this.play_btn_playback_online.setClickable(false);
FishPlaybackOnlineActivity.this.prs_playing.setEnabled(false);
FishPlaybackOnlineActivity.this.startPlayBack();
return;
}
if (FishPlaybackOnlineActivity.this.isPlaying) {
FishPlaybackOnlineActivity.this.mCamera.SetPauseOnLine(true);
FishPlaybackOnlineActivity.this.play_btn_playback_online.setSelected(true);
} else {
FishPlaybackOnlineActivity.this.mCamera.SetPauseOnLine(false);
FishPlaybackOnlineActivity.this.play_btn_playback_online.setSelected(false);
}
FishPlaybackOnlineActivity fishPlaybackOnlineActivity = FishPlaybackOnlineActivity.this;
fishPlaybackOnlineActivity.isPlaying = true ^ fishPlaybackOnlineActivity.isPlaying;
if (FishPlaybackOnlineActivity.this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_NEW)) {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_NEW, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
} else if (FishPlaybackOnlineActivity.this.mCamera.appGetCommandFunction(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_EXT)) {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL_EXT, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
} else {
FishPlaybackOnlineActivity.this.mCamera.sendIOCtrl(HiChipDefines.HI_P2P_PB_PLAY_CONTROL, HiChipDefines.HI_P2P_S_PB_PLAY_REQ.parseContent(0, (short) 3, FishPlaybackOnlineActivity.this.startTime));
}
}
}
});
this.play_btn_playback_online.setClickable(false);
this.ivSpeed = (ImageView) findViewById(R.id.iv_speed);
this.tvSpeed = (TextView) findViewById(R.id.tv_speed);
this.ivSpeed.setOnClickListener(new $$Lambda$SRtAzvKImDb94VVJtVXflySvAI(this));
if (this.mCamera.getConnectMode() == 2) {
this.ivSpeed.setVisibility(0);
this.tvSpeed.setVisibility(0);
}
}
private void hideAndShowView() {
if (this.mCamera.mInstallMode == 0) {
for (int i = 0; i < this.rg_view_model.getChildCount(); i++) {
if (i == 5) {
this.rg_view_model.getChildAt(i).setVisibility(8);
} else {
this.rg_view_model.getChildAt(i).setVisibility(0);
}
}
return;
}
for (int i2 = 0; i2 < this.rg_view_model.getChildCount(); i2++) {
if (i2 == 0 || i2 == 5) {
this.rg_view_model.getChildAt(i2).setVisibility(0);
} else {
this.rg_view_model.getChildAt(i2).setVisibility(8);
}
}
}
private void setImageVisible(boolean z) {
if (z) {
this.prs_playing.setVisibility(0);
this.play_btn_playback_online.setVisibility(0);
} else {
this.play_btn_playback_online.setVisibility(8);
this.prs_playing.setVisibility(8);
}
}
private void showLoadingShade() {
this.prs_loading.setMax(100);
this.prs_loading.setProgress(10);
ProgressThread progressThread = new ProgressThread();
this.pthread = progressThread;
progressThread.startThread();
}
private void displayLoadingShade() {
ProgressThread progressThread = this.pthread;
if (progressThread != null) {
progressThread.stopThread();
}
this.pthread = null;
this.prs_loading.setVisibility(8);
this.img_shade.setVisibility(8);
this.visible = true;
setImageVisible(true);
}
@Override
public void onResume() {
super.onResume();
MyCamera myCamera = this.mCamera;
if (myCamera != null) {
myCamera.registerIOSessionListener(this);
this.mCamera.registerPlayStateListener(this);
}
}
@Override
public void onPause() {
super.onPause();
if (!this.isDoPause) {
this.isDoPause = true;
return;
}
MyCamera myCamera = this.mCamera;
if (myCamera != null) {
if (this.model != 0) {
this.model = (short) 0;
this.oldTime = 0L;
}
myCamera.stopPlayback();
this.mCamera.SetPlaybackSpeed(false, 0, this.startTime, 0, 0);
this.mCamera.unregisterIOSessionListener(this);
this.mCamera.unregisterPlayStateListener(this);
}
ProgressThread progressThread = this.pthread;
if (progressThread != null) {
progressThread.stopThread();
this.pthread = null;
}
setRequestedOrientation(1);
finish();
}
@Override
public void onDestroy() {
super.onDestroy();
ConnectionChangeReceiver connectionChangeReceiver = this.myReceiver;
if (connectionChangeReceiver != null) {
unregisterReceiver(connectionChangeReceiver);
}
if (this.mHandler_lockScreen != null) {
this.root_lock_screen.setVisibility(8);
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
}
OrientationWatchDog orientationWatchDog = this.mOrientationWatchDog;
if (orientationWatchDog != null) {
orientationWatchDog.stopWatch();
}
MyCamera myCamera = this.mCamera;
if (myCamera != null) {
myCamera.clearMonitor(this.mMonitor);
}
}
@Override
public void finish() {
MyPlaybackGLMonitor myPlaybackGLMonitor = this.mMonitor;
if (myPlaybackGLMonitor != null) {
myPlaybackGLMonitor.FreeMonitor();
this.mMonitor = null;
}
super.finish();
}
@Override
public void onBackPressed() {
MyPlaybackGLMonitor myPlaybackGLMonitor = this.mMonitor;
if (myPlaybackGLMonitor != null) {
myPlaybackGLMonitor.FreeMonitor();
this.mMonitor = null;
}
super.onBackPressed();
}
public class ProgressThread extends HiThread {
private ProgressThread() {
}
@Override
public void run() {
while (this.isRunning) {
sleep(100);
Message obtainMessage = FishPlaybackOnlineActivity.this.handler.obtainMessage();
obtainMessage.what = FishPlaybackOnlineActivity.HANDLE_MESSAGE_PROGRESSBAR_RUN;
FishPlaybackOnlineActivity.this.handler.sendMessage(obtainMessage);
}
}
}
@Override
public void receiveIOCtrlData(HiCamera hiCamera, int i, byte[] bArr, int i2) {
if (this.mCamera != hiCamera) {
return;
}
Bundle bundle = new Bundle();
bundle.putByteArray("data", bArr);
Message obtainMessage = this.handler.obtainMessage();
obtainMessage.what = i;
obtainMessage.arg2 = i2;
obtainMessage.setData(bundle);
this.handler.sendMessage(obtainMessage);
}
@Override
public void receiveSessionState(HiCamera hiCamera, int i) {
MyCamera myCamera = this.mCamera;
if (hiCamera != myCamera || myCamera == null) {
return;
}
Message obtain = Message.obtain();
obtain.what = HiDataValue.HANDLE_MESSAGE_SESSION_STATE;
obtain.arg1 = i;
obtain.obj = hiCamera;
this.handler.sendMessage(obtain);
}
public void resetMonitorSize() {
if (this.video_width == 0 || this.video_height == 0) {
return;
}
displayLoadingShade();
getWindow().setFlags(1024, 1024);
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(this.screen_width, this.screen_height);
layoutParams.addRule(14, -1);
layoutParams.addRule(15, -1);
this.mMonitor.setLayoutParams(layoutParams);
}
@Override
public void callbackPlayUTC(HiCamera hiCamera, int i) {
short s;
if (2 == this.mCamera.getConnectMode() || this.mCamera.isLanConnect() || this.mCamera != hiCamera || (s = this.model) == 3 || s == 0) {
return;
}
if (this.oldTime == 0) {
this.oldTime = i;
}
int i2 = (int) ((i - this.oldTime) / 1000);
Message obtainMessage = this.handler.obtainMessage();
obtainMessage.what = -1879048189;
obtainMessage.arg1 = i2;
this.handler.sendMessage(obtainMessage);
}
@Override
public void callbackPlayUTC2(HiCamera hiCamera, int i, int i2) {
if (2 == this.mCamera.getConnectMode() || this.mCamera.isLanConnect()) {
Message obtainMessage = this.handler.obtainMessage();
obtainMessage.what = -1879048189;
obtainMessage.arg1 = i2 / 1000;
this.handler.sendMessage(obtainMessage);
}
}
@Override
public void callbackState(HiCamera hiCamera, int i, int i2, int i3) {
if (this.mCamera != hiCamera) {
return;
}
if (i == 0) {
HiLog.e("state=PLAY_STATE_START");
}
Message obtainMessage = this.handler.obtainMessage();
obtainMessage.what = i;
obtainMessage.arg1 = i2;
obtainMessage.arg2 = i3;
this.handler.sendMessage(obtainMessage);
}
public void NetworkError() {
showAlertnew(null, null, getString(R.string.disconnect), getString(R.string.finish), null, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
if (i == -2) {
FishPlaybackOnlineActivity.this.finish();
} else {
if (i != -1) {
return;
}
FishPlaybackOnlineActivity.this.finish();
}
}
});
}
public class ConnectionChangeReceiver extends BroadcastReceiver {
public ConnectionChangeReceiver() {
}
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService("connectivity");
NetworkInfo networkInfo = connectivityManager.getNetworkInfo(0);
NetworkInfo networkInfo2 = connectivityManager.getNetworkInfo(1);
if (networkInfo == null || networkInfo.isConnected() || networkInfo2 == null || networkInfo2.isConnected()) {
return;
}
MyToast.showToast(context, FishPlaybackOnlineActivity.this.getString(R.string.tips_wifi_connect_failed));
if (FishPlaybackOnlineActivity.this.mCamera != null) {
FishPlaybackOnlineActivity.this.mCamera.stopPlayback();
FishPlaybackOnlineActivity.this.mCamera.SetPlaybackSpeed(false, 0, FishPlaybackOnlineActivity.this.startTime, 0, 0);
}
FishPlaybackOnlineActivity.this.NetworkError();
}
}
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (view.getId() == R.id.monitor_playback_view) {
int pointerCount = motionEvent.getPointerCount();
if ((motionEvent.getAction() & 255) == 5 && 2 == pointerCount) {
this.mMonitor.setTouchMove(2);
for (int i = 0; i < pointerCount; i++) {
new Point((int) motionEvent.getX(i), (int) motionEvent.getY(i));
}
this.xlenOld = Math.abs(((int) motionEvent.getX(0)) - ((int) motionEvent.getX(1)));
int abs = Math.abs(((int) motionEvent.getY(0)) - ((int) motionEvent.getY(1)));
this.ylenOld = abs;
int i2 = this.xlenOld;
this.nLenStart = Math.sqrt((i2 * i2) + (abs * abs));
} else {
if ((motionEvent.getAction() & 255) == 2 && 2 == pointerCount) {
this.mMonitor.setTouchMove(2);
for (int i3 = 0; i3 < pointerCount; i3++) {
new Point((int) motionEvent.getX(i3), (int) motionEvent.getY(i3));
}
int abs2 = Math.abs(((int) motionEvent.getX(0)) - ((int) motionEvent.getX(1)));
int abs3 = Math.abs(((int) motionEvent.getY(0)) - ((int) motionEvent.getY(1)));
int abs4 = Math.abs(abs2 - this.xlenOld);
int abs5 = Math.abs(abs3 - this.ylenOld);
double d = abs2;
double d2 = abs3;
double sqrt = Math.sqrt((d * d) + (d2 * d2));
if (abs4 < 20 && abs5 < 20) {
return false;
}
if (sqrt > this.nLenStart) {
this.mMonitor.SetZoom(true);
this.mMonitor.SetZoom(true);
this.mMonitor.SetZoom(true);
this.mMonitor.SetZoom(true);
} else {
this.mMonitor.SetZoom(false);
this.mMonitor.SetZoom(false);
this.mMonitor.SetZoom(false);
this.mMonitor.SetZoom(false);
}
this.xlenOld = abs2;
this.ylenOld = abs3;
this.nLenStart = sqrt;
return true;
}
if (pointerCount == 1) {
int action = motionEvent.getAction();
if (action == 0) {
this.mMonitor.setTouchMove(0);
if (this.model == 0) {
}
} else if (action == 2 && this.mMonitor.getTouchMove() == 0 && (Math.abs(this.move_x - this.action_down_x) > 40.0f || Math.abs(this.move_y - this.action_down_y) > 40.0f)) {
this.mMonitor.setTouchMove(1);
}
}
}
}
return false;
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.btn_return:
finish();
return;
case R.id.iv_snapshot:
if (this.isPlaying && System.currentTimeMillis() - this.lastClickTime > 500) {
this.lastClickTime = System.currentTimeMillis();
if (HiTools.HiPermission(this, this, 1, 10023)) {
return;
}
clickSnapshot();
return;
}
return;
case R.id.iv_speed:
handFast();
return;
case R.id.play_view_model:
this.rl_view_model.setVisibility(0);
ScaleAnimation scaleAnimation = new ScaleAnimation(1.0f, 1.0f, 0.0f, 1.0f, 1, 0.0f, 1, 0.0f);
scaleAnimation.setDuration(400L);
this.rl_view_model.startAnimation(scaleAnimation);
return;
case R.id.rl_guide:
this.rl_guide.setVisibility(8);
SharePreUtils.putBoolean(HiDataValue.CACHE, this, this.mCamera.getUid() + "isFirstPbOnline", true);
return;
case R.id.rl_view_model:
this.rl_view_model.setVisibility(8);
ScaleAnimation scaleAnimation2 = new ScaleAnimation(1.0f, 1.0f, 1.0f, 0.0f, 1, 0.0f, 1, 0.0f);
scaleAnimation2.setDuration(200L);
this.rl_view_model.startAnimation(scaleAnimation2);
return;
case R.id.root_lock_screen:
OrientationWatchDog orientationWatchDog = this.mOrientationWatchDog;
if (orientationWatchDog != null) {
orientationWatchDog.setLockScreen(true);
}
this.root_lock_screen.setVisibility(8);
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
return;
default:
return;
}
}
public void clickSnapshot() {
if (this.mCamera != null) {
if (HiTools.isSDCardValid()) {
File file = new File(HiDataValue.getPathCameraSnapshot(this.mCamera.getUid(), this));
if (!file.exists()) {
file.mkdirs();
}
String fileNameWithTime = HiTools.getFileNameWithTime(0);
String str = file.getAbsoluteFile() + "/" + fileNameWithTime;
MyCamera myCamera = this.mCamera;
Bitmap snapshot = myCamera != null ? myCamera.getSnapshot() : null;
if (snapshot != null && HiTools.saveImage(str, snapshot)) {
SaveToPhone(str, fileNameWithTime);
Toast.makeText(this, getText(R.string.tips_snapshot_success), 0).show();
return;
} else {
Toast.makeText(this, getText(R.string.tips_snapshot_failed), 0).show();
return;
}
}
Toast.makeText(this, getText(R.string.tips_no_sdcard).toString(), 0).show();
}
}
private void SaveToPhone(final String str, final String str2) {
new Thread(new Runnable() {
@Override
public void run() {
try {
MediaStore.Images.Media.insertImage(FishPlaybackOnlineActivity.this.getContentResolver(), str, str2, (String) null);
} catch (Exception e) {
e.printStackTrace();
}
FishPlaybackOnlineActivity.this.sendBroadcast(new Intent("android.intent.action.MEDIA_SCANNER_SCAN_FILE", Uri.parse("file://" + str)));
}
}).start();
}
private void handFast() {
if (this.mIsEnd) {
return;
}
int i = this.mSpeed;
if (i == 0) {
this.mSpeed = 2;
this.tvSpeed.setText("X 2");
MyCamera myCamera = this.mCamera;
int i2 = this.progressTime;
myCamera.SetPlaybackSpeed(true, i2, this.startTime, HiTools.HiCountTwoITime(i2), HiTools.HiCountFourITime(this.progressTime));
return;
}
if (i == 2) {
this.mSpeed = 4;
this.tvSpeed.setText("X 4");
this.mCamera.SetPlaybackSpeed(true, this.progressTime, this.startTime, 2, 6);
} else {
if (i != 4) {
return;
}
this.mSpeed = 0;
this.tvSpeed.setText("");
this.mCamera.SetPlaybackSpeed(false, this.progressTime, this.startTime, 0, 0);
}
}
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
switch (i) {
case R.id.rbtn_bowl:
this.rl_view_model.setVisibility(8);
this.mMonitor.SetShowScreenMode(3, 0);
this.mMonitor.setmFrameMode(5);
return;
case R.id.rbtn_circle:
this.rl_view_model.setVisibility(8);
if (this.mCamera.mInstallMode == 0) {
this.mMonitor.SetShowScreenMode(0, 1);
this.mMonitor.setmFrameMode(1);
return;
} else {
this.mMonitor.SetShowScreenMode(4, 1);
this.mMonitor.mWallMode = 0;
return;
}
case R.id.rbtn_cylinder:
this.rl_view_model.setVisibility(8);
this.mMonitor.SetShowScreenMode(3, 1);
this.mMonitor.setmFrameMode(2);
return;
case R.id.rbtn_four:
this.rl_view_model.setVisibility(8);
this.mMonitor.SetShowScreenMode(0, 4);
this.mMonitor.setmFrameMode(4);
return;
case R.id.rbtn_two:
this.rl_view_model.setVisibility(8);
this.mMonitor.SetShowScreenMode(1, 2);
this.mMonitor.setmFrameMode(3);
return;
case R.id.rbtn_wall_overallview:
this.rl_view_model.setVisibility(8);
this.mMonitor.mWallMode = 1;
this.mMonitor.SetShowScreenMode(2, 0);
return;
default:
return;
}
}
public void releaseLockScreen() {
OrientationWatchDog orientationWatchDog = this.mOrientationWatchDog;
if (orientationWatchDog != null) {
orientationWatchDog.setLockScreen(false);
}
this.isFirstRevolveLand = false;
this.root_lock_screen.setVisibility(8);
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
}
@Override
public void changedScreenDirection(int i) {
if (this.isReadyPlay) {
if (i == 90) {
this.isLeft = false;
setRequestedOrientation(8);
if (!this.isFirstRevolveLand) {
this.isFirstRevolveLand = true;
}
if (this.root_lock_screen.getVisibility() == 0) {
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
this.mHandler_lockScreen.sendEmptyMessageDelayed(1, 3000L);
return;
} else {
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
this.mHandler_lockScreen.sendEmptyMessageDelayed(0, 3000L);
return;
}
}
if (i == 270) {
this.isLeft = true;
setRequestedOrientation(0);
if (!this.isFirstRevolveLand) {
this.isFirstRevolveLand = true;
} else if (this.root_lock_screen.getVisibility() == 0) {
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
this.mHandler_lockScreen.sendEmptyMessageDelayed(1, 3000L);
} else {
this.mHandler_lockScreen.removeCallbacksAndMessages(null);
this.mHandler_lockScreen.sendEmptyMessageDelayed(0, 3000L);
}
}
}
}
@Override
public void onRequestPermissionsResult(int i, String[] strArr, int[] iArr) {
super.onRequestPermissionsResult(i, strArr, iArr);
if (i == 10023) {
int length = iArr.length;
boolean z = false;
int i2 = 0;
while (true) {
if (i2 >= length) {
z = true;
break;
} else if (iArr[i2] != 0) {
break;
} else {
i2++;
}
}
if (z) {
return;
}
HiTools.Hi_GoToSetting(strArr, this, this);
}
}
public void setDoPause(boolean z) {
this.isDoPause = z;
}
}