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