Merge branch 'ubilabs--tracking_app--bugfix--bug_3066' into ubilabs--tracking_app--develop

This commit is contained in:
Samuel Oey committed 2015-07-06 16:42:40 +02:00
commit e67065337c
3 files changed
+44 -2

No files matched your search

@@ -5,5 +5,6 @@
<string name="confirm_data_you_are_signed_in_as_sail_id">Sie sind als {sail_id} gemeldet</string>
<string name="confirm_data_is_correct">OK</string>
<string name="decline_data_is_incorrect">Das bin nicht ich!</string>
<string name="confirm_delete_checkin">Möchten Sie den Checkin wirklich löschen?</string>
</resources>
@@ -6,5 +6,5 @@
<string name="confirm_data_you_are_signed_in_as_sail_id">You are signing in as {sail_id}</string>
<string name="confirm_data_is_correct">OK</string>
<string name="decline_data_is_incorrect">That\'s not me!</string>
<string name="confirm_delete_checkin">Do you really want to delete this checkin?</string>
</resources>
@@ -4,6 +4,7 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.util.Date;
import android.widget.AdapterView;
import org.json.JSONException;
import org.json.JSONObject;
@@ -20,7 +21,7 @@ import android.support.v4.content.Loader;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;
@@ -64,6 +65,7 @@ public class HomeFragment extends AbstractHomeFragment implements LoaderCallback
adapter = new RegattaAdapter(getActivity(), R.layout.ragatta_listview_row, null, 0);
listView.setAdapter(adapter);
listView.setOnItemClickListener(new ItemClickListener());
listView.setOnItemLongClickListener(new LongItemClickListener());
}
getLoaderManager().initLoader(REGATTA_LOADER, null, this);
@@ -231,6 +233,32 @@ public class HomeFragment extends AbstractHomeFragment implements LoaderCallback
}
}
private boolean showDeleteConfirmationDialog(int position) {
// -1, because there's a header row
Cursor cursor = (Cursor) adapter.getItem(position - 1);
final String checkinDigest = cursor.getString(cursor.getColumnIndex("event_checkin_digest"));
DatabaseHelper.getInstance().getEventInfo(getActivity(), checkinDigest);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.Base_Theme_AppCompat_Dialog_Alert);
builder.setMessage(getString(R.string.confirm_delete_checkin));
builder.setCancelable(true);
builder.setNegativeButton(getString(R.string.no), null);
builder.setPositiveButton(getString(R.string.yes), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
deleteRegatta(checkinDigest);
}
});
builder.show();
return true;
}
private void deleteRegatta(String checkinDigest) {
DatabaseHelper.getInstance().deleteRegattaFromDatabase(getActivity(), checkinDigest);
adapter.swapCursor(null);
adapter.notifyDataSetInvalidated();
}
private class ItemClickListener implements OnItemClickListener {
@Override
@@ -249,6 +277,19 @@ public class HomeFragment extends AbstractHomeFragment implements LoaderCallback
}
}
private class LongItemClickListener implements OnItemLongClickListener {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
if (position < 1) // tapped header
{
return false;
}
return showDeleteConfirmationDialog(position);
}
}
private class CheckinListener implements NetworkHelperSuccessListener {
public String checkinDigest;