diff --git a/app/src/main/btn_report-web.png b/app/src/main/btn_report-web.png new file mode 100644 index 0000000..34a4a4a Binary files /dev/null and b/app/src/main/btn_report-web.png differ diff --git a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java index 972c5d6..3df40a0 100644 --- a/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/MapsActivity.java @@ -423,14 +423,11 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa clickedClusterItem = new IncidentReport(incident); TextView tvUsername = ((TextView) infoView.findViewById(R.id.txt_infowindow_fromuser)); - TextView tvScore = ((TextView) infoView.findViewById(R.id.txt_infowindow_points)); RatingBar rbScore = ((RatingBar) infoView.findViewById(R.id.rb_infowindow_rating)); - tvUsername.setText(getString(R.string.lbl_mapsinfowindow_author) + ": " + clickedClusterItem.getFromUsername()); - tvScore.setText(getString(R.string.lbl_mapsinfowindow_score) + ": " + String.valueOf(clickedClusterItem.getVotedScore())); + tvUsername.setText(getString(R.string.lbl_mapsinfowindow_author) + " " + clickedClusterItem.getFromUsername()); rbScore.setRating(clickedClusterItem.getScoreStars()); - if (markerShowingInfoWindow != null && markerShowingInfoWindow.isInfoWindowShown()) { markerShowingInfoWindow.showInfoWindow(); markerShowingInfoWindow = null; @@ -497,10 +494,10 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa tvCategory.setText(clickedClusterItem.getIncidentCategoryName(getApplicationContext())); tvSubcategory.setText(clickedClusterItem.getIncidentSubCategoryName(getApplicationContext())); - tvSuspect.setText(clickedClusterItem.getSuspectString(getApplicationContext())); - tvVictim.setText(""); // TODO - tvTime.setText(clickedClusterItem.getTimeString(getApplicationContext())); + tvSuspect.setText(getString(R.string.lbl_mapsinfowindow_suspect)+" "+clickedClusterItem.getSuspectString(getApplicationContext())); + tvVictim.setText(getString(R.string.lbl_mapsinfowindow_victim)+" "+clickedClusterItem.getVictimString(getApplicationContext())); + tvTime.setText(getString(R.string.lbl_mapsinfowindow_time)+" "+clickedClusterItem.getTimeString(getApplicationContext())); } return myContentsView; } diff --git a/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java b/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java index c175fe1..e42d8f7 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ReportWFActivity.java @@ -14,6 +14,7 @@ import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; @@ -31,6 +32,7 @@ import org.deke.risk.riskahead.fragment.ReportWF_5_Fragment; import org.deke.risk.riskahead.fragment.ReportWF_6_Fragment; import org.deke.risk.riskahead.fragment.ReportWF_7_Fragment; import org.deke.risk.riskahead.fragment.ReportWF_8_Fragment; +import org.deke.risk.riskahead.fragment.ReportWF_Finish_Fragment; import org.deke.risk.riskahead.helper.IncidentReport; import org.deke.risk.riskahead.helper.AppConfig; import org.deke.risk.riskahead.helper.AppController; @@ -47,8 +49,8 @@ import java.util.Locale; import java.util.Map; public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragment.OnInputFinishedListener, ReportWF_2_Fragment.OnInputFinishedListener, ReportWF_3_Fragment.OnInputFinishedListener - ,ReportWF_4_Fragment.OnInputFinishedListener, ReportWF_5_Fragment.OnInputFinishedListener,ReportWF_6_Fragment.OnInputFinishedListener - ,ReportWF_7_Fragment.OnInputFinishedListener, ReportWF_8_Fragment.OnInputFinishedListener { + ,ReportWF_4_Fragment.OnInputFinishedListener, ReportWF_5_Fragment.OnInputFinishedListener,ReportWF_6_Fragment.OnInputFinishedListener + ,ReportWF_7_Fragment.OnInputFinishedListener, ReportWF_8_Fragment.OnInputFinishedListener, ReportWF_Finish_Fragment.SendReportListener { private final static String mActivityTitle = "Report Incident"; private final static String TAG = ReportWFActivity.class.getSimpleName(); @@ -63,10 +65,12 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen private Fragment frag_report_6 = new ReportWF_6_Fragment(); private Fragment frag_report_7 = new ReportWF_7_Fragment(); private Fragment frag_report_8 = new ReportWF_8_Fragment(); + private Fragment frag_report_finish = new ReportWF_Finish_Fragment(); private BootstrapButton btnContinue; private BootstrapButton btnReportNow; private FloatingActionButton btnMap; + private TextView siteIndicator; private IncidentReport incident = new IncidentReport(); @@ -89,6 +93,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen fragList.add(frag_report_6); fragList.add(frag_report_7); fragList.add(frag_report_8); + fragList.add(frag_report_finish); btnContinue = (BootstrapButton) findViewById(R.id.btn_reportwf_next); btnContinue.setVisibility(View.INVISIBLE); @@ -104,10 +109,12 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen btnReportNow.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - reportIncident(incident); + reportIncident(); } }); + siteIndicator = (TextView) findViewById(R.id.lbl_reportwf_site); + btnMap = (FloatingActionButton) findViewById(R.id.fab_reportwf_map); btnMap.setOnClickListener(new View.OnClickListener() { @Override @@ -124,7 +131,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen prefsEditor = mPrefs.edit(); } - private void reportIncident(IncidentReport incident){ + private void reportIncident(){ String tag_string_req = "addincidentwithposition"; StringRequest strReq = getStringRequestAddIncidentWithPosition(incident); AppController.getInstance().addToRequestQueue(strReq, tag_string_req); @@ -140,7 +147,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen prefsEditor.commit(); } - private void modifiyPos(String pos){ + private void modifyPos(String pos){ String[] position = pos.split(":"); Geocoder geocoder = new Geocoder(getApplicationContext(), Locale.getDefault()); LatLng latlngpos = new LatLng(Double.parseDouble(position[0]), Double.parseDouble(position[1])); @@ -184,11 +191,19 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.replace(R.id.fragment_reportwf, fragList.get(state)); - transaction.addToBackStack(null); transaction.commit(); if(state > 1) btnReportNow.setVisibility(View.VISIBLE); - if(state == fragList.size()-1) btnReportNow.setVisibility(View.INVISIBLE); + if(state == (fragList.size()-1)){ + btnContinue.setVisibility(View.INVISIBLE); + btnReportNow.setVisibility(View.INVISIBLE); + siteIndicator.setVisibility(View.INVISIBLE); + }else{ + siteIndicator.setVisibility(View.VISIBLE); + } + + String currentSite = (currentState+1)+"/"+(fragList.size()-1); + siteIndicator.setText(currentSite); } @Override @@ -240,7 +255,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen Intent intent = getIntent(); String pos = intent.getStringExtra(EXTRA_MESSAGE); - if(pos != null) modifiyPos(pos); + if(pos != null) modifyPos(pos); currentState = mPrefs.getInt("currentState",0); initFragment(currentState); @@ -378,4 +393,9 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen protected String getActivityName() { return mActivityTitle; } + + @Override + public void sendReport() { + reportIncident(); + } } diff --git a/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java b/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java index eaa4ea0..47da52e 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SettingsActivity.java @@ -3,9 +3,11 @@ package org.deke.risk.riskahead; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; +import android.text.method.PasswordTransformationMethod; import android.util.Log; import android.util.Patterns; import android.view.View; +import android.widget.EditText; import android.widget.TextView; import com.android.volley.Request; @@ -33,7 +35,6 @@ public class SettingsActivity extends BaseActivity { private TextView txtSurname; private TextView txtName; private TextView txtEmail; - private TextView txtPassword; @Override protected void onCreate(Bundle savedInstanceState) { @@ -44,7 +45,6 @@ public class SettingsActivity extends BaseActivity { txtName = (TextView) findViewById(R.id.txt_settings_name); txtSurname = (TextView) findViewById(R.id.txt_settings_surname); txtEmail = (TextView) findViewById(R.id.txt_settings_email); - txtPassword = (TextView) findViewById(R.id.txt_settings_password); findViewById(R.id.btn_settings_req_password).setOnClickListener(new View.OnClickListener() { @Override @@ -74,33 +74,12 @@ public class SettingsActivity extends BaseActivity { findViewById(R.id.btn_settings_change).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - if (txtPassword.getText() != null && txtPassword.getText().toString().isEmpty()) { - showMessage("Enter your password to confirm profile changes"); - return; - } - - if (txtUsername.getError() != null || txtEmail.getError() != null) { + if (txtUsername.getError() != null || txtEmail.getError() != null) { showMessage("Entered fields not valid\n" + "Please check errors first."); } else { + showAlert(); - new AlertDialog.Builder(SettingsActivity.this) - .setTitle("Confirm changes") - .setMessage("Do you really want to confirm changes? ") - .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - String tag_string_req = "updateuser"; - StringRequest strReq = getStringChangeUserSettings(); - AppController.getInstance().addToRequestQueue(strReq, tag_string_req); - } - }) - .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - // do nothing - } - }) - .setIcon(android.R.drawable.ic_dialog_alert) - .show(); } } }); @@ -131,14 +110,60 @@ public class SettingsActivity extends BaseActivity { }); if(user.get("providerType") != null && user.get("providerType").equals("local")){ - findViewById(R.id.txt_settings_password).setVisibility(View.VISIBLE); findViewById(R.id.btn_settings_req_password).setVisibility(View.VISIBLE); }else{ - findViewById(R.id.txt_settings_password).setVisibility(View.INVISIBLE); findViewById(R.id.btn_settings_req_password).setVisibility(View.INVISIBLE); } } + private void showAlert() { + AlertDialog.Builder alert = new AlertDialog.Builder(SettingsActivity.this); + + if(user.get("providerType") != null && user.get("providerType").equals("local")) { + final EditText input = new EditText(this); + input.setTransformationMethod(PasswordTransformationMethod.getInstance()); + + alert.setView(input); + + alert.setTitle("Change settings") + .setMessage("Enter your password to confirm changes: ") + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + String value = input.getText().toString(); + + String tag_string_req = "updateuser"; + StringRequest strReq = getStringChangeUserSettings(value); + AppController.getInstance().addToRequestQueue(strReq, tag_string_req); + } + }) + .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // do nothing + } + }) + .setIcon(android.R.drawable.ic_dialog_alert) + .show(); + }else{ + alert.setTitle("Change settings") + .setMessage("Do you really want to confirm changes?") + .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + + String tag_string_req = "updateuser"; + StringRequest strReq = getStringChangeUserSettings(""); + AppController.getInstance().addToRequestQueue(strReq, tag_string_req); + } + }) + .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + // do nothing + } + }) + .setIcon(android.R.drawable.ic_dialog_alert) + .show(); + } + } + @Override protected void onResume() { @@ -154,7 +179,7 @@ public class SettingsActivity extends BaseActivity { @Override protected String getActivityName() { return mActivityTitle; } - private StringRequest getStringChangeUserSettings() { + private StringRequest getStringChangeUserSettings(final String value) { showDialog(); return new StringRequest(Request.Method.POST, AppConfig.URL_REGISTER, new Response.Listener() { @@ -169,7 +194,7 @@ public class SettingsActivity extends BaseActivity { if (!error) { showMessage(jObj.getString("msg")); JSONObject tmpuser = jObj.getJSONObject("user"); - session.addUser(jObj.getString("uid"), tmpuser.getString("username"), tmpuser.getString("name"), tmpuser.getString("surname"), tmpuser.getString("email"), tmpuser.getString("status"), user.get("providerType"), tmpuser.getString("created_at"), tmpuser.getString("updated_at"), tmpuser.getString("lastlogin_at"), tmpuser.getString("token")); + session.addUser(jObj.getString("id"), tmpuser.getString("username"), tmpuser.getString("name"), tmpuser.getString("surname"), tmpuser.getString("email"), tmpuser.getString("status"), user.get("providerType"), tmpuser.getString("created_at"), tmpuser.getString("updated_at"), tmpuser.getString("lastlogin_at"), tmpuser.getString("token")); finish(); startActivity(getIntent()); } else { @@ -204,7 +229,7 @@ public class SettingsActivity extends BaseActivity { params.put("surname", txtSurname.getText().toString()); params.put("email", txtEmail.getText().toString()); params.put("providerType", user.get("providerType")); - params.put("password", txtPassword.getText().toString()); + params.put("password", value); return params; } diff --git a/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java b/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java index 5b2507e..02d4620 100644 --- a/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java @@ -1,6 +1,7 @@ package org.deke.risk.riskahead; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.location.Address; @@ -9,7 +10,6 @@ import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.EditText; -import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; @@ -38,7 +38,16 @@ public class ViewReportActivity extends BaseActivity { private EditText txtIncidentCategory; private EditText txtIncidentSubCategory; - private TextView txtPosition; + private EditText txtPosition; + private EditText txtSuspect; + private EditText txtWeapons; + private EditText txtNumOfSuspects; + private EditText txtVictim; + private EditText txtVictimOrigin; + private EditText txtSuspectTransport; + private EditText txtVictimAffiliation; + private EditText txtSuspectRecognition; + private BootstrapLabel scorelabel; private IncidentReport incident; @@ -50,8 +59,16 @@ public class ViewReportActivity extends BaseActivity { txtIncidentCategory = (EditText) findViewById(R.id.txt_viewreport_incidentcategory); txtIncidentSubCategory = (EditText) findViewById(R.id.txt_viewreport_incidentsubcategory); - txtPosition = (TextView) findViewById(R.id.txt_viewreport_position); + txtPosition = (EditText) findViewById(R.id.txt_viewreport_position); scorelabel = (BootstrapLabel) findViewById(R.id.txt_viewreport_points); + txtSuspect = (EditText) findViewById(R.id.txt_viewreport_suspect); + txtWeapons = (EditText) findViewById(R.id.txt_viewreport_suspectweapon); + txtNumOfSuspects = (EditText) findViewById(R.id.txt_viewreport_suspectcount); + txtVictim = (EditText) findViewById(R.id.txt_viewreport_victim); + txtVictimOrigin = (EditText) findViewById(R.id.txt_viewreport_victimorigin); + txtSuspectTransport = (EditText) findViewById(R.id.txt_viewreport_suspecttransport); + txtVictimAffiliation = (EditText) findViewById(R.id.txt_viewreport_victimaff); + txtSuspectRecognition = (EditText) findViewById(R.id.txt_viewreport_suspectrecon); Intent intent = getIntent(); final Integer id = intent.getIntExtra(BaseActivity.EXTRA_MESSAGE, 0); @@ -223,9 +240,19 @@ public class ViewReportActivity extends BaseActivity { } private void initReport(IncidentReport incident) { + Context tmpContext = getApplicationContext(); + scorelabel.setText(Integer.toString(incident.getVotedScore())); - txtIncidentCategory.setText(incident.getIncidentCategoryName(getApplicationContext())); - txtIncidentSubCategory.setText(incident.getIncidentSubCategoryName(getApplicationContext())); + txtIncidentCategory.setText(incident.getIncidentCategoryName(tmpContext)); + txtIncidentSubCategory.setText(incident.getIncidentSubCategoryName(tmpContext)); + txtSuspect.setText(incident.getSuspectString(tmpContext)); + txtWeapons.setText(incident.getSuspectWeaponsString(tmpContext)); + txtNumOfSuspects.setText(incident.getSuspectNoOfString(tmpContext)); + txtVictim.setText(incident.getVictimString(tmpContext)); + txtVictimOrigin.setText(incident.getVictimOriginString(tmpContext)); + txtSuspectTransport.setText(incident.getSuspectTransportString(tmpContext)); + txtVictimAffiliation.setText(incident.getVictimAffiliationString(tmpContext)); + txtSuspectRecognition.setText(incident.getSuspectRecognitionString(tmpContext)); this.incident = incident; @@ -259,8 +286,8 @@ public class ViewReportActivity extends BaseActivity { } }); - String test = user.get(SessionManager.KEY_UID); - if(incident.getFidFromUser() != Integer.valueOf(test)){ + String uid = user.get(SessionManager.KEY_UID); + if(incident.getFidFromUser() != Integer.valueOf(uid)){ findViewById(R.id.layoutFooter).setVisibility(View.GONE); } } diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_7_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_7_Fragment.java index b82540f..4e75f1b 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_7_Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_7_Fragment.java @@ -85,7 +85,7 @@ public class ReportWF_7_Fragment extends Fragment { } if (position > 0) { - incident.setFidVictimCategory(position); + incident.setFidVictimOriginCategory(position); } checkIfFinished(); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_8_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_8_Fragment.java index 56cfda8..e3017e4 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_8_Fragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_8_Fragment.java @@ -72,7 +72,7 @@ public class ReportWF_8_Fragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { - viewFragment = inflater.inflate(R.layout.fragment_reportwf_7, container, false); + viewFragment = inflater.inflate(R.layout.fragment_reportwf_8, container, false); initSuspectVehicleInputElements(); setSuspectVehicleMainSpinnerValues(R.array.cat_details_vehicle); diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_Finish_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_Finish_Fragment.java new file mode 100644 index 0000000..7b857e7 --- /dev/null +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_Finish_Fragment.java @@ -0,0 +1,60 @@ +package org.deke.risk.riskahead.fragment; + + +import android.content.Context; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; + +import org.deke.risk.riskahead.R; + +/** + * A simple {@link Fragment} subclass. + */ +public class ReportWF_Finish_Fragment extends Fragment { + + private View viewFragment; + private SendReportListener mCallback; + private Button btnSendReport; + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { + viewFragment = inflater.inflate(R.layout.fragment_reportwf_finish, container, false); + + btnSendReport = (Button) viewFragment.findViewById(R.id.btn_reportwf_finish_send); + btnSendReport.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mCallback.sendReport(); + } + }); + + return viewFragment; + } + + public interface SendReportListener { + void sendReport(); + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + + try { + mCallback = (SendReportListener) context; + } catch (ClassCastException e) { + throw new ClassCastException(context.toString() + + " must implement SendReportListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + } + + +} diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java index 6e76ac4..021ef2f 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/BaseActivity.java @@ -417,11 +417,6 @@ public abstract class BaseActivity extends AppCompatActivity { protected abstract String getActivityName(); - - private boolean isEmpty(EditText etText) { - return etText.getText().toString().trim().length() == 0; - } - public void showDialog() { if (!pDialog.isShowing()) pDialog.show(); diff --git a/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java b/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java index 83572a3..ae77e9e 100644 --- a/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java +++ b/app/src/main/java/org/deke/risk/riskahead/helper/IncidentReport.java @@ -222,30 +222,7 @@ public class IncidentReport implements ClusterItem { fromDate = ""; } - @Override - public LatLng getPosition() { - return this.incidentPosition; - } - public void setPosition(LatLng position) { - this.incidentPosition = position; - } - - public String getFromUsername() { - return fromUsername; - } - - public void setFromUsername(String fromUsername) { - this.fromUsername = fromUsername; - } - - public int getFidIncidentCategory() { - return fidIncidentCategory; - } - - public void setFidIncidentCategory(int fidIncidentCategory) { - this.fidIncidentCategory = fidIncidentCategory; - } public int getId() { return id; @@ -289,7 +266,7 @@ public class IncidentReport implements ClusterItem { switch (this.fidTimeCategory){ case 1: if((this.fromDate != null) && !(this.fromDate.equals("0000-00-00"))){ - returnString = this.fromDate+" "+this.fromTime; + returnString = this.fromDate+" "+this.fromTime.substring(0,5); }else{ returnString = context.getResources().getStringArray(R.array.cat_time_main)[this.fidTimeCategory-1]; } @@ -299,14 +276,14 @@ public class IncidentReport implements ClusterItem { break; case 3: if((this.fromTime != null) && !(this.fromTime.equals("00:00:00"))){ - returnString = this.fromDate+" "+this.fromTime; + returnString = this.fromDate+" "+this.fromTime.substring(0,5); }else{ returnString = this.fromDate; } break; case 4: if((this.fromTime != null) && !(this.fromTime.equals("00:00")) && (this.toTime != null) && !(this.toTime.equals("00:00"))){ - returnString = this.fromDate+" "+this.fromTime+" -> "+this.toDate+" "+this.toTime; + returnString = this.fromDate+" "+this.fromTime.substring(0,5)+" -> "+this.toDate+" "+this.toTime.substring(0,5); }else{ returnString = this.fromDate+" -> "+this.toDate; } @@ -324,7 +301,14 @@ public class IncidentReport implements ClusterItem { }else{ return ""; } + } + public String getVictimString(Context context){ + if(this.fidVictimCategory > 0){ + return context.getResources().getStringArray(R.array.cat_victim)[this.fidVictimCategory-1]; + }else{ + return ""; + } } public int getCategoryColor(){ @@ -352,6 +336,91 @@ public class IncidentReport implements ClusterItem { return Color.parseColor("#" + color); } + public String getSuspectWeaponsString(Context context) { + String returnValue = ""; + + if(fidSuspectWeaponCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_suspect_weapons)[fidSuspectWeaponCategory-1]; + if(!etcSuspectWeaponCategory.equals("")) returnValue += "\n"+etcSuspectWeaponCategory; + + return returnValue; + } + + public String getSuspectNoOfString(Context context) { + String returnValue = ""; + + if(fidSuspectCountCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_suspect_count)[fidSuspectCountCategory-1]; + if(!etcSuspectCountCategory.equals("")) returnValue += "\n"+etcSuspectCountCategory; + + return returnValue; + } + + public String getVictimOriginString(Context context) { + String returnValue = ""; + + if(fidVictimOriginCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_victim_origin)[fidVictimOriginCategory-1]; + if(!etcVictimOriginCategory.equals("")) returnValue += "\n"+etcVictimOriginCategory; + + return returnValue; + } + + public String getSuspectTransportString(Context context) { + String returnValue = ""; + + if(fidSuspectTransportationCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_details_vehicle)[fidSuspectTransportationCategory-1]; + if(!etcSuspectTransportationCategory.equals("")) returnValue += "\n"+etcSuspectTransportationCategory; + + return returnValue; + } + + public String getVictimAffiliationString(Context context) { + String returnValue = ""; + + if(fidVictimBelongingCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_details_victimaff)[fidVictimBelongingCategory-1]; + if(!etcVictimBelongingCategory.equals("")) returnValue += "\n"+etcVictimBelongingCategory; + + return returnValue; + } + + public String getSuspectRecognitionString(Context context) { + String returnValue = ""; + + if(fidSuspectCharacteristicsCategory != 0) returnValue = context.getResources().getStringArray(R.array.cat_details_suspect_recon)[fidSuspectCharacteristicsCategory-1]; + if(!etcSuspectCharacteristicsCategory.equals("")) returnValue += "\n"+etcSuspectCharacteristicsCategory; + + return returnValue; + } + + + + /* + Simple Getters and Setter below + */ + + public void setPosition(LatLng position) { + this.incidentPosition = position; + } + + public String getFromUsername() { + return fromUsername; + } + + public void setFromUsername(String fromUsername) { + this.fromUsername = fromUsername; + } + + public int getFidIncidentCategory() { + return fidIncidentCategory; + } + + public void setFidIncidentCategory(int fidIncidentCategory) { + this.fidIncidentCategory = fidIncidentCategory; + } + + @Override + public LatLng getPosition() { + return this.incidentPosition; + } + public int getVotedScore(){ return this.votedScore; } @@ -607,4 +676,7 @@ public class IncidentReport implements ClusterItem { public void setIncidentPositionDescription(String incidentPositionDescription) { this.incidentPositionDescription = incidentPositionDescription; } + + + } diff --git a/app/src/main/res/drawable/fragment_reportwf_finish_button.xml b/app/src/main/res/drawable/fragment_reportwf_finish_button.xml new file mode 100644 index 0000000..c268ba2 --- /dev/null +++ b/app/src/main/res/drawable/fragment_reportwf_finish_button.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_report_wf.xml b/app/src/main/res/layout/activity_report_wf.xml index b9bc853..7d44cac 100644 --- a/app/src/main/res/layout/activity_report_wf.xml +++ b/app/src/main/res/layout/activity_report_wf.xml @@ -62,6 +62,16 @@ + + + android:layout_below="@+id/til_settings_name"> @@ -86,7 +83,7 @@ android:id="@+id/til_settings_email" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_below="@+id/til_settings_name"> + android:layout_below="@+id/til_settings_surname"> - - diff --git a/app/src/main/res/layout/activity_view_report.xml b/app/src/main/res/layout/activity_view_report.xml index 66afda0..4e40bdb 100644 --- a/app/src/main/res/layout/activity_view_report.xml +++ b/app/src/main/res/layout/activity_view_report.xml @@ -23,19 +23,23 @@ android:layout_height="match_parent" android:orientation="vertical"> - + android:layout_weight="1"> + + + android:layout_marginRight="45dp" + android:layout_weight="1"> - - - - + android:layout_below="@+id/til_viewreport_incidentsubcategory"> + - + + + android:layout_below="@+id/til_viewreport_incidentposition"> + - + + + android:layout_below="@+id/til_viewreport_time"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -141,8 +262,17 @@ bootstrap:fontAwesomeIcon="fa_angle_down" /> - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_reportwf_1.xml b/app/src/main/res/layout/fragment_reportwf_1.xml index fc44acb..a6d7d7a 100644 --- a/app/src/main/res/layout/fragment_reportwf_1.xml +++ b/app/src/main/res/layout/fragment_reportwf_1.xml @@ -91,7 +91,8 @@ android:id="@+id/lbl_reportwf_position_detail" android:layout_below="@+id/lbl_reportwf_1_question_2" android:layout_centerInParent="true" - android:layout_marginLeft="20dp" /> + android:layout_marginLeft="20dp" + android:layout_marginBottom="50dp"/> diff --git a/app/src/main/res/layout/fragment_reportwf_7.xml b/app/src/main/res/layout/fragment_reportwf_7.xml index 1e3c411..9f3148a 100644 --- a/app/src/main/res/layout/fragment_reportwf_7.xml +++ b/app/src/main/res/layout/fragment_reportwf_7.xml @@ -28,8 +28,9 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" + android:gravity="center" android:layout_margin="20dp" - android:text="@string/lbl_question_count" + android:text="@string/lbl_question_victimorigin" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/bg_common" /> diff --git a/app/src/main/res/layout/fragment_reportwf_8.xml b/app/src/main/res/layout/fragment_reportwf_8.xml index bf9c376..6b870e1 100644 --- a/app/src/main/res/layout/fragment_reportwf_8.xml +++ b/app/src/main/res/layout/fragment_reportwf_8.xml @@ -39,7 +39,7 @@ android:layout_height="wrap_content" android:layout_margin="20dp" android:text="@string/lbl_question_etc_vehicle" - android:textAppearance="?android:attr/textAppearanceLarge" + android:textAppearance="?android:attr/textAppearanceMedium" android:textColor="@color/bg_common" /> - + android:layout_gravity="center_horizontal" + android:layout_marginBottom="80dp"/> diff --git a/app/src/main/res/layout/fragment_reportwf_finish.xml b/app/src/main/res/layout/fragment_reportwf_finish.xml new file mode 100644 index 0000000..99f18ae --- /dev/null +++ b/app/src/main/res/layout/fragment_reportwf_finish.xml @@ -0,0 +1,83 @@ + + + + + + + + + + + + + + +