package com.iwedia.gui.components.dialogs;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.TypedArray;
import android.os.Handler;
import android.os.Message;
import android.os.RemoteException;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import com.iwedia.comm.IScanControl;
import com.iwedia.comm.enums.ScanSignalType;
import com.iwedia.comm.enums.ScramblingMode;
import com.iwedia.dtv.scan.BandType;
import com.iwedia.dtv.scan.FecType;
import com.iwedia.dtv.scan.Modulation;
import com.iwedia.dtv.scan.Polarization;
import com.iwedia.dtv.types.AnalogEncodingMode;
import com.iwedia.gui.MainActivity;
import com.iwedia.gui.R;
import com.iwedia.gui.components.A4TVAlertDialog;
import com.iwedia.gui.components.A4TVButton;
import com.iwedia.gui.components.A4TVButtonSwitch;
import com.iwedia.gui.components.A4TVDialog;
import com.iwedia.gui.components.A4TVEditText;
import com.iwedia.gui.components.A4TVProgressBar;
import com.iwedia.gui.components.A4TVSpinner;
import com.iwedia.gui.components.A4TVSpinner.OnSelectA4TVSpinnerListener;
import com.iwedia.gui.components.A4TVToast;
import com.iwedia.gui.config_handler.ConfigHandler;
import com.iwedia.gui.mainmenu.DialogCreatorClass;
import com.iwedia.gui.mainmenu.DialogManager;
import com.iwedia.gui.mainmenu.MainMenuContent;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/**
* Manual tuning dialog
*
* @author Branimir Pavlovic
*/
public class ChannelInstallationManualTunningDialog extends A4TVDialog
implements A4TVDialogInterface, android.view.View.OnClickListener,
OnSeekBarChangeListener {
private Context ctx;
/** IDs for buttons in this dialog */
public static final int TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST = 56,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_START_SEARCH = 11;
/** IDs for edit text in this dialog */
public static final int TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY = 0,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT = 55,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT = 58;
/** IDs for spinner in this dialog */
public static final int TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SCRAMBLED = 21,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FEC = 22,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE = 19,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization = 20,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_MODULATION = 41,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_NETWORK_ID = 42,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYSTEM = 43,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FINE_TUNE = 44,
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NORDIC_BAND = 45;
/** IDs for progress in this dialog */
// public static final int
// TV_MENU_CHANNEL_INSTALLATION_SIGNAL_INFO_SIGNAL_STRENGTH = 206;
private Handler handlerScanStarted;
private String channelNumber = "";
private String channelBand = "";
private String channelNordic = "";
private int selectedTunerType = 0;
// fields for creating dialogs
private ArrayList<ArrayList<Integer>> contentList = new ArrayList<ArrayList<Integer>>(),
contentListIDs = new ArrayList<ArrayList<Integer>>();
private ArrayList<Integer> titleIDs = new ArrayList<Integer>();
// intervals for scanning procedure
// DVB S
private int dvbSFreqDown, dvbSFreqUp;
private int dvbSSimbolRateDown, dvbSSimbolRateUp;
// DVB C
private int dvbCFreqDown, dvbCFreqUp;
private int dvbCSimbolRateDown, dvbCSimbolRateUp;
// ATV
private int atvFreqDown, atvFreqUp;
private final int DVB_T_CHANNEL_NUMBER_DOWN = 5,
DVB_T_CHANNEL_NUMBER_UP = 83, DVB_T_CHANNEL_FREQ_DOWN = 177500,
DVB_T_CHANNEL_FREQ_UP = 858000;
private final int ATV_FINE_TUNE_THRESHOLD = 1000; // In kHz
private final int ATV_FINE_TUNE_STEP = 100; // In kHz
private boolean nordic = false;
private boolean isFreqOK = false;
private static int analogFreq = 0, analogFreqHigh = 0, analogFreqLow = 0;
// fields for DVB-S scan
FecType fec;
int scrambled = 0;
int symbolRate = 0;
Polarization polarization = Polarization.NOT_DEFINED;
int freq = 0;
A4TVSpinner spinnerNordicType;
private A4TVAlertDialog alertDialog;
static final Map<String, Integer> NORDIC = new HashMap<String, Integer>() {
{
put("S1", 1);
put("D1", 2);
put("S2", 3);
put("S3", 4);
put("D2", 5);
put("S4", 6);
put("D3", 7);
put("S5", 8);
put("D4", 9);
put("S6", 10);
put("D5", 11);
put("S7", 12);
put("D6", 13);
put("S8", 14);
put("D7", 15);
put("S9", 16);
put("D8", 17);
put("S10", 18);
put("K5", 19);
put("D9", 20);
put("K6", 21);
put("D10", 22);
put("K7", 23);
put("D11", 24);
put("K8", 25);
put("D12", 26);
put("K9", 27);
put("D13", 28);
put("K10", 29);
put("D14", 30);
put("K11", 31);
put("D15", 32);
put("K12", 33);
put("S11", 34);
put("D16", 35);
put("S12", 36);
put("D17", 37);
put("S13", 38);
put("D18", 39);
put("S14", 40);
put("D19", 41);
put("S15", 42);
put("D20", 43);
put("S16", 44);
put("D21", 45);
put("S17", 46);
put("D22", 47);
put("S18", 48);
put("S19", 49);
put("D23", 50);
put("S20", 51);
put("D24", 52);
put("S21", 53);
put("S22", 54);
put("S23", 55);
put("S24", 56);
put("S25", 57);
put("S26", 58);
put("S27", 59);
put("S28", 60);
put("S29", 61);
put("S30", 62);
put("S31", 63);
put("S32", 64);
put("S33", 65);
put("S34", 66);
put("S35", 67);
put("S36", 68);
put("S37", 69);
put("S38", 70);
put("S39", 71);
put("S40", 72);
put("S41", 73);
put("K21", 74);
put("K22", 75);
put("K23", 76);
put("K24", 77);
put("K25", 78);
put("K26", 79);
put("K27", 80);
put("K28", 81);
put("K29", 82);
put("K30", 83);
put("K31", 84);
put("K32", 85);
put("K33", 86);
put("K34", 87);
put("K35", 88);
put("K36", 89);
put("K37", 90);
put("K38", 91);
put("K39", 92);
put("K40", 93);
put("K41", 94);
put("K42", 95);
put("K43", 96);
put("K44", 97);
put("K45", 98);
put("K46", 99);
put("K47", 100);
put("K48", 101);
put("K49", 102);
put("K50", 103);
put("K51", 104);
put("K52", 105);
put("K53", 106);
put("K54", 107);
put("K55", 108);
put("K56", 109);
put("K57", 110);
put("K58", 111);
put("K59", 112);
put("K60", 113);
put("K61", 114);
put("K62", 115);
put("K63", 116);
put("K64", 117);
put("K65", 118);
put("K66", 119);
put("K67", 120);
put("K68", 121);
put("K69", 122);
}
};
int index = 0;
public ChannelInstallationManualTunningDialog(Context context) {
super(context, checkTheme(context), 0);
ctx = context;
// check what tunner is selected
ChannelInstallationDialog chDialog = MainActivity.activity
.getDialogManager().getChannelInstallationDialog();
if (chDialog != null)
selectedTunerType = ((A4TVSpinner) chDialog
.findViewById(ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_TUNER_TYPE))
.getCHOOSEN_ITEM_INDEX();
checkIntervalsForScanning();
// fill lists
returnArrayListsWithDialogContents(contentList, contentListIDs,
titleIDs);
// set content to dialog
fillDialog();
// set attributes
setDialogAttributes();
alertDialog = new A4TVAlertDialog(ctx);
alertDialog.setCancelable(true);
alertDialog.setTitleOfAlertDialog(R.string.manual_scan_prompt);
alertDialog.setNegativeButton(R.string.button_text_no,
new android.view.View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.cancel();
}
});
alertDialog.setPositiveButton(R.string.button_text_yes,
new android.view.View.OnClickListener() {
@Override
public void onClick(View v) {
startManualScanButton();
alertDialog.cancel();
}
});
}
@Override
public void show() {
setInitialListenersAndViews(true);
super.show();
}
// @Override
// public void cancel() {
// clearEditTexts();
//
// super.cancel();
// }
@Override
public void onBackPressed() {
clearEditTexts();
super.onBackPressed();
}
private void clearEditTexts() {
// set for DVB-T
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT) {
A4TVEditText editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT);
editText.setText("");
}
// set for DVB-S
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
A4TVEditText editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY);
editText.setText("");
editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT);
editText.setText("");
}
// set for DVB-C
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
A4TVEditText editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY);
editText.setText("");
editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT);
editText.setText("");
}
// set for ATV
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
A4TVEditText editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY);
editText.setText("");
}
IScanControl control = null;
try {
control = MainActivity.service.getScanControl();
} catch (Exception e) {
e.printStackTrace();
}
try {
if (control != null) {
control.setFrequency(0);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void fillDialog() {
View view = DialogManager.dialogCreator.fillDialogWithContents(
contentList, contentListIDs, titleIDs, this, this, null);
setContentView(view);
}
@Override
public void setDialogAttributes() {
getWindow().getAttributes().width = MainActivity.dialogWidth;
getWindow().getAttributes().height = MainActivity.dialogHeight;
}
/**
* Function that load theme
*
* @param ctx
* @return
*/
private static int checkTheme(Context ctx) {
TypedArray atts = ctx.getTheme().obtainStyledAttributes(
new int[] { R.attr.A4TVDialog });
int i = atts.getResourceId(0, 0);
atts.recycle();
return i;
}
/** Check for NORDIC */
private boolean checkForNordic() {
// TODO check if it is for nordic
int activeCountry;
String country = "";
try {
activeCountry = MainActivity.service.getSetupControl()
.getActiveCountry();
country = MainActivity.service.getSetupControl().getCountryCode(
activeCountry);
} catch (Exception e) {
e.printStackTrace();
}
if (country == null) {
country = "Unknown";
}
Log.e("nordic", "country:" + country);
Log.d("ACTIVE COUNTRY LOADED FOR NORDIC CHECK", country);
if (country.equalsIgnoreCase("IRE") || country.equalsIgnoreCase("SWE")
|| country.equalsIgnoreCase("NOR")
|| country.equalsIgnoreCase("DNK")
|| country.equalsIgnoreCase("FIN")) {
return true;
}
return false;
}
/** Check for NORDIC */
private void checkIntervalsForScanning() {
nordic = checkForNordic();
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
if (nordic) {
dvbSFreqDown = 10700;// in MHz
dvbSFreqUp = 12750;
dvbSSimbolRateDown = 10000;// in KBaud
dvbSSimbolRateUp = 30000;
} else {
dvbSFreqDown = 10700;// in MHz
dvbSFreqUp = 12750;
dvbSSimbolRateDown = 10000;// in KBaud
dvbSSimbolRateUp = 30000;
}
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
if (nordic) {
dvbCFreqDown = 110000;// in MHz
dvbCFreqUp = 862000;
dvbCSimbolRateDown = 4000;// in Ksymbols/s
dvbCSimbolRateUp = 7000;
// dvbCFreqDown = 110;// in MHz
// dvbCFreqUp = 862;
// dvbCSimbolRateDown = 4000;// in Ksymbols/s
// dvbCSimbolRateUp = 7000;
} else {
dvbCFreqDown = 110000;// in MHz
dvbCFreqUp = 862000;
dvbCSimbolRateDown = 4000;// in Ksymbols/s
dvbCSimbolRateUp = 7000;
// dvbCFreqDown = 110;// in MHz
// dvbCFreqUp = 862;
// dvbCSimbolRateDown = 4000;// in Ksymbols/s
// dvbCSimbolRateUp = 7000;
}
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
atvFreqDown = 42000;
atvFreqUp = 863000;
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST: {
if (((A4TVButtonSwitch) v).getText().equals(
ctx.getResources().getString(R.string.button_text_no))) {
((A4TVButtonSwitch) v).setSelectedStateAndText(true,
R.string.button_text_yes);
} else {
((A4TVButtonSwitch) v).setSelectedStateAndText(false,
R.string.button_text_no);
}
break;
}
case TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_START_SEARCH: {
if (isFreqOK) {
if (MainActivity.isInFirstTimeInstall) {
startManualScanButton();
} else {
if (!ChannelInstallationManualTunningDialog.this
.findViewById(
TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST)
.isSelected()) {
alertDialog.show();
} else {
startManualScanButton();
}
}
} else {
new A4TVToast(ctx).showToast(R.string.freq_error);
}
break;
}
default:
break;
}
}
private void startManualScanButton() {
if (isFreqOK) {
Editable edit = null;
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
edit = ((A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.getText();
if (edit.toString().trim().length() > 0) {
if (Double.parseDouble(edit.toString()) < dvbSSimbolRateDown
|| Double.parseDouble(edit.toString()) > dvbSSimbolRateUp) {
A4TVToast toast = new A4TVToast(getContext());
toast.showToast(R.string.tv_menu_channel_installation_settings_wrong_symbol_rate);
return;
}
} else {
A4TVToast toast = new A4TVToast(getContext());
toast.showToast(R.string.tv_menu_channel_installation_settings_wrong_symbol_rate);
return;
}
}
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
edit = ((A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.getText();
if (edit.toString().trim().length() > 0) {
if (Double.parseDouble(edit.toString()) < dvbCSimbolRateDown
|| Double.parseDouble(edit.toString()) > dvbCSimbolRateUp) {
A4TVToast toast = new A4TVToast(getContext());
toast.showToast(R.string.tv_menu_channel_installation_settings_wrong_symbol_rate);
return;
}
} else {
A4TVToast toast = new A4TVToast(getContext());
toast.showToast(R.string.tv_menu_channel_installation_settings_wrong_symbol_rate);
return;
}
}
// set scan params
setScanParams();
// take reference of spinner
ChannelInstallationDialog chDialog = MainActivity.activity
.getDialogManager().getChannelInstallationDialog();
if (chDialog != null) {
final A4TVSpinner spinner;
spinner = (A4TVSpinner) chDialog
.findViewById(ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_TUNER_TYPE);
final A4TVButtonSwitch btn = ((A4TVButtonSwitch) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST));
Thread th = new Thread(new Runnable() {
@Override
public void run() {
boolean update = false;
if (btn.getText().equals(
ctx.getResources().getString(
R.string.button_text_yes))) {
update = true;
}
if (MainActivity.service != null) {
/** Start scan procedure */
try {
int selectedIndex = spinner
.getCHOOSEN_ITEM_INDEX();
if (selectedIndex == ChannelInstallationDialog.TUNER_DVBT) {
ChannelScanDialog
.setScanning(MainActivity.service
.getScanControl()
.manualScan(
ScanSignalType.SIGNAL_TYPE_TERRESTRIAL,
update));
} else if (selectedIndex == ChannelInstallationDialog.TUNER_DVBS) {
ChannelScanDialog
.setScanning(manualScan(
ScanSignalType.SIGNAL_TYPE_SATTELITE,
freq, update, symbolRate,
polarization, fec));
// MainActivity.service.getScanControl().manualScan(
// SIGNAL_TYPE.SATELLITE, update);
} else if (selectedIndex == ChannelInstallationDialog.TUNER_DVBC) {
ChannelScanDialog
.setScanning(MainActivity.service
.getScanControl()
.manualScan(
ScanSignalType.SIGNAL_TYPE_CABLE,
update));
} else if (selectedIndex == ChannelInstallationDialog.TUNER_ATV) {
ChannelScanDialog
.setScanning(MainActivity.service
.getScanControl()
.manualScan(
ScanSignalType.SIGNAL_TYPE_ANALOG,
update));
} else if (selectedIndex == ChannelInstallationDialog.TUNER_IP) {
ChannelScanDialog
.setScanning(MainActivity.service
.getScanControl()
.manualScan(
ScanSignalType.SIGNAL_TYPE_IP,
update));
}
} catch (Exception e) {
ChannelScanDialog.setScanning(false);
e.printStackTrace();
}
handlerScanStarted.sendEmptyMessage(0);
} else {
// Toast.makeText(
// ctx,
// ctx.getResources().getString(
// R.string.null_pointer_error),
// Toast.LENGTH_LONG).show();
}
}
});
th.start();
}
} else {
new A4TVToast(ctx).showToast(R.string.freq_error);
}
}
/**
* Initialize view on dialog
*
* @param fromHisClass
* called from his class or not
*/
public void setInitialListenersAndViews(boolean fromHisClass) {
// set for all tuner types
// disable start manual scan button
isFreqOK = true;
// set button keep current
A4TVButtonSwitch buttonKeep = (A4TVButtonSwitch) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST);
buttonKeep.setSelectedStateAndText(true, R.string.button_text_yes);
try {
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT) {
MainActivity.service.getScanControl().setScanType(
ScanSignalType.SIGNAL_TYPE_TERRESTRIAL);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
MainActivity.service.getScanControl().setScanType(
ScanSignalType.SIGNAL_TYPE_SATTELITE);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
MainActivity.service.getScanControl().setScanType(
ScanSignalType.SIGNAL_TYPE_CABLE);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_IP) {
MainActivity.service.getScanControl().setScanType(
ScanSignalType.SIGNAL_TYPE_IP);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
MainActivity.service.getScanControl().setScanType(
ScanSignalType.SIGNAL_TYPE_ANALOG);
}
} catch (RemoteException e) {
e.printStackTrace();
}
//
if (!ConfigHandler.TV_FEATURES) {
try {
MainActivity.service.getScanControl().setFrequency(0);
} catch (Exception e) {
e.printStackTrace();
}
}
// set for DVB-T
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT) {
A4TVEditText editText = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT);
// set frequency
String frequency = "";
int freq = 0;
try {
// freq = MainActivity.service.getScanControl().getFrequency();
if (freq > 0) {
frequency = String.valueOf(freq);
editText.setText(frequency);
editText.setSelection(frequency.length());
} else {
editText.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_dtv_frequency_hint));
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
if (nordic) {
spinnerNordicType = (A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NORDIC_BAND);
spinnerNordicType.setSelection(0);
channelBand = ctx.getResources().getString(
R.string.nordic_band_s);
}
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
}
// set for DVB-S
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
// set frequency
String frequency = "";
int freq = 0;
try {
// freq = MainActivity.service.getScanControl().getFrequency();
if (freq > 0) {
A4TVEditText editTextFreq = (A4TVEditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY);
frequency = String.valueOf(freq);
editTextFreq.setText(frequency);
editTextFreq.setSelection(String.valueOf(freq).length());
} else {
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_frequency_hint));
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
// set symbol rate
String symbolRate;
int sRate = 22000;
try {
// sRate =
// MainActivity.service.getScanControl().getSymbolRate();
if (sRate > 0) {
symbolRate = String.valueOf(sRate);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setText("");
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setSelection(symbolRate.length());
} else {
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_symbol_rate_dvbs_hint));
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
// set frequency hint
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_frequency_hint));
// set symbol rate hint
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_symbol_rate_dvbs_hint));
// initial selections for spinners
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SCRAMBLED))
.setSelection(0);
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FEC))
.setSelection(0);
// get polarization
Polarization polarization = Polarization.NOT_DEFINED;
try {
polarization = MainActivity.service.getScanControl()
.getPolarization();
} catch (Exception e) {
e.printStackTrace();
}
if (polarization == Polarization.VERTICAL) {
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization))
.setSelection(1);
} else {
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization))
.setSelection(0);
}
}
// set for ATV
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
String frequency = "";
int freq = 0;
try {
analogFreq = MainActivity.service.getScanControl()
.getFrequency();
analogFreqHigh = analogFreq + ATV_FINE_TUNE_THRESHOLD;
analogFreqLow = analogFreq - ATV_FINE_TUNE_THRESHOLD;
if (freq > 0) {
frequency = String.valueOf(freq);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setText(frequency);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setSelection(frequency.length());
} else {
// set frequency hint
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_frequency_hint));
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
AnalogEncodingMode analogEncodingMode = MainActivity.service
.getScanControl().getAnalogEncodingMode();
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYSTEM))
.setSelection(analogEncodingMode.getValue());
} catch (Exception e) {
e.printStackTrace();
}
A4TVButton fineButton = (A4TVButton) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FINE_TUNE);
fineButton.setBackgroundResource(R.drawable.arrows_back_forward);
fineButton.setText("");
fineButton.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
// int freq = 0;
// try {
// freq = MainActivity.service.getScanControl()
// .getFrequency();
// } catch (RemoteException e1) {
// // TODO Auto-generated catch block
// e1.printStackTrace();
// }
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_LEFT: {
try {
if (analogFreqLow < analogFreq) {
analogFreq = analogFreq
- ATV_FINE_TUNE_STEP;
} else {
analogFreq = analogFreqLow;
}
MainActivity.service.getScanControl()
.atvFineTune(analogFreq, false);
} catch (RemoteException e) {
e.printStackTrace();
}
return true;
}
case KeyEvent.KEYCODE_DPAD_RIGHT: {
try {
if (analogFreq < analogFreqHigh) {
analogFreq = analogFreq
+ ATV_FINE_TUNE_STEP;
} else {
analogFreq = analogFreqHigh;
}
MainActivity.service.getScanControl()
.atvFineTune(analogFreq, false);
} catch (RemoteException e) {
e.printStackTrace();
}
return true;
}
case KeyEvent.KEYCODE_ENTER:
case KeyEvent.KEYCODE_DPAD_CENTER: {
try {
MainActivity.service.getScanControl()
.atvFineTune(analogFreq, true);
} catch (RemoteException e) {
e.printStackTrace();
}
return true;
}
default:
break;
}
}
return false;
}
});
}
// set for DVB-C
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
// set frequency
String frequency = "";
int freq = 0;
try {
// freq = MainActivity.service.getScanControl().getFrequency();
if (freq > 0) {
frequency = String.valueOf(freq);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setText(frequency);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setSelection(frequency.length());
} else {
// set frequency hint
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_frequency_hint));
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
// set symbol rate
String symbolRate;
int sRate = 6900;
try {
// sRate =
// MainActivity.service.getScanControl().getSymbolRate();
if (sRate >= 0) {
symbolRate = String.valueOf(sRate);
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setText("");
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setSelection(symbolRate.length());
} else {
isFreqOK = false;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
Modulation modulation = MainActivity.service.getScanControl()
.getModulation();
((A4TVSpinner) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_MODULATION))
.setSelection(modulation.getValue());
} catch (Exception e) {
e.printStackTrace();
}
// set symbol rate hint
((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.setHint(ctx
.getResources()
.getString(
R.string.tv_menu_channel_installation_manual_tunning_settings_symbol_rate_dvbc_hint));
if (!nordic) {
// hide network id if it is not nordic
findViewById(
R.string.tv_menu_channel_installation_manual_tunning_settings_network_id)
.setVisibility(View.GONE);
// hide line
findViewById(DialogCreatorClass.LINES_BASE_ID + 4)
.setVisibility(View.GONE);
}
}
// set listeners for frequency edit text
if (fromHisClass) {
if (selectedTunerType != ChannelInstallationDialog.TUNER_DVBT) {
// set listener to edit text
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s,
int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s,
int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() > 0) {
isFreqOK = false;
Integer freq = Integer.valueOf(s.toString());
Log.d("Frequency", freq + "");
// IRD accepts an input signal in the range
// 950
// - 2150 MHz
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
if (freq >= dvbSFreqDown
&& freq <= dvbSFreqUp) {
isFreqOK = true;
} else {
isFreqOK = false;
}
// /////////////////////////////////////ADDED
// int strength = 100;
// IScanControl control = null;
// try {
// control = MainActivity.service
// .getScanControl();
//
// } catch (RemoteException e) {
// e.printStackTrace();
// } catch (NullPointerException e) {
// e.printStackTrace();
// }
// try {
// if (control != null) {
// control.setFrequency(freq);
// strength = control
// .getSignalInfo()
// .getSignalStrenght();
// }
// } catch (RemoteException e) {
// e.printStackTrace();
// } catch (NullPointerException e) {
// e.printStackTrace();
// }
// A4TVProgressBar progress =
// (A4TVProgressBar)
// findViewById(TV_MENU_CHANNEL_INSTALLATION_SIGNAL_INFO_SIGNAL_STRENGTH);
// progress.setProgress(strength);
// ///////////////////////////////ADDED
}
// Digital signals 110 - 862 MHz
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
if (freq >= dvbCFreqDown
&& freq <= dvbCFreqUp) {
isFreqOK = true;
} else {
isFreqOK = false;
}
// /////////////////////////////////////ADDED
// int strength = 100;
// IScanControl control = null;
// try {
// control = MainActivity.service
// .getScanControl();
//
// } catch (RemoteException e) {
// e.printStackTrace();
// } catch (NullPointerException e) {
// e.printStackTrace();
// }
// try {
// if (control != null) {
// control.setFrequency(freq);
// strength = control
// .getSignalInfo()
// .getSignalStrenght();
// }
// } catch (RemoteException e) {
// e.printStackTrace();
// } catch (NullPointerException e) {
// e.printStackTrace();
// }
// A4TVProgressBar progress =
// (A4TVProgressBar)
// findViewById(TV_MENU_CHANNEL_INSTALLATION_SIGNAL_INFO_SIGNAL_STRENGTH);
// progress.setProgress(strength);
// ///////////////////////////////ADDED
}
// Analog signals 42 - 863 MHz
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
if (freq >= atvFreqDown
&& freq <= atvFreqUp) {
isFreqOK = true;
} else {
isFreqOK = false;
}
}
}
}
});
} else {
if (nordic) {
spinnerNordicType
.setOnSelectA4TVSpinnerListener(new OnSelectA4TVSpinnerListener() {
@Override
public void onSelect(A4TVSpinner spinner,
int index, String[] contents) {
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NORDIC_BAND))
.isShown()) {
switch (index) {
case 0: {
channelBand = ctx
.getResources()
.getString(
R.string.nordic_band_s);
break;
}
case 1: {
channelBand = ctx
.getResources()
.getString(
R.string.nordic_band_d);
break;
}
case 2: {
channelBand = ctx
.getResources()
.getString(
R.string.nordic_band_k);
break;
}
default:
break;
}
}
channelNordic = channelBand + channelNumber;
if (NORDIC.containsKey(channelNordic)) {
isFreqOK = true;
} else {
isFreqOK = false;
}
}
});
}
// set listener to edit text
((EditText) findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT))
.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s,
int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s,
int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if (nordic) {
channelNumber = s.toString();
channelNordic = channelBand + channelNumber;
if (NORDIC.containsKey(channelNordic)) {
isFreqOK = true;
} else {
isFreqOK = false;
}
} else {
if (s.length() > 0) {
int progress = 100;
Integer freq = Integer.valueOf(s
.toString());
Log.d("Frequency2", progress + " freq "
+ freq);
if ((freq >= DVB_T_CHANNEL_NUMBER_DOWN && freq <= DVB_T_CHANNEL_NUMBER_UP)
|| (freq >= DVB_T_CHANNEL_FREQ_DOWN && freq <= DVB_T_CHANNEL_FREQ_UP)) {
isFreqOK = true;
} else {
isFreqOK = false;
}
} else {
isFreqOK = false;
}
}
}
});
}
// init handler
handlerScanStarted = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 0) {
if (ChannelScanDialog.isScanning()) {
// hide layout for messages
MainActivity.activity.findViewById(
R.id.linLayMessages).setVisibility(
View.GONE);
showScanDialogAndSetup();
// hide other dialogs
ChannelInstallationManualTunningDialog.this
.cancel();
ChannelInstallationDialog chDialog = MainActivity.activity
.getDialogManager()
.getChannelInstallationDialog();
if (chDialog != null) {
chDialog.cancel();
}
MainActivity.activity.getMainMenuHandler()
.closeMainMenu(false);
} else {
// A4TVToast toast = new A4TVToast(getContext());
// toast.showToast(R.string.no_signal);
}
}
super.handleMessage(msg);
}
};
}
}
private void showScanDialogAndSetup() {
// show dialog
ChannelScanDialog scanDialog = MainActivity.activity.getDialogManager()
.getChannelScanDialog();
Log.d("MANUAL TUNING", "SHOW SCAN DIALOG");
// show dialog
if (scanDialog != null) {
scanDialog.show();
// set text of top banner
scanDialog
.getTextTopBanner()
.setText(
ctx.getResources()
.getText(
R.string.tv_menu_channel_installation_settings_manual_tunning));
}
// hide frequency text view
// scanDialog.findViewById(R.id.linearLayoutForScannedFrequency)
// .setVisibility(View.GONE);
// set selected button for desired tuner type
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS
&& scanDialog != null) {
scanDialog.selectFilter(ChannelScanDialog.FILTER_DVB_S_OPTION);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT
&& scanDialog != null) {
scanDialog.selectFilter(ChannelScanDialog.FILTER_DVB_T_OPTION);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC
&& scanDialog != null) {
scanDialog.selectFilter(ChannelScanDialog.FILTER_DVB_C_OPTION);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV
&& scanDialog != null) {
scanDialog.selectFilter(ChannelScanDialog.FILTER_ATV_OPTION);
} else if (selectedTunerType == ChannelInstallationDialog.TUNER_IP
&& scanDialog != null) {
scanDialog.selectFilter(ChannelScanDialog.FILTER_IP_OPTION);
}
}
public boolean manualScan(int type, int frequency, boolean updateList,
int symbolRate, Polarization polarization, FecType fec) {
IScanControl scanControl = null;
try {
scanControl = MainActivity.service.getScanControl();
} catch (Exception e) {
e.printStackTrace();
}
if (scanControl != null) {
try {
// //////////////////////////////////
// Veljko Ilkic
// //////////////////////////////////
// scanControl.setSatelite(0);
scanControl.setSatelite(ChannelInstallationDialog
.getSatelliteIndexFromSpinner());
// //////////////////////////////////
// Veljko Ilkic
// //////////////////////////////////
scanControl.setLnbType(0);
scanControl.setLnbLow(9750);
scanControl.setLnbHigh(10600);
scanControl.setLnbBandType(BandType.BANDTYPE_KU);
scanControl.setSymbolRate(symbolRate);
scanControl.setPolarization(polarization);
scanControl.setFecType(fec);
scanControl.setFrequency(frequency);
return scanControl.manualScan(type, updateList);
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
/**
* set scanning parametres
*/
private void setScanParams() {
try {
/*************************************************************************/
// set scan params for DVB-T
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT) {
// get text from frequency edit text and set it to scan
if (nordic) {
Integer nordicFreq = NORDIC.get(channelNordic);
if (nordicFreq != null) {
MainActivity.service.getScanControl().setFrequency(
nordicFreq);
}
} else {
EditText freqEditText = (EditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT);
MainActivity.service.getScanControl().setFrequency(
Integer.valueOf(freqEditText.getText().toString()));
}
}
/*************************************************************************/
// set scan params for DVB-S
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
// get text from frequency edit text and set it to scan
freq = Integer
.valueOf(((EditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.getText().toString());
/** Set polarization */
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization))
.isShown()) {
int index = ((A4TVSpinner) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization))
.getCHOOSEN_ITEM_INDEX();
polarization = Polarization.values()[index];
if (polarization == Polarization.NOT_DEFINED) {
MainActivity.service.getScanControl().setPolarization(
polarization);
}
}
// set symbol rate
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.isShown()) {
String number = ((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.getText().toString();
symbolRate = Integer.valueOf(number);
// MainActivity.service.getScanControl().setSymbolRate(
// Integer.valueOf(number));
}
/** Set scrambled */
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SCRAMBLED))
.isShown()) {
int index = ((A4TVSpinner) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SCRAMBLED))
.getCHOOSEN_ITEM_INDEX();
switch (index) {
case 0: {
scrambled = ScramblingMode.ALL_SERVICES;
// MainActivity.service
// .getScanControl()
// .setScramblingMode(SCRAMBLING_MODE.ALL_SERVICES);
break;
}
case 1: {
scrambled = ScramblingMode.ONLY_SCRAMBLED;
// MainActivity.service.getScanControl()
// .setScramblingMode(
// SCRAMBLING_MODE.ONLY_SCRAMBLED);
break;
}
case 2: {
scrambled = ScramblingMode.ONLY_FREE;
// MainActivity.service.getScanControl()
// .setScramblingMode(SCRAMBLING_MODE.ONLY_FREE);
break;
}
default:
break;
}
}
/** Set fec */
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FEC))
.isShown()) {
int index = ((A4TVSpinner) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FEC))
.getCHOOSEN_ITEM_INDEX();
fec = FecType.values()[index];
}
}
/*************************************************************************/
// set scan params for DVB-C
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
// get text from frequency edit text and set it to scan
MainActivity.service
.getScanControl()
.setFrequency(
Integer.valueOf(((EditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.getText().toString()));
/** Set modulation */
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_MODULATION))
.isShown()) {
int index = ((A4TVSpinner) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_MODULATION))
.getCHOOSEN_ITEM_INDEX();
MainActivity.service.getScanControl().setModulation(
Modulation.values()[index]);
}
// set symbol rate
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.isShown()) {
MainActivity.service
.getScanControl()
.setSymbolRate(
Integer.valueOf(((A4TVEditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT))
.getText().toString()));
}
/** set network id */
// if (((A4TVEditText)
// ChannelInstallationManualTunningDialog.this
// .findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_NETWORK_ID))
// .isShown()) {
// TODO set network ID here
// }
}
/*************************************************************************/
// set scan params for ATV
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
// get text from frequency edit text and set it to scan
MainActivity.service
.getScanControl()
.setFrequency(
Integer.valueOf(((EditText) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY))
.getText().toString()));
/** Set system */
if ((ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYSTEM))
.isShown()) {
int index = ((A4TVSpinner) ChannelInstallationManualTunningDialog.this
.findViewById(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYSTEM))
.getCHOOSEN_ITEM_INDEX();
switch (index) {
case 0: {
MainActivity.service.getScanControl()
.setAnalogEncodingMode(
AnalogEncodingMode.PAL_BGH);
break;
}
case 1: {
MainActivity.service.getScanControl()
.setAnalogEncodingMode(
AnalogEncodingMode.PAL_I);
break;
}
case 2: {
MainActivity.service.getScanControl()
.setAnalogEncodingMode(
AnalogEncodingMode.PAL_D);
break;
}
case 3: {
MainActivity.service.getScanControl()
.setAnalogEncodingMode(
AnalogEncodingMode.SECAM_BGH);
break;
}
default:
break;
}
}
}
/*************************************************************************/
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void returnArrayListsWithDialogContents(
ArrayList<ArrayList<Integer>> contentList,
ArrayList<ArrayList<Integer>> contentListIDs,
ArrayList<Integer> titleIDs) {
// clear old data in lists
contentList.clear();
contentListIDs.clear();
titleIDs.clear();
// title
titleIDs.add(R.drawable.settings_icon);
titleIDs.add(R.drawable.tv_menu_icon);
titleIDs.add(R.drawable.channel_installation);
titleIDs.add(R.string.tv_menu_channel_installation_manual_tunning_settings);
// update list******************************************
ArrayList<Integer> list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVButtonSwitch);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_keep_current_list);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_KEEP_CURRENT_LIST);
contentListIDs.add(list);
if (selectedTunerType != ChannelInstallationDialog.TUNER_DVBT) {
// frequency******************************************
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVEditText);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_frequency);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY);
contentListIDs.add(list);
} else { // for DVB-T
if (nordic) {
// nordic type******************************************
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_nordic_band);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NORDIC_BAND);
contentListIDs.add(list);
}
// frequency******************************************
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVEditText);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_channel_number_dvbt);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT);
contentListIDs.add(list);
}
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
// scrambled******************************************
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_scrambled);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SCRAMBLED);
contentListIDs.add(list);
}
// symbol rate******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS
|| selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVEditText);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_symbol_rate);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT);
contentListIDs.add(list);
}
// polarization******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_polarization);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_polarization);
contentListIDs.add(list);
}
// fec******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBS) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_fec);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FEC);
contentListIDs.add(list);
}
// modulation******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_modulation);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_MODULATION);
contentListIDs.add(list);
}
// network ID ******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBC) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVEditText);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_network_id);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_NETWORK_ID);
contentListIDs.add(list);
}
// system******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVSpinner);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_system);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYSTEM);
contentListIDs.add(list);
}
// fine tune******************************************
if (selectedTunerType == ChannelInstallationDialog.TUNER_ATV) {
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVButton);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_fine_tune);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FINE_TUNE);
contentListIDs.add(list);
}
// start search******************************************
list = new ArrayList<Integer>();
list.add(MainMenuContent.TAGA4TVTextView);
list.add(MainMenuContent.TAGA4TVButton);
contentList.add(list);
list = new ArrayList<Integer>();
list.add(R.string.tv_menu_channel_installation_manual_tunning_settings_start_search);
list.add(TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_START_SEARCH);
contentListIDs.add(list);
// if (selectedTunerType == ChannelInstallationDialog.TUNER_DVBT) {
// signal strength*******************************************
// list = new ArrayList<Integer>();
// list.add(MainMenuContent.TAGA4TVTextView);
// list.add(MainMenuContent.TAGA4TVProgressBar);
// contentList.add(list);
//
// list = new ArrayList<Integer>();
// list.add(R.string.tv_menu_channel_installation_signal_info_signal_strength);
// list.add(TV_MENU_CHANNEL_INSTALLATION_SIGNAL_INFO_SIGNAL_STRENGTH);
// contentListIDs.add(list);
// }
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
((A4TVProgressBar) seekBar).setText(String.valueOf(seekBar
.getProgress()));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
}