@17.02.16 Dennis Thießen: 2.0.4

This commit is contained in:
Dennis Thießen
2016-02-17 22:16:50 +01:00
parent 6cd2f6b6e7
commit a14fa0d549
18 changed files with 835 additions and 99 deletions

Binary file not shown.

View File

@@ -19,8 +19,8 @@ android {
applicationId "org.deke.risk.riskahead"
minSdkVersion 15
targetSdkVersion 23
versionCode 31
versionName "2.0.3"
versionCode 33
versionName "2.0.4"
}
buildTypes {
release {

View File

@@ -5,26 +5,25 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.RemoteException;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.android.vending.billing.IInAppBillingService;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;
import org.deke.risk.riskahead.adapter.SubscriptionsPagerAdapter;
import org.deke.risk.riskahead.fragment.SubscriptionItemFragment;
import org.deke.risk.riskahead.helper.AppConfig;
import org.deke.risk.riskahead.helper.AppController;
import org.deke.risk.riskahead.helper.BaseActivity;
@@ -35,6 +34,7 @@ import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -48,38 +48,90 @@ public class SubscriptionsActivity extends BaseActivity{
private final static String TAG = SubscriptionsActivity.class.getSimpleName();
private TableLayout tblBillings;
IInAppBillingService mService;
ServiceConnection mServiceConn;
Bundle querySkus;
HashMap<String,JSONObject> purchaseMap = new HashMap<>();
ArrayList<String> skuList = new ArrayList<>();
private Bundle querySkus;
private HashMap<String,JSONObject> purchaseMap = new HashMap<>();
private ArrayList<String> skuList = new ArrayList<>();
HashMap<String,String> dbItems = new HashMap<>();
ArrayList<String> ownedSkus = new ArrayList<>();
private HashMap<String,String> dbItems = new HashMap<>();
private ArrayList<String> ownedSkus = new ArrayList<>();
Handler handler;
Handler billingHandler;
private SubscriptionsPagerAdapter subscriptionsAdapter;
private ViewPager subscriptionsViewPager;
private List<ImageView> dots;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
userHasToBeLoggedIn();
skuList.add("no_ads_01");
skuList.add("no_ads_02");
skuList.add("extra_functions_01");
skuList.add("extra_functions_02");
skuList.add("no_ads_03");
skuList.add("extra_functions_03");
initBillingService();
initViewPager();
addDots();
}
private void initViewPager() {
subscriptionsViewPager = (ViewPager) findViewById(R.id.subs_viewpager);
subscriptionsAdapter = new SubscriptionsPagerAdapter(getSupportFragmentManager(), 2);
subscriptionsViewPager.setAdapter(subscriptionsAdapter);
}
public void addDots() {
dots = new ArrayList<>();
LinearLayout dotsLayout = (LinearLayout)findViewById(R.id.dots);
for(int i = 0; i < subscriptionsAdapter.getCount(); i++) {
ImageView dot = new ImageView(this);
dot.setImageDrawable(getResources().getDrawable(R.drawable.bottom_dot_unselected));
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
);
params.setMargins(2,2,2,2);
dotsLayout.addView(dot, params);
dots.add(dot);
}
subscriptionsViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
selectDot(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
selectDot(0);
}
public void selectDot(int idx) {
Resources res = getResources();
for(int i = 0; i < subscriptionsAdapter.getCount(); i++) {
int drawableId = (i==idx)?(R.drawable.bottom_dot_selected):(R.drawable.bottom_dot_unselected);
Drawable drawable = res.getDrawable(drawableId);
dots.get(i).setImageDrawable(drawable);
}
}
private void initBillingService() {
tblBillings = (TableLayout) findViewById(R.id.tbl_billing);
handler = new Handler();
billingHandler = new Handler();
Thread thread = new Thread() {
@Override
@@ -178,7 +230,6 @@ public class SubscriptionsActivity extends BaseActivity{
}
private void initBillingOptions() {
showDialog();
try {
Bundle skuDetails = mService.getSkuDetails(3, getPackageName(), "subs", querySkus);
int response = skuDetails.getInt("RESPONSE_CODE");
@@ -188,7 +239,21 @@ public class SubscriptionsActivity extends BaseActivity{
if (response == 0) {
ArrayList<String> responseList= skuDetails.getStringArrayList("DETAILS_LIST");
initPurchaseTable(responseList);
for (String thisResponse : responseList) {
JSONObject object = new JSONObject(thisResponse);
final String sku = object.getString("productId");
final String price = object.getString("price");
final String title = object.getString("title");
final String description = object.getString("description");
purchaseMap.put(sku, object);
Log.d(TAG,"Product: "+sku+" Price: "+price+" Title: "+title+" Description: "+description);
}
((SubscriptionItemFragment) subscriptionsAdapter.getItem(0)).initSubscription(purchaseMap.get("no_ads_03"));
((SubscriptionItemFragment) subscriptionsAdapter.getItem(1)).initSubscription(purchaseMap.get("extra_functions_03"));
}
} catch (Exception e) {
@@ -196,56 +261,8 @@ public class SubscriptionsActivity extends BaseActivity{
}
}
private void initPurchaseTable(ArrayList<String> responseList) throws JSONException {
TableRow.LayoutParams rowParamsDescription = new TableRow.LayoutParams(0, TableRow.LayoutParams.WRAP_CONTENT, 0.65f);
rowParamsDescription.weight = 1.0f;
rowParamsDescription.gravity = Gravity.CENTER;
TableRow.LayoutParams rowParamsButton = new TableRow.LayoutParams(0, TableRow.LayoutParams.WRAP_CONTENT, 0.35f);
rowParamsDescription.setMargins(10,10,0,20);
rowParamsButton.setMargins(10,10,10,20);
for (String thisResponse : responseList) {
JSONObject object = new JSONObject(thisResponse);
final String sku = object.getString("productId");
String price = object.getString("price");
String title = object.getString("title");
purchaseMap.put(sku, object);
TableRow tableRow = new TableRow(getApplicationContext());
TextView textView = new TextView(getApplicationContext());
textView.setLayoutParams(rowParamsDescription);
textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.md_black_1000));
textView.setText(title);
BootstrapButton btnPurchase = new BootstrapButton(getApplicationContext());
btnPurchase.setText(price);
btnPurchase.setLayoutParams(rowParamsButton);
btnPurchase.setRounded(true);
btnPurchase.setBootstrapBrand(DefaultBootstrapBrand.SUCCESS);
btnPurchase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "Purchase item: " + sku);
buyProduct(sku);
}
});
tableRow.addView(textView);
tableRow.addView(btnPurchase);
tblBillings.addView(tableRow);
Log.d(TAG,"Product: "+sku+" Price: "+price);
}
hideDialog();
}
private void buyProduct(String sku) {
public void buyProduct(String sku) {
try {
Bundle buyIntentBundle = mService.getBuyIntent(3, getPackageName(), sku, "subs", user.get(SessionManager.KEY_UID));
@@ -454,6 +471,7 @@ public class SubscriptionsActivity extends BaseActivity{
protected void onResume() {
super.onResume();
navDrawer.setSelection(subscriptionsAvtivityID, false);
initBillingService();
}
@Override

View File

@@ -2,6 +2,7 @@ package org.deke.risk.riskahead.adapter;
import android.content.Context;
import android.database.DataSetObserver;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -47,7 +48,9 @@ public class SpinnerHintAdapter implements SpinnerAdapter, ListAdapter {
return getNothingSelectedView(parent);
}
isInInitialState = false;
return adapter.getView(position - EXTRA, null, parent); // Could re-use
}
protected View getNothingSelectedView(ViewGroup parent) {

View File

@@ -0,0 +1,54 @@
package org.deke.risk.riskahead.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import org.deke.risk.riskahead.fragment.SubscriptionItemFragment;
/**
*
* (C) Copyright 2016 RiskAhead (http://www.riskahead.net)
* Developer & Contributor: Dennis Thießen (dennis.thiessen@riskahead.net)
* Date of Release: 10.02.2016
*
*/
public class SubscriptionsPagerAdapter extends FragmentStatePagerAdapter {
int mNumOfTabs;
SubscriptionItemFragment frag1;
SubscriptionItemFragment frag2;
public SubscriptionsPagerAdapter(FragmentManager fm, int NumOfTabs) {
super(fm);
this.mNumOfTabs = NumOfTabs;
}
@Override
public Fragment getItem(int position) {
Fragment returnFragment = null;
switch (position) {
case 0:
if(frag1 == null) frag1 = new SubscriptionItemFragment();
returnFragment = frag1;
break;
case 1:
if(frag2 == null) frag2 = new SubscriptionItemFragment();
returnFragment = frag2;
break;
default:
return null;
}
return returnFragment;
}
@Override
public int getCount() {
return mNumOfTabs;
}
}

View File

@@ -98,9 +98,12 @@ public class ReportListFragment extends Fragment{
resultList = new ArrayList<>();
for(int i=0;i<incidents.length();i++){
JSONObject incident = incidents.getJSONObject(i);
if(incident.getInt("status") == 1){
resultList.add(incident);
}
}
myListAdapter = new ReportListAdapter(
parent.getApplicationContext(),

View File

@@ -120,6 +120,7 @@ public class ReportWF_1_Fragment extends BaseReportWFFragment{
checkIfFinished();
}
incident.setFidIncidentSubCategory(0);
}
@@ -181,7 +182,6 @@ public class ReportWF_1_Fragment extends BaseReportWFFragment{
boolean isFinished = mainCategoryIsFilled && subCategoryIsFilled && positionIsFilled;
//saveInput();
mCallbackFinished.onInputFinished(isFinished);
}

View File

@@ -0,0 +1,106 @@
package org.deke.risk.riskahead.fragment;
import android.media.Image;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;
import org.deke.risk.riskahead.ProfileActivity;
import org.deke.risk.riskahead.R;
import org.deke.risk.riskahead.SubscriptionsActivity;
import org.json.JSONException;
import org.json.JSONObject;
/**
*
* (C) Copyright 2016 RiskAhead (http://www.riskahead.net)
* Developer & Contributor: Dennis Thießen (dennis.thiessen@riskahead.net)
* Date of Release: 10.02.2016
*
*/
public class SubscriptionItemFragment extends Fragment {
private final static String TAG = SubscriptionItemFragment.class.getSimpleName();
private SubscriptionsActivity parent;
private TextView txtTitle;
private TextView txtDescription;
private BootstrapButton btnPurchase;
private ImageView imgSubs;
private BootstrapButton btnBadge;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_subscriptionitem, container, false);
parent = (SubscriptionsActivity)getActivity();
txtTitle = (TextView) view.findViewById(R.id.txt_subs_title);
txtDescription = (TextView) view.findViewById(R.id.txt_subs_desc);
btnPurchase = (BootstrapButton) view.findViewById(R.id.btn_sub_purchase);
imgSubs = (ImageView) view.findViewById(R.id.img_subs);
btnBadge = (BootstrapButton) view.findViewById(R.id.btn_subs_membershiptype);
txtTitle.setVisibility(View.GONE);
txtDescription.setVisibility(View.GONE);
btnPurchase.setVisibility(View.GONE);
imgSubs.setVisibility(View.GONE);
btnBadge.setVisibility(View.GONE);
return view;
}
public void initSubscription(final JSONObject sku){
try {
final String id = sku.getString("productId");
final String price = sku.getString("price");
final String title = sku.getString("title");
final String description = sku.getString("description");
if(id.contains("no_ads")){
imgSubs.setImageDrawable(getResources().getDrawable(R.drawable.noads));
btnBadge.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);
btnPurchase.setBootstrapBrand(DefaultBootstrapBrand.PRIMARY);
btnBadge.setText(getResources().getString(R.string.lbl_membershiptype_addfree));
}else if(id.contains("extra_function")){
imgSubs.setImageDrawable(getResources().getDrawable(R.drawable.premium));
btnBadge.setBootstrapBrand(DefaultBootstrapBrand.WARNING);
btnPurchase.setBootstrapBrand(DefaultBootstrapBrand.WARNING);
btnBadge.setText(getResources().getString(R.string.lbl_membershiptype_premium));
}
txtTitle.setText(title);
txtDescription.setText(description);
btnPurchase.setText(price);
btnPurchase.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d(TAG, "PURCHASE: " + id);
parent.buyProduct(id);
}
});
txtTitle.setVisibility(View.VISIBLE);
txtDescription.setVisibility(View.VISIBLE);
btnPurchase.setVisibility(View.VISIBLE);
imgSubs.setVisibility(View.VISIBLE);
btnBadge.setVisibility(View.VISIBLE);
} catch (JSONException e) {
e.printStackTrace();
}
}
}

View File

@@ -138,6 +138,7 @@ public abstract class BaseActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
onStartCount = 1;
if (savedInstanceState == null)
{
@@ -156,6 +157,8 @@ public abstract class BaseActivity extends AppCompatActivity {
session = new SessionManager(getApplicationContext());
user = session.getUserDetails();
Log.d(TAG,user.get(SessionManager.KEY_UID));
mToolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mToolbar);
initNavigationDrawer(savedInstanceState);
@@ -569,7 +572,7 @@ public abstract class BaseActivity extends AppCompatActivity {
private void showLanguageDialog(){
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setTitle(R.string.txt_language_title);
String[] types = {"ar - العربية", "de - Deutsch", "en - English", "es - Español", "et - Eesti keel", "fr - Français", "lv - Latviešu valoda", "mn - Монгол хэл", "pl - Polszczyzna", "pt - Português do Brasil", "ru - Pусский", "tr - Türkçe"};
String[] types = {"ar - العربية", "de - Deutsch", "en - English", "es - Español", "et - Eesti keel", "fr - Français", "lv - Latviešu valoda", "mn - Монгол хэл", "nl - Nederlands", "pl - Polszczyzna", "pt - Português do Brasil", "ru - Pусский", "tr - Türkçe"};
b.setItems(types, new DialogInterface.OnClickListener() {
@Override
@@ -602,15 +605,18 @@ public abstract class BaseActivity extends AppCompatActivity {
setLocale("mn");
break;
case 8:
setLocale("pl");
setLocale("nl");
break;
case 9:
setLocale("pt");
setLocale("pl");
break;
case 10:
setLocale("ru");
setLocale("pt");
break;
case 11:
setLocale("ru");
break;
case 12:
setLocale("tr");
break;
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#99666666"/>
<size
android:width="10dp"
android:height="10dp"/>
</shape>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#55666666"/>
<size
android:width="9dp"
android:height="9dp"/>
</shape>

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -20,7 +20,7 @@
android:id="@+id/layoutMain"
android:layout_below="@+id/toolbar"
android:layout_margin="0dp"
android:padding="10dp"
android:padding="5dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
@@ -57,19 +57,22 @@
android:layout_marginBottom="10dp"
android:background="#464b4b4b" />
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/svlayoutContent"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:id="@+id/tbl_billing"
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/subs_viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TableLayout>
android:layout_height="wrap_content"
android:layout_weight="1"/>
</ScrollView>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:id="@+id/dots"
android:layout_weight="0"
/>
</LinearLayout>

View File

@@ -19,7 +19,7 @@
android:layout_height="wrap_content"
bootstrap:bootstrapBrand="success"
android:text="@string/lbl_membershiptype_free"
bootstrap:showOutline="true"
android:enabled="false"
android:layout_gravity="center|top"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"

View File

@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
android:id="@+id/layoutContent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:padding="10dp"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="75dp"
android:layout_height="75dp"
android:layout_centerInParent="true"
android:contentDescription="@null"
android:id="@+id/img_subs" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_subs_membershiptype"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
bootstrap:bootstrapBrand="info"
android:text="@string/lbl_membershiptype_addfree"
android:enabled="false"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
<TextView
android:id="@+id/txt_subs_title"
android:gravity="center"
android:text="TEST"
android:layout_below="@id/btn_subs_membershiptype"
android:layout_margin="10dp"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txt_subs_desc"
android:text="TEST"
android:layout_margin="10dp"
android:gravity="center"
android:layout_above="@+id/btn_sub_purchase"
android:layout_centerHorizontal="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_sub_purchase"
android:layout_width="match_parent"
android:layout_height="wrap_content"
bootstrap:roundedCorners="true"
bootstrap:bootstrapBrand="success"
bootstrap:bootstrapSize="lg"
android:text="0,00 €"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"/>
</RelativeLayout>
</RelativeLayout>
</ScrollView>

View File

@@ -0,0 +1,445 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">RiskAhead</string>
<string name="btn_start_login">Aanmelden</string>
<string name="btn_start_register">Registreren</string>
<string name="lbl_login_title">Aanmelden bij RiskAhead</string>
<string name="lbl_login_resendPW">Wachtwoord vergeten? Klik hier</string>
<string name="lbl_login_policy"><a href="https://www.riskahead.de/terms/">Servicevoorwaarden</a> en <a href="https://www.riskahead.de/privacy/">Privacybeleid</a></string>
<string name="lbl_login_usesocialnet">Of gebruik de volgende sociale netwerken om aan te melden</string>
<string name="lbl_register_title">Registreer bij RiskAhead</string>
<string name="input_register_name_hint">Gebruikersnaam</string>
<string name="input_register_email_hint">E-Mail</string>
<string name="input_register_password_hint">Wachtwoord</string>
<string name="title_activity_start">RiskAhead</string>
<string name="title_activity_entrance">RiskAhead</string>
<string name="search_hint">Locatie</string>
<string name="search_settings">Zoekinstellingen</string>
<string name="title_activity_user_config">Gebruikersprofiel</string>
<string name="title_activity_maps">Risicokaart</string>
<string name="title_activity_settings">Gebruikersinstellingen</string>
<string name="title_activity_subscriptions">Abonnementen</string>
<string name="title_activity_view_report">Rapport weergeven</string>
<string name="menu_action_about">Over</string>
<string name="menu_action_help">Help &amp; Contact</string>
<string name="menu_action_exit">Afsluiten</string>
<string name="menu_action_refresh">Kaart vernieuwen</string>
<string name="lbl_main_txt1">Op dit moment hebben we &#8230;</string>
<string name="lbl_main_txt2">&#8230; gemelde incidenten</string>
<string name="btn_main_reportinc">Meld een incident</string>
<string name="btn_main_showmap">Laat kaart zien</string>
<string name="btn_viewreport_delete">Verwijder incident</string>
<string name="navigation_start">Startpagina</string>
<string name="navigation_report">Incident Melden</string>
<string name="navigation_incident_map">Incidenten kaart</string>
<string name="navigation_user_stats">Gebruikers Statistieken</string>
<string name="navigation_acc_settings">Accountinstellingen</string>
<string name="navigation_subscriptions">Abonnementen</string>
<string name="navigation_logout">Afmelden</string>
<string name="error_anytext">Uw gebruikersnaam moet ten minste 5 karakters lang zijn</string>
<string name="error_email">Vul een geldig e-mailadres in, bijvoorbeeld: Abc@xyz.nl</string>
<string name="error_password">JUw wachtwoord moet ten minste 5 karakters lang zijn.</string>
<string name="error_validation">Ingevoerde velden niet geldig. Verbeter de fouten eerst.</string>
<string name="message_enteremail">Vul uw e-mail in om uw wachtwoord opnieuw in te stellen</string>
<string name="alert_passwordreset_title">Wachtwoord Reset E-mail</string>
<string name="alert_passwordreset_text">Wilt u echt om uw wachtwoord opnieuw instellen? Een e-mail zal naar uw adres worden gestuurd. Volg de instructies om uw wachtwoord opnieuw in te stellen.</string>
<string name="alert_passwordreset_confirmation">E-Mail is verzonden naar uw e-mailadres</string>
<string name="alert_accactivation_title">Activeer uw account</string>
<string name="alert_accactivation_text">Uw account is nog niet geactiveerd. Volg de instructies in uw e-mail. Wilt u de e-mail opnieuw verzenden?</string>
<string name="alert_accactivation_confirmation">E-Mail is verzonden naar uw e-mailadres</string>
<string name="alert_accregistration_title">Activering E-mail</string>
<string name="alert_accregistration_text">Een activatie link is verzonden naar uw e-mailadres. Volg de instructies om uw account te activeren. Dank u wel!</string>
<string name="alert_internetconnection_title">Geen internet verbinding</string>
<string name="alert_internetconnection_text">U heeft een actieve internetverbinding om deze app te gebruiken. Schakel uw internet verbinding in en meld opnieuw aan.</string>
<string name="errormsg_couldnotretrieve">Kon geen gegevens ophalen van de server. Controleer internet verbinding.</string>
<string name="progress_getdata_text">Even geduld aub &#8230;</string>
<string name="progress_getdata_title">Gegevens ophalen van de server</string>
<string name="title_activity_report_wf">Meld een incident</string>
<string name="lbl_mapsinfowindow_author">Auteur:</string>
<string name="lbl_mapsinfowindow_score">Rating:</string>
<string name="lbl_mapsinfowindow_suspect">Verdachte:</string>
<string name="lbl_mapsinfowindow_victim">Slachtoffer:</string>
<string name="lbl_mapsinfowindow_time">Tijd:</string>
<string name="lbl_map_search">Zoeken</string>
<string name="lbl_spinner_choose">Maak uw keuze &#8230;</string>
<string name="lbl_report_from_date">Datum (jjjj-MM-dd)</string>
<string name="lbl_report_from_time">Tijd</string>
<string name="lbl_report_position">Positie</string>
<string name="lbl_report_to_date">Op datum (jjjj-MM-dd)</string>
<string name="lbl_report_to_time">Op tijd</string>
<string name="lbl_reportwf_finish_msg">U heeft alles ingevuld!</string>
<string name="lbl_reportwf_finish_thx">Dank u voor uw steun!</string>
<string name="lbl_reportwf_newreport">Nieuw</string>
<string name="btn_reportwf_finish_send">Verstuur!</string>
<string name="lbl_viewreport_incidentcategory">Incident Categorie</string>
<string name="lbl_viewreport_incidentsubcategory">Incident Subcategorie</string>
<string name="lbl_viewreport_etcetc">Meer gegevens</string>
<string name="lbl_viewreport_reportedfrom">Gemeld door gebruiker</string>
<string name="lbl_question_situation">Wat gebeurt er?</string>
<string name="lbl_question_place">Waar gebeurt het?</string>
<string name="lbl_question_time">Wanneer gebeurt het?</string>
<string name="lbl_question_suspect">Wie doet het of is waarschijnlijk verdacht?</string>
<string name="lbl_question_weapon">Zijn er wapens bij betrokken?</string>
<string name="lbl_question_count">Hoeveel daders zijn er?</string>
<string name="lbl_question_victim">Wie wordt beïnvloed?</string>
<string name="lbl_question_victimorigin">Waar komen de slachtoffers vandaan?</string>
<string name="lbl_question_etc">Weet je nog meer?</string>
<string name="lbl_question_etc_vehicle">Hoe reizen ze?</string>
<string name="lbl_question_etc_victimaff">Hebben de slachtoffers iets gemeen?</string>
<string name="lbl_question_etc_recon">Hoe zou je de daders categoriseren?</string>
<string name="lbl_question_etc_etc">Overige informatie?</string>
<string name="cat_hint">Overige gegevens &#8230;</string>
<string name="hint_place">Kies eerst een locatie op de kaart</string>
<string name="lbl_viewreport_time">Tijd</string>
<string name="lbl_viewreport_suspect">Verdachte</string>
<string name="lbl_viewreport_victim">Slachtoffer</string>
<string name="lbl_viewreport_suspectweapon">Wapens</string>
<string name="lbl_viewreport_suspectcount">Hoeveelheid</string>
<string name="lbl_viewreport_victimorigin">Herkomst van slachtoffer</string>
<string name="lbl_viewreport_suspecttransport">Voertuig</string>
<string name="lbl_viewreport_victimaff">Slachtoffer verwondingen</string>
<string name="lbl_viewreport_suspectrecon">Verdachte kenmerken</string>
<string name="lbl_profile_points_me">U heeft momenteel &#8230;</string>
<string name="lvl_profile_points">punten</string>
<string name="lbl_profile_numofposts_me">van een totaal van &#8230;</string>
<string name="lbl_profile_reportedincidents">gemelde incidenten</string>
<string name="lbl_profile_ranking_me">en uw rang is &#8230;</string>
<string name="lbl_profile_membersince_me">U steunt RiskAhead sinds</string>
<string name="lbl_profile_thanks">Dank u!</string>
<string name="lbl_profile_points_someone">heeft momenteel &#8230;</string>
<string name="lbl_profile_ranking_someone">en zijn/haar rang is &#8230;</string>
<string name="lbl_profile_membersince_someone">steunt RiskAhead sinds</string>
<string name="lbl_profile_top10">Top 10</string>
<string name="lbl_profile_stats">Statistics</string>
<string name="lbl_profile_reports">Reports</string>
<string name="lbl_membershiptype_premium">PREMIUM LID</string>
<string name="lbl_membershiptype_free">GRATIS LID</string>
<string name="lbl_membershiptype_addfree">RECLAME-VRIJ LID</string>
<string name="lbl_subs_maintaining">Handhaving van RiskAhead is kosten-intensief.</string>
<string name="lbl_subs_helpus">Help ons door de aankoop van abonnementen. Dit stelt ons in staat RiskAhead te onderhouden en te verbeteren in de toekomst.</string>
<string name="lbl_dropdown_pleaseselect">Selecteer alstublieft &#8230;</string>
<string name="txt_notification_title">Nieuw incident gemeld in uw omgeving!</string>
<string name="txt_notification_title_multi">Nieuwe incidenten gemeld in uw omgeving!</string>
<string name="txt_notification_context"> Nieuw incident nabij uw laatste locatie. Pas op!</string>
<string name="txt_notification_context_multi"> Nieuwe incidenten nabij uw laatste locatie. Pas op!</string>
<string name="btn_reportwf_reportnow">Reporteer NU!</string>
<string name="btn_reportwf_next">Volgende</string>
<string name="menu_send_feedback">Verstuur terugkoppeling</string>
<string name="txt_reportwf_newincidenttitle">Maak nieuw incident?</string>
<string name="txt_reportwf_newincidenttext">Wilt u alle velden leeg maken en een nieuw incident maken?</string>
<string name="txt_subs_youbought">U heeft gekocht</string>
<string name="txt_subs_thankyou">Dank u voor uw steun!</string>
<string name="txt_viewreport_deletetitle">Incident verwijderen?</string>
<string name="txt_viewreport_deletetext">Wilt u echt dit incident verwijderen? Een verwijderd incident kan niet worden hersteld.</string>
<string name="txt_errormsg_suffix">Probeer het later nogmaals of neem contact op met RiskAhead ondersteuning.</string>
<string name="txt_errormsg_login">Aanmelden mislukt. Controleer uw wachtwoord en e-mailadres.</string>
<string name="txt_errormsg_register">Registreren mislukt.</string>
<string name="txt_errormsg_getpwreset">Verzending e-mail mislukt.</string>
<string name="txt_errormsg_getactivationlink">Verzending activatie link mislukt.</string>
<string name="txt_errormsg_getinfowindow">Laden incident mislukt.</string>
<string name="txt_errormsg_createincident">Bewaren van uw incident mislukt.</string>
<string name="txt_errormsg_subs">Er was een probleem met het verwerken van uw aankoop gegevens.</string>
<string name="txt_errormsg_deleteincident">Verwijderen van dit incident mislukt.</string>
<string name="txt_errormsg_getincidentdetail">Ontvangen van incident gegevens mislukt.</string>
<string name="txt_errormsg_cannotvoteowninc">U kunt niet op uw eigen incident stemmen.</string>
<string name="txt_errormsg_couldnotvote">Bewaren van uw stem mislukt.</string>
<string name="txt_errormsg_retrievestats">Laden van profiel gegevens mislukt.</string>
<string name="txt_settings_resetpwtitle">Wachtwoord herstellen?</string>
<string name="txt_settings_resetpwtext">Wilt u echt uw wachtwoord herstellen? Een E-Mail zal naar uw adres gestuurd worden. Klik op de gestuurd link om uw wachtwoord te herstellen.</string>
<string name="txt_errormsg_resetpw">Versturen van uw wachtwoord herstel e-mail mislukt.</string>
<string name="txt_errormsg_changesettings">Gebruikers instellingen veranderen mislukt.</string>
<string name="txt_errormsg_gettop10">Laden Top10 lijst mislukt.</string>
<string name="txt_success_voted">Gestemd! Score ge-update.</string>
<string name="txt_success_incidentdel">Incident verwijdert</string>
<string name="txt_success_addreport">Rapport toegevoegd!</string>
<string name="txt_success_changesett">Gebruikersinstellingen succesvol veranderd</string>
<string name="txt_premium_only">(Alleen Premium)</string>
<string name="txt_settings_acc_headline">Account Instellingen</string>
<string name="txt_settings_username">Gebruikersnaam</string>
<string name="txt_settings_username_sum">Type uw gebruikersnaam</string>
<string name="txt_settings_name_title">Naam</string>
<string name="txt_settings_name_sum">Type uw naam</string>
<string name="txt_settings_surname_title">Achternaam</string>
<string name="txt_settings_surname_sum">Type uw achternaam</string>
<string name="txt_settings_email_title">E-Mail</string>
<string name="txt_settings_email_sum">Type uw e-mailadres</string>
<string name="txt_settings_resetpw_title">Wachtwoord herstellen</string>
<string name="txt_settings_resetpw_sum">Vraag nieuw wachtwoord aan</string>
<string name="txt_settings_notify_head">Meldingen</string>
<string name="txt_settings_showno_title">Laat meldingen zien</string>
<string name="txt_settings_showno_sum">Inschakelen meldingen in uw buurt</string>
<string name="txt_settings_notify_showradius">Radius</string>
<string name="txt_settings_notify_showradius_sum">Kies de radius van uw laatste bekende locatie waarin meldingen worden weergegeven</string>
<string name="txt_settings_notify_pollfreq">Enquête Frequentie</string>
<string name="txt_settings_notify_pollfreq_sum">Beslis hoe vaak melding updates van de server ontvangen moeten worden</string>
<string name="txt_settings_gps_enable_title">GPS inschakelen</string>
<string name="txt_settings_gps_enable_sum">Haal je laatst bekende locatie op met GPS (GPS moet ingeschakeld zijn in uw apparaat instellingen)</string>
<string name="txt_settings_gps_loca_title">Kies uw locatie</string>
<string name="txt_settings_gps_loca_sum">Uw locatie (Lengte/breedte graad):</string>
<string name="txt_top10_reportedinc">gemelde incidenten</string>
<string name="txt_top10_membersince">Lid sinds</string>
<string name="menu_action_feedback">Terugkoppeling</string>
<string name="txt_feedback_message">Geef ons uw terugkoppeling om ons te helpen met het verbeteren van RiskAhead</string>
<string name="txt_feedback_hint">Type terugkoppeling hier in</string>
<string name="txt_feedback_sendbtn">Verzenden</string>
<string name="txt_feedback_cancelbtn">Annuleer</string>
<string name="txt_feedback_response">Dank u voor uw terugkoppeling!</string>
<string name="txt_rate_title">Beoordeel RiskAhead</string>
<string name="txt_rate_message">Als u geniet van Risk Ahead, neem dan even de tijd om het te beoordelen. Bedankt voor uw steun!</string>
<string name="txt_rate_retenowbtn">Beoordeel nu!</string>
<string name="txt_rate_laterbtn">Later</string>
<string name="txt_rate_neverbtn">Nooit</string>
<string name="txt_share_title">Delen?</string>
<string name="txt_share_message">Hartelijk dank voor uw invoer. Wilt u dit incident buiten RiskAhead delen?</string>
<string name="txt_share_hint">Attentie, nieuw incident!\n</string>
<string name="txt_share_hint2">Wat</string>
<string name="txt_share_hint3">Waar</string>
<string name="txt_share_page">Voor meer gegevens: www.riskahead.net</string>
<string name="txt_share_acttitle">Deel incident…</string>
<string name="txt_viewreport_noinput">Geen invoer</string>
<string name="txt_backpressed_msg">Druk nogmaals de terug knop om RiskAhead te verlaten</string>
<string name="txt_notifystatus_txt">Meldingen: </string>
<string name="txt_notifystatus_activated">AAN</string>
<string name="txt_notifystatus_activatedbutnotready">NIET KLAAR (GEEN GPS)</string>
<string name="txt_notifystatus_deactivated">UIT</string>
<string name="txt_map_zoomoutpremium">Neem Premium om de volledige kaart te zien!</string>
<string name="txt_register_privacy">Bevestig dat u gelezen heeft en akkoord bent met onze <a href="http://www.riskahead.de">Privacybeleid</a> en <a href="http://www.riskahead.de">Servicevoorwaarden</a></string>
<string name="txt_register_privacy_text">Ik heb het privacybeleid en de servicevoorwaarden gelezen en bevestig mijn overeenkomst.</string>
<string name="txt_register_privacy_title">Uw privacy is zeer belangrijk voor ons</string>
<string name="txt_about_developedby">Ontwikkeld van</string>
<string name="txt_about_privacy">Privacybeleid: <a href="http://www.riskahead.de/en/privacy/">http://www.riskahead.de/en/privacy/</a></string>
<string name="txt_about_terms">Servicevoorwaarden: <a href="http://www.riskahead.de/en/terms/">http://www.riskahead.de/en/terms/</a></string>
<string name="txt_about_homepage">Webpagina: <a href="http://www.riskahead.net">http://www.riskahead.net</a></string>
<string name="txt_about_riskahead">RiskAhead voor Android</string>
<string name="menu_action_language">Taal</string>
<string name="txt_language_title">Verander Taal</string>
<string-array name="cat_situation_main">
<item>Een dreigend Incident of Situatie</item>
<item>Verbaal geweld</item>
<item>Licht tot Zwaar Lichamelijk Geweld</item>
<item>Levensbedreigend Geweld</item>
<item>Natuurramp</item>
<item>Menselijke Rampen &amp; Infrastructuur</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Oplichting, Diefstal, Beroving of Inbraak</item>
<item>Drugs Misbruik bijv. Drugs in drankje</item>
<item>Demonstratie, Rellen of Wegversperring</item>
<item>Controlepost, Controle</item>
<item>Corruptie, Afpersing</item>
<item>Criminaliteit, Militie or Terrorist Activiteiten</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Sexuele Overlast</item>
<item>Beledigend of dreigende taal</item>
<item>Ondervraging, onder druk zetten of dwang</item>
<item>Aansporing</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Sexuele Aanval</item>
<item>Fysieke Aanval in het algemeen</item>
<item>Een Gevecht of vechtpartij</item>
<item>Arrestatie of Gevangenneming</item>
<item>Gedwongen Arbeid</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Verkrachting</item>
<item>Marteling, ontvoering, gijzeling</item>
<item>Beschieting</item>
<item>Bom of Zelfmoord Aanval</item>
<item>Moord, Publieke Executie</item>
<item>Tentoonstelling van lijk of lijkdelen</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Extreme Temperaturen</item>
<item>Storm, Orkaan, Tornado</item>
<item>Overstroming, Tsunami</item>
<item>Aardbeving, Aardverschuiving</item>
<item>Brand, Rook, Vulkaanuitbarsting</item>
<item>Hongersnood, Droogte, Dieren plaag </item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Luchtvervuiling</item>
<item>Stroomstoring of Algemeen Ongeval</item>
<item>Instortende of Slopen Gebouwen</item>
<item>Wijdverspreide brand</item>
<item>Chemische of olieramp</item>
<item>Ziekte-uitbraak of epidemie</item>
<item>Chaos, anarchie</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_time_main">
<item>Op Dit Moment!</item>
<item>Periodiek</item>
<item>Precieze Tijd</item>
<item>Precieze Tijd Periode</item>
</string-array>
<string-array name="cat_time_sub_periodical">
<item>Ochtend</item>
<item>Tijdens de Dag</item>
<item>Avond</item>
<item>Nacht</item>
</string-array>
<string-array name="cat_suspect_main">
<item>Straat crimineel of Bende </item>
<item>Politie</item>
<item>Grote Menigte</item>
<item>Huurmoordenaar, Kartel, Militie, Guerrilla</item>
<item>Soldaten, Het Leger</item>
<item>Terroristen (religieuze of politieke)</item>
<item>Ik weet het niet</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_suspect_sub_location">
<item>Binnenlands</item>
<item>Buitenlands</item>
</string-array>
<string-array name="cat_suspect_weapons">
<item>Alledaagse Voorwerpen</item>
<item>Vuurwapens</item>
<item>Explosieven</item>
<item>Zeer zware of militaire systemen</item>
<item>Ik weet het niet</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_suspect_count">
<item>Individu</item>
<item>Kleine groep(25)</item>
<item>Grote groep (meer dan 5)</item>
<item>Ik weet het niet</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_victim">
<item>Vrouwen</item>
<item>Kinderen</item>
<item>Mannen</item>
<item>Elk Persoon</item>
<item>Dieren</item>
<item>Gebouwen/Infrastructuur</item>
</string-array>
<string-array name="cat_victim_origin">
<item>De lokale bevolking</item>
<item>Toeristen</item>
<item>Langdurig ingezetene buitenlanders, Expat</item>
<item>Ik weet het niet</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_details_vehicle">
<item>Te Voet</item>
<item>Motorfiets</item>
<item>Auto, SUV, Pick-up</item>
<item>Truck, Bus</item>
<item>Militair Voertuig, Tank</item>
<item>Vliegtuig, Helikopter</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_details_victimaff">
<item>Godsdienst</item>
<item>Etnische afkomst bijvoorbeeld huidskleur</item>
<item>Politieke affiliatie</item>
<item>Sociale groep bijvoorbeeld Immigranten</item>
<item>Beroep</item>
<item>Taal</item>
<item>Anders &#8230;</item>
</string-array>
<string-array name="cat_details_suspect_recon">
<item>Mannen</item>
<item>Vrouwen</item>
<item>Kinderen</item>
<item>Dieren</item>
<item>Anders &#8230;</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>25 km</item>
<item>50 km</item>
<item>100 km</item>
<item>250 km</item>
</string-array>
<string-array name="notification_radius_entry">
<item>1</item>
<item>5</item>
<item>10</item>
<item>15</item>
<item>25</item>
<item>50</item>
<item>100</item>
<item>250</item>
</string-array>
<string-array name="notification_freq">
<item>Elke 5 Minuten</item>
<item>Elke 10 Minuten</item>
<item>Elke 15 Minuten</item>
<item>Elke 30 Minuten</item>
<item>Elke Uur</item>
</string-array>
<string-array name="notification_freq_entry">
<item>5</item>
<item>10</item>
<item>15</item>
<item>30</item>
<item>60</item>
</string-array>
</resources>

View File

@@ -234,7 +234,7 @@
<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 name="txt_map_zoomoutpremium">Get Premium to view the Full Map!</string>
<string name="txt_register_privacy">Please confirm that you have read and agree to our <a href="http://www.riskahead.net/en/privacy/">Privacy Policy</a> and <a href="http://www.riskahead.net/en/terms/">Terms of Service</a></string>
<string name="txt_register_privacy_text">I have read the privacy policy and terms of service and confirm my agreement.</string>
@@ -341,7 +341,7 @@
<item>Street Criminal or Gang </item>
<item>The Police</item>
<item>Large Crowd</item>
<item>Hit Man, Cartel, Militia, Guerilla</item>
<item>Hitman, Cartel, Militia, Guerilla</item>
<item>Soldiers, The Military</item>
<item>Terrorists (religious or political)</item>
<item>I do not know</item>