package com.basic.security.fragment; import android.media.MediaPlayer; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.Spinner; import com.basic.security.R; import com.basic.security.base.BaseFragment; import com.basic.security.fragment.helper.HomePlayAlarmSound; import com.basic.security.manager.SettingManager; import com.basic.security.utils.AudioPlayer; import com.basic.security.utils.SocketClient; import com.basic.security.utils.ToastUtil; import com.basic.security.widget.SuccessDialog; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Background; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.UiThread; import org.androidannotations.annotations.ViewById; @EFragment(R.layout.fragment_setting) public class SettingFragment extends BaseFragment { @ViewById public EditText password; @ViewById public EditText ip; @ViewById public EditText port; @ViewById public Spinner second; @ViewById public Spinner alarmAudio; public String[] secondArray = new String[]{"5", "10", "20", "30", "40", "50", "60"}; public static String[] alarmAudioArray = new String[]{"1", "2", "3", "4", "5"}; public MediaPlayer mp; @Background public void show() { initData(SettingManager.getIpStr(), SettingManager.getSecondStr(), SettingManager.getAlarmAudioStr(), SettingManager.getPortStr()); } @UiThread public void initData(String ipStr, String secondStr, String alarmAudioStr, String portStr) { if (second != null) { second.setSelection(getSelectedIndex(secondArray, secondStr)); } if (alarmAudio != null) { alarmAudio.setSelection(getSelectedIndex(alarmAudioArray, alarmAudioStr)); } if (ipStr != null) { ip.setText(ipStr); } if (portStr != null) { port.setText(portStr); } password.setText(""); } public int getSelectedIndex(String[] array, String value) { int index = 0; for (int i = 0; i < array.length; i++) { String arrayValue = array[i]; if (arrayValue.equals(value)) { index = i; } } return index; } public static int getAudioRawIndex(String audioAlarmStr) { if (audioAlarmStr != null) { for (int i = 0; i < SettingFragment.alarmAudioArray.length; i++) { if (SettingFragment.alarmAudioArray[i].equals(audioAlarmStr)) { if (i == 0) { return R.raw.a1; } if (i == 1) { return R.raw.a2; } if (i == 2) { return R.raw.a3; } if (i == 3) { return R.raw.a4; } if (i == 4) { return R.raw.a5; } } } } return R.raw.a1; } @AfterViews public void afterViews() { second.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, secondArray)); second.setPopupBackgroundResource(R.drawable.round_border); alarmAudio.setAdapter(new ArrayAdapter<>(getContext(), R.layout.spinner_item_small_text, alarmAudioArray)); alarmAudio.setPopupBackgroundResource(R.drawable.round_border); alarmAudio.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { final int position1 = position; new Thread(){ @Override public void run() { //AudioPlayer.stop(mp); mp = AudioPlayer.play(mp, alarmAudioArray[position1], false); } }.start(); } @Override public void onNothingSelected(AdapterView parent) { } }); } @Click public void save() { String secondStr = second.getSelectedItem().toString(); String alarmAudioStr = alarmAudio.getSelectedItem().toString(); String ipStr = ip.getText().toString().trim(); String portStr = port.getText().toString().trim(); String passwordStr = password.getText().toString().trim(); if (passwordStr.length() == 0) { ToastUtil.show("密码不能为空"); return; } if(!"basic".equals(passwordStr)) { ToastUtil.show("密码不正确"); return; } if (ipStr.length() == 0) { ToastUtil.show("IP不能为空"); return; } if (portStr.length() == 0) { ToastUtil.show("端口不能为空"); return; } if (SettingManager.saveSetting(secondStr, ipStr, alarmAudioStr,portStr)) { mainActivity().fragment_home.setRootUrl(); SuccessDialog successDialog = new SuccessDialog(mainActivity()); successDialog.show(); AudioPlayer.stopInNewThread(mp); mp = null; HomePlayAlarmSound.shouldRestartSound = true; SocketClient.needRestart = true; } } @Click public void goto_home() { mainActivity().fragment_home.stopAllVideoPlays(null); mainActivity().goto_home(); } }