DT @03.01.2016: Finished ViewReport Activity and worked on SettingsActivity

This commit is contained in:
Dennis Thießen
2016-01-03 21:13:12 +01:00
parent 014daab5c3
commit 2bec883a46
21 changed files with 631 additions and 174 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@@ -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;
}

View File

@@ -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();
}
}

View File

@@ -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<String>() {
@@ -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;
}

View File

@@ -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);
}
}

View File

@@ -85,7 +85,7 @@ public class ReportWF_7_Fragment extends Fragment {
}
if (position > 0) {
incident.setFidVictimCategory(position);
incident.setFidVictimOriginCategory(position);
}
checkIfFinished();

View File

@@ -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);

View File

@@ -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();
}
}

View File

@@ -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();

View File

@@ -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;
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/btn_report" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_report_pressed" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_report_pressed" />
<item android:drawable="@drawable/btn_report" />
</selector>

View File

@@ -62,6 +62,16 @@
</LinearLayout>
<TextView
android:id="@+id/lbl_reportwf_site"
android:text="1/1"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_margin="5dp"
android:textColor="@color/bg_common" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_reportwf_map"
android:layout_width="wrap_content"

View File

@@ -49,33 +49,30 @@
<android.support.design.widget.TextInputLayout
android:id="@+id/til_settings_name"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_settings_username">
<EditText
android:id="@+id/txt_settings_name"
android:hint="@string/lbl_settings_name"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="8"
/>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_settings_surname"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/til_settings_name"
android:layout_below="@+id/til_settings_username">
android:layout_below="@+id/til_settings_name">
<EditText
android:id="@+id/txt_settings_surname"
android:hint="@string/lbl_settings_surname"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="8"
android:layout_alignBottom="@+id/til_settings_name"
android:layout_toRightOf="@+id/til_settings_name"
android:layout_toEndOf="@+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">
<EditText
android:id="@+id/txt_settings_email"
@@ -104,24 +101,16 @@
android:layout_height="wrap_content"
android:layout_below="@+id/til_settings_email">
<EditText
android:id="@+id/txt_settings_password"
android:hint="@string/lbl_settings_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="8" />
</android.support.design.widget.TextInputLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_settings_req_password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
bootstrap:bootstrapText="@string/btn_settings_req_password"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true"
android:layout_alignBottom="@+id/til_settings_password"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

View File

@@ -23,19 +23,23 @@
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="horizontal">
android:layout_weight="1">
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/svlayoutContent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/layoutContent"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="10dp"
android:layout_weight="1"
android:orientation="vertical">
android:layout_marginRight="45dp"
android:layout_weight="1">
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_incidentcategory"
@@ -66,49 +70,166 @@
</android.support.design.widget.TextInputLayout>
<TextView
android:id="@+id/lbl_viewreport_position"
android:text="@string/lbl_report_position"
android:layout_width="wrap_content"
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_incidentposition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_below="@+id/til_viewreport_incidentsubcategory" />
android:layout_below="@+id/til_viewreport_incidentsubcategory">
<EditText
android:id="@+id/txt_viewreport_position"
android:hint="@string/lbl_report_position"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_viewreport_position"
android:layout_marginTop="3dp"
bootstrap:bootstrapText="@string/btn_report_position"
android:layout_below="@+id/lbl_viewreport_position"
android:layout_width="wrap_content"
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true"
bootstrap:bootstrapSize="lg"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
android:layout_below="@+id/til_viewreport_incidentposition">
<EditText
android:id="@+id/txt_viewreport_time"
android:hint="@string/lbl_viewreport_time"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txt_viewreport_position"
android:layout_width="wrap_content"
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_suspect"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="31dp"
android:layout_alignBaseline="@+id/btn_viewreport_position"
android:layout_alignBottom="@+id/btn_viewreport_position"
android:layout_toRightOf="@+id/lbl_viewreport_position"
android:layout_toEndOf="@+id/lbl_viewreport_position"
android:layout_marginStart="31dp" />
android:layout_below="@+id/til_viewreport_time">
<EditText
android:id="@+id/txt_viewreport_suspect"
android:hint="@string/lbl_viewreport_suspect"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_suspectweapon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_suspect">
<EditText
android:id="@+id/txt_viewreport_suspectweapon"
android:hint="@string/lbl_viewreport_suspectweapon"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_suspectcount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_suspectweapon">
<EditText
android:id="@+id/txt_viewreport_suspectcount"
android:hint="@string/lbl_viewreport_suspectcount"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_victim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_suspectcount">
<EditText
android:id="@+id/txt_viewreport_victim"
android:hint="@string/lbl_viewreport_victim"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_victimorigin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_victim">
<EditText
android:id="@+id/txt_viewreport_victimorigin"
android:hint="@string/lbl_viewreport_victimorigin"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_suspecttransport"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_victimorigin">
<EditText
android:id="@+id/txt_viewreport_suspecttransport"
android:hint="@string/lbl_viewreport_suspecttransport"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_victimaff"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_suspecttransport">
<EditText
android:id="@+id/txt_viewreport_victimaff"
android:hint="@string/lbl_viewreport_victimaff"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/til_viewreport_suspectrecon"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/til_viewreport_victimaff">
<EditText
android:id="@+id/txt_viewreport_suspectrecon"
android:hint="@string/lbl_viewreport_suspectrecon"
android:enabled="false"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
</ScrollView>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:padding="5dp"
android:orientation="vertical"
android:layout_weight="1"
android:layout_alignRight="@+id/svlayoutContent"
android:gravity="center"
android:background="#8a98b5c6">
@@ -141,8 +262,17 @@
bootstrap:fontAwesomeIcon="fa_angle_down" />
</RelativeLayout>
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/btn_viewreport_position"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:clickable="true"
android:src="@android:drawable/ic_dialog_map" />
</RelativeLayout>
<LinearLayout
android:id="@+id/layoutFooter"
@@ -168,4 +298,5 @@
</LinearLayout>
</RelativeLayout>

View File

@@ -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"/>
</RelativeLayout>

View File

@@ -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" />

View File

@@ -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" />
<Spinner
@@ -76,7 +76,7 @@
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="@string/lbl_question_etc_victimaff"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/bg_common" />
<Spinner
@@ -113,7 +113,7 @@
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="@string/lbl_question_etc_recon"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/bg_common" />
<Spinner
@@ -150,17 +150,17 @@
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:text="@string/lbl_question_etc_etc"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@color/bg_common" />
<EditText
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:hint="@string/cat_hint"
android:id="@+id/txt_reportwf_8_etc"
android:layout_gravity="center_horizontal" />
android:layout_gravity="center_horizontal"
android:layout_marginBottom="80dp"/>
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,83 @@
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/layout_bg_gradient"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layoutMainContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:orientation="vertical">
<TextView
android:id="@+id/lbl_reportwf_final"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_margin="20dp"
android:text="Du hast alles ausgefüllt!"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/bg_common" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutMainContent2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:textAlignment="center"
android:gravity="center"
android:orientation="vertical"
android:layout_weight="1">
<Button
android:id="@+id/btn_reportwf_finish_send"
style="?android:attr/borderlessButtonStyle"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/fragment_reportwf_finish_button"
android:text="Abschicken!"
android:textColor="@color/white" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutMainContent3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:textAlignment="center"
android:orientation="vertical">
<TextView
android:id="@+id/lbl_reportwf_final_thanks"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textAlignment="center"
android:gravity="center"
android:layout_margin="20dp"
android:text="Wir danken dir für deine Unterstützung!"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/bg_common"
android:layout_weight="1" />
</LinearLayout>
</LinearLayout>
</ScrollView>

View File

@@ -44,13 +44,15 @@
<TextView
android:layout_width="180dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:typeface="serif"
android:textColor="#b9000000"
android:text="Loading subcategory..."
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:id="@+id/txt_infowindow_subcategory"
android:singleLine="true"
android:ellipsize="marquee"
@@ -62,8 +64,12 @@
android:textColor="#b9000000"
android:text="Loading subject..."
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:id="@+id/txt_infowindow_subject"
android:typeface="serif" />
android:typeface="serif"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"/>
<TextView
android:layout_width="match_parent"
@@ -71,7 +77,11 @@
android:textColor="#b9000000"
android:text="Loading victim..."
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:id="@+id/txt_infowindow_victim"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:typeface="serif" />
<TextView
@@ -80,8 +90,12 @@
android:textColor="#b9000000"
android:text="Loading time..."
android:paddingLeft="5dp"
android:paddingRight="10dp"
android:paddingBottom="10dp"
android:id="@+id/txt_infowindow_time"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:typeface="serif" />
<LinearLayout
@@ -100,22 +114,30 @@
android:id="@+id/txt_infowindow_fromuser"
android:typeface="serif" />
<TextView
<LinearLayout
android:orientation="horizontal"
android:id="@+id/lay_infowindow_3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#b9000000"
android:text="Loading points..."
android:id="@+id/txt_infowindow_points"
android:typeface="serif" />
android:layout_height="match_parent">
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb_infowindow_rating"
style="?android:attr/ratingBarStyleSmall"
android:stepSize="0.5"
android:numStars="5"
android:rating="0" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:textColor="#b9000000"
android:text="@string/lbl_mapsinfowindow_score"
android:id="@+id/txt_infowindow_lblrating"
android:typeface="serif" />
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb_infowindow_rating"
style="?android:attr/ratingBarStyleSmall"
android:stepSize="0.5"
android:numStars="5"
android:rating="0" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@@ -17,9 +17,6 @@
<string name="status_signing_in">Signing in...</string>
<string name="status_signing_out">Signing out...</string>
<string name="title_activity_start">RiskAhead</string>
<string name="title_activity_entrance">RiskAhead</string>
<string name="drawer_open">Open navigation drawer</string>
<string name="drawer_close">Close navigation drawer</string>
@@ -28,6 +25,8 @@
<string name="search_hint">Location</string>
<string name="search_settings">Search Settings</string>
<string name="title_activity_start">RiskAhead</string>
<string name="title_activity_entrance">RiskAhead</string>
<string name="title_activity_base">Base</string>
<string name="title_activity_user_config">User Profile</string>
<string name="title_activity_maps">Risk Map</string>
@@ -36,6 +35,7 @@
<string name="title_activity_subscriptions">Subscriptions</string>
<string name="title_activity_view_report">View Report</string>
<string name="title_activity_reportlist">Report List</string>
<string name="title_activity_report_wf">Report Incident</string>
<string name="menu_action_about">About</string>
<string name="menu_action_language">Language</string>
@@ -112,9 +112,13 @@
<string name="errormsg_couldnotretrieve">Could not retrieve data from server. Please check internet connection.</string>
<string name="progress_getdata_text">Please wait...</string>
<string name="progress_getdata_title">Retrieve data from server</string>
<string name="lbl_mapsinfowindow_author">Author</string>
<string name="lbl_mapsinfowindow_score">Score</string>
<string name="title_activity_report_wf">Report NEW</string>
<string name="lbl_mapsinfowindow_author">Author:</string>
<string name="lbl_mapsinfowindow_score">Rating:</string>
<string name="lbl_mapsinfowindow_suspect">Suspect:</string>
<string name="lbl_mapsinfowindow_victim">Victim:</string>
<string name="lbl_mapsinfowindow_time">Time:</string>
<string name="lbl_spinner_choose">Please choose...</string>
<string name="lbl_report_from_date">From date (yyyy-MM-dd)</string>
@@ -138,6 +142,8 @@
<string name="lbl_question_etc_etc">Weiteres?</string>
<string name="cat_hint">Weitere Details...</string>
<string name="hint_place">Bitte wähle zunächst einen Ort auf der Karte aus</string>
<string name="lbl_viewreport_suspect">Suspect</string>
<string name="lbl_viewreport_victim">Victim</string>
<string-array name="cat_situation_main">
<item>Allgemeiner Vorfall/Situation</item>

View File

@@ -113,9 +113,13 @@
<string name="errormsg_couldnotretrieve">Could not retrieve data from server. Please check internet connection.</string>
<string name="progress_getdata_text">Please wait...</string>
<string name="progress_getdata_title">Retrieve data from server</string>
<string name="lbl_mapsinfowindow_author">Author</string>
<string name="lbl_mapsinfowindow_score">Score</string>
<string name="title_activity_report_wf">Report NEW</string>
<string name="title_activity_report_wf">Report Incident</string>
<string name="lbl_mapsinfowindow_author">Author:</string>
<string name="lbl_mapsinfowindow_score">Rating:</string>
<string name="lbl_mapsinfowindow_suspect">Suspect:</string>
<string name="lbl_mapsinfowindow_victim">Victim:</string>
<string name="lbl_mapsinfowindow_time">Time:</string>
<string name="lbl_spinner_choose">Please choose...</string>
<string name="lbl_report_from_date">From date (yyyy-MM-dd)</string>
@@ -140,6 +144,15 @@
<string name="lbl_question_etc_etc">Weiteres?</string>
<string name="cat_hint">Weitere Details...</string>
<string name="hint_place">Bitte wähle zunächst einen Ort auf der Karte aus</string>
<string name="lbl_viewreport_time">Time</string>
<string name="lbl_viewreport_suspect">Suspect</string>
<string name="lbl_viewreport_victim">Victim</string>
<string name="lbl_viewreport_suspectweapon">Weapons</string>
<string name="lbl_viewreport_suspectcount">Quantity</string>
<string name="lbl_viewreport_victimorigin">Origin of victim</string>
<string name="lbl_viewreport_suspecttransport">Vehicle</string>
<string name="lbl_viewreport_victimaff">Victim affiliation</string>
<string name="lbl_viewreport_suspectrecon">Suspect attributes</string>
<string-array name="cat_situation_main">
<item>Allgemeiner Vorfall/Situation</item>
@@ -300,7 +313,5 @@
<item>Sonstiges…</item>
</string-array>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
</resources>