@Override public boolean onContextItemSelected(MenuItem item) { // TODO Auto-generated method stub AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); selectedSofor = soforDao .queryBuilder() .where(Properties.SoforID.eq(adapter.getItemId(info.position - 1))) .list() .get(0); selectedSofor.setSoforIsActive(false); soforDao.update(selectedSofor); adapter.remove(selectedSofor); adapter.notifyDataSetChanged(); if (NetworkUtil.checkInternetIsActive(context) == true) { new AsyncTask<Void, Void, Boolean>() { @Override protected Boolean doInBackground(Void... params) { // TODO Auto-generated method stub JSONBuilder builder = new JSONBuilder(); JSONSender sender = new JSONSender(); JSONObject obj = builder.updateSofor(selectedSofor); sender.sendJSON(sender.getFlottaUrl(), obj); return true; } }.execute(); } return super.onContextItemSelected(item); }
@Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.menu_sendCSV: if (NetworkUtil.checkInternetIsActive(context) == true) { CSVUtil util = new CSVUtil(); ArrayList<Sofor> sofors = new ArrayList<Sofor>(soforDao.loadAll()); Uri u = util.createSoforCSVFile(sofors); Intent sendIntent = new Intent(Intent.ACTION_SEND); sendIntent.putExtra(Intent.EXTRA_SUBJECT, R.string.drivers); sendIntent.putExtra(Intent.EXTRA_STREAM, u); sendIntent.setType("text/html"); startActivity(sendIntent); } break; case R.id.menu_Sort: AlertDialog.Builder builder = new AlertDialog.Builder(context); builder.setTitle(R.string.sort); // final CharSequence[] choiceList = {"Név", "Cím", "Telefonszám" }; String[] choiceList = { getString(R.string.name), getString(R.string.cim), getString(R.string.telefon) }; int selected = -1; // does not select anything builder.setSingleChoiceItems( choiceList, selected, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub switch (which) { case 0: try { Collator huCollator = new RuleBasedCollator(hungarianRules); sortSoforNev(huCollator, soforok); adapter.clear(); adapter.addAll(soforok); adapter.notifyDataSetChanged(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; case 1: try { Collator huCollator = new RuleBasedCollator(hungarianRules); sortSoforCim(huCollator, soforok); adapter.clear(); adapter.addAll(soforok); adapter.notifyDataSetChanged(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; case 2: try { Collator huCollator = new RuleBasedCollator(hungarianRules); sortSoforTelefonSzam(huCollator, soforok); adapter.clear(); adapter.addAll(soforok); adapter.notifyDataSetChanged(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } break; } dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); break; case R.id.menu_refresh: if (NetworkUtil.checkInternetIsActive(context) == true) { new AsyncTask<Void, Void, Boolean>() { @Override protected void onPreExecute() { startRefreshAnimation(); }; @Override protected void onPostExecute(Boolean result) { // TODO Auto-generated method stub if (result == true) { Toast.makeText(context, R.string.refreshed, Toast.LENGTH_SHORT).show(); } else { Toast.makeText(context, R.string.errorRefresh, Toast.LENGTH_SHORT).show(); } try { // Play notification sound when refresn finished Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); Ringtone r = RingtoneManager.getRingtone(context, notification); r.play(); } catch (Exception e) { e.printStackTrace(); } adapter.clear(); soforok = new ArrayList<Sofor>( soforDao.queryBuilder().where(Properties.SoforIsActive.eq(true)).list()); adapter.addAll(soforok); adapter.notifyDataSetChanged(); if (refreshItem != null && refreshItem.getActionView() != null) { refreshItem.getActionView().clearAnimation(); refreshItem.setActionView(null); } stopRefreshAnimation(); } @Override protected Boolean doInBackground(Void... params) { // TODO Auto-generated method stub return saveSoforTable(); } }.execute(); } else { Toast.makeText(context, R.string.no_internet, Toast.LENGTH_SHORT).show(); } break; } return true; }