package com.iwedia.gui.mainmenu; import android.content.res.TypedArray; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.graphics.drawable.BitmapDrawable; import android.text.InputFilter; import android.text.InputType; import android.text.TextUtils.TruncateAt; import android.util.Log; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.view.ViewGroup.LayoutParams; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ScrollView; import android.widget.SeekBar.OnSeekBarChangeListener; import com.iwedia.comm.content.applications.AppItem; import com.iwedia.gui.MainActivity; import com.iwedia.gui.R; import com.iwedia.gui.components.A4TVButton; import com.iwedia.gui.components.A4TVButtonSwitch; import com.iwedia.gui.components.A4TVEditText; import com.iwedia.gui.components.A4TVProgressBar; import com.iwedia.gui.components.A4TVSpinner; import com.iwedia.gui.components.A4TVTextView; import com.iwedia.gui.components.dialogs.AccountsAndSyncDialog; import com.iwedia.gui.components.dialogs.ApplicationsManageDialog; import com.iwedia.gui.components.dialogs.ChannelInstallationDialog; import com.iwedia.gui.components.dialogs.ChannelInstallationManualTunningDialog; import com.iwedia.gui.components.dialogs.ChannelInstallationSignalInformationDialog; import com.iwedia.gui.components.dialogs.EnergySaveDialog; import com.iwedia.gui.components.dialogs.ExternalAndLocalStorageDialog; import com.iwedia.gui.components.dialogs.FactoryResetDialog; import com.iwedia.gui.components.dialogs.InputDevicesSettingsDialog; import com.iwedia.gui.components.dialogs.LanguageAndKeyboardDialog; import com.iwedia.gui.components.dialogs.NetworkAdvancedManualConfigDialog; import com.iwedia.gui.components.dialogs.NetworkAdvancedSettingsDialog; import com.iwedia.gui.components.dialogs.NetworkSettingsDialog; import com.iwedia.gui.components.dialogs.NetworkWirelessAddHiddenNetworkDialog; import com.iwedia.gui.components.dialogs.NetworkWirelessSettingsDialog; import com.iwedia.gui.components.dialogs.NetworkWirelessWPSConfigDialog; import com.iwedia.gui.components.dialogs.OffTimersAddDialog; import com.iwedia.gui.components.dialogs.OffTimersSettingsDialog; import com.iwedia.gui.components.dialogs.PVRManualEventReminderDialog; import com.iwedia.gui.components.dialogs.ParentalGuidanceDialog; import com.iwedia.gui.components.dialogs.PasswordSecurityDialog; import com.iwedia.gui.components.dialogs.PiPSettingsDialog; import com.iwedia.gui.components.dialogs.ProductInfoDialog; import com.iwedia.gui.components.dialogs.SoundSettingsDialog; import com.iwedia.gui.components.dialogs.TimeAndDateSettingsDialog; import com.iwedia.gui.components.dialogs.TimersSettingsDialog; import com.iwedia.gui.components.dialogs.VoiceInputDialog; import java.util.ArrayList; /** * Class that creates small dialog in main menu * * @author Branimir Pavlovic */ public class DialogCreatorClass { private MainActivity activity; public static final int LIST_VIEW_IN_DIALOG_ID = 1111, CUSTOM_TITLE_ID = 5443543, LAYOUT_FOR_INFLATING = 234234, LINES_BASE_ID = 9817650; /** Weights of layout and elements */ public static final float SMALL_LAYOUT_WEIGHT_SUM = 2f, ELEMENTS_WEIGHT_BIG = 1.3f, ELEMENTS_WEIGHT_SMALL = 0.7f; private AppItem appItem; /** * Default constructor * * @param activity */ public DialogCreatorClass(MainActivity activity) { this.activity = activity; } /** * Function that fills dialog * * @param contentList * matrics of tags for views to add * @param contentListTextIDs * matrics of text IDs for views to add * @return dialog view */ public View fillDialogWithContents( ArrayList<ArrayList<Integer>> contentList, ArrayList<ArrayList<Integer>> contentListTextIDs, ArrayList<Integer> titleTextIDs, OnSeekBarChangeListener listenerForProgressBars, OnClickListener listenerForButtons, BaseAdapter adapter) {// , int // pictureBackgroundID) // { FrameLayout frame = new FrameLayout(activity); frame.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); LinearLayout layoutForBackgroundPicture = new LinearLayout(activity); // set dimensions for background picture layoutForBackgroundPicture .setLayoutParams(new FrameLayout.LayoutParams( 2 * MainActivity.dialogHeight / 3, 2 * MainActivity.dialogHeight / 3, Gravity.CENTER)); // Drawable myIcon = activity.getResources().getDrawable( // pictureBackgroundID); // myIcon.setAlpha(30); // set background drawable // layoutForBackgroundPicture.setBackgroundDrawable(myIcon); frame.addView(layoutForBackgroundPicture); // layout to add all views LinearLayout mainLinLayout = new LinearLayout(activity); mainLinLayout.setLayoutParams(new FrameLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); mainLinLayout.setOrientation(LinearLayout.VERTICAL); // add linear layout to frame layout frame.addView(mainLinLayout); // layout of dialog title LinearLayout titleLinearLayout = new LinearLayout(activity); titleLinearLayout.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, (int) (MainActivity.dialogListElementHeight))); titleLinearLayout.setOrientation(LinearLayout.HORIZONTAL); // titleLinearLayout.setBackgroundColor(Color.RED);///////////////////////////////////////////////////// // if (MainActivity.screenHeight == 1280 // || MainActivity.screenWidth == 1280) { // titleLinearLayout.setPadding( // (int) (1.3 * activity.getResources().getDimension( // R.dimen.a4tvdialog_padding_left)), // (int) (1.5 * activity.getResources().getDimension( // R.dimen.a4tvdialog_padding_top)), 0, 0); // } else { // titleLinearLayout.setPadding( // 2 * (int) activity.getResources().getDimension( // R.dimen.a4tvdialog_padding_left), // (int) (3.5 * activity.getResources().getDimension( // R.dimen.a4tvdialog_padding_top)), 0, 0); // } Log.d("TITLE SIZE", "" + titleTextIDs.size()); // set gravity titleLinearLayout.setGravity(Gravity.CENTER_VERTICAL); if (titleTextIDs.size() == 0) { // for custom title of dialog if (appItem != null) { A4TVTextView text = new A4TVTextView(activity, null); text.setId(CUSTOM_TITLE_ID); text.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); text.setGravity(Gravity.CENTER); text.setText(appItem.getAppname()); text.setTextSize(activity.getResources().getDimension( R.dimen.a4tvdialog_textview_size)); text.setPadding(5, 0, 5, 0); // add text view titleLinearLayout.addView(text); } } /** populate title layout */ for (int i = 0; i < titleTextIDs.size(); i++) { if (i < titleTextIDs.size() - 1) { // add icon ImageView view = new ImageView(activity); // if (MainActivity.screenHeight == 1280 // || MainActivity.screenWidth == 1280) { view.setLayoutParams(new LinearLayout.LayoutParams( ((int) (MainActivity.dialogListElementHeight) - (int) (1.5 * activity .getResources().getDimension( R.dimen.a4tvdialog_padding_top))), LayoutParams.MATCH_PARENT)); // } else { // view.setLayoutParams(new LinearLayout.LayoutParams( // ((int) (MainActivity.dialogListElementHeight) - (int) (1 * // activity // .getResources().getDimension( // R.dimen.a4tvdialog_padding_top))), // LayoutParams.MATCH_PARENT)); // } view.setPadding(5, 0, 5, 0); view.setImageResource(titleTextIDs.get(i)); view.setScaleType(ScaleType.FIT_CENTER); titleLinearLayout.addView(view); } else {// for last add text A4TVTextView text = new A4TVTextView(activity, null); text.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); text.setGravity(Gravity.CENTER); text.setText(activity.getResources().getString( titleTextIDs.get(i))); // text.setTextSize(activity.getResources().getDimension( // R.dimen.a4tvdialog_textview_size)); text.setPadding(5, 0, 5, 0); // add text view titleLinearLayout.addView(text); } // add arrow between text if (i != titleTextIDs.size() - 1) { ImageView image = new ImageView(activity); image.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT)); image.setImageResource(R.drawable.arrow1); titleLinearLayout.addView(image); } } // add title layout to main layout mainLinLayout.addView(titleLinearLayout); // create horizontal line ImageView horizLine = new ImageView(activity); horizLine.setLayoutParams(new LinearLayout.LayoutParams( android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); // get drawable from theme for image source TypedArray atts = activity.getTheme().obtainStyledAttributes( new int[] { R.attr.DialogSmallUpperDividerLine }); int backgroundID = atts.getResourceId(0, 0); horizLine.setBackgroundResource(backgroundID); atts.recycle(); // add horiz line to main layout mainLinLayout.addView(horizLine); ScrollView mainScrollView = null; if (adapter == null) { // create scroll view mainScrollView = new ScrollView(activity); mainScrollView.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); mainScrollView.setScrollbarFadingEnabled(false); // set pading for scrollview mainScrollView.setPadding( (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_left), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_top), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_right), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_botom)); // add scrollview to main view mainLinLayout.addView(mainScrollView); } LinearLayout contentLinearLayout = new LinearLayout(activity); contentLinearLayout.setLayoutParams(new ScrollView.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); contentLinearLayout.setOrientation(LinearLayout.VERTICAL); // set pading to content layout contentLinearLayout.setPadding( (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_left), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_top), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_right), (int) activity.getResources().getDimension( R.dimen.a4tvdialog_padding_botom)); if (adapter == null) { // add content layout to scroll view mainScrollView.addView(contentLinearLayout); } else { mainLinLayout.addView(contentLinearLayout); } // number of horizontal pairs for (int i = 0; i < contentList.size(); i++) { // create small layout final LinearLayout smallLayoutHorizontal = new LinearLayout( activity); smallLayoutHorizontal.setOrientation(LinearLayout.HORIZONTAL); smallLayoutHorizontal .setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, MainActivity.dialogListElementHeight)); // LayoutParams.WRAP_CONTENT)); smallLayoutHorizontal.setWeightSum(SMALL_LAYOUT_WEIGHT_SUM); smallLayoutHorizontal.setPadding(15, 4, 15, 4); smallLayoutHorizontal.setGravity(Gravity.CENTER_VERTICAL); smallLayoutHorizontal.setId(contentListTextIDs.get(i).get(0)); for (int j = 0; j < contentList.get(i).size(); j++) { // add our views to layout switch (contentList.get(i).get(j)) { case MainMenuContent.TAGA4TVTextView: { A4TVTextView textView = new A4TVTextView(activity, null); textView.setLayoutParams(new LinearLayout.LayoutParams( 0, LayoutParams.WRAP_CONTENT, ELEMENTS_WEIGHT_BIG)); textView.setGravity(Gravity.CENTER_VERTICAL); // auto scroll text in text view textView.setEllipsize(TruncateAt.MARQUEE); textView.setSingleLine(true); // textView.setTextSize(activity.getResources() // .getDimension(R.dimen.a4tvdialog_textview_size)); // set text to text view textView.setText(activity.getResources().getString( contentListTextIDs.get(i).get(j))); textView.setId(contentListTextIDs.get(i).get(j)); // add text view to small layout smallLayoutHorizontal.addView(textView); break; } case MainMenuContent.TAGA4TVButtonSwitch: { A4TVButtonSwitch button = new A4TVButtonSwitch(activity); button.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, ELEMENTS_WEIGHT_SMALL)); // set IDs for buttons button.setId(contentListTextIDs.get(i).get(j)); // button.setTextSize(activity.getResources() // .getDimension( // R.dimen.a4tvdialog_button_text_size)); button.setEllipsize(TruncateAt.MARQUEE); button.setSingleLine(true); // add focus listener for button button.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // get drawable from theme for small layout // background TypedArray atts = activity .getTheme() .obtainStyledAttributes( new int[] { R.attr.LayoutFocusDrawable }); int backgroundID = atts.getResourceId(0, 0); if (hasFocus) { smallLayoutHorizontal.getChildAt(0) .setSelected(true); smallLayoutHorizontal .setBackgroundResource(backgroundID); } else { smallLayoutHorizontal.getChildAt(0) .setSelected(false); smallLayoutHorizontal .setBackgroundColor(Color.TRANSPARENT); } atts.recycle(); } }); // set click listener for button button.setOnClickListener(listenerForButtons); // set background to some buttons int n = setBackgroundToButtons(contentListTextIDs .get(i).get(j)); if (n != -1) { button.setBackgroundColor(n); } // add button to small layout smallLayoutHorizontal.addView(button); break; } case MainMenuContent.TAGA4TVButton: { A4TVButton button = new A4TVButton(activity); button.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, ELEMENTS_WEIGHT_SMALL)); // set IDs for buttons button.setId(contentListTextIDs.get(i).get(j)); // set text to button button.setText(setTextToButtons( contentListTextIDs.get(i).get(j), button)); // button.setTextSize(activity.getResources() // .getDimension( // R.dimen.a4tvdialog_button_text_size)); button.setEllipsize(TruncateAt.MARQUEE); button.setSingleLine(true); // add focus listener for button button.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // get drawable from theme for small layout // background TypedArray atts = activity .getTheme() .obtainStyledAttributes( new int[] { R.attr.LayoutFocusDrawable }); int backgroundID = atts.getResourceId(0, 0); if (hasFocus) { smallLayoutHorizontal.getChildAt(0) .setSelected(true); smallLayoutHorizontal .setBackgroundResource(backgroundID); } else { smallLayoutHorizontal.getChildAt(0) .setSelected(false); smallLayoutHorizontal .setBackgroundColor(Color.TRANSPARENT); } atts.recycle(); } }); // set click listener for button button.setOnClickListener(listenerForButtons); // set background to some buttons int n = setBackgroundToButtons(contentListTextIDs .get(i).get(j)); if (n != -1) { button.setBackgroundColor(n); } // add button to small layout smallLayoutHorizontal.addView(button); break; } case MainMenuContent.TAGA4TVCheckBox: { break; } case MainMenuContent.TAGA4TVEditText: { A4TVEditText edit = new A4TVEditText(activity, null); edit.setLayoutParams(new LinearLayout.LayoutParams(0, LayoutParams.MATCH_PARENT, ELEMENTS_WEIGHT_SMALL)); // set id for edit text edit.setId(contentListTextIDs.get(i).get(j)); // set input type edit.setInputType(setInputTypeForEditText(edit)); // set focus listener for edit text edit.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { TypedArray atts = activity .getTheme() .obtainStyledAttributes( new int[] { R.attr.LayoutFocusDrawable }); int backgroundID = atts.getResourceId(0, 0); if (hasFocus) { smallLayoutHorizontal.getChildAt(0) .setSelected(true); smallLayoutHorizontal .setBackgroundResource(backgroundID); } else { smallLayoutHorizontal.getChildAt(0) .setSelected(false); smallLayoutHorizontal .setBackgroundColor(Color.TRANSPARENT); } atts.recycle(); } }); // add edit text to small layout smallLayoutHorizontal.addView(edit); break; } case MainMenuContent.TAGA4TVProgressBar: { A4TVProgressBar progress = new A4TVProgressBar( activity, true); if (MainActivity.screenWidth == 1280 || MainActivity.screenHeight == 1280) { progress.setLayoutParams(new LinearLayout.LayoutParams( 0, MainActivity.screenHeight / 15, ELEMENTS_WEIGHT_SMALL)); } else { progress.setLayoutParams(new LinearLayout.LayoutParams( 0, MainActivity.screenHeight / 22, ELEMENTS_WEIGHT_SMALL)); } // set IDs for progress progress.setId(contentListTextIDs.get(i).get(j)); // add focus listener for button progress.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // get drawable from theme for small layout // background TypedArray atts = activity .getTheme() .obtainStyledAttributes( new int[] { R.attr.LayoutFocusDrawable }); int backgroundID = atts.getResourceId(0, 0); if (hasFocus) { smallLayoutHorizontal.getChildAt(0) .setSelected(true); smallLayoutHorizontal .setBackgroundResource(backgroundID); } else { smallLayoutHorizontal.getChildAt(0) .setSelected(false); smallLayoutHorizontal .setBackgroundColor(Color.TRANSPARENT); } atts.recycle(); } }); // set seekbar change listener for progress progress.setOnSeekBarChangeListener(listenerForProgressBars); // add button to small layout smallLayoutHorizontal.addView(progress); break; } case MainMenuContent.TAGA4TVRadioButton: { break; } case MainMenuContent.TAGA4TVSpinner: { A4TVSpinner spinner = new A4TVSpinner(activity, null); spinner.setLayoutParams(new LinearLayout.LayoutParams( 0, LayoutParams.MATCH_PARENT, ELEMENTS_WEIGHT_SMALL)); // set IDs for spinner spinner.setId(contentListTextIDs.get(i).get(j)); // set initial text to spinner spinner.setInitialText(); // spinner.setTextSize(activity.getResources() // .getDimension( // R.dimen.a4tvdialog_button_text_size)); spinner.setEllipsize(TruncateAt.MARQUEE); spinner.setSingleLine(true); // add focus listener for spinner spinner.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { // get drawable from theme for small layout // background TypedArray atts = activity .getTheme() .obtainStyledAttributes( new int[] { R.attr.LayoutFocusDrawable }); int backgroundID = atts.getResourceId(0, 0); if (hasFocus) { smallLayoutHorizontal.getChildAt(0) .setSelected(true); smallLayoutHorizontal .setBackgroundResource(backgroundID); } else { smallLayoutHorizontal.getChildAt(0) .setSelected(false); smallLayoutHorizontal .setBackgroundColor(Color.TRANSPARENT); } atts.recycle(); } }); // add button to small layout smallLayoutHorizontal.addView(spinner); break; } default: break; } } // add horizontal layout to content layout contentLinearLayout.addView(smallLayoutHorizontal); if (i < contentList.size() - 1) { // create horizontal line ImageView horizLin = new ImageView(activity); horizLin.setLayoutParams(new LinearLayout.LayoutParams( android.widget.LinearLayout.LayoutParams.MATCH_PARENT, android.widget.LinearLayout.LayoutParams.WRAP_CONTENT)); // get drawable from theme for image source TypedArray att = activity.getTheme().obtainStyledAttributes( new int[] { R.attr.DialogSmallDividerLine }); int src = att.getResourceId(0, 0); horizLin.setBackgroundResource(src); att.recycle(); // set id of line horizLin.setId(LINES_BASE_ID + i); // add horiz line to main layout contentLinearLayout.addView(horizLin); } } // /////////////////////////////////////////////// // create layout for inflating LinearLayout layoutForInflating = new LinearLayout(activity); layoutForInflating.setOrientation(LinearLayout.VERTICAL); layoutForInflating.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); // layoutForInflating.setPadding(15, 4, 15, 4); layoutForInflating.setGravity(Gravity.TOP); layoutForInflating.setId(LAYOUT_FOR_INFLATING); contentLinearLayout.addView(layoutForInflating); /** If there is adapter create List View */ if (adapter != null) { ListView listView = new ListView(activity); listView.setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); listView.setAdapter(adapter); listView.setId(LIST_VIEW_IN_DIALOG_ID); listView.setScrollbarFadingEnabled(false); // listView.setPadding(0, 0, 20, 0); listView.setScrollBarStyle(View.SCROLLBARS_INSIDE_INSET); // set divider and selector for listview TypedArray att = activity.getTheme().obtainStyledAttributes( new int[] { R.attr.DialogSmallDividerLine }); int src = att.getResourceId(0, 0); Bitmap preparedBitmap1 = BitmapFactory.decodeResource( activity.getResources(), src); att.recycle(); listView.setDivider(new BitmapDrawable(preparedBitmap1)); Bitmap bmp = BitmapFactory.decodeResource(activity.getResources(), R.drawable.transparent_image); listView.setSelector(new BitmapDrawable(activity.getResources(), bmp)); // add list view to dialog contentLinearLayout.addView(listView); } // ////////////////////////////////////////////////////// // try // ////////////////////////////////////////////////////// // LinearLayout linLayReturn = new LinearLayout(activity); // linLayReturn.setOrientation(LinearLayout.HORIZONTAL); // linLayReturn.setLayoutParams(new LinearLayout.LayoutParams( // LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)); // linLayReturn.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL); // // ImageView image = new ImageView(activity); // image.setImageResource(R.drawable.back_icon); // A4TVTextView tvReturn = new A4TVTextView(activity); // tvReturn.setText(R.string.epg_return); // // linLayReturn.addView(image); // linLayReturn.addView(tvReturn); // // mainLinLayout.addView(linLayReturn); return frame; // return mainLinLayout; } /** Edit text input type */ private int setInputTypeForEditText(A4TVEditText edit) { switch (edit.getId()) { case ChannelInstallationManualTunningDialog.TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_FREQUENCY: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(6); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_NUMBER; } case ChannelInstallationManualTunningDialog.TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_SYMBOL_RATE_EDIT_TEXT: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(5); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_NUMBER; } case ChannelInstallationManualTunningDialog.TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_CHANNEL_NUMBER_DVBT: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(6); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; } case NetworkAdvancedManualConfigDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG_DNS: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(30); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_TEXT; } case NetworkAdvancedManualConfigDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG_GATEWAY_IP: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(30); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_TEXT; } case NetworkAdvancedManualConfigDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG_IP: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(30); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_TEXT; } case NetworkAdvancedManualConfigDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG_NETWORK_PREFIX_LENGTH: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(30); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_TEXT; } case NetworkWirelessAddHiddenNetworkDialog.TV_MENU_NETWORK_WIRELESS_ADD_HIDDEN_NETWORK_PASSWORD: { // Create a new InputFilter to define the maximum length InputFilter maxLengthFilter = new InputFilter.LengthFilter(30); // Apply the filter to the EditText. The array can contain other // filters. edit.setFilters(new InputFilter[] { maxLengthFilter }); return InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD; } default: break; } return InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; } /** Hide background to some buttons */ private int setBackgroundToButtons(int buttonID) { switch (buttonID) { case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_bit_error_level: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_service_id: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_channel_id: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_network: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_network_id: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_multiplex: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_information_service_name: case ChannelInstallationSignalInformationDialog.tv_menu_channel_installation_signal_info_centre_frequency: { return Color.TRANSPARENT; } default: break; } return -1; } /** Function that resolves what text go to button */ private String setTextToButtons(int buttonID, Button button) { switch (buttonID) { case AccountsAndSyncDialog.TV_MENU_ACCOUNT_SETTINGS_MANAGE_ACCOUNTS: case ApplicationsManageDialog.TV_MENU_APPLICATIONS_SETTINGS_MANAGE_APPLICATIONS: // case // ExternalAndLocalStorageDialog.tv_menu_storage_settings_external_file_storage: // case // ExternalAndLocalStorageDialog.tv_menu_storage_settings_local_file_storage: case InputDevicesSettingsDialog.tv_menu_factory_input_settings_hdmi_cec: case LanguageAndKeyboardDialog.TV_MENU_LANGUAGE_SETTINGS_KEYBOARD_SETTINGS: // case // ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_PROGRAMME_EDIT: // case // ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_SATELITE_EDIT: { return activity.getResources().getString( R.string.button_text_edit);// return // EDIT } case NetworkSettingsDialog.TV_MENU_NETWORK_SETTINGS_WIRELESS_SETTINGS: case NetworkSettingsDialog.TV_MENU_NETWORK_SETTINGS_ADVANCED_SETTINGS: { return activity.getResources().getString( R.string.button_text_configure); } case AccountsAndSyncDialog.TV_MENU_ACCOUNT_SETTINGS_AUTO_SYNC: case VoiceInputDialog.TV_MENU_VOICE_SETTINGS_ALWAYS_USE_MY_SETTINGS: // case HBBSettingsDialog.tv_menu_hbb_settings_hbb_tv_enable: { // return // activity.getResources().getString(R.string.button_text_yes);// // return // // YES // } // case // ChannelInstallationManualTunningDialog.tv_menu_channel_installation_manual_tunning_keep_current_list: // { // return // activity.getResources().getString(R.string.button_text_no);// // return // // NO // } case AccountsAndSyncDialog.TV_MENU_ACCOUNT_SETTINGS_ADD_ACCOUNT: case NetworkWirelessAddHiddenNetworkDialog.TV_MENU_NETWORK_WIRELESS_ADD_HIDDEN_NETWORK_ADD: case NetworkWirelessSettingsDialog.TV_MENU_NETWORK_WIRELESS_SETTINGS_MANUAL_ADD_AP: { return activity.getResources().getString( R.string.button_text_add);// return // ADD } case EnergySaveDialog.TV_MENU_ENERGY_SETTINGS_ENERGY_SAVE_ENABLE: case ParentalGuidanceDialog.TV_MENU_PARENTIAL_SECURITY_SETTINGS_PARENTIAL_GUIDANCE: { return activity.getResources().getString( R.string.button_text_off);// return // OFF } case NetworkWirelessSettingsDialog.TV_MENU_NETWORK_WIRELESS_SETTINGS_FIND_AP: { return activity.getResources().getString( R.string.button_text_start); } case SoundSettingsDialog.TV_MENU_SOUND_SETTINGS_AUTO_VOLUME: case ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_AUTO_CHANNEL_NUMBER: { return activity.getResources().getString( R.string.button_text_on);// return // ON } case NetworkAdvancedSettingsDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG: case NetworkAdvancedSettingsDialog.TV_MENU_NETWORK_ADVANCED_PROXY_SETTINGS: case NetworkAdvancedSettingsDialog.TV_MENU_NETWORK_ADVANCED_SOFT_AP_SETTINGS: case NetworkWirelessSettingsDialog.TV_MENU_NETWORK_WIRELESS_SETTINGS_WPS_CONFIG: case TimeAndDateSettingsDialog.TV_MENU_TIME_AND_DATE_SETTINGS_TIMER: { return activity.getResources().getString( R.string.button_text_configure);// return CONFIGURE } case OffTimersAddDialog.TV_MENU_OFFTIMERS_SETTINGS_START: { return activity.getResources().getString( R.string.button_text_start); } case NetworkWirelessWPSConfigDialog.TV_MENU_NETWORK_WIRELESS_WPS_CONFIG_REGISTRAR: case NetworkWirelessWPSConfigDialog.TV_MENU_NETWORK_WIRELESS_WPS_CONFIG_ENROLLEE: case NetworkWirelessWPSConfigDialog.TV_MENU_NETWORK_WIRELESS_WPS_CONFIG_PBC: case PVRManualEventReminderDialog.TV_MENU_PVR_MANUAL_REMINDER_START: { return activity.getResources().getString( R.string.button_text_start); } case ProductInfoDialog.TV_MENU_PRODUCT_INFO_SETTINGS_FIRMWARE_VERSION: case ProductInfoDialog.TV_MENU_PRODUCT_INFO_SETTINGS_SOFTWARE_VERSION: case ProductInfoDialog.TV_MENU_PRODUCT_INFO_SETTINGS_MODEL_NUMBER: case ProductInfoDialog.TV_MENU_PRODUCT_INFO_SETTINGS_IP_ADDRESS: case ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_SIGNAL_INFO: case ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_MANUAL_TUNNING: { return activity.getResources().getString( R.string.button_text_tune);// return // TUNE } case ChannelInstallationDialog.TV_MENU_CHANNEL_INSTALLATION_SETTINGS_AUTO_TUNNING: case NetworkSettingsDialog.TV_MENU_NETWORK_SETTINGS_NETWORK_TEST: case NetworkSettingsDialog.TV_MENU_NETWORK_SETTINGS_NETWORK_INFORMATION: case NetworkAdvancedManualConfigDialog.TV_MENU_NETWORK_ADVANCED_MANUAL_CONFIG_START: case ChannelInstallationManualTunningDialog.TV_MENU_CHANNEL_INSTALLATION_MANUAL_TUNNING_SETTINGS_START_SEARCH: { return activity.getResources().getString( R.string.button_text_start);// return START } case TimeAndDateSettingsDialog.TV_MENU_TIME_AND_DATE_SETTINGS_SET_DATE: case TimeAndDateSettingsDialog.TV_MENU_TIME_AND_DATE_SETTINGS_SET_TIME: { return activity.getResources().getString( R.string.button_text_set);// return // SET } case TimersSettingsDialog.TV_MENU_TIMERS_SETTINGS_OFF_TIMERS: { return activity.getResources().getString( R.string.button_text_configure);// return CHANGE } case TimersSettingsDialog.TV_MENU_TIMERS_SETTINGS_ON_TIMERS: { return activity.getResources().getString( R.string.button_text_configure);// return CHANGE } case OffTimersSettingsDialog.TV_MENU_OFFTIMERS_SETTINGS_ADD_TIMERS: { return activity.getResources().getString( R.string.button_text_configure);// return CHANGE } case OffTimersSettingsDialog.TV_MENU_OFFTIMERS_SETTINGS_DELETE_TIMERS: { return activity.getResources().getString( R.string.button_text_confirm);// return CONFIRM } case PasswordSecurityDialog.TV_MENU_PASSWORD_SECURITY_SETTINGS_CHANGE_PASSWORD: { return activity.getResources().getString( R.string.button_text_change);// return CHANGE } case PasswordSecurityDialog.TV_MENU_PASSWORD_SECURITY_SETTINGS_RESET_PASSWORD: case ExternalAndLocalStorageDialog.TV_MENU_STORAGE_SETTINGS_FACTORY_DATA_RESET: case FactoryResetDialog.TV_MENU_FACTORY_RESET_SETTINGS_RESSET: { return activity.getResources().getString( R.string.button_text_reset);// return RESET } case VoiceInputDialog.TV_MENU_VOICE_SETTINGS_LISTEN_TO_AN_EXAMPLE: { return activity.getResources().getString( R.string.button_text_listen);// return LISTEN } case PiPSettingsDialog.PIP_SETTINGS_CUSTOM_POSITION_APPLY: { return activity.getResources().getString( R.string.pip_coordinate_apply); } case PiPSettingsDialog.PIP_SETTINGS_CUSTOM_SIZE_APPLY: { return activity.getResources().getString( R.string.pip_size_apply); } default: break; } return ""; } public void setAppItem(AppItem appItem) { this.appItem = appItem; } }