DT @25.01.2016: 1.7 release
@@ -19,8 +19,8 @@ android {
|
||||
applicationId "org.deke.risk.riskahead"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 22
|
||||
versionCode 11
|
||||
versionName "1.6.2"
|
||||
versionCode 12
|
||||
versionName "1.7"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
||||
@@ -34,6 +34,7 @@ public class MainActivity extends BaseActivity{
|
||||
private final static String TAG = MainActivity.class.getSimpleName();
|
||||
|
||||
private Handler mHandler = new Handler();
|
||||
private TextView notificationStatus;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@@ -85,6 +86,21 @@ public class MainActivity extends BaseActivity{
|
||||
@Override
|
||||
public void run() {
|
||||
requestNumberOfIncidents();
|
||||
|
||||
notificationStatus = (TextView) findViewById(R.id.lbl_main_notifystatus_status);
|
||||
if(session.getNotificationEnabled()){
|
||||
if(session.getNotificationServiceReady()){
|
||||
notificationStatus.setText(getString(R.string.txt_notifystatus_activated));
|
||||
notificationStatus.setTextColor(getResources().getColor(R.color.md_green_400));
|
||||
}else{
|
||||
notificationStatus.setText(getString(R.string.txt_notifystatus_activatedbutnotready));
|
||||
notificationStatus.setTextColor(getResources().getColor(R.color.md_yellow_400));
|
||||
}
|
||||
}else{
|
||||
notificationStatus.setText(getString(R.string.txt_notifystatus_deactivated));
|
||||
notificationStatus.setTextColor(getResources().getColor(R.color.md_red_400));
|
||||
}
|
||||
|
||||
mHandler.postDelayed(mHandlerTask, AppConfig.UPDATE_COUNT_INTERVAL);
|
||||
}
|
||||
};
|
||||
@@ -95,7 +111,6 @@ public class MainActivity extends BaseActivity{
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
|
||||
private StringRequest getStringRequestIncidentCount() {
|
||||
return new StringRequest(Request.Method.POST, AppConfig.URL_DEFAULT, new Response.Listener<String>() {
|
||||
|
||||
|
||||
@@ -93,6 +93,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
private LatLng curSouthwestBounds;
|
||||
|
||||
private boolean markersShown = false;
|
||||
private boolean showAdd = true;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@@ -108,6 +109,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
MIN_ZOOM_LEVEL = 9;
|
||||
}
|
||||
|
||||
showAdd = true;
|
||||
|
||||
MapFragment mapFragment = (MapFragment) getFragmentManager()
|
||||
.findFragmentById(R.id.frag_maps_map);
|
||||
mapFragment.getMapAsync(this);
|
||||
@@ -158,7 +161,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
if (getIntent().hasExtra(AppConfig.EXTRA_MAP_TYPE)) {
|
||||
if (getIntent().getStringExtra(AppConfig.EXTRA_MAP_TYPE).equals(AppConfig.INTENT_MAP_GETINCLOC)) {
|
||||
addButton.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.md_green_400)));
|
||||
|
||||
showAdd = false;
|
||||
Drawable identityIcon = new IconicsDrawable(getApplicationContext())
|
||||
.icon(GoogleMaterial.Icon.gmd_done)
|
||||
.color(ContextCompat.getColor(getApplicationContext(), R.color.white))
|
||||
@@ -174,7 +177,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
});
|
||||
} else if (getIntent().getStringExtra(AppConfig.EXTRA_MAP_TYPE).equals(AppConfig.INTENT_MAP_GETNOTIFY)) {
|
||||
addButton.setBackgroundTintList(ColorStateList.valueOf(ContextCompat.getColor(getApplicationContext(), R.color.md_green_400)));
|
||||
|
||||
showAdd = false;
|
||||
Drawable identityIcon = new IconicsDrawable(getApplicationContext())
|
||||
.icon(GoogleMaterial.Icon.gmd_done)
|
||||
.color(ContextCompat.getColor(getApplicationContext(), R.color.white))
|
||||
@@ -205,9 +208,9 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
{
|
||||
mClusterManager.onCameraChange(position);
|
||||
|
||||
if(position.zoom < MIN_ZOOM_LEVEL) {
|
||||
if((position.zoom < MIN_ZOOM_LEVEL) && !session.getSubsPremium()) {
|
||||
mMap.animateCamera(CameraUpdateFactory.zoomTo(MIN_ZOOM_LEVEL));
|
||||
showMessage("Get Premiuim to view the Full Map!");
|
||||
showMessage(getString(R.string.txt_map_zoomoutpremium));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -594,7 +597,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(point, DEFAULT_ZOOM_LEVEL));
|
||||
if(getIntent().hasExtra(AppConfig.EXTRA_MAP_TYPE)) mMarker = mMap.addMarker(new MarkerOptions().position(point));
|
||||
} else {
|
||||
myPosition = session.getLocation();
|
||||
LatLng myPosition = session.getLocation();
|
||||
|
||||
if ((myPosition != null) && (myPosition.latitude != 0.0) && (myPosition.longitude != 0.0))
|
||||
{
|
||||
@@ -715,8 +718,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
@Override
|
||||
protected void onPause(){
|
||||
super.onPause();
|
||||
if(showAdd) showAd();
|
||||
|
||||
showAd();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -121,7 +121,13 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
|
||||
private void syncWithDatabase(ArrayList<String> ownedSkus) {
|
||||
Log.d(TAG, "Sync subs with database...");
|
||||
Log.d(TAG, "Database shows following active subs: "+dbItems.toString());
|
||||
|
||||
if(dbItems != null){
|
||||
Log.d(TAG, "Database shows following active subs: "+dbItems.toString());
|
||||
}else{
|
||||
Log.d(TAG, "No active subs in Database");
|
||||
}
|
||||
|
||||
|
||||
ArrayList<String> subs = new ArrayList<>();
|
||||
subs.add("extra_functions_01");
|
||||
@@ -130,10 +136,9 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
subs.add("no_ads_02");
|
||||
|
||||
for(String sub : subs){
|
||||
|
||||
boolean itemFound = false;
|
||||
|
||||
if(dbItems.containsKey(sub)){
|
||||
if(dbItems != null && dbItems.containsKey(sub)){
|
||||
for(String sku : ownedSkus){
|
||||
itemFound = itemFound || sku.equals(sub);
|
||||
}
|
||||
@@ -145,8 +150,14 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
for(String sku : ownedSkus){
|
||||
if(dbItems != null && dbItems.containsKey(sku)){
|
||||
// everything in sync
|
||||
}else{
|
||||
Log.d(TAG, "Subscription "+sku+" not found in DB, add subscription!");
|
||||
addSubscription(sku, "subs", "0", "0");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void initBillingOptions() {
|
||||
@@ -332,22 +343,24 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
try {
|
||||
JSONObject jObj = new JSONObject(response);
|
||||
boolean error = jObj.getBoolean("error");
|
||||
dbItems = new HashMap<>();
|
||||
|
||||
if (error) {
|
||||
String errorMsg = jObj.getString("error_msg");
|
||||
Log.e(TAG, "Error getting subscription (Server returned error): " + errorMsg);
|
||||
Log.d(TAG, "Error getting subscription (Server returned error): " + errorMsg);
|
||||
dbItems = null;
|
||||
|
||||
}else{
|
||||
JSONArray subs = jObj.getJSONArray("msg");
|
||||
Log.d(TAG,"SUB FROM DB RECEIVED");
|
||||
Log.d(TAG, "SUB FROM DB RECEIVED");
|
||||
|
||||
for(int i = 0;i < subs.length();i++){
|
||||
dbItems.put(subs.getJSONObject(i).getString("productId"),subs.getJSONObject(i).getString("id"));
|
||||
}
|
||||
|
||||
syncWithDatabase(ownedSkus);
|
||||
}
|
||||
|
||||
syncWithDatabase(ownedSkus);
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
@@ -105,17 +105,17 @@ public class ProfileStatisticsFragment extends Fragment {
|
||||
if(jSubs.getJSONObject(i).getString("productId").contains("no_ads")){
|
||||
btnMembershipType.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);
|
||||
btnMembershipType.setText(getResources().getString(R.string.lbl_membershiptype_addfree));
|
||||
((ProfileActivity) getActivity()).session.setSubsPremium(true);
|
||||
((ProfileActivity) getActivity()).session.setSubsNoAds(true);
|
||||
}else{
|
||||
((ProfileActivity) getActivity()).session.setSubsPremium(false);
|
||||
((ProfileActivity) getActivity()).session.setSubsNoAds(false);
|
||||
}
|
||||
|
||||
if(jSubs.getJSONObject(i).getString("productId").contains("extra_functions")){
|
||||
btnMembershipType.setBootstrapBrand(DefaultBootstrapBrand.WARNING);
|
||||
btnMembershipType.setText(getResources().getString(R.string.lbl_membershiptype_premium));
|
||||
((ProfileActivity) getActivity()).session.setSubsNoAds(true);
|
||||
((ProfileActivity) getActivity()).session.setSubsPremium(true);
|
||||
}else{
|
||||
((ProfileActivity) getActivity()).session.setSubsNoAds(false);
|
||||
((ProfileActivity) getActivity()).session.setSubsPremium(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +130,8 @@ public class SettingsFragment extends PreferenceFragment {
|
||||
prefGPSENabled.setEnabled(false);
|
||||
prefLocation.setEnabled(false);
|
||||
|
||||
session.setGPSForNotificationsEnabled(true);
|
||||
|
||||
prefGPSENabled.setTitle(prefGPSENabled.getTitle() + " " + getResources().getString(R.string.txt_premium_only));
|
||||
prefLocation.setTitle(prefLocation.getTitle() + " " + getResources().getString(R.string.txt_premium_only));
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ public class AppRater {
|
||||
alert.setTitle(R.string.txt_rate_title);
|
||||
alert.setMessage(R.string.txt_rate_message);
|
||||
|
||||
alert.setIcon(R.drawable.logo_512w);
|
||||
alert.setIcon(R.drawable.logo_380);
|
||||
alert.setCancelable(true);
|
||||
alert.setPositiveButton(R.string.txt_rate_retenowbtn,
|
||||
new DialogInterface.OnClickListener() {
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
package org.deke.risk.riskahead.helper;
|
||||
|
||||
import android.app.ActionBar;
|
||||
import android.app.ActivityManager;
|
||||
import android.app.AlarmManager;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.app.PendingIntent;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.location.Location;
|
||||
import android.location.LocationListener;
|
||||
import android.location.LocationManager;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.net.Uri;
|
||||
@@ -91,9 +86,6 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
public Drawer navDrawer = null;
|
||||
public Toolbar mToolbar;
|
||||
|
||||
public LocationManager locationManager;
|
||||
public LatLng myPosition;
|
||||
|
||||
private static final int TIME_INTERVAL = 2000; // # milliseconds, desired time passed between two back presses.
|
||||
private long mBackPressed;
|
||||
|
||||
@@ -125,11 +117,6 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
setSupportActionBar(mToolbar);
|
||||
initNavigationDrawer(savedInstanceState);
|
||||
|
||||
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
LocationListener locationListener = new MyLocationListener();
|
||||
locationManager.requestLocationUpdates(
|
||||
LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
|
||||
|
||||
overridePendingTransition(R.anim.fade_in_anim, R.anim.fade_out_anim);
|
||||
|
||||
if(!isMyNotificationServiceRunning()){
|
||||
@@ -169,41 +156,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
}, intentFilter);
|
||||
}
|
||||
|
||||
private class MyLocationListener implements LocationListener {
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location loc) {
|
||||
String longitude = "Longitude: " + loc.getLongitude();
|
||||
Log.v(TAG, longitude);
|
||||
String latitude = "Latitude: " + loc.getLatitude();
|
||||
Log.v(TAG, latitude);
|
||||
|
||||
if(session.isGPSForNotificationsEnabled()) {
|
||||
Log.d(TAG,"Save GPS as new location...");
|
||||
session.setLocation(Double.doubleToRawLongBits(loc.getLatitude()), Double.doubleToRawLongBits(loc.getLongitude()));
|
||||
}else{
|
||||
Log.d(TAG,"Don't Save GPS as new location because GPS for notifications is disabled...");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderDisabled(String provider) {}
|
||||
|
||||
@Override
|
||||
public void onProviderEnabled(String provider) {}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(String provider, int status, Bundle extras) {}
|
||||
}
|
||||
|
||||
private void initProgressDialog() {
|
||||
/*
|
||||
pDialog = new ProgressDialog(this);
|
||||
pDialog = new ProgressDialog(this);
|
||||
pDialog.setCancelable(false);
|
||||
pDialog.setTitle(getString(R.string.progress_getdata_title));
|
||||
pDialog.setMessage(getString(R.string.progress_getdata_text));*/
|
||||
|
||||
pDialog = new Dialog(this);
|
||||
pDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
pDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
|
||||
@@ -262,9 +215,9 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
AccountHeader headerResult = new AccountHeaderBuilder()
|
||||
.withActivity(this)
|
||||
.withHeaderBackground(R.drawable.header)
|
||||
.withHeaderBackground(R.drawable.header2)
|
||||
.addProfiles(
|
||||
new ProfileDrawerItem().withName(user.get("username")).withEmail(user.get("email")).withIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.logo_riskahead))
|
||||
new ProfileDrawerItem().withName(user.get("username")).withEmail(user.get("email")).withIcon(ContextCompat.getDrawable(getApplicationContext(), R.drawable.logo_riskahead_header))
|
||||
)
|
||||
.build();
|
||||
|
||||
@@ -351,8 +304,11 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
public void showAd(){
|
||||
if (mInterstitialAd.isLoaded()) {
|
||||
if(!session.getSubsNoAds()){
|
||||
Log.d(TAG,"Loading Add...");
|
||||
if(!session.getSubsNoAds() || !session.getSubsPremium()){
|
||||
mInterstitialAd.show();
|
||||
}else{
|
||||
Log.d(TAG,"Add not shown because user has status.");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -517,7 +473,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
private void showFeedbackDialog() {
|
||||
AlertDialog.Builder alert=new AlertDialog.Builder(this);
|
||||
alert.setTitle(R.string.txt_feedback_title);
|
||||
alert.setTitle(R.string.menu_action_feedback);
|
||||
alert.setMessage(R.string.txt_feedback_message);
|
||||
|
||||
final EditText input = new EditText(BaseActivity.this);
|
||||
@@ -532,7 +488,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
input.setGravity(Gravity.TOP);
|
||||
input.setHint(R.string.txt_feedback_hint);
|
||||
|
||||
alert.setIcon(R.drawable.logo_512w);
|
||||
alert.setIcon(R.drawable.logo_380);
|
||||
alert.setCancelable(true);
|
||||
alert.setPositiveButton(R.string.txt_feedback_sendbtn,
|
||||
new DialogInterface.OnClickListener() {
|
||||
|
||||
@@ -6,6 +6,9 @@ import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.location.Location;
|
||||
import android.location.LocationListener;
|
||||
import android.location.LocationManager;
|
||||
import android.os.*;
|
||||
import android.support.v4.app.NotificationCompat;
|
||||
import android.support.v4.app.TaskStackBuilder;
|
||||
@@ -39,6 +42,9 @@ public class NotificationService extends Service {
|
||||
public SessionManager session;
|
||||
public HashMap<String, String> user;
|
||||
|
||||
public LocationManager locationManager;
|
||||
public LatLng myPosition;
|
||||
|
||||
public NotificationService() {
|
||||
super();
|
||||
}
|
||||
@@ -51,9 +57,50 @@ public class NotificationService extends Service {
|
||||
session = new SessionManager(getApplicationContext());
|
||||
user = session.getUserDetails();
|
||||
|
||||
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
|
||||
LocationListener locationListener = new MyLocationListener();
|
||||
locationManager.requestLocationUpdates(
|
||||
LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
|
||||
|
||||
mNotifyTask.run();
|
||||
}
|
||||
|
||||
private class MyLocationListener implements LocationListener {
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location loc) {
|
||||
String longitude = "Longitude: " + loc.getLongitude();
|
||||
Log.v(TAG, longitude);
|
||||
String latitude = "Latitude: " + loc.getLatitude();
|
||||
Log.v(TAG, latitude);
|
||||
|
||||
if(session.isGPSForNotificationsEnabled() && loc.getLongitude() != 0.0 && loc.getLatitude() != 0.0) {
|
||||
Log.d(TAG, "Save GPS as new location...");
|
||||
if(session.getLocation() == null || session.getLocation().latitude == 0.0 || session.getLocation().longitude == 0.0){
|
||||
session.setLocation(Double.doubleToRawLongBits(loc.getLatitude()), Double.doubleToRawLongBits(loc.getLongitude()));
|
||||
mNotifyHandler.removeCallbacksAndMessages(null);
|
||||
mNotifyTask.run();
|
||||
}else{
|
||||
session.setLocation(Double.doubleToRawLongBits(loc.getLatitude()), Double.doubleToRawLongBits(loc.getLongitude()));
|
||||
}
|
||||
|
||||
session.setNotificationServiceReady(true);
|
||||
|
||||
}else{
|
||||
Log.d(TAG,"Don't Save GPS as new location because GPS for notifications is disabled...: "+session.isGPSForNotificationsEnabled());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onProviderDisabled(String provider) {}
|
||||
|
||||
@Override
|
||||
public void onProviderEnabled(String provider) {}
|
||||
|
||||
@Override
|
||||
public void onStatusChanged(String provider, int status, Bundle extras) {}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBinder onBind(Intent intent) {
|
||||
return null;
|
||||
@@ -69,25 +116,31 @@ public class NotificationService extends Service {
|
||||
int pollFrequency = session.getNotificationPollFreq() * 1000 * 60;
|
||||
boolean notifyEnabled = session.getNotificationEnabled();
|
||||
|
||||
Log.d(this.toString(), "Run Notification Task. Notifications enabled = "+ notifyEnabled);
|
||||
Log.d(this.toString(), "Run Notification Task. Notifications enabled = " + notifyEnabled);
|
||||
|
||||
if ((myPosition != null) && (myPosition.latitude != 0.0) && (myPosition.longitude != 0.0)) {
|
||||
if(notifyEnabled){
|
||||
if ((myPosition != null) && (myPosition.latitude != 0.0) && (myPosition.longitude != 0.0)) {
|
||||
session.setNotificationServiceReady(true);
|
||||
String lastNotificationTime;
|
||||
|
||||
String lastNotificationTime;
|
||||
if (session.getLastNotification().equals("")) {
|
||||
lastNotificationTime = user.get(SessionManager.KEY_LASTLOGIN_AT);
|
||||
} else {
|
||||
lastNotificationTime = session.getLastNotification();
|
||||
}
|
||||
|
||||
if (session.getLastNotification().equals("")) {
|
||||
lastNotificationTime = user.get(SessionManager.KEY_LASTLOGIN_AT);
|
||||
} else {
|
||||
lastNotificationTime = session.getLastNotification();
|
||||
Log.d(this.toString(), "Lookup location with position: " + myPosition + " Radius: "+ radius +" PollFrequency: "+ pollFrequency +" lastNotifyTime: " + lastNotificationTime);
|
||||
|
||||
StringRequest strReq = getStringRequestIncidentsFromAreaAndTime(myPosition.latitude, myPosition.longitude, radius, lastNotificationTime);
|
||||
String tag_string_req = "req_incidents";
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}else{
|
||||
Log.d(TAG,"No position found. No notification send.");
|
||||
session.setNotificationServiceReady(false);
|
||||
}
|
||||
|
||||
Log.d(this.toString(), "Lookup location with position: " + myPosition + " Radius: "+ radius +" PollFrequency: "+ pollFrequency +" lastNotifyTime: " + lastNotificationTime);
|
||||
|
||||
StringRequest strReq = getStringRequestIncidentsFromAreaAndTime(myPosition.latitude, myPosition.longitude, radius, lastNotificationTime);
|
||||
String tag_string_req = "req_incidents";
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
|
||||
mNotifyHandler.postDelayed(mNotifyTask, pollFrequency);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -47,6 +47,7 @@ public class SessionManager {
|
||||
public static final String KEY_NOTIFY_RADIUS = "notifyRadius";
|
||||
public static final String KEY_NOTIFY_POLLINGFREQ = "notifyPollingfreq";
|
||||
public static final String KEY_NOTIFY_GPS = "notifyGPSEnabled";
|
||||
public static final String KEY_NOTIFY_READY = "notifyReady";
|
||||
|
||||
public static final String KEY_SUBS_NOADS = "subs_noads";
|
||||
public static final String KEY_SUBS_PREMIUM = "subs_premium";
|
||||
@@ -86,7 +87,7 @@ public class SessionManager {
|
||||
}
|
||||
|
||||
public boolean isGPSForNotificationsEnabled(){
|
||||
return status.getBoolean(KEY_NOTIFY_GPS, false);
|
||||
return status.getBoolean(KEY_NOTIFY_GPS, true);
|
||||
}
|
||||
|
||||
public void setLastNotification(String time){
|
||||
@@ -103,6 +104,15 @@ public class SessionManager {
|
||||
statusEditor.apply();
|
||||
}
|
||||
|
||||
public void setNotificationServiceReady(boolean isReady) {
|
||||
statusEditor.putBoolean(KEY_NOTIFY_READY, isReady);
|
||||
statusEditor.apply();
|
||||
}
|
||||
|
||||
public boolean getNotificationServiceReady(){
|
||||
return status.getBoolean(KEY_NOTIFY_READY, false);
|
||||
}
|
||||
|
||||
public void setNotificationPollFreq(int pollingFreqInMinutes){
|
||||
statusEditor.putInt(KEY_NOTIFY_POLLINGFREQ, pollingFreqInMinutes);
|
||||
statusEditor.apply();
|
||||
@@ -188,4 +198,6 @@ public class SessionManager {
|
||||
public void removeUser(){
|
||||
userdata.edit().clear().apply();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
BIN
app/src/main/res/drawable-hdpi/bg_withlogo.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
app/src/main/res/drawable-hdpi/bg_withlogo_2.jpg
Normal file
|
After Width: | Height: | Size: 32 KiB |
BIN
app/src/main/res/drawable-hdpi/header2.9.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
app/src/main/res/drawable-hdpi/logo_380.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
app/src/main/res/drawable-hdpi/logo_riskahead_header.9.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
app/src/main/res/drawable-mdpi/bg_withlogo.jpg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
app/src/main/res/drawable-mdpi/bg_withlogo_2.jpg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/drawable-mdpi/header2.9.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
app/src/main/res/drawable-mdpi/logo_380.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
app/src/main/res/drawable-mdpi/logo_riskahead_header.9.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
app/src/main/res/drawable-xhdpi/bg_withlogo.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
app/src/main/res/drawable-xhdpi/bg_withlogo_2.jpg
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
app/src/main/res/drawable-xhdpi/header2.9.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
app/src/main/res/drawable-xhdpi/logo_380.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
app/src/main/res/drawable-xhdpi/logo_riskahead_header.9.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
app/src/main/res/drawable-xxhdpi/bg_withlogo.jpg
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
app/src/main/res/drawable-xxhdpi/bg_withlogo_2.jpg
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
app/src/main/res/drawable-xxhdpi/header2.9.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
app/src/main/res/drawable-xxhdpi/logo_380.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
app/src/main/res/drawable-xxhdpi/logo_riskahead_header.9.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/bg_withlogo.jpg
Normal file
|
After Width: | Height: | Size: 200 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/bg_withlogo_2.jpg
Normal file
|
After Width: | Height: | Size: 199 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/header2.9.png
Normal file
|
After Width: | Height: | Size: 245 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/logo_380.png
Normal file
|
After Width: | Height: | Size: 87 KiB |
BIN
app/src/main/res/drawable-xxxhdpi/logo_riskahead_header.9.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 35 KiB |
@@ -20,7 +20,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/imageView"
|
||||
android:src="@drawable/bg_main_map"
|
||||
android:src="@drawable/bg_withlogo_2"
|
||||
android:scaleType="centerCrop"
|
||||
android:layout_alignParentTop="true"
|
||||
android:alpha="0.9" />
|
||||
@@ -71,15 +71,34 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="200dp"
|
||||
android:id="@+id/imageView3"
|
||||
android:src="@drawable/logo_512w"
|
||||
android:scaleType="centerCrop"
|
||||
android:layout_centerInParent="true"
|
||||
android:layout_below="@+id/linearLayout"
|
||||
android:alpha="0.8" />
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutNotifications"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_above="@+id/layoutFooter">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_main_notifystatus"
|
||||
android:text="@string/txt_notifystatus_txt"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/white"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_main_notifystatus_status"
|
||||
android:text="AUS"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/white"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/layoutFooter"
|
||||
|
||||
@@ -30,7 +30,6 @@
|
||||
android:text="@string/btn_start_login"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/bg_common_trans"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoLogin" />
|
||||
|
||||
@@ -39,7 +38,6 @@
|
||||
android:text="@string/btn_start_register"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:backgroundTint="@color/bg_common_trans"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoRegister" />
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
<string name="menu_action_about">Info</string>
|
||||
<string name="menu_action_help">Hilfe & Kontakt</string>
|
||||
<string name="menu_action_exit">Beenden</string>
|
||||
<string name="menu_action_refresh">Karte aktualisieren</string>
|
||||
|
||||
<string name="lbl_main_txt1">Wir haben aktuell …</string>
|
||||
<string name="lbl_main_txt2">… gemeldete Vorfälle</string>
|
||||
@@ -125,7 +126,6 @@
|
||||
<string name="lbl_profile_points_someone">hat aktuell …</string>
|
||||
<string name="lbl_profile_ranking_someone">und sein Rang ist …</string>
|
||||
<string name="lbl_profile_membersince_someone">unterstützt RiskAhead seit</string>
|
||||
|
||||
<string name="lbl_profile_top10">Top 10</string>
|
||||
<string name="lbl_profile_stats">Statistik</string>
|
||||
<string name="lbl_profile_reports">Meldungen</string>
|
||||
@@ -143,7 +143,6 @@
|
||||
<string name="txt_notification_title_multi">Neue Vorfälle in deiner Nähe gemeldet!</string>
|
||||
<string name="txt_notification_context"> neuer Vorfall. Pass auf!</string>
|
||||
<string name="txt_notification_context_multi"> neue Vorfälle. Pass auf!</string>
|
||||
|
||||
<string name="btn_reportwf_reportnow">Jetzt melden!</string>
|
||||
<string name="btn_reportwf_next">Weiter</string>
|
||||
|
||||
@@ -154,6 +153,7 @@
|
||||
<string name="txt_viewreport_deletetitle">Vorfall löschen?</string>
|
||||
<string name="txt_viewreport_deletetext">Willst du wirklich diesen Vorfall löschen? Ein gelöschter Vorfall kann nicht wiederhergestellt werden.</string>
|
||||
|
||||
|
||||
<string name="txt_errormsg_suffix">Bitte versuche es später erneut oder schreibe dem RiskAhead Support.</string>
|
||||
<string name="txt_errormsg_login">Anmeldung ist fehlgeschlagen.</string>
|
||||
<string name="txt_errormsg_register">Registrierung ist fehlgeschlagen.</string>
|
||||
@@ -204,9 +204,8 @@
|
||||
<string name="txt_top10_membersince">Mitglied seit</string>
|
||||
|
||||
<string name="menu_action_feedback">Feedback</string>
|
||||
<string name="txt_feedback_title">Feedback</string>
|
||||
<string name="txt_feedback_message">Sende uns Verbesserungsvorschläge, Lob und Kritik um uns dabei zu helfen RiskAhead zu verbessern.</string>
|
||||
<string name="txt_feedback_hint">Trage dein Feedback hier ein</string>
|
||||
<string name="txt_feedback_message">Sende uns dein Feedback um uns dabei zu helfen RiskAhead besser zu machen</string>
|
||||
<string name="txt_feedback_hint">Hier dein Feedback eingeben</string>
|
||||
<string name="txt_feedback_sendbtn">Senden</string>
|
||||
<string name="txt_feedback_cancelbtn">Abbrechen</string>
|
||||
<string name="txt_feedback_response">Danke für dein Feedback!</string>
|
||||
@@ -225,6 +224,11 @@
|
||||
<string name="txt_share_acttitle">Vorfall teilen…</string>
|
||||
<string name="txt_viewreport_noinput">Keine Angaben</string>
|
||||
<string name="txt_backpressed_msg">Drücke erneut Zurück um die RiskAhead zu schließen</string>
|
||||
<string name="txt_notifystatus_txt">Benachrichtigungen: </string>
|
||||
<string name="txt_notifystatus_activated">AN</string>
|
||||
<string name="txt_notifystatus_activatedbutnotready">NICHT BEREIT (GPS FEHLT)</string>
|
||||
<string name="txt_notifystatus_deactivated">AUS</string>
|
||||
<string name="txt_map_zoomoutpremium">Hole dir die Premium-Mitgliedschaft um die ganze Karte zu sehen!</string>
|
||||
|
||||
<string-array name="cat_situation_main">
|
||||
<item>Allgemeiner Vorfall/Situation</item>
|
||||
@@ -237,7 +241,7 @@
|
||||
|
||||
<string-array name="cat_situation_sub_general">
|
||||
<item>Diebstahl, Betrug, Einbruch</item>
|
||||
<item>Drogenmissbrauch z.B.Getränk</item>
|
||||
<item>Drogenmissbrauch z.B. Getränk</item>
|
||||
<item>Protest, Unruhe, Straßenblockade</item>
|
||||
<item>Checkpoint, Kontrollen</item>
|
||||
<item>Korruption, Erpressung</item>
|
||||
@@ -268,7 +272,7 @@
|
||||
<item>Schießerei</item>
|
||||
<item>Explosion, Selbstmordattentat</item>
|
||||
<item>Mord, Tötung, Hinrichtung</item>
|
||||
<item>Leiche in Öffentlichkeit</item>
|
||||
<item>Leichenfund</item>
|
||||
<item>Sonstiges …</item>
|
||||
</string-array>
|
||||
|
||||
@@ -386,10 +390,10 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="notification_radius">
|
||||
<item>1 KM</item>
|
||||
<item>5 KM</item>
|
||||
<item>10 KM</item>
|
||||
<item>15 KM</item>
|
||||
<item>1 km</item>
|
||||
<item>5 km</item>
|
||||
<item>10 km</item>
|
||||
<item>15 km</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="notification_radius_entry">
|
||||
@@ -416,3 +420,4 @@
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<resources>
|
||||
|
||||
<string name="app_name">RiskAhead</string>
|
||||
<string name="facebook_app_id">658657714234846</string>
|
||||
<string name="banner_ad_unit_id">ca-app-pub-3940256099942544/6300978111</string>
|
||||
@@ -31,6 +32,7 @@
|
||||
<string name="menu_action_about">About</string>
|
||||
<string name="menu_action_help">Help & Contact</string>
|
||||
<string name="menu_action_exit">Exit</string>
|
||||
<string name="menu_action_refresh">Refresh Map</string>
|
||||
|
||||
<string name="lbl_main_txt1">We have currently …</string>
|
||||
<string name="lbl_main_txt2">… reported incidents</string>
|
||||
@@ -55,13 +57,13 @@
|
||||
<string name="message_enteremail">Enter your E-Mail to reset your password</string>
|
||||
|
||||
<string name="alert_passwordreset_title">Send Password Reset E-Mail</string>
|
||||
<string name="alert_passwordreset_text">Do you really want to reset your password? An E-Mail will be send to your address. Please follow the instructions to reset your password.</string>
|
||||
<string name="alert_passwordreset_text">Do you really want to reset your password? An E-Mail will be sent to your address. Please follow the instructions to reset your password.</string>
|
||||
<string name="alert_passwordreset_confirmation">E-Mail was sent to your e-mail address</string>
|
||||
<string name="alert_accactivation_title">Activate your account</string>
|
||||
<string name="alert_accactivation_text">Your account is not activated yet. Please follow the instructions in your E-Mail. Do you want to resent the E-Mail?</string>
|
||||
<string name="alert_accactivation_text">Your account is not activated yet. Please follow the instructions in your E-Mail. Do you want to resend the E-Mail?</string>
|
||||
<string name="alert_accactivation_confirmation">E-Mail was sent to your e-mail address</string>
|
||||
<string name="alert_accregistration_title">Activation E-Mail</string>
|
||||
<string name="alert_accregistration_text">An activation link was send to your e-mail address. Please follow the instructions to activate your account. Thank you!</string>
|
||||
<string name="alert_accregistration_text">An activation link was sent to your e-mail address. Please follow the instructions to activate your account. Thank you!</string>
|
||||
<string name="alert_internetconnection_title">No Internet Connection</string>
|
||||
<string name="alert_internetconnection_text">You need an active internet connection to use this app. Please turn on your internet connection and login again.</string>
|
||||
|
||||
@@ -84,32 +86,32 @@
|
||||
<string name="lbl_report_to_date">To date (yyyy-MM-dd)</string>
|
||||
<string name="lbl_report_to_time">To time</string>
|
||||
|
||||
<string name="lbl_reportwf_finish_msg">Du hast alles ausgefüllt!</string>
|
||||
<string name="lbl_reportwf_finish_thx">Wir danken dir für deine Unterstützung!</string>
|
||||
<string name="lbl_reportwf_finish_msg">You have filed everything!</string>
|
||||
<string name="lbl_reportwf_finish_thx">Thank you for your support!</string>
|
||||
<string name="lbl_reportwf_newreport">New</string>
|
||||
<string name="btn_reportwf_finish_send">Abschicken!</string>
|
||||
<string name="btn_reportwf_finish_send">Send!</string>
|
||||
|
||||
<string name="lbl_viewreport_incidentcategory">Incident Category</string>
|
||||
<string name="lbl_viewreport_incidentsubcategory">Incident Subcategory</string>
|
||||
<string name="lbl_viewreport_etcetc">More Details</string>
|
||||
<string name="lbl_viewreport_reportedfrom">Reported from user</string>
|
||||
<string name="lbl_viewreport_etcetc">More details</string>
|
||||
<string name="lbl_viewreport_reportedfrom">Reported by user</string>
|
||||
|
||||
<string name="lbl_question_situation">Was ist passiert?</string>
|
||||
<string name="lbl_question_place">Wo passiert es?</string>
|
||||
<string name="lbl_question_time">Wann passiert es?</string>
|
||||
<string name="lbl_question_suspect">Wer tut das?</string>
|
||||
<string name="lbl_question_weapon">Mit welchen Waffen passiert es?</string>
|
||||
<string name="lbl_question_count">Wie viele tun das?</string>
|
||||
<string name="lbl_question_victim">Wer ist betroffen?</string>
|
||||
<string name="lbl_question_victimorigin">Kommen die Opfer aus der Umgebung?</string>
|
||||
<string name="lbl_question_etc">Weißt du noch mehr?</string>
|
||||
<string name="lbl_question_etc_vehicle">Mit was sind sie unterwegs?</string>
|
||||
<string name="lbl_question_etc_victimaff">Haben die Opfer etwas gemeinsam?</string>
|
||||
<string name="lbl_question_etc_recon">Wie erkennt man die Täter?</string>
|
||||
<string name="lbl_question_etc_etc">Weiteres?</string>
|
||||
<string name="cat_hint">Weitere Details …</string>
|
||||
<string name="lbl_question_situation">What is happening?</string>
|
||||
<string name="lbl_question_place">Where does it happen?</string>
|
||||
<string name="lbl_question_time">When does it happen?</string>
|
||||
<string name="lbl_question_suspect">Who does it or is a likely suspect?</string>
|
||||
<string name="lbl_question_weapon">Are there weapons involved?</string>
|
||||
<string name="lbl_question_count">How many perpetrators are there?</string>
|
||||
<string name="lbl_question_victim">Who is affected?</string>
|
||||
<string name="lbl_question_victimorigin">Where do the victims come from?</string>
|
||||
<string name="lbl_question_etc">Do you know anything more?</string>
|
||||
<string name="lbl_question_etc_vehicle">How do they travel?</string>
|
||||
<string name="lbl_question_etc_victimaff">Do the victims have anything in common?</string>
|
||||
<string name="lbl_question_etc_recon">How would you categorize the perpetrators?</string>
|
||||
<string name="lbl_question_etc_etc">Further information?</string>
|
||||
<string name="cat_hint">Further details …</string>
|
||||
|
||||
<string name="hint_place">Bitte wähle zunächst einen Ort auf der Karte aus</string>
|
||||
<string name="hint_place">Please choose a location on the map first</string>
|
||||
<string name="lbl_viewreport_time">Time</string>
|
||||
<string name="lbl_viewreport_suspect">Suspect</string>
|
||||
<string name="lbl_viewreport_victim">Victim</string>
|
||||
@@ -130,7 +132,6 @@
|
||||
<string name="lbl_profile_points_someone">has currently …</string>
|
||||
<string name="lbl_profile_ranking_someone">and his/her rank is …</string>
|
||||
<string name="lbl_profile_membersince_someone">is supporting RiskAhead since</string>
|
||||
|
||||
<string name="lbl_profile_top10">Top 10</string>
|
||||
<string name="lbl_profile_stats">Statistics</string>
|
||||
<string name="lbl_profile_reports">Reports</string>
|
||||
@@ -145,12 +146,14 @@
|
||||
<string name="lbl_dropdown_pleaseselect">Please select …</string>
|
||||
<string name="txt_notification_title">New incident reported in your area!</string>
|
||||
<string name="txt_notification_title_multi">New incidents reported in your area!</string>
|
||||
<string name="txt_notification_context"> new incident near your last location. Watch out!</string>
|
||||
<string name="txt_notification_context_multi"> new incidents near your last location. Watch out!</string>
|
||||
|
||||
<string name="txt_notification_context"> New incident near your last location. Watch out!</string>
|
||||
<string name="txt_notification_context_multi"> New incidents near your last location. Watch out!</string>
|
||||
<string name="btn_reportwf_reportnow">Report NOW!</string>
|
||||
<string name="btn_reportwf_next">Next</string>
|
||||
|
||||
|
||||
<string name="menu_send_feedback">Send Feedback</string>
|
||||
|
||||
<string name="txt_reportwf_newincidenttitle">Create new incident?</string>
|
||||
<string name="txt_reportwf_newincidenttext">Do you want to reset all values and create a new incident?</string>
|
||||
<string name="txt_subs_youbought">You have bought</string>
|
||||
@@ -160,12 +163,12 @@
|
||||
|
||||
<string name="txt_errormsg_suffix">Please try again later or contact RiskAhead support.</string>
|
||||
<string name="txt_errormsg_login">Could not log-in. .</string>
|
||||
<string name="txt_errormsg_register">Could not registrate.</string>
|
||||
<string name="txt_errormsg_register">Could not register.</string>
|
||||
<string name="txt_errormsg_getpwreset">Could not send E-Mail.</string>
|
||||
<string name="txt_errormsg_getactivationlink">Could not send you an activation link.</string>
|
||||
<string name="txt_errormsg_getinfowindow">Could not load info window values.</string>
|
||||
<string name="txt_errormsg_createincident">Could not save your incident.</string>
|
||||
<string name="txt_errormsg_subs">There was an error parsing your purchase data.</string>
|
||||
<string name="txt_errormsg_subs">There was an error processing your purchase data.</string>
|
||||
<string name="txt_errormsg_deleteincident">Could not delete this incident.</string>
|
||||
<string name="txt_errormsg_getincidentdetail">Could not retrieve incident details.</string>
|
||||
<string name="txt_errormsg_cannotvoteowninc">You can not vote your own incident.</string>
|
||||
@@ -208,12 +211,12 @@
|
||||
<string name="txt_top10_membersince">Member since</string>
|
||||
|
||||
<string name="menu_action_feedback">Feedback</string>
|
||||
<string name="txt_feedback_title">FeedBack</string>
|
||||
<string name="txt_feedback_message">Give us your feedback to help us improve RiskAhead</string>
|
||||
<string name="txt_feedback_hint">Enter Feedback here</string>
|
||||
<string name="txt_feedback_sendbtn">Send</string>
|
||||
<string name="txt_feedback_cancelbtn">Cancel</string>
|
||||
<string name="txt_feedback_response">Thank you for your feedback!</string>
|
||||
|
||||
<string name="txt_rate_title">Rate RiskAhead</string>
|
||||
<string name="txt_rate_message">If you enjoy using RiskAhead, please take a moment to rate it. Thanks for your support!</string>
|
||||
<string name="txt_rate_retenowbtn">Rate Now!</string>
|
||||
@@ -228,171 +231,176 @@
|
||||
<string name="txt_share_acttitle">Share incident…</string>
|
||||
<string name="txt_viewreport_noinput">No Value</string>
|
||||
<string name="txt_backpressed_msg">Tap back button again in order to exit RiskAhead</string>
|
||||
<string name="txt_notifystatus_txt">Notifications: </string>
|
||||
<string name="txt_notifystatus_activated">ON</string>
|
||||
<string name="txt_notifystatus_activatedbutnotready">NOT READY (NO GPS)</string>
|
||||
<string name="txt_notifystatus_deactivated">OFF</string>
|
||||
<string name="txt_map_zoomoutpremium">Get Premiuim to view the Full Map!</string>
|
||||
|
||||
<string-array name="cat_situation_main">
|
||||
<item>Allgemeiner Vorfall/Situation</item>
|
||||
<item>Mündliche Gewalt</item>
|
||||
<item>Leichte / schwere körperliche Gewalt</item>
|
||||
<item>Lebensgefährliche Gewalt</item>
|
||||
<item>Naturkatastrophe</item>
|
||||
<item>Menschl. Katastrophe & Infrastruktur</item>
|
||||
<item> A Threatening Incident or Situation</item>
|
||||
<item>Verbal Violence</item>
|
||||
<item>Light to Heavy Physical Violence</item>
|
||||
<item>Life-Threatening Violence</item>
|
||||
<item>Natural Disaster</item>
|
||||
<item>Human Disasters & Infrastructure</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_general">
|
||||
<item>Diebstahl, Betrug</item>
|
||||
<item>Drogenmissbrauch z.B.Getränk</item>
|
||||
<item>Protest, Unruhe, Straßenblockade</item>
|
||||
<item>Checkpoint, Kontrollen</item>
|
||||
<item>Korruption, Erpressung</item>
|
||||
<item>Einfluss Kriminalität, Milizen, Terror</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Fraud, Theft, Mugging or Burglary</item>
|
||||
<item>Drug Abuse eg Drink spiked</item>
|
||||
<item>Demonstration, Riot or Road Blockade</item>
|
||||
<item>Checkpoints, Controls</item>
|
||||
<item>Corruption, Extortion</item>
|
||||
<item>Crime, Militia or Terrorist Activities</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_verbal">
|
||||
<item>Sexuelle Belästigung</item>
|
||||
<item>Beleidigung, Drohung</item>
|
||||
<item>Nötigung/Vernehmung</item>
|
||||
<item>Aufhetzung</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Sexual Harassment</item>
|
||||
<item>Insulting or Threatening Language</item>
|
||||
<item>Interrogation, Pressuring or Coercing</item>
|
||||
<item>Incitement</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_force">
|
||||
<item>Sexueller Übergriff</item>
|
||||
<item>Angriff auf Person allgemein</item>
|
||||
<item>Schlägerei</item>
|
||||
<item>Festnahme/Gefangennahme </item>
|
||||
<item>Zwangsarbeit</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Sexual Assault</item>
|
||||
<item>Physical Attack in general</item>
|
||||
<item>A Fight or Brawl</item>
|
||||
<item>Arrest or Capture </item>
|
||||
<item>Forced Labour</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_force_serious">
|
||||
<item>Vergewaltigung</item>
|
||||
<item>Folter, Entführung, Geiselnahme</item>
|
||||
<item>Schießerei</item>
|
||||
<item>Explosion, Selbstmordattentat</item>
|
||||
<item>Mord, Tötung, Hinrichtung</item>
|
||||
<item>Leiche in Öffentlichkeit</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Rape</item>
|
||||
<item>Torture, Kidnapping, Hostage-Taking</item>
|
||||
<item>Shooting</item>
|
||||
<item>Bomb or Suicide Attack</item>
|
||||
<item>Murder, Public Execution</item>
|
||||
<item>Display of Corpse or Corpse Parts </item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_nature">
|
||||
<item>Temperaturextrem</item>
|
||||
<item>Wind, Sturm, Orkan, Tornado</item>
|
||||
<item>Überschwemmung/-flutung, Tsunami</item>
|
||||
<item>Erdbeben, Berghang Einsturz</item>
|
||||
<item>Feuer, Rauch, Vulkanausbruch</item>
|
||||
<item>Hungersnot, Tierplage</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Extreme Temperaturs</item>
|
||||
<item>Storm, Hurricane, Tornado</item>
|
||||
<item>Flooding, Tsunami</item>
|
||||
<item>Earthquake, Landslide</item>
|
||||
<item>Fire, Smoke, Volcanic Eruption</item>
|
||||
<item>Famine, Drought, Animal Plague </item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_situation_sub_infrastructure">
|
||||
<item>Smog Stadt</item>
|
||||
<item>Stromausfall, Unfall</item>
|
||||
<item>Zerstörung, Einsturzgefahr Gebäude</item>
|
||||
<item>Brandkatastrophe</item>
|
||||
<item>Chemiekatastrophe, Ölpest</item>
|
||||
<item>Seuche, Krankheit</item>
|
||||
<item>Chaos Bevölkerung, Anarchie</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Air Pollution</item>
|
||||
<item>Power Failure or General Accident</item>
|
||||
<item>Collapsing Buildings or Destruction</item>
|
||||
<item>Widespread Fire</item>
|
||||
<item>Chemical Disaster or Oil Spill</item>
|
||||
<item>Disease Outbreak or Epidemic</item>
|
||||
<item>Chaos, Anarchy</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_time_main">
|
||||
<item>Jetzt!</item>
|
||||
<item>Regelmäßig</item>
|
||||
<item>Bestimmter Zeitpunkt</item>
|
||||
<item>Bestimmter Zeitraum</item>
|
||||
<item>Right now!</item>
|
||||
<item>Periodically</item>
|
||||
<item>Exact Time</item>
|
||||
<item>Exact Time Period</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_time_sub_periodical">
|
||||
<item>Morgens</item>
|
||||
<item>Mittags</item>
|
||||
<item>Abends</item>
|
||||
<item>Nachts</item>
|
||||
<item>Morning</item>
|
||||
<item>During the Day</item>
|
||||
<item>Evening</item>
|
||||
<item>Night</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_suspect_main">
|
||||
<item>Kriminelle/Gangs </item>
|
||||
<item>Polizei</item>
|
||||
<item>Volksmenge</item>
|
||||
<item>Auftragskiller, Kartell, Miliz, Guerilla</item>
|
||||
<item>Soldaten (Militär)</item>
|
||||
<item>Terroristen (religiöse oder politische)</item>
|
||||
<item>Weiß ich nicht</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Street Criminal or Gang </item>
|
||||
<item>The Police</item>
|
||||
<item>Large Crowd</item>
|
||||
<item>Hit Man, Cartel, Militia, Guerilla</item>
|
||||
<item>Soldiers, The Military</item>
|
||||
<item>Terrorists (religious or political)</item>
|
||||
<item>I do not know</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_suspect_sub_location">
|
||||
<item>Lokale aus dem Land</item>
|
||||
<item>Ausländische</item>
|
||||
<item>Local</item>
|
||||
<item>Foreign</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_suspect_weapons">
|
||||
<item>Alltagsgegenstände</item>
|
||||
<item>Schusswaffe</item>
|
||||
<item>Explosionswaffen oder Sprengkörper</item>
|
||||
<item>Großwaffen z.B. Panzer, Flugbombe</item>
|
||||
<item>Weiß ich nicht</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Everyday Objects</item>
|
||||
<item>Firearms</item>
|
||||
<item>Explosive Devices</item>
|
||||
<item>Very Heavy or Military Grade System</item>
|
||||
<item>I do not know</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_suspect_count">
|
||||
<item>Einzelperson</item>
|
||||
<item>Kleine Gruppe (2–5)</item>
|
||||
<item>Große Gruppe (mehr als 5)</item>
|
||||
<item>Weiß ich nicht</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Individual</item>
|
||||
<item>Small group(2–5)</item>
|
||||
<item>Large group (more than 5)</item>
|
||||
<item>I do not know</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_victim">
|
||||
<item>Frauen</item>
|
||||
<item>Kinder</item>
|
||||
<item>Männer</item>
|
||||
<item>Jede Person</item>
|
||||
<item>Tiere</item>
|
||||
<item>Gebäude/Infrastruktur</item>
|
||||
<item>Women</item>
|
||||
<item>Children</item>
|
||||
<item>Men</item>
|
||||
<item>Each Person</item>
|
||||
<item>Animals</item>
|
||||
<item>Buildings/Infrastructure</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_victim_origin">
|
||||
<item>Heimische Bevölkerung</item>
|
||||
<item>Touristen</item>
|
||||
<item>Ausländer, der dort arbeitet z.B. Expat</item>
|
||||
<item>Weiß ich nicht</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>The Local population</item>
|
||||
<item>Tourists</item>
|
||||
<item>Long-term Resident Foreigners, Expat</item>
|
||||
<item>I do not know</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_details_vehicle">
|
||||
<item>Zu Fuß</item>
|
||||
<item>Motorrad</item>
|
||||
<item>Auto, Jeep, Pick-up</item>
|
||||
<item>Lkw, Bus</item>
|
||||
<item>Militärfahrzeug, Panzer</item>
|
||||
<item>Flugzeug, Helikopter</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>By Foot</item>
|
||||
<item>Motor Bike</item>
|
||||
<item>Car, Jeep, Pick-up</item>
|
||||
<item>Truck, Bus</item>
|
||||
<item>Military Vehicle, Tank</item>
|
||||
<item>Airplane, Helicopter</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_details_victimaff">
|
||||
<item>Religion</item>
|
||||
<item>Volksgruppe/Ethnie z.B. Hautfarbe</item>
|
||||
<item>Politische Zugehörigkeit</item>
|
||||
<item>Soziale Gruppe z.B. Einwanderer</item>
|
||||
<item>Beruf z.B. Journalisten, Prostituierte</item>
|
||||
<item>Sprachzugehörigkeit</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Ethnic Origin eg Skin Colour</item>
|
||||
<item>Political Affiliation</item>
|
||||
<item>Social Group eg Immigrants</item>
|
||||
<item>Profession eg Journalist, Prostitute</item>
|
||||
<item>Language</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="cat_details_suspect_recon">
|
||||
<item>Männer</item>
|
||||
<item>Frauen</item>
|
||||
<item>Kinder</item>
|
||||
<item>Tiere</item>
|
||||
<item>Sonstiges …</item>
|
||||
<item>Men</item>
|
||||
<item>Women</item>
|
||||
<item>Children</item>
|
||||
<item>Animals</item>
|
||||
<item>Other …</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="notification_radius">
|
||||
<item>1 KM</item>
|
||||
<item>5 KM</item>
|
||||
<item>10 KM</item>
|
||||
<item>15 KM</item>
|
||||
<item>1 km</item>
|
||||
<item>5 km</item>
|
||||
<item>10 km</item>
|
||||
<item>15 km</item>
|
||||
</string-array>
|
||||
|
||||
<string-array name="notification_radius_entry">
|
||||
@@ -418,4 +426,5 @@
|
||||
<item>60</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
||||
</resources>
|
||||