diff --git a/app/app-release.apk b/app/app-release.apk
index 61f059a..d20a40e 100644
Binary files a/app/app-release.apk and b/app/app-release.apk differ
diff --git a/app/build.gradle b/app/build.gradle
index f5c710d..ed717ae 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -19,8 +19,8 @@ android {
applicationId "org.deke.risk.riskahead"
minSdkVersion 15
targetSdkVersion 22
- versionCode 5
- versionName "1.4"
+ versionCode 6
+ versionName "1.5"
}
buildTypes {
release {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index ac3a5a2..efe5b91 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -119,6 +119,7 @@
android:screenOrientation="portrait" />
mClusterManager;
@@ -135,7 +137,12 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}
markedLocation = point;
mMarker = mMap.addMarker(new MarkerOptions().position(point));
- mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, DEFAULT_ZOOM_LEVEL));
+ if(current_zoom_level > DEFAULT_ZOOM_LEVEL){
+ mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, current_zoom_level));
+ }else{
+ mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, DEFAULT_ZOOM_LEVEL));
+ }
+
findViewById(R.id.fab_reportwf_map).setVisibility(View.VISIBLE);
if(session.getNotificationPositionRequest()){
@@ -174,6 +181,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
return;
}
+ current_zoom_level = position.zoom;
+
if(position.zoom > 13) {
PRELOAD_PERCENTAGE = 0.7;
}else{
diff --git a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java
index f080f0f..ce19046 100644
--- a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java
@@ -123,46 +123,28 @@ public class SubscriptionsActivity extends BaseActivity{
}
private void syncWithDatabase(ArrayList ownedSkus) {
- boolean itemFound = false;
- if(dbItems.containsKey("extra_functions_01")){
- for(String sku : ownedSkus){
- itemFound = itemFound || sku.equals("extra_functions_01");
- }
+ Log.d(TAG, "sync subs with database...");
- if(itemFound == false){
- deactivateSubscriptions(dbItems.get("extra_functions_01"));
+ ArrayList subs = new ArrayList<>();
+ subs.add("extra_functions_01");
+ subs.add("extra_functions_02");
+ subs.add("no_ads_01");
+ subs.add("no_ads_02");
+
+ for(String sub : subs){
+ boolean itemFound = false;
+ if(dbItems.containsKey("extra_functions_01")){
+ for(String sku : ownedSkus){
+ itemFound = itemFound || sku.equals(sub);
+ }
+
+ if(itemFound == false){
+ Log.d(TAG, "found sub in database which is active but sub already expired: "+sub);
+ deactivateSubscriptions(dbItems.get(sub));
+ }
}
}
- if(dbItems.containsKey("extra_functions_02")){
- for(String sku : ownedSkus){
- itemFound = itemFound || sku.equals("extra_functions_02");
- }
-
- if(itemFound == false){
- deactivateSubscriptions(dbItems.get("extra_functions_02"));
- }
- }
-
- if(dbItems.containsKey("no_ads_01")){
- for(String sku : ownedSkus){
- itemFound = itemFound || sku.equals("no_ads_01");
- }
-
- if(itemFound == false){
- deactivateSubscriptions(dbItems.get("no_ads_01"));
- }
- }
-
- if(dbItems.containsKey("no_ads_02")){
- for(String sku : ownedSkus){
- itemFound = itemFound || sku.equals("no_ads_02");
- }
-
- if(itemFound == false){
- deactivateSubscriptions(dbItems.get("no_ads_02"));
- }
- }
}
@@ -180,7 +162,6 @@ public class SubscriptionsActivity extends BaseActivity{
initPurchaseTable(responseList);
}
-
} catch (RemoteException e) {
e.printStackTrace();
} catch (JSONException e) {
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 4155733..db38d31 100644
--- a/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java
+++ b/app/src/main/java/org/deke/risk/riskahead/ViewReportActivity.java
@@ -64,7 +64,7 @@ public class ViewReportActivity extends BaseActivity {
super.onCreate(savedInstanceState);
userHasToBeLoggedIn();
registerBroadcastReceiver();
-
+
txtIncidentCategory = (EditText) findViewById(R.id.txt_viewreport_incidentcategory);
txtIncidentSubCategory = (EditText) findViewById(R.id.txt_viewreport_incidentsubcategory);
txtPosition = (EditText) findViewById(R.id.txt_viewreport_position);
diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java
index 81ec8fa..14a6dc0 100644
--- a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java
+++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_3_Fragment.java
@@ -27,8 +27,9 @@ public class ReportWF_3_Fragment extends Fragment {
private final static int PARAMILITARY = 4;
private final static int MILITARY = 5;
private final static int TERRORIST = 6;
- private final static int ETC = 7;
- private final static int DONTKNOW = 8;
+ private final static int DONTKNOW = 7;
+ private final static int ETC = 8;
+
private View viewFragment;
@@ -125,7 +126,7 @@ public class ReportWF_3_Fragment extends Fragment {
@Override
public void onItemSelected(AdapterView> parent, View view, int position, long id) {
if ((position < 1) && (incident.getFidSuspectSubCategory() != 0))
- suspectSubCategory.setSelection(incident.getFidTimeSubCategory());
+ suspectSubCategory.setSelection(incident.getFidSuspectSubCategory());
incident.setFidSuspectSubCategory(position);
checkIfFinished();
diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_4_Fragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_4_Fragment.java
index 62eba8e..83f0fd7 100644
--- a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_4_Fragment.java
+++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportWF_4_Fragment.java
@@ -25,8 +25,8 @@ public class ReportWF_4_Fragment extends Fragment {
private final static int FIREARM = 2;
private final static int EXPLOSIONS = 3;
private final static int MIL= 4;
- private final static int ETC = 5;
- private final static int DONTKNOW = 6;
+ private final static int ETC = 6;
+ private final static int DONTKNOW = 5;
private View viewFragment;
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 17e49c7..a0c5820 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
@@ -159,7 +159,7 @@ public class IncidentReport implements ClusterItem {
switch (this.fidIncidentCategory) {
case 1:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_general_w_f;
}else{
@@ -174,7 +174,7 @@ public class IncidentReport implements ClusterItem {
}
break;
case 2:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_verbal_w_f;
}else{
@@ -189,7 +189,7 @@ public class IncidentReport implements ClusterItem {
}
break;
case 3:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_middle_violance_w_f;
}else{
@@ -204,7 +204,7 @@ public class IncidentReport implements ClusterItem {
}
break;
case 4:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_high_violance_w_f;
}else{
@@ -219,7 +219,7 @@ public class IncidentReport implements ClusterItem {
}
break;
case 5:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_nature_w_f;
}else{
@@ -234,7 +234,7 @@ public class IncidentReport implements ClusterItem {
}
break;
case 6:
- if(tmpFromDate != null && tmpFromDate.after(today)){
+ if((this.fidTimeCategory == 2) || (tmpFromDate != null && tmpFromDate.after(today))){
if(fidVictimCategory == 1){
mIcon = R.drawable.icon_infra_v2_w_f;
}else{
@@ -403,10 +403,14 @@ public class IncidentReport implements ClusterItem {
returnValue = "";
}
- if(stringArray != null && (stringArray.length == this.fidIncidentSubCategory)){
+ if(stringArray != null && (stringArray.length == this.fidSuspectCategory)){
returnValue = getEtcSuspectCategory();
}else if(stringArray != null){
- returnValue = stringArray[this.fidIncidentSubCategory-1];
+ returnValue = stringArray[this.fidSuspectCategory-1];
+ }
+
+ if(this.fidSuspectCategory == 4 || this.fidSuspectCategory == 5 || this.fidSuspectCategory == 6) {
+ returnValue += " ("+context.getResources().getStringArray(R.array.cat_suspect_sub_location)[this.fidSuspectSubCategory]+")";
}
return returnValue;
@@ -470,6 +474,10 @@ public class IncidentReport implements ClusterItem {
returnValue = stringArray[this.fidSuspectWeaponCategory-1];
}
+ if(this.fidSuspectWeaponCategory < 5 && this.etcSuspectWeaponCategory.length() > 0) {
+ returnValue += " ( "+this.etcSuspectWeaponCategory+" )";
+ }
+
return returnValue;
}
diff --git a/app/src/main/res/layout/activity_report_wf.xml b/app/src/main/res/layout/activity_report_wf.xml
index 7d44cac..8cf2000 100644
--- a/app/src/main/res/layout/activity_report_wf.xml
+++ b/app/src/main/res/layout/activity_report_wf.xml
@@ -49,8 +49,8 @@
android:layout_height="40dp"
android:layout_weight="1"
android:paddingRight="1dp"
- bootstrap:bootstrapBrand="danger"
- bootstrap:bootstrapText="Report NOW!" />
+ bootstrap:bootstrapBrand="warning"
+ bootstrap:bootstrapText="@string/btn_reportwf_reportnow" />
+ bootstrap:bootstrapText="@string/btn_reportwf_next" />
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 2a84589..1024236 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -141,6 +141,10 @@
neuer Vorfall. Pass auf!
neue Vorfälle. Pass auf!
+ Jetzt melden!
+ Weiter
+ Feedback senden
+
- Allgemeiner Vorfall/Situation
- Mündliche Gewalt
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 525f640..9de6aa5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -145,6 +145,10 @@
new incident near your last location. Watch out!
new incidents near your last location. Watch out!
+ Report NOW!
+ Next
+ Send Feedback
+
- Allgemeiner Vorfall/Situation
- Mündliche Gewalt