/* * Author: Miguel Angel Bravo (@MiguelAngelBrav) * The Android Open Source Project Katbag is licensed under the General GPLv3. * */ package cl.ipp.katbag.fragment; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.holoeverywhere.ArrayAdapter; import org.holoeverywhere.app.AlertDialog; import org.holoeverywhere.widget.Spinner; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.EditText; import android.widget.TextView; import cl.ipp.katbag.MainActivity; import cl.ipp.katbag.R; import cl.ipp.katbag.core.KatbagUtilities; import cl.ipp.katbag.row_adapters.DevelopRowAdapter; import cl.ipp.katbag.row_adapters.DialogDevelopRowAdapter; import cl.ipp.katbag.row_adapters.DialogSoundRowAdapter; import com.actionbarsherlock.app.SherlockFragment; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.actionbarsherlock.view.MenuItem.OnMenuItemClickListener; import com.google.analytics.tracking.android.EasyTracker; import com.google.analytics.tracking.android.Fields; import com.google.analytics.tracking.android.MapBuilder; import com.google.analytics.tracking.android.Tracker; import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu; import com.mobeta.android.dslv.DragSortListView; public class Develop extends SherlockFragment { private Tracker tracker; static View v = null; public MainActivity mainActivity; public static long id_app = -1; public TextView notRegister; public DragSortListView developListView; public DevelopRowAdapter adapter; public static boolean editMode = false; public MenuItem menuItemEdit, menuItemAddWorld, menuItemAddDrawing, menuItemAddMotion, menuItemAddLook, menuItemAddSound, menuItemAddControl, menuItemAddSensing, menuItemPlayer; public boolean changeOrder = false; public DialogDevelopRowAdapter adapterDialog; public DialogSoundRowAdapter adapterDialogSound; private String resTitle = ""; private ArrayList<String> dialogList = new ArrayList<String>(); private ArrayList<String> dialogIdObjectList = new ArrayList<String>(); private ArrayList<String> dialogHumanStatement = new ArrayList<String>(); private ArrayList<String> dialogHumanStatementRow = new ArrayList<String>(); public static final int OBJECT_WORLD = 0; public static final int OBJECT_DRAWING = 1; public static final int OBJECT_MOTION = 2; public static final int OBJECT_LOOK = 3; public static final int OBJECT_SOUND = 4; public static final int OBJECT_CONTROL = 5; public static final int OBJECT_SENSING = 6; private Spinner spinner_drawing_1, spinner_drawing_2; private EditText editN, editX, editY; private ArrayList<String> spinnerList = new ArrayList<String>(); private ArrayList<String> drawing1List = new ArrayList<String>(); private String drawingText = ""; private String drawingId = ""; private String drawingText_1 = ""; private String drawingId_1 = ""; private String drawingText_2 = ""; private String drawingId_2 = ""; private ArrayList<String> dev = new ArrayList<String>(); public Fragment mFragment; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); this.tracker = EasyTracker.getInstance(this.getActivity()); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mainActivity = (MainActivity) super.getActivity(); v = inflater.inflate(R.layout.fragment_develop, container, false); // rescues parameters Bundle bundle = getArguments(); if (bundle != null) { id_app = bundle.getLong("id_app"); } notRegister = (TextView) v.findViewById(R.id.develop_not_register); editMode = false; loadListView(); developListView.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View view, int position, long id) { if (!editMode) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(position))); dialogIdObjectList.clear(); dialogHumanStatement.clear(); dialogHumanStatementRow.clear(); if (dev.get(0).contentEquals("world")) { showAlertDialog(OBJECT_WORLD, Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("drawing")) { showAlertDialog(OBJECT_DRAWING, Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("motion")) { dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_row))); setMotion(getString(R.string.dialog_title_select) + " " + getString(R.string.develop_dropdown_menu_add_motion), dialogHumanStatementRow.get(Integer.parseInt(dev.get(2))), Integer.parseInt(dialogIdObjectList.get(Integer.parseInt(dev.get(2)))), Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("look")) { dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_row))); setLook(getString(R.string.dialog_title_select) + " " + getString(R.string.develop_dropdown_menu_add_look), dialogHumanStatementRow.get(Integer.parseInt(dev.get(2))), Integer.parseInt(dialogIdObjectList.get(Integer.parseInt(dev.get(2)))), Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("sound")) { dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_row))); setSound(getString(R.string.dialog_title_select) + " " + getString(R.string.develop_dropdown_menu_add_sound), dialogHumanStatementRow.get(Integer.parseInt(dev.get(2))), Integer.parseInt(dialogIdObjectList.get(Integer.parseInt(dev.get(2)))), Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("control")) { dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_row))); setControl(getString(R.string.dialog_title_select) + " " + getString(R.string.develop_dropdown_menu_add_control), dialogHumanStatementRow.get(Integer.parseInt(dev.get(2))), Integer.parseInt(dialogIdObjectList.get(Integer.parseInt(dev.get(2)))), Long.parseLong(adapter.items.get(position))); } else if (dev.get(0).contentEquals("sensing")) { dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_row))); setSensing(getString(R.string.dialog_title_select) + " " + getString(R.string.develop_dropdown_menu_add_sensing), dialogHumanStatementRow.get(Integer.parseInt(dev.get(2))), Integer.parseInt(dialogIdObjectList.get(Integer.parseInt(dev.get(2)))), Long.parseLong(adapter.items.get(position))); } return true; } else return false; } }); developListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View view, int position, long id) { indentCode(position); loadListView(); } }); return v; } public void indentCode(int position) { if (position > 0) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(position - 1))); int beforeLevel = Integer.parseInt(dev.get(7)); boolean beforeIndent = canIndent(dev.get(0), dev.get(2), position); dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(position))); int level = Integer.parseInt(dev.get(7)); boolean indent = canIndent(dev.get(0), dev.get(2), position); int newLevel = level; if ((level == beforeLevel) && (beforeIndent)) { newLevel++; } else if ((level == beforeLevel) && (indent)) { newLevel = 0; } else if ((level == beforeLevel) && (!indent)) { newLevel = 0; } else if (level < beforeLevel) { newLevel++; } else if (level > beforeLevel) { newLevel = 0; } if (newLevel != level) { mainActivity.katbagHandler.updateDevelopLevel(Long.parseLong(adapter.items.get(position)), newLevel); int variation = -1; variation = newLevel - level; if (canIndent(dev.get(0), dev.get(2), position)) { for (int i = (position + 1); i <= adapter.getCount() - 1; i++) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(i))); int levelNext = Integer.parseInt(dev.get(7)); if (levelNext > level) { mainActivity.katbagHandler.updateDevelopLevel(Long.parseLong(adapter.items.get(i)), levelNext + variation); } else { break; } } } } reIndent(); } } public void reIndentOne(int position) { int newLevel = 0; if (position > 0) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(position - 1))); int levelPrevious = Integer.parseInt(dev.get(7)); boolean preIndent = canIndent(dev.get(0), dev.get(2), position); if (preIndent) { newLevel = levelPrevious + 1; } else { newLevel = levelPrevious; } } mainActivity.katbagHandler.updateDevelopLevel(Long.parseLong(adapter.items.get(position)), newLevel); } public void reIndent() { int level = 0; int beforeLevel = 0; int diff = 0; boolean beforeCanIdent = false; for (int i = 0; i <= adapter.getCount() - 1; i++) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(Long.parseLong(adapter.items.get(i))); int mLevel = Integer.parseInt(dev.get(7)); if ((i == 0) && (mLevel != 0)) { level = 0; } else { if (beforeLevel < mLevel) { diff = mLevel - beforeLevel; if (diff >= 1) { if (beforeCanIdent) mLevel = (mLevel - diff) + 1; else mLevel = (mLevel - diff); } } level = mLevel; } beforeCanIdent = canIndent(dev.get(0), dev.get(2), i); beforeLevel = level; mainActivity.katbagHandler.updateDevelopLevel(Long.parseLong(adapter.items.get(i)), level); } } public boolean canIndent(String statement, String value, int position) { dialogList.clear(); if (statement.contentEquals("motion")) { } else if (statement.contentEquals("look")) { } else if (statement.contentEquals("sound")) { } else if (statement.contentEquals("control")) { dialogList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_indent))); } else if (statement.contentEquals("sensing")) { dialogList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_indent))); } boolean indent = false; if (dialogList.size() > 0) { for (int i = 0; i < dialogList.size(); i++) { if (value.contentEquals(dialogList.get(i))) { indent = true; break; } } } return indent; } public void loadListView() { developListView = (DragSortListView) v.findViewById(R.id.develop_list_view); List<String> list = new ArrayList<String>(); List<String> idList = new ArrayList<String>(); List<String> statementList = new ArrayList<String>(); List<String> humanStatementList = new ArrayList<String>(); List<String> levelList = new ArrayList<String>(); list.clear(); list = mainActivity.katbagHandler.selectDevelopForIdApp(id_app); idList.clear(); statementList.clear(); humanStatementList.clear(); levelList.clear(); if (list.size() <= 0) { notRegister.setVisibility(View.VISIBLE); } else { notRegister.setVisibility(View.GONE); for (int i = 0; i < list.size(); i++) { String[] arr = list.get(i).toString().split("&&"); idList.add(arr[0]); statementList.add(arr[1]); humanStatementList.add(arr[2]); levelList.add(arr[8]); } Parcelable state = developListView.onSaveInstanceState(); adapter = new DevelopRowAdapter(v.getContext(), mainActivity, R.layout.row_develop, idList); developListView.setAdapter(adapter); developListView.setRemoveListener(onRemove); developListView.setDragScrollProfile(ssProfile); developListView.setDropListener(onDrop); developListView.onRestoreInstanceState(state); } } private DragSortListView.RemoveListener onRemove = new DragSortListView.RemoveListener() { @Override public void remove(int which) { String item = (String) adapter.getItem(which); adapter.remove(item); mainActivity.katbagHandler.deleteDevelopForId(Long.parseLong(item)); reIndent(); adapter.notifyDataSetChanged(); developListView.refreshDrawableState(); } }; private DragSortListView.DropListener onDrop = new DragSortListView.DropListener() { @Override public void drop(int from, int to) { if (from != to) { String item = (String) adapter.getItem(from); adapter.remove(item); adapter.insert(item, to); reIndent(); adapter.notifyDataSetChanged(); developListView.refreshDrawableState(); } } }; private DragSortListView.DragScrollProfile ssProfile = new DragSortListView.DragScrollProfile() { @Override public float getSpeed(float w, long t) { if (w > 0.8f) { // Traverse all views in a millisecond return ((float) developListView.getCount()) / 0.001f; } else { return 10.0f * w; } } }; @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { menu.clear(); inflater.inflate(R.menu.develop, menu); menuItemEdit = menu.findItem(R.id.develop_dropdown_menu_edit); menuItemAddWorld = menu.findItem(R.id.develop_dropdown_menu_add_world); menuItemAddDrawing = menu.findItem(R.id.develop_dropdown_menu_add_drawing); menuItemAddMotion = menu.findItem(R.id.develop_dropdown_menu_add_motion); menuItemAddLook = menu.findItem(R.id.develop_dropdown_menu_add_look); menuItemAddSound = menu.findItem(R.id.develop_dropdown_menu_add_sound); menuItemAddControl = menu.findItem(R.id.develop_dropdown_menu_add_control); menuItemAddSensing = menu.findItem(R.id.develop_dropdown_menu_add_sensing); menuItemPlayer = menu.findItem(R.id.develop_dropdown_menu_player); menuItemEdit.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if (editMode) { editMode = false; menuItemEdit.setIcon(R.drawable.ic_action_edit); } else { editMode = true; menuItemEdit.setIcon(R.drawable.ic_action_accept); } loadListView(); return true; } }); menuItemAddWorld.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_WORLD, -1); return true; } }); menuItemAddDrawing.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_DRAWING, -1); return true; } }); menuItemAddMotion.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_MOTION, -1); return true; } }); menuItemAddLook.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_LOOK, -1); return true; } }); menuItemAddSound.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_SOUND, -1); return true; } }); menuItemAddControl.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_CONTROL, -1); return true; } }); menuItemAddSensing.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showAlertDialog(OBJECT_SENSING, -1); return true; } }); menuItemPlayer.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { mFragment = new Player(); Bundle bundle = new Bundle(); bundle.putLong("id_app", id_app); bundle.putBoolean("editMode", true); bundle.putString("name_app", Add.name_app_text); mFragment.setArguments(bundle); FragmentTransaction t = getActivity().getSupportFragmentManager().beginTransaction(); t.replace(R.id.fragment_main_container, mFragment); t.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE); t.addToBackStack(mFragment.getClass().getSimpleName()); t.commit(); return true; } }); super.onCreateOptionsMenu(menu, inflater); } public void showAlertDialog(final int object, final long object_id) { int countDrawings = mainActivity.katbagHandler.selectDevelopStatementCount("drawing", id_app); if ((countDrawings == 0) && (object != OBJECT_DRAWING) && (object != OBJECT_WORLD)) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_not_drawing)); } else { dialogList.clear(); dialogIdObjectList.clear(); dialogHumanStatement.clear(); switch (object) { case OBJECT_WORLD: resTitle = getString(R.string.develop_dropdown_menu_add_world); dialogList = mainActivity.katbagHandler.selectWorldsForIdApp(id_app); for (int i = 0; i < dialogList.size(); i++) { dialogIdObjectList.add(dialogList.get(i)); dialogHumanStatement.add(getString(R.string.worlds_row_name) + " " + dialogList.get(i)); } break; case OBJECT_DRAWING: if (object_id == -1) { // only insert, not update resTitle = getString(R.string.develop_dropdown_menu_add_drawing); dialogList = mainActivity.katbagHandler.selectDrawingsForIdApp(id_app); for (int i = 0; i < dialogList.size(); i++) { dialogIdObjectList.add(dialogList.get(i)); dialogHumanStatement.add(getString(R.string.drawings_row_name) + " " + dialogList.get(i)); } } else { return; } break; case OBJECT_MOTION: resTitle = getString(R.string.develop_dropdown_menu_add_motion); dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.motion_row))); break; case OBJECT_LOOK: resTitle = getString(R.string.develop_dropdown_menu_add_look); dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.look_row))); break; case OBJECT_SOUND: resTitle = getString(R.string.develop_dropdown_menu_add_sound); dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_row))); break; case OBJECT_CONTROL: resTitle = getString(R.string.develop_dropdown_menu_add_control); dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.control_row))); break; case OBJECT_SENSING: resTitle = getString(R.string.develop_dropdown_menu_add_sensing); dialogIdObjectList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_id))); dialogHumanStatement = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_name))); dialogHumanStatementRow = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sensing_row))); break; } adapterDialog = new DialogDevelopRowAdapter(v.getContext(), R.layout.row_dialog_develop, dialogIdObjectList, dialogHumanStatement); AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setTitle(getString(R.string.dialog_title_select) + " " + resTitle); builder.setAdapter(adapterDialog, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch (object) { case OBJECT_WORLD: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "world", dialogHumanStatement.get(which), dialogIdObjectList.get(which), "", "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "world", dialogHumanStatement.get(which), dialogIdObjectList.get(which), "", "", "", "", "", "", ""); } break; case OBJECT_DRAWING: // only insert, not update if (mainActivity.katbagHandler.selectDevelopDrawingExist(dialogIdObjectList.get(which), id_app)) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_drawing_exist)); } else { if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "drawing", dialogHumanStatement.get(which), dialogIdObjectList.get(which), "", "", "", "", "", "", "", 0, 0); } } break; case OBJECT_MOTION: setMotion(getString(R.string.dialog_title_select) + " " + resTitle, dialogHumanStatementRow.get(which), Integer.valueOf(dialogIdObjectList.get(which)), object_id); break; case OBJECT_LOOK: setLook(getString(R.string.dialog_title_select) + " " + resTitle, dialogHumanStatementRow.get(which), Integer.valueOf(dialogIdObjectList.get(which)), object_id); break; case OBJECT_SOUND: setSound(getString(R.string.dialog_title_select) + " " + resTitle, dialogHumanStatementRow.get(which), Integer.valueOf(dialogIdObjectList.get(which)), object_id); break; case OBJECT_CONTROL: setControl(getString(R.string.dialog_title_select) + " " + resTitle, dialogHumanStatementRow.get(which), Integer.valueOf(dialogIdObjectList.get(which)), object_id); break; case OBJECT_SENSING: setSensing(getString(R.string.dialog_title_select) + " " + resTitle, dialogHumanStatementRow.get(which), Integer.valueOf(dialogIdObjectList.get(which)), object_id); break; } loadListView(); } }); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // :) } }); builder.show(); } } public void setMotion(String title, final String humanTextRow, final int dialogIdObjectItemList, final long object_id) { int resource = getResources().getIdentifier("dialog_motion_" + dialogIdObjectItemList, "layout", mainActivity.getPackageName()); LayoutInflater inflater = LayoutInflater.from(mainActivity.context); final View dialog_layout = inflater.inflate(resource, null); if (object_id != -1) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(object_id); } spinner_drawing_1 = (Spinner) dialog_layout.findViewById(R.id.dialog_drawing); spinnerList.clear(); drawing1List.clear(); spinnerList = mainActivity.katbagHandler.selectDevelopAllDrawing(id_app); if (spinnerList.size() == 0) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_not_drawing)); return; } for (int i = 0; i < spinnerList.size(); i++) { drawing1List.add(getString(R.string.drawings_row_name) + " " + spinnerList.get(i)); } ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(mainActivity.context, R.layout.simple_spinner_item_custom, drawing1List); arrayAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item_custom); spinner_drawing_1.setAdapter(arrayAdapter); switch (dialogIdObjectItemList) { case 0: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); editN.setSelection(editN.getText().length()); } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } editN.setText(dev.get(4)); editN.setSelection(editN.getText().length()); } break; case 1: editX = (EditText) dialog_layout.findViewById(R.id.dialog_x); editY = (EditText) dialog_layout.findViewById(R.id.dialog_y); if (object_id == -1) { editX.setText(getString(R.string.develop_edittext_number_default_value)); editX.setSelection(editX.getText().length()); editY.setText(getString(R.string.develop_edittext_number_default_value)); editY.setSelection(editY.getText().length()); } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } editX.setText(dev.get(4)); editX.setSelection(editX.getText().length()); editY.setText(dev.get(5)); editY.setSelection(editY.getText().length()); } break; case 2: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 3: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 4: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 5: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 6: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); editN.setSelection(editN.getText().length()); } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(4))) { spinner_drawing_1.setSelection(i); break; } } editN.setText(dev.get(3)); editN.setSelection(editN.getText().length()); } break; case 7: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); editN.setSelection(editN.getText().length()); } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(4))) { spinner_drawing_1.setSelection(i); break; } } editN.setText(dev.get(3)); editN.setSelection(editN.getText().length()); } break; case 8: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 9: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 10: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 11: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 12: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; } AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setView(dialog_layout); builder.setTitle(Html.fromHtml(title)); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { mainActivity.hideSoftKeyboard(); } }); builder.setPositiveButton(getString(R.string.dialog_button_ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { mainActivity.hideSoftKeyboard(); drawingText = spinner_drawing_1.getSelectedItem().toString(); drawingId = spinnerList.get(spinner_drawing_1.getSelectedItemPosition()); switch (dialogIdObjectItemList) { case 0: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected editN.getText().toString(), // number of steps "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected editN.getText().toString(), // number of steps "", "", "", "", ""); } break; case 1: // validate field if (editX.getText().toString().contentEquals("") || editY.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText, editX.getText().toString(), editY.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected editX.getText().toString(), // X coordinates editY.getText().toString(), // Y coordinates "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText, editX.getText().toString(), editY.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected editX.getText().toString(), // X coordinates editY.getText().toString(), // Y coordinates "", "", "", ""); } break; case 2: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 3: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 4: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 5: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 6: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, editN.getText().toString(), drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion editN.getText().toString(), // X degrees drawingId, // id of drawing selected "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, editN.getText().toString(), drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion editN.getText().toString(), // X degrees drawingId, // id of drawing selected "", "", "", "", ""); } break; case 7: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, editN.getText().toString(), drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion editN.getText().toString(), // Y degrees drawingId, // id of drawing selected "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, editN.getText().toString(), drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion editN.getText().toString(), // Y degrees drawingId, // id of drawing selected "", "", "", "", ""); } break; case 8: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 9: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 10: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 11: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; case 12: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "motion", String.format(humanTextRow, drawingText), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type motion drawingId, // id of drawing selected "", "", "", "", "", ""); } break; } loadListView(); } }); builder.show(); } public void setLook(String title, final String humanTextRow, final int dialogIdObjectItemList, final long object_id) { int resource = getResources().getIdentifier("dialog_look_" + dialogIdObjectItemList, "layout", mainActivity.getPackageName()); LayoutInflater inflater = LayoutInflater.from(mainActivity.context); final View dialog_layout = inflater.inflate(resource, null); if (object_id != -1) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(object_id); } spinner_drawing_1 = (Spinner) dialog_layout.findViewById(R.id.dialog_drawing_1); spinner_drawing_2 = (Spinner) dialog_layout.findViewById(R.id.dialog_drawing_2); spinnerList.clear(); drawing1List.clear(); spinnerList = mainActivity.katbagHandler.selectDevelopAllDrawing(id_app); if (spinnerList.size() == 0) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_not_drawing)); return; } for (int i = 0; i < spinnerList.size(); i++) { drawing1List.add(getString(R.string.drawings_row_name) + " " + spinnerList.get(i)); } ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(mainActivity.context, R.layout.simple_spinner_item_custom, drawing1List); arrayAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item_custom); spinner_drawing_1.setAdapter(arrayAdapter); switch (dialogIdObjectItemList) { case 0: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 1: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 2: spinner_drawing_2.setAdapter(arrayAdapter); if (object_id == -1) { if (spinnerList.size() > 1) { spinner_drawing_2.setSelection(1); } } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(4))) { spinner_drawing_2.setSelection(i); break; } } } break; } AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setView(dialog_layout); builder.setTitle(Html.fromHtml(title)); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // :) } }); builder.setPositiveButton(getString(R.string.dialog_button_ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { drawingText_1 = spinner_drawing_1.getSelectedItem().toString(); drawingId_1 = spinnerList.get(spinner_drawing_1.getSelectedItemPosition()); switch (dialogIdObjectItemList) { case 0: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "look", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "look", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of drawing selected "", "", "", "", "", ""); } break; case 1: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "look", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "look", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of drawing selected "", "", "", "", "", ""); } break; case 2: // validate field if (spinner_drawing_1.getSelectedItemPosition() == spinner_drawing_2.getSelectedItemPosition()) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_not_different)); return; } drawingText_2 = spinner_drawing_2.getSelectedItem().toString(); drawingId_2 = spinnerList.get(spinner_drawing_2.getSelectedItemPosition()); if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "look", String.format(humanTextRow, drawingText_1, drawingText_2), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of first drawing selected drawingId_2, // id of second drawing selected "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "look", String.format(humanTextRow, drawingText_1, drawingText_2), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type look drawingId_1, // id of first drawing selected drawingId_2, // id of second drawing selected "", "", "", "", ""); } break; } loadListView(); } }); builder.show(); } public void setSound(String title, final String humanTextRow, final int dialogIdObjectItemList, final long object_id) { if (object_id != -1) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(object_id); } switch (dialogIdObjectItemList) { case 0: String nameSound = ""; dialogList.clear(); dialogHumanStatement.clear(); dialogList = new ArrayList<String>(Arrays.asList(getResources().getStringArray(R.array.sound_list))); for (int i = 0; i < dialogList.size(); i++) { nameSound = dialogList.get(i).substring(9, dialogList.get(i).length()); nameSound = nameSound.replace("animales_", "(Animal) "); nameSound = nameSound.replace("juegos_", "(Juego) "); nameSound = nameSound.replace("humanos_", "(Humano) "); nameSound = nameSound.replace("fondo_", "(Fondo) "); nameSound = nameSound.replace("series_", "(Serie) "); nameSound = nameSound.replace("efectos_", "(Efecto) "); nameSound = nameSound.replace("_", " "); // nameSound = KatbagUtilities.capitalizeString(nameSound); dialogHumanStatement.add(nameSound); } adapterDialogSound = new DialogSoundRowAdapter(v.getContext(), R.layout.row_dialog_sound, dialogList, dialogHumanStatement); AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setTitle(title); builder.setAdapter(adapterDialogSound, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "sound", String.format(humanTextRow, dialogHumanStatement.get(which)), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type sound dialogList.get(which), // id of sound selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "sound", String.format(humanTextRow, dialogHumanStatement.get(which)), // row // text String.valueOf(dialogIdObjectItemList), // first parameter is the type sound dialogList.get(which), // id of sound selected "", "", "", "", "", ""); } adapterDialogSound.stopPlayer(); loadListView(); } }); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // :) adapterDialogSound.stopPlayer(); } }); builder.show(); break; case 1: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "sound", String.format(humanTextRow), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control "", "", "", "", "", "", "", 0, 0); } loadListView(); return; case 2: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "sound", String.format(humanTextRow), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control "", "", "", "", "", "", "", 0, 0); } loadListView(); return; } } public void setControl(String title, final String humanTextRow, final int dialogIdObjectItemList, final long object_id) { int resource = 0; View dialog_layout = null; resource = getResources().getIdentifier("dialog_control_" + dialogIdObjectItemList, "layout", mainActivity.getPackageName()); LayoutInflater inflater = LayoutInflater.from(mainActivity.context); dialog_layout = inflater.inflate(resource, null); if (object_id != -1) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(object_id); } switch (dialogIdObjectItemList) { case 0: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 1: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 2: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 3: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 4: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 5: editN = (EditText) dialog_layout.findViewById(R.id.dialog_message); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_string)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; case 6: editN = (EditText) dialog_layout.findViewById(R.id.dialog_n); if (object_id == -1) { editN.setText(getString(R.string.develop_edittext_number_default_value)); } else { editN.setText(dev.get(3)); } editN.setSelection(editN.getText().length()); break; } AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setView(dialog_layout); builder.setTitle(Html.fromHtml(title)); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // :) } }); builder.setPositiveButton(getString(R.string.dialog_button_ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { switch (dialogIdObjectItemList) { case 0: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 1: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 2: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 3: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 4: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 5: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; case 6: // validate field if (editN.getText().toString().contentEquals("")) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_empty_n)); return; } if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "control", String.format(humanTextRow, editN.getText().toString()), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control editN.getText().toString(), // n "", "", "", "", "", ""); } break; } loadListView(); } }); builder.show(); } public void setSensing(String title, final String humanTextRow, final int dialogIdObjectItemList, final long object_id) { int resource = 0; View dialog_layout = null; ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(mainActivity.context, 0); if (dialogIdObjectItemList != 1) { resource = getResources().getIdentifier("dialog_sensing_" + dialogIdObjectItemList, "layout", mainActivity.getPackageName()); LayoutInflater inflater = LayoutInflater.from(mainActivity.context); dialog_layout = inflater.inflate(resource, null); } if (object_id != -1) { dev.clear(); dev = mainActivity.katbagHandler.selectDevelopForId(object_id); } if (dialogIdObjectItemList != 1) { spinner_drawing_1 = (Spinner) dialog_layout.findViewById(R.id.dialog_drawing_1); spinner_drawing_2 = (Spinner) dialog_layout.findViewById(R.id.dialog_drawing_2); spinnerList.clear(); drawing1List.clear(); spinnerList = mainActivity.katbagHandler.selectDevelopAllDrawing(id_app); if (spinnerList.size() == 0) { KatbagUtilities.message(mainActivity.context, getString(R.string.develop_message_not_drawing)); return; } for (int i = 0; i < spinnerList.size(); i++) { drawing1List.add(getString(R.string.drawings_row_name) + " " + spinnerList.get(i)); } arrayAdapter = new ArrayAdapter<String>(mainActivity.context, R.layout.simple_spinner_item_custom, drawing1List); arrayAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item_custom); spinner_drawing_1.setAdapter(arrayAdapter); } switch (dialogIdObjectItemList) { case 0: if (object_id == -1) { } else { for (int i = 0; i < spinnerList.size(); i++) { if (spinnerList.get(i).contentEquals(dev.get(3))) { spinner_drawing_1.setSelection(i); break; } } } break; case 1: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "sensing", String.format(humanTextRow), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type control "", "", "", "", "", "", "", 0, 0); } loadListView(); return; } AlertDialog.Builder builder = new AlertDialog.Builder(mainActivity.context); builder.setView(dialog_layout); builder.setTitle(Html.fromHtml(title)); builder.setNegativeButton(getString(R.string.dialog_button_cancel), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // :) } }); builder.setPositiveButton(getString(R.string.dialog_button_ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { drawingText_1 = spinner_drawing_1.getSelectedItem().toString(); drawingId_1 = spinnerList.get(spinner_drawing_1.getSelectedItemPosition()); switch (dialogIdObjectItemList) { case 0: if (object_id == -1) { mainActivity.katbagHandler.insertDevelop(id_app, "sensing", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type sensing drawingId_1, // id of drawing selected "", "", "", "", "", "", 0, 0); } else { mainActivity.katbagHandler.updateDevelop(object_id, "sensing", String.format(humanTextRow, drawingText_1), // row text String.valueOf(dialogIdObjectItemList), // first parameter is the type sensing drawingId_1, // id of drawing selected "", "", "", "", "", ""); } break; } loadListView(); } }); builder.show(); } @Override public void onResume() { mainActivity.getSupportActionBar().setTitle(Add.name_app_text + " - " + getString(R.string.title_activity_developments)); if (!MainActivity.TABLET) mainActivity.slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); super.onResume(); this.tracker.set(Fields.SCREEN_NAME, getClass().getSimpleName()); this.tracker.send( MapBuilder.createAppView().build() ); } @Override public void onPause() { // TODO Auto-generated method stub System.gc(); super.onPause(); } @Override public void onStop() { // TODO Auto-generated method stub System.gc(); super.onStop(); } }