DT @17.11.2015: Delete Report is now only visible for report owner. Some other improvements added.

This commit is contained in:
Dennis Thießen
2015-11-17 21:58:48 +01:00
parent 57d9027a69
commit ae9d0350db
5 changed files with 16 additions and 48 deletions

View File

@@ -41,10 +41,8 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
private final static String TAG = LoginActivity.class.getSimpleName(); private final static String TAG = LoginActivity.class.getSimpleName();
private final static String EXTRA_MESSAGE = "org.deke.risk.riskahead.MESSAGE"; private final static String EXTRA_MESSAGE = "org.deke.risk.riskahead.MESSAGE";
private final static String mActivityTitle = "RiskAhead"; private final static String mActivityTitle = "RiskAhead";
private String msg_intent; private String msg_intent;
private boolean emailIsValid = false;
private boolean fullnameIsValid = false;
private boolean passwordIsValid = false;
private Button btn_login; private Button btn_login;
private TextView input_email; private TextView input_email;
@@ -52,7 +50,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
private TextView input_password; private TextView input_password;
private ProgressDialog pDialog; private ProgressDialog pDialog;
private SessionManager session; private SessionManager session;
@Override @Override
@@ -79,9 +76,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if (text.length() < 5) { if (text.length() < 5) {
textView.setError("Your username must be at least\n" + textView.setError("Your username must be at least\n" +
"5 characters in length."); "5 characters in length.");
fullnameIsValid = false;
} else {
fullnameIsValid = true;
} }
} }
}); });
@@ -96,9 +90,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if(!Patterns.EMAIL_ADDRESS.matcher(text).matches()){ if(!Patterns.EMAIL_ADDRESS.matcher(text).matches()){
textView.setError("Please enter a valid email address\n" + textView.setError("Please enter a valid email address\n" +
"e.g.: text@abc.de"); "e.g.: text@abc.de");
emailIsValid = false;
}else{
emailIsValid = true;
} }
} }
}); });
@@ -109,9 +100,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if(text.length() < 5) { if(text.length() < 5) {
textView.setError("Your password must be at least\n" + textView.setError("Your password must be at least\n" +
"5 characters in length."); "5 characters in length.");
passwordIsValid = false;
}else{
passwordIsValid = true;
} }
} }
}); });
@@ -137,7 +125,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
String password = input_password.getText().toString(); String password = input_password.getText().toString();
if (msg_intent.equals("login")) { if (msg_intent.equals("login")) {
if (!emailIsValid || !passwordIsValid) { if (input_password.getError() != null || input_email.getError() != null) {
showMessage("Entered fields not valid\n" + showMessage("Entered fields not valid\n" +
"Please check errors first."); "Please check errors first.");
} else { } else {
@@ -146,7 +134,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
} else if (msg_intent.equals("register")) { } else if (msg_intent.equals("register")) {
String name = input_username.getText().toString(); String name = input_username.getText().toString();
if (!emailIsValid || !passwordIsValid || !fullnameIsValid) { if (input_password.getError() != null || input_email.getError() != null || input_username.getError() != null) {
showMessage("Entered fields not valid\n" + showMessage("Entered fields not valid\n" +
"Please check errors first."); "Please check errors first.");
} else { } else {
@@ -340,9 +328,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
JSONObject jObj = new JSONObject(response); JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error"); boolean error = jObj.getBoolean("error");
// Check for error node in json
if (!error) { if (!error) {
// Now store the user in sqlite
String uid = jObj.getString("uid"); String uid = jObj.getString("uid");
JSONObject user = jObj.getJSONObject("user"); JSONObject user = jObj.getJSONObject("user");
@@ -366,14 +352,12 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
StringRequest strReq = getStringRequestActivationLinkUser(input_email.getText().toString()); StringRequest strReq = getStringRequestActivationLinkUser(input_email.getText().toString());
// Adding request to request queue
AppController.getInstance().addToRequestQueue(strReq, tag_string_req); AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
showMessage("E-Mail was sent to your address"); showMessage("E-Mail was sent to your address");
} }
}) })
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
//do nothing
} }
}) })
.setIcon(android.R.drawable.ic_dialog_alert) .setIcon(android.R.drawable.ic_dialog_alert)
@@ -552,7 +536,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
JSONObject jObj = new JSONObject(response); JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error"); boolean error = jObj.getBoolean("error");
if (error) { if (error) {
// Error occurred in registration. Get the error message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(), Toast.makeText(getApplicationContext(),
errorMsg, Toast.LENGTH_LONG).show(); errorMsg, Toast.LENGTH_LONG).show();
@@ -575,7 +558,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
// Posting params to register url
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "resendactivationusermail"); params.put("tag", "resendactivationusermail");
params.put("email", email); params.put("email", email);

View File

@@ -74,12 +74,8 @@ public class ReportActivity extends BaseActivity {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
userHasToBeLoggedIn(); userHasToBeLoggedIn();
// ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, incidentCategories, android.R.layout.simple_spinner_item);
// adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
getCategories(); getCategories();
final Calendar c = Calendar.getInstance(); final Calendar c = Calendar.getInstance();
year = c.get(Calendar.YEAR); year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH); month = c.get(Calendar.MONTH);
@@ -188,7 +184,6 @@ public class ReportActivity extends BaseActivity {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
Log.d(TAG, "Report response: " + response); Log.d(TAG, "Report response: " + response);
hideDialog();
try { try {
JSONObject jObj = new JSONObject(response); JSONObject jObj = new JSONObject(response);
@@ -201,14 +196,12 @@ public class ReportActivity extends BaseActivity {
editor.apply(); editor.apply();
gotoMapActivity(); gotoMapActivity();
} else { } else {
// Error in login. Get the error message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
} }
} catch (JSONException e) { } catch (JSONException e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
}, new Response.ErrorListener() { }, new Response.ErrorListener() {
@@ -302,7 +295,7 @@ public class ReportActivity extends BaseActivity {
@Override @Override
protected void onStop() { protected void onStop() {
super.onStop(); // Always call the superclass method first super.onStop();
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit(); SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString(SAVED_TITLE, txtTitle.getText().toString()); editor.putString(SAVED_TITLE, txtTitle.getText().toString());
@@ -328,13 +321,11 @@ public class ReportActivity extends BaseActivity {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
Log.d(TAG, "Incident categories response: " + response); Log.d(TAG, "Incident categories response: " + response);
hideDialog();
try { try {
JSONObject jObj = new JSONObject(response); JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error"); boolean error = jObj.getBoolean("error");
// Check for error node in json
if (!error) { if (!error) {
JSONArray jsoncategories = jObj.getJSONArray("msg"); JSONArray jsoncategories = jObj.getJSONArray("msg");
categories = new HashMap<>(); categories = new HashMap<>();
@@ -355,12 +346,10 @@ public class ReportActivity extends BaseActivity {
spinner.setAdapter(adapter); spinner.setAdapter(adapter);
} else { } else {
// Error in login. Get the error message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
} }
} catch (JSONException e) { } catch (JSONException e) {
// JSON error
e.printStackTrace(); e.printStackTrace();
} }
@@ -372,22 +361,18 @@ public class ReportActivity extends BaseActivity {
Log.e(TAG, "Report Error: " + error.getMessage()); Log.e(TAG, "Report Error: " + error.getMessage());
Toast.makeText(getApplicationContext(), Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_LONG).show(); error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
} }
}) { }) {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "getincidentcategories"); params.put("tag", "getincidentcategories");
params.put("uid", user.get("uid")); params.put("uid", user.get("uid"));
params.put("token", user.get("token")); params.put("token", user.get("token"));
return params; return params;
} }
}; };
} }
} }

View File

@@ -54,6 +54,8 @@ public class ViewReportActivity extends BaseActivity {
Intent intent = getIntent(); Intent intent = getIntent();
final String uid = intent.getStringExtra(BaseActivity.EXTRA_MESSAGE); final String uid = intent.getStringExtra(BaseActivity.EXTRA_MESSAGE);
txtTitle = (EditText) findViewById(R.id.input_viewreport_short); txtTitle = (EditText) findViewById(R.id.input_viewreport_short);
txtDescription = (EditText) findViewById(R.id.input_viewreport_long); txtDescription = (EditText) findViewById(R.id.input_viewreport_long);
txtCrimeCategory = (EditText) findViewById(R.id.input_viewreport_category); txtCrimeCategory = (EditText) findViewById(R.id.input_viewreport_category);
@@ -181,6 +183,7 @@ public class ViewReportActivity extends BaseActivity {
private StringRequest getStringRequestGetIncidentWithPositionFromID(final String incidentid) { private StringRequest getStringRequestGetIncidentWithPositionFromID(final String incidentid) {
return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener<String>() {
@Override @Override
@@ -221,10 +224,16 @@ public class ViewReportActivity extends BaseActivity {
findViewById(R.id.btn_viewreport_position).setOnClickListener(new View.OnClickListener() { findViewById(R.id.btn_viewreport_position).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
gotoMapActivity(latitude+":"+longitude); gotoMapActivity(latitude + ":" + longitude);
} }
}); });
if(!incident.getString("fid_user").equals(user.get("uid"))){
findViewById(R.id.btn_viewreport_position).setVisibility(View.GONE);
findViewById(R.id.ll_01).setVisibility(View.GONE);
}
} else { } else {
// Error in login. Get the error message // Error in login. Get the error message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
@@ -345,14 +354,12 @@ public class ViewReportActivity extends BaseActivity {
JSONObject jObj = new JSONObject(response); JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error"); boolean error = jObj.getBoolean("error");
// Check for error node in json
if (!error) { if (!error) {
showMessage("Voted! Score updated."); showMessage("Voted! Score updated.");
BootstrapLabel scorelabel = (BootstrapLabel) findViewById(R.id.txt_viewreport_points); BootstrapLabel scorelabel = (BootstrapLabel) findViewById(R.id.txt_viewreport_points);
scorelabel.setText(jObj.getString("points")); scorelabel.setText(jObj.getString("points"));
} else { } else {
// Error in login. Get the error message
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show(); Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
} }

View File

@@ -44,7 +44,6 @@ public abstract class BaseActivity extends AppCompatActivity {
public SessionManager session; public SessionManager session;
public HashMap<String, String> user; public HashMap<String, String> user;
public ProgressDialog pDialog; public ProgressDialog pDialog;
public void userHasToBeLoggedIn(){ public void userHasToBeLoggedIn(){

View File

@@ -88,17 +88,12 @@
<string name="menu_action_exit">Exit</string> <string name="menu_action_exit">Exit</string>
<string name="lbl_report_position">Position</string> <string name="lbl_report_position">Position</string>
<string name="btn_report_position">{fa_search} Position</string> <string name="btn_report_position">{fa_search}</string>
<string name="btn_maps_confirm_position">{fa_paint_brush} Report this position!</string> <string name="btn_maps_confirm_position">{fa_paint_brush} Report this position!</string>
<string-array name="incident_categories">
<item>Personal</item>
<item>Property</item>
<item>Political</item>
</string-array>
<string name="title_activity_reportlist">Report List</string> <string name="title_activity_reportlist">Report List</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string> <string name="action_settings">Settings</string>
<string name="title_activity_view_report">View Report</string> <string name="title_activity_view_report">View Report</string>