diff --git a/app/app-release.apk b/app/app-release.apk index 00fdd14..1612339 100644 Binary files a/app/app-release.apk and b/app/app-release.apk differ diff --git a/app/build.gradle b/app/build.gradle index 178f954..4496517 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -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 { diff --git a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java index 5917813..d6b618b 100644 --- a/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java +++ b/app/src/main/java/org/deke/risk/riskahead/SubscriptionsActivity.java @@ -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 purchaseMap = new HashMap<>(); - ArrayList skuList = new ArrayList<>(); + private Bundle querySkus; + private HashMap purchaseMap = new HashMap<>(); + private ArrayList skuList = new ArrayList<>(); - HashMap dbItems = new HashMap<>(); - ArrayList ownedSkus = new ArrayList<>(); + private HashMap dbItems = new HashMap<>(); + private ArrayList ownedSkus = new ArrayList<>(); - Handler handler; + Handler billingHandler; + + private SubscriptionsPagerAdapter subscriptionsAdapter; + private ViewPager subscriptionsViewPager; + + private List 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 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 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 diff --git a/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java index 50b23b3..d41d379 100644 --- a/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/SpinnerHintAdapter.java @@ -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) { diff --git a/app/src/main/java/org/deke/risk/riskahead/adapter/SubscriptionsPagerAdapter.java b/app/src/main/java/org/deke/risk/riskahead/adapter/SubscriptionsPagerAdapter.java new file mode 100644 index 0000000..eeb22c9 --- /dev/null +++ b/app/src/main/java/org/deke/risk/riskahead/adapter/SubscriptionsPagerAdapter.java @@ -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; + } +} \ No newline at end of file diff --git a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java index 4abdf63..aa55572 100644 --- a/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java +++ b/app/src/main/java/org/deke/risk/riskahead/fragment/ReportListFragment.java @@ -98,8 +98,11 @@ public class ReportListFragment extends Fragment{ resultList = new ArrayList<>(); for(int i=0;i + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bottom_dot_unselected.xml b/app/src/main/res/drawable/bottom_dot_unselected.xml new file mode 100644 index 0000000..963e899 --- /dev/null +++ b/app/src/main/res/drawable/bottom_dot_unselected.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/noads.png b/app/src/main/res/drawable/noads.png new file mode 100644 index 0000000..90efa3d Binary files /dev/null and b/app/src/main/res/drawable/noads.png differ diff --git a/app/src/main/res/drawable/premium.png b/app/src/main/res/drawable/premium.png new file mode 100644 index 0000000..8d783b8 Binary files /dev/null and b/app/src/main/res/drawable/premium.png differ diff --git a/app/src/main/res/layout/activity_subscriptions.xml b/app/src/main/res/layout/activity_subscriptions.xml index 0901e41..12eb966 100644 --- a/app/src/main/res/layout/activity_subscriptions.xml +++ b/app/src/main/res/layout/activity_subscriptions.xml @@ -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" /> - + + - - - + /> diff --git a/app/src/main/res/layout/fragment_profile_stats.xml b/app/src/main/res/layout/fragment_profile_stats.xml index e5901bb..0e28e97 100644 --- a/app/src/main/res/layout/fragment_profile_stats.xml +++ b/app/src/main/res/layout/fragment_profile_stats.xml @@ -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" diff --git a/app/src/main/res/layout/fragment_subscriptionitem.xml b/app/src/main/res/layout/fragment_subscriptionitem.xml new file mode 100644 index 0000000..046d308 --- /dev/null +++ b/app/src/main/res/layout/fragment_subscriptionitem.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml new file mode 100644 index 0000000..dfbc300 --- /dev/null +++ b/app/src/main/res/values-nl/strings.xml @@ -0,0 +1,445 @@ + + + RiskAhead + + Aanmelden + Registreren + + Aanmelden bij RiskAhead + Wachtwoord vergeten? Klik hier + Servicevoorwaarden en Privacybeleid + Of gebruik de volgende sociale netwerken om aan te melden + + Registreer bij RiskAhead + Gebruikersnaam + E-Mail + Wachtwoord + + RiskAhead + RiskAhead + + Locatie + Zoekinstellingen + + Gebruikersprofiel + Risicokaart + Gebruikersinstellingen + Abonnementen + Rapport weergeven + + Over + Help & Contact + Afsluiten + Kaart vernieuwen + + Op dit moment hebben we … + … gemelde incidenten + Meld een incident + Laat kaart zien + + Verwijder incident + + Startpagina + Incident Melden + Incidenten kaart + Gebruikers Statistieken + Accountinstellingen + Abonnementen + Afmelden + + Uw gebruikersnaam moet ten minste 5 karakters lang zijn + Vul een geldig e-mailadres in, bijvoorbeeld: Abc@xyz.nl + JUw wachtwoord moet ten minste 5 karakters lang zijn. + Ingevoerde velden niet geldig. Verbeter de fouten eerst. + + Vul uw e-mail in om uw wachtwoord opnieuw in te stellen + + Wachtwoord Reset E-mail + 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. + E-Mail is verzonden naar uw e-mailadres + Activeer uw account + Uw account is nog niet geactiveerd. Volg de instructies in uw e-mail. Wilt u de e-mail opnieuw verzenden? + E-Mail is verzonden naar uw e-mailadres + Activering E-mail + Een activatie link is verzonden naar uw e-mailadres. Volg de instructies om uw account te activeren. Dank u wel! + Geen internet verbinding + U heeft een actieve internetverbinding om deze app te gebruiken. Schakel uw internet verbinding in en meld opnieuw aan. + + Kon geen gegevens ophalen van de server. Controleer internet verbinding. + Even geduld aub … + Gegevens ophalen van de server + Meld een incident + + Auteur: + Rating: + Verdachte: + Slachtoffer: + Tijd: + Zoeken + + Maak uw keuze … + Datum (jjjj-MM-dd) + Tijd + Positie + Op datum (jjjj-MM-dd) + Op tijd + + U heeft alles ingevuld! + Dank u voor uw steun! + Nieuw + Verstuur! + + Incident Categorie + Incident Subcategorie + Meer gegevens + Gemeld door gebruiker + + Wat gebeurt er? + Waar gebeurt het? + Wanneer gebeurt het? + Wie doet het of is waarschijnlijk verdacht? + Zijn er wapens bij betrokken? + Hoeveel daders zijn er? + Wie wordt beïnvloed? + Waar komen de slachtoffers vandaan? + Weet je nog meer? + Hoe reizen ze? + Hebben de slachtoffers iets gemeen? + Hoe zou je de daders categoriseren? + Overige informatie? + Overige gegevens … + + Kies eerst een locatie op de kaart + Tijd + Verdachte + Slachtoffer + Wapens + Hoeveelheid + Herkomst van slachtoffer + Voertuig + Slachtoffer verwondingen + Verdachte kenmerken + + U heeft momenteel … + punten + van een totaal van … + gemelde incidenten + en uw rang is … + U steunt RiskAhead sinds + Dank u! + heeft momenteel … + en zijn/haar rang is … + steunt RiskAhead sinds + Top 10 + Statistics + Reports + + PREMIUM LID + GRATIS LID + RECLAME-VRIJ LID + + Handhaving van RiskAhead is kosten-intensief. + Help ons door de aankoop van abonnementen. Dit stelt ons in staat RiskAhead te onderhouden en te verbeteren in de toekomst. + + Selecteer alstublieft … + Nieuw incident gemeld in uw omgeving! + Nieuwe incidenten gemeld in uw omgeving! + Nieuw incident nabij uw laatste locatie. Pas op! + Nieuwe incidenten nabij uw laatste locatie. Pas op! + Reporteer NU! + Volgende + + + Verstuur terugkoppeling + + Maak nieuw incident? + Wilt u alle velden leeg maken en een nieuw incident maken? + U heeft gekocht + Dank u voor uw steun! + Incident verwijderen? + Wilt u echt dit incident verwijderen? Een verwijderd incident kan niet worden hersteld. + + Probeer het later nogmaals of neem contact op met RiskAhead ondersteuning. + Aanmelden mislukt. Controleer uw wachtwoord en e-mailadres. + Registreren mislukt. + Verzending e-mail mislukt. + Verzending activatie link mislukt. + Laden incident mislukt. + Bewaren van uw incident mislukt. + Er was een probleem met het verwerken van uw aankoop gegevens. + Verwijderen van dit incident mislukt. + Ontvangen van incident gegevens mislukt. + U kunt niet op uw eigen incident stemmen. + Bewaren van uw stem mislukt. + Laden van profiel gegevens mislukt. + Wachtwoord herstellen? + 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. + Versturen van uw wachtwoord herstel e-mail mislukt. + Gebruikers instellingen veranderen mislukt. + Laden Top10 lijst mislukt. + + Gestemd! Score ge-update. + Incident verwijdert + Rapport toegevoegd! + Gebruikersinstellingen succesvol veranderd + (Alleen Premium) + Account Instellingen + Gebruikersnaam + Type uw gebruikersnaam + Naam + Type uw naam + Achternaam + Type uw achternaam + E-Mail + Type uw e-mailadres + Wachtwoord herstellen + Vraag nieuw wachtwoord aan + Meldingen + Laat meldingen zien + Inschakelen meldingen in uw buurt + Radius + Kies de radius van uw laatste bekende locatie waarin meldingen worden weergegeven + Enquête Frequentie + Beslis hoe vaak melding updates van de server ontvangen moeten worden + GPS inschakelen + Haal je laatst bekende locatie op met GPS (GPS moet ingeschakeld zijn in uw apparaat instellingen) + Kies uw locatie + Uw locatie (Lengte/breedte graad): + gemelde incidenten + Lid sinds + + Terugkoppeling + Geef ons uw terugkoppeling om ons te helpen met het verbeteren van RiskAhead + Type terugkoppeling hier in + Verzenden + Annuleer + Dank u voor uw terugkoppeling! + + Beoordeel RiskAhead + Als u geniet van Risk Ahead, neem dan even de tijd om het te beoordelen. Bedankt voor uw steun! + Beoordeel nu! + Later + Nooit + Delen? + Hartelijk dank voor uw invoer. Wilt u dit incident buiten RiskAhead delen? + Attentie, nieuw incident!\n + Wat + Waar + Voor meer gegevens: www.riskahead.net + Deel incident… + Geen invoer + Druk nogmaals de terug knop om RiskAhead te verlaten + Meldingen: + AAN + NIET KLAAR (GEEN GPS) + UIT + Neem Premium om de volledige kaart te zien! + + Bevestig dat u gelezen heeft en akkoord bent met onze Privacybeleid en Servicevoorwaarden + Ik heb het privacybeleid en de servicevoorwaarden gelezen en bevestig mijn overeenkomst. + Uw privacy is zeer belangrijk voor ons + Ontwikkeld van + Privacybeleid: http://www.riskahead.de/en/privacy/ + Servicevoorwaarden: http://www.riskahead.de/en/terms/ + Webpagina: http://www.riskahead.net + RiskAhead voor Android + Taal + Verander Taal + + + Een dreigend Incident of Situatie + Verbaal geweld + Licht tot Zwaar Lichamelijk Geweld + Levensbedreigend Geweld + Natuurramp + Menselijke Rampen & Infrastructuur + + + + Oplichting, Diefstal, Beroving of Inbraak + Drugs Misbruik bijv. Drugs in drankje + Demonstratie, Rellen of Wegversperring + Controlepost, Controle + Corruptie, Afpersing + Criminaliteit, Militie or Terrorist Activiteiten + Anders … + + + + Sexuele Overlast + Beledigend of dreigende taal + Ondervraging, onder druk zetten of dwang + Aansporing + Anders … + + + + Sexuele Aanval + Fysieke Aanval in het algemeen + Een Gevecht of vechtpartij + Arrestatie of Gevangenneming + Gedwongen Arbeid + Anders … + + + + Verkrachting + Marteling, ontvoering, gijzeling + Beschieting + Bom of Zelfmoord Aanval + Moord, Publieke Executie + Tentoonstelling van lijk of lijkdelen + Anders … + + + + Extreme Temperaturen + Storm, Orkaan, Tornado + Overstroming, Tsunami + Aardbeving, Aardverschuiving + Brand, Rook, Vulkaanuitbarsting + Hongersnood, Droogte, Dieren plaag + Anders … + + + + Luchtvervuiling + Stroomstoring of Algemeen Ongeval + Instortende of Slopen Gebouwen + Wijdverspreide brand + Chemische of olieramp + Ziekte-uitbraak of epidemie + Chaos, anarchie + Anders … + + + + Op Dit Moment! + Periodiek + Precieze Tijd + Precieze Tijd Periode + + + + Ochtend + Tijdens de Dag + Avond + Nacht + + + + Straat crimineel of Bende + Politie + Grote Menigte + Huurmoordenaar, Kartel, Militie, Guerrilla + Soldaten, Het Leger + Terroristen (religieuze of politieke) + Ik weet het niet + Anders … + + + + Binnenlands + Buitenlands + + + + Alledaagse Voorwerpen + Vuurwapens + Explosieven + Zeer zware of militaire systemen + Ik weet het niet + Anders … + + + + Individu + Kleine groep(2–5) + Grote groep (meer dan 5) + Ik weet het niet + Anders … + + + + Vrouwen + Kinderen + Mannen + Elk Persoon + Dieren + Gebouwen/Infrastructuur + + + + De lokale bevolking + Toeristen + Langdurig ingezetene buitenlanders, Expat + Ik weet het niet + Anders … + + + + Te Voet + Motorfiets + Auto, SUV, Pick-up + Truck, Bus + Militair Voertuig, Tank + Vliegtuig, Helikopter + Anders … + + + + Godsdienst + Etnische afkomst bijvoorbeeld huidskleur + Politieke affiliatie + Sociale groep bijvoorbeeld Immigranten + Beroep + Taal + Anders … + + + + Mannen + Vrouwen + Kinderen + Dieren + Anders … + + + + 1 km + 5 km + 10 km + 15 km + 25 km + 50 km + 100 km + 250 km + + + + 1 + 5 + 10 + 15 + 25 + 50 + 100 + 250 + + + + Elke 5 Minuten + Elke 10 Minuten + Elke 15 Minuten + Elke 30 Minuten + Elke Uur + + + + 5 + 10 + 15 + 30 + 60 + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index faae929..6103432 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -234,7 +234,7 @@ ON NOT READY (NO GPS) OFF - Get Premiuim to view the Full Map! + Get Premium to view the Full Map! Please confirm that you have read and agree to our Privacy Policy and Terms of Service I have read the privacy policy and terms of service and confirm my agreement. @@ -341,7 +341,7 @@ Street Criminal or Gang The Police Large Crowd - Hit Man, Cartel, Militia, Guerilla + Hitman, Cartel, Militia, Guerilla Soldiers, The Military Terrorists (religious or political) I do not know