Changed Rest-Calls to new API,

Many bugfixes and some improvements (especially on the map),
Some minor design changes,
Removed MainActivity from Menu
This commit is contained in:
Dennis Thiessen
2017-05-28 00:02:10 +02:00
parent 41bbc671ca
commit b79b5d7f3f
53 changed files with 1163 additions and 1783 deletions

View File

@@ -80,6 +80,7 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" /> <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-classes" />
@@ -90,6 +91,7 @@
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/reload-dex" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />

View File

@@ -5,13 +5,11 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" />
<!-- <uses-permission android:name="android.permission.USE_CREDENTIALS" /> -->
<!-- <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="org.deke.risk.riskahead.permission.MAPS_RECEIVE" /> <uses-permission android:name="org.deke.risk.riskahead.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="com.android.vending.BILLING" />
<!-- Google Maps Android API V2 requires OpenGL ES version 2 --> <!-- Google Maps Android API V2 requires OpenGL ES version 2 -->
<uses-feature <uses-feature
@@ -49,11 +47,7 @@
android:name="com.google.android.gms.ads.AdActivity" android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" /> android:theme="@android:style/Theme.Translucent" />
<activity
android:name=".StartActivity"
android:label="@string/title_activity_start"
android:screenOrientation="portrait">
</activity>
<activity <activity
android:name=".LoginActivity" android:name=".LoginActivity"
android:label="@string/app_name" android:label="@string/app_name"
@@ -62,9 +56,6 @@
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".StartActivity" />
</activity> </activity>
<activity android:name="com.twitter.sdk.android.core.identity.OAuthActivity" /> <activity android:name="com.twitter.sdk.android.core.identity.OAuthActivity" />
<activity <activity
@@ -72,14 +63,12 @@
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" /> android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".MainActivity"
android:label="@string/title_activity_entrance"
android:screenOrientation="portrait" />
<activity <activity
android:name=".MapsActivity" android:name=".MapsActivity"
android:label="@string/title_activity_maps" android:label="@string/title_activity_maps"
android:launchMode="singleTop"
android:screenOrientation="portrait"> android:screenOrientation="portrait">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.SEARCH" /> <action android:name="android.intent.action.SEARCH" />
</intent-filter> </intent-filter>

View File

@@ -8,6 +8,7 @@ import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction; import android.support.v4.app.FragmentTransaction;
import android.content.Intent; import android.content.Intent;
@@ -43,6 +44,9 @@ import com.android.volley.Request.Method;
import com.android.volley.Response; import com.android.volley.Response;
import com.android.volley.VolleyError; import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.StringRequest;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.google.android.gms.plus.Plus;
import com.google.android.gms.plus.model.people.Person;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@@ -87,7 +91,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
SessionManager session = new SessionManager(getApplicationContext()); SessionManager session = new SessionManager(getApplicationContext());
if (session.isLoggedIn()) { if (session.isLoggedIn()) {
Log.d(TAG,"User found in sharedPrefs and is therefore logged in. Continue to internal Area."); Log.d(TAG,"User found in sharedPrefs and is therefore logged in. Continue to internal Area.");
Intent intent = new Intent(LoginActivity.this, MainActivity.class); Intent intent = new Intent(LoginActivity.this, MapsActivity.class);
startActivity(intent); startActivity(intent);
finish(); finish();
} }
@@ -133,18 +137,22 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
setContentView(R.layout.activity_login); setContentView(R.layout.activity_login);
input_email = (TextView) findViewById(R.id.input_register_email); input_email = (TextView) findViewById(R.id.input_register_email);
TextInputLayout inputLayoutEmail = (TextInputLayout) findViewById(R.id.input_layout_email);
input_password = (TextView) findViewById(R.id.input_register_password); input_password = (TextView) findViewById(R.id.input_register_password);
TextInputLayout inputLayoutPassword = (TextInputLayout) findViewById(R.id.input_layout_password);
TextView btn_requestPW = (TextView) findViewById(R.id.lbl_login_resendPW); TextView btn_requestPW = (TextView) findViewById(R.id.lbl_login_resendPW);
Button btn_switchtoregistration = (Button) findViewById(R.id.btn_switchtoregistration); BootstrapButton btn_gotoregistration = (BootstrapButton) findViewById(R.id.btn_switchtoregistration);
btn_switchtoregistration.setOnClickListener(new View.OnClickListener() { btn_gotoregistration.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
gotoRegister(v); gotoRegister(v);
} }
}); });
Button btn_login = (Button) findViewById(R.id.btn_login); BootstrapButton btn_login = (BootstrapButton) findViewById(R.id.btn_login);
btn_login.setOnClickListener(new View.OnClickListener() { btn_login.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -161,20 +169,24 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
}); });
input_email.addTextChangedListener(new TextValidator(input_email, getApplicationContext()) { input_email.addTextChangedListener(new TextValidator(input_email, inputLayoutEmail, getApplicationContext()) {
@Override @Override
public void validate(TextView textView, String text) { public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (!Patterns.EMAIL_ADDRESS.matcher(text).matches()) { if (!Patterns.EMAIL_ADDRESS.matcher(text).matches()) {
textView.setError(getString(R.string.error_email)); inputLayout.setError(getString(R.string.error_email));
} else {
inputLayout.setErrorEnabled(false);
} }
} }
}); });
input_password.addTextChangedListener(new TextValidator(input_password, getApplicationContext()) { input_password.addTextChangedListener(new TextValidator(input_password, inputLayoutPassword,getApplicationContext()) {
@Override @Override
public void validate(TextView textView, String text) { public void validate(TextView textView, TextInputLayout inputLayout,String text) {
if (text.length() < 5) { if (text.length() < 5) {
textView.setError(getString(R.string.error_password)); inputLayout.setError(getString(R.string.error_password));
} else {
inputLayout.setErrorEnabled(false);
} }
} }
}); });
@@ -191,40 +203,43 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
setContentView(R.layout.activity_register); setContentView(R.layout.activity_register);
input_username = (TextView) findViewById(R.id.input_register_name); input_username = (TextView) findViewById(R.id.input_register_name);
TextInputLayout inputLayoutUsername = (TextInputLayout) findViewById(R.id.input_layout_username);
input_email = (TextView) findViewById(R.id.input_register_email); input_email = (TextView) findViewById(R.id.input_register_email);
TextInputLayout inputLayoutEmail = (TextInputLayout) findViewById(R.id.input_layout_email);
input_password = (TextView) findViewById(R.id.input_register_password); input_password = (TextView) findViewById(R.id.input_register_password);
Button btn_login = (Button) findViewById(R.id.btn_register); TextInputLayout inputLayoutPassword = (TextInputLayout) findViewById(R.id.input_layout_password);
BootstrapButton btn_login = (BootstrapButton) findViewById(R.id.btn_register);
TextView btn_switchtologin = (TextView) findViewById(R.id.lbl_register_switchtologin); TextView btn_switchtologin = (TextView) findViewById(R.id.lbl_register_switchtologin);
input_username.addTextChangedListener(new TextValidator(input_username, getApplicationContext()) { input_username.addTextChangedListener(new TextValidator(input_username, inputLayoutUsername, getApplicationContext()) {
@Override @Override
public void validate(TextView textView, String text) { public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (text.trim().length() < 5) { if (text.trim().length() < 5) {
textView.setError(getString(R.string.error_anytext)); inputLayout.setError(getString(R.string.error_anytext));
} else { } else {
textView.setError(null); inputLayout.setErrorEnabled(false);
} }
} }
}); });
input_email.addTextChangedListener(new TextValidator(input_email, getApplicationContext()) { input_email.addTextChangedListener(new TextValidator(input_email, inputLayoutEmail, getApplicationContext()) {
@Override @Override
public void validate(TextView textView, String text) { public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (!Patterns.EMAIL_ADDRESS.matcher(text).matches()) { if (!Patterns.EMAIL_ADDRESS.matcher(text).matches()) {
textView.setError(getString(R.string.error_email)); inputLayout.setError(getString(R.string.error_email));
}else{ }else{
textView.setError(null); inputLayout.setErrorEnabled(false);
} }
} }
}); });
input_password.addTextChangedListener(new TextValidator(input_password, getApplicationContext()) { input_password.addTextChangedListener(new TextValidator(input_password, inputLayoutPassword, getApplicationContext()) {
@Override @Override
public void validate(TextView textView, String text) { public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (text.length() < 5) { if (text.length() < 5) {
textView.setError(getString(R.string.error_password)); inputLayout.setError(getString(R.string.error_password));
} else { } else {
textView.setError(null); inputLayout.setErrorEnabled(false);
} }
} }
}); });
@@ -270,11 +285,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestCheckForMaintenance() { private StringRequest getStringRequestCheckForMaintenance() {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_CHECK_MAINTENANCE, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response); Log.d(TAG, "Check for Maintenance Response: " + response);
hideDialog(); hideDialog();
try { try {
@@ -300,7 +315,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_CHECK_MAINTENANCE);
return params; return params;
} }
@@ -326,11 +340,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestCheckIfVersionSupported() { private StringRequest getStringRequestCheckIfVersionSupported() {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_CHECK_VERSION, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response); Log.d(TAG, "Check Version Response: " + response);
hideDialog(); hideDialog();
try { try {
@@ -366,7 +380,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
e.printStackTrace(); e.printStackTrace();
} }
params.put("tag", AppConfig.REST_CHECK_VERSION);
params.put("version", Integer.toString(versionCode)); params.put("version", Integer.toString(versionCode));
return params; return params;
} }
@@ -436,7 +449,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if(session.isLoggedIn()){ if(session.isLoggedIn()){
Intent intent = new Intent( Intent intent = new Intent(
LoginActivity.this, LoginActivity.this,
MainActivity.class); MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN); intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN);
startActivity(intent); startActivity(intent);
finish(); finish();
@@ -486,7 +499,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestSocialMediaLogin(final String key, final String providerType, final String username, final String email) { private StringRequest getStringRequestSocialMediaLogin(final String key, final String providerType, final String username, final String email) {
return new StringRequest(Method.POST,AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST,AppConfig.REST_LOGIN_SOCIAL, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -532,7 +545,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
Intent intent = new Intent( Intent intent = new Intent(
LoginActivity.this, LoginActivity.this,
MainActivity.class); MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN); intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN);
startActivity(intent); startActivity(intent);
finish(); finish();
@@ -559,9 +572,8 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_SOCIAL);
params.put("key", key); params.put("key", key);
params.put("providerType", providerType); params.put("providertype", providerType);
params.put("username", username); params.put("username", username);
params.put("email",email); params.put("email",email);
@@ -572,7 +584,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestLogin(final String email, final String password) { private StringRequest getStringRequestLogin(final String email, final String password) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_LOGIN, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -639,7 +651,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
hideDialog(); hideDialog();
Intent intent = new Intent(LoginActivity.this, MainActivity.class); Intent intent = new Intent(LoginActivity.this, MapsActivity.class);
startActivity(intent); startActivity(intent);
finish(); finish();
} }
@@ -665,7 +677,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN);
params.put("email", email); params.put("email", email);
params.put("password", password); params.put("password", password);
@@ -675,7 +686,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestCheckUserExists(final String username, final String email, final String password) { private StringRequest getStringRequestCheckUserExists(final String username, final String email, final String password) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_USEREXISTS, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -718,7 +729,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_EXISTS);
params.put("email", email); params.put("email", email);
return params; return params;
@@ -727,11 +737,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestCheckSocialUserExists(final String key, final String providerType, final String username, final String email) { private StringRequest getStringRequestCheckSocialUserExists(final String key, final String providerType, final String username, final String email) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_USEREXISTS, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response); Log.d(TAG, "Check Social User Exists Response: " + response);
hideDialog(); hideDialog();
try { try {
@@ -745,8 +755,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
createAndShowPrivacyDialogForSocialUser( key,providerType, username, email); createAndShowPrivacyDialogForSocialUser( key,providerType, username, email);
} }
} else { } else {
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Log.e(TAG, "Error occured: "+errorMsg); Log.e(TAG, "Error occured: "+errorMsg);
@@ -770,7 +778,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_EXISTS);
params.put("key", key); params.put("key", key);
return params; return params;
@@ -900,7 +907,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestResetPW(final String email) { private StringRequest getStringRequestResetPW(final String email) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_REQUESTPWRESET, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -937,7 +944,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REQUESTPWRESET);
params.put("email", email); params.put("email", email);
return params; return params;
@@ -946,7 +952,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestActivationLinkUser(final String email) { private StringRequest getStringRequestActivationLinkUser(final String email) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_SENDACTIVATIONMAIL, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -960,7 +966,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Log.e(TAG,"Resend E-Mail returned error value: "+errorMsg); Log.e(TAG,"Resend E-Mail returned error value: "+errorMsg);
Toast.makeText(getApplicationContext(), Toast.makeText(getApplicationContext(),
getResources().getString(R.string.txt_errormsg_getactivationlink), Toast.LENGTH_LONG).show(); getResources().getString(R.string.txt_errormsg_getactivationlink) + ":"+errorMsg, Toast.LENGTH_LONG).show();
} }
} catch (JSONException e) { } catch (JSONException e) {
e.printStackTrace(); e.printStackTrace();
@@ -971,7 +977,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
public void onErrorResponse(VolleyError error) { public void onErrorResponse(VolleyError error) {
Log.e(TAG, "E-Mail pw resend Error: " + error.getMessage()); Log.e(TAG, "E-Mail pw resend error: " + error.getMessage());
Toast.makeText(getApplicationContext(), Toast.makeText(getApplicationContext(),
getResources().getString(R.string.txt_errormsg_getactivationlink), Toast.LENGTH_LONG).show(); getResources().getString(R.string.txt_errormsg_getactivationlink), Toast.LENGTH_LONG).show();
hideDialog(); hideDialog();
@@ -981,7 +987,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_RESENDACTIVATIONMAIL);
params.put("email", email); params.put("email", email);
return params; return params;
@@ -990,7 +995,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
private StringRequest getStringRequestRegisterUser(final String username, final String email, final String password) { private StringRequest getStringRequestRegisterUser(final String username, final String email, final String password) {
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Method.POST, AppConfig.REST_REGISTER, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -1039,7 +1044,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REGISTER);
params.put("username", username); params.put("username", username);
params.put("email", email); params.put("email", email);
params.put("password", password); params.put("password", password);
@@ -1113,4 +1117,5 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
} }
} }
} }

View File

@@ -1,218 +0,0 @@
package org.deke.risk.riskahead;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.mikepenz.google_material_typeface_library.GoogleMaterial;
import com.mikepenz.iconics.IconicsDrawable;
import org.deke.risk.riskahead.helper.AppConfig;
import org.deke.risk.riskahead.helper.AppController;
import org.deke.risk.riskahead.helper.BaseActivity;
import org.deke.risk.riskahead.helper.SessionManager;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.DecimalFormat;
import java.util.HashMap;
import java.util.Map;
/**
*
* (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 MainActivity extends BaseActivity{
private final static String TAG = MainActivity.class.getSimpleName();
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
userHasToBeLoggedIn();
showDialog();
initButtons();
}
private void initButtons() {
runOnUiThread(new Runnable() {
@Override
public void run() {
ImageView bg = (ImageView) findViewById(R.id.imageView);
bg.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), R.drawable.bg_withlogo_2));
Button report = (Button) findViewById(R.id.btn_main_report);
report.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gotoReportActivity();
}
});
Drawable reportIcon = new IconicsDrawable(getApplicationContext())
.icon(GoogleMaterial.Icon.gmd_room)
.color(ContextCompat.getColor(getApplicationContext(), R.color.white))
.sizeDp(24);
report.setCompoundDrawables(reportIcon, null, null, null);
report.setBackgroundResource(R.drawable.activity_main_button);
Button map = (Button) findViewById(R.id.btn_main_viewmap);
map.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gotoMapActivity();
}
});
Drawable mapIcon = new IconicsDrawable(getApplicationContext())
.icon(GoogleMaterial.Icon.gmd_map)
.color(ContextCompat.getColor(getApplicationContext(), R.color.white))
.sizeDp(24);
map.setCompoundDrawables(null, null, mapIcon, null);
map.setBackgroundResource(R.drawable.activity_main_button);
}
});
}
Runnable mHandlerTask = new Runnable()
{
@Override
public void run() {
requestNumberOfIncidents();
TextView 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(ContextCompat.getColor(getApplicationContext(),R.color.md_green_400));
}else{
notificationStatus.setText(getString(R.string.txt_notifystatus_activatedbutnotready));
notificationStatus.setTextColor(ContextCompat.getColor(getApplicationContext(),R.color.md_yellow_400));
}
}else{
notificationStatus.setText(getString(R.string.txt_notifystatus_deactivated));
notificationStatus.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.md_red_400));
}
mHandler.postDelayed(mHandlerTask, AppConfig.UPDATE_COUNT_INTERVAL);
}
};
private void requestNumberOfIncidents() {
StringRequest strReq = getStringRequestIncidentCount();
String tag_string_req = "req_incidents";
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
private StringRequest getStringRequestIncidentCount() {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
hideDialog();
Log.d(TAG, "Incident count: " + response);
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
if (!error) {
JSONObject jCount = jObj.getJSONObject("msg");
displayNumberOfIncidents(jCount);
} else {
String errorMsg = jObj.getString("error_msg");
Log.e(TAG, "Error getting incident count (server returned error): " + errorMsg);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "Error getting incident count: " + error.getMessage());
handleVolleyErrorResponse();
stopRepeatingTask();
hideDialog();
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_NUMOFINCIDENTS);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
return params;
}
};
}
private void displayNumberOfIncidents(JSONObject jCount) throws JSONException {
TextView count = (TextView) findViewById(R.id.txt_main_incidents);
DecimalFormat nf = new DecimalFormat();
String decimalNumber = nf.format(jCount.getInt("total"));
count.setText(decimalNumber);
}
void startRepeatingTask()
{
mHandlerTask.run();
}
void stopRepeatingTask()
{
mHandler.removeCallbacks(mHandlerTask);
}
@Override
protected void onResume(){
super.onResume();
navDrawer.setSelection(mainAvtivityID, false);
startRepeatingTask();
}
@Override
protected void onPause(){
super.onPause();
stopRepeatingTask();
}
@Override
protected int getLayoutResourceId() {
return R.layout.activity_main;
}
@Override
protected String getActivityName() {
return getResources().getString(R.string.title_activity_start);
}
}

View File

@@ -9,6 +9,8 @@ import android.content.res.ColorStateList;
import android.database.Cursor; import android.database.Cursor;
import android.graphics.Color; import android.graphics.Color;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.FloatingActionButton; import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityCompat; import android.support.v4.app.ActivityCompat;
@@ -23,11 +25,14 @@ import android.view.View;
import android.widget.EditText; import android.widget.EditText;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.RatingBar; import android.widget.RatingBar;
import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
import com.android.volley.Request; import com.android.volley.Request;
import com.android.volley.Response; import com.android.volley.Response;
import com.android.volley.VolleyError; import com.android.volley.VolleyError;
import android.location.LocationListener;
import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.StringRequest;
import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.CameraUpdateFactory;
@@ -96,6 +101,11 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
private Marker markerShowingInfoWindow; private Marker markerShowingInfoWindow;
private IncidentReport clickedClusterItem; private IncidentReport clickedClusterItem;
protected LocationManager locationManager;
Location location;
private static final int MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
private static final int MIN_TIME_BW_UPDATES = 1000 * 60; // 1 minute
private LatLng myLocation; private LatLng myLocation;
private LatLng markedLocation; private LatLng markedLocation;
private LatLng curNortheastBounds; private LatLng curNortheastBounds;
@@ -111,7 +121,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
userHasToBeLoggedIn(); userHasToBeLoggedIn();
if (session.getSubsPremium()) { if (session.getSubsPremium()) {
MIN_ZOOM_LEVEL = 7; MIN_ZOOM_LEVEL = 7;
} else { } else {
@@ -122,9 +131,9 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
mapFragment.getMapAsync(this); mapFragment.getMapAsync(this);
findViewById(R.id.fab_reportwf_map).setVisibility(View.INVISIBLE); findViewById(R.id.fab_reportwf_map).setVisibility(View.INVISIBLE);
} }
@Override @Override
public void onMapReady(GoogleMap googleMap) { public void onMapReady(GoogleMap googleMap) {
mMap = googleMap; mMap = googleMap;
@@ -141,33 +150,60 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override @Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) { public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
Log.d(TAG,"Getting permission results...");
switch (requestCode) { switch (requestCode) {
case MY_PERMISSIONS_REQUEST_LOCATION: { case MY_PERMISSIONS_REQUEST_LOCATION: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.d(TAG,"Permission was granted by user");
try{ try{
mMap.setMyLocationEnabled(true); mMap.setMyLocationEnabled(true);
}catch(SecurityException e){ }catch (SecurityException e){
Log.e(TAG,"Security Exception: "+e.toString()); Log.e(TAG,"Security Exception:"+e.getMessage());
}
getLocation();
}else{
Log.d(TAG,"Permission was not granted by user");
String sDefSystemLanguage = Locale.getDefault().getLanguage();
switch (sDefSystemLanguage) {
case "en":
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(51.507351, -0.127758), DEFAULT_ZOOM_LEVEL));
break;
case "de":
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(52.518594, 13.376188), DEFAULT_ZOOM_LEVEL));
break;
default:
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(19.410704, -99.132385), DEFAULT_ZOOM_LEVEL));
break;
}
try{
mMap.setMyLocationEnabled(false);
}catch (SecurityException e){
Log.e(TAG,"Security Exception:"+e.getMessage());
} }
} }
} }
// other 'case' lines to check for other
// permissions this app might request
} }
} }
private void initMap() { private void initMap() {
Log.d(TAG,"Init Map");
mMap.getUiSettings().setZoomControlsEnabled(true); mMap.getUiSettings().setZoomControlsEnabled(true);
if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.permission.ACCESS_COARSE_LOCATION},1);
}else{
mMap.setMyLocationEnabled(true);
}
mMap.setOnMyLocationButtonClickListener(new GoogleMap.OnMyLocationButtonClickListener() {
@Override
public boolean onMyLocationButtonClick() {
getLocation();
return true;
}
});
mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override @Override
@@ -399,7 +435,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
} }
private StringRequest getStringRequestGetAllIncidentsForHeatMapFromBound(final LatLng northeast, final LatLng southwest) { private StringRequest getStringRequestGetAllIncidentsForHeatMapFromBound(final LatLng northeast, final LatLng southwest) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENTS_FROMBOUND_FORHEATMAP, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -433,7 +469,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMBOUND_FORHEATMAP);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("nelat", Double.toString(northeast.latitude)); params.put("nelat", Double.toString(northeast.latitude));
@@ -447,7 +482,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
} }
private StringRequest getStringRequestGetAllIncidentsFromBound(final LatLng northeast, final LatLng southwest) { private StringRequest getStringRequestGetAllIncidentsFromBound(final LatLng northeast, final LatLng southwest) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENTS_FROMBOUND, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -481,7 +516,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMBOUND);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("nelat", Double.toString(northeast.latitude)); params.put("nelat", Double.toString(northeast.latitude));
@@ -529,7 +563,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
} }
private StringRequest getStringRequestGetIncidentScoreForInfoWindow(final View infoView, final String incidentID) { private StringRequest getStringRequestGetIncidentScoreForInfoWindow(final View infoView, final String incidentID) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENT, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -574,7 +608,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "getincidentfromincidentid");
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentID); params.put("incidentid", incidentID);
@@ -585,7 +618,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
} }
public class MyCustomAdapterForItems implements GoogleMap.InfoWindowAdapter { private class MyCustomAdapterForItems implements GoogleMap.InfoWindowAdapter {
private final View myContentsView; private final View myContentsView;
@@ -653,25 +686,9 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
{ {
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(myPosition.latitude, myPosition.longitude), DEFAULT_ZOOM_LEVEL)); mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(myPosition.latitude, myPosition.longitude), DEFAULT_ZOOM_LEVEL));
}else{ }else{
String sDefSystemLanguage = Locale.getDefault().getLanguage(); getLocation();
switch (sDefSystemLanguage) {
case "en":
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(51.507351, -0.127758), DEFAULT_ZOOM_LEVEL));
break;
case "de":
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(52.518594, 13.376188), DEFAULT_ZOOM_LEVEL));
break;
default:
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(19.410704, -99.132385), DEFAULT_ZOOM_LEVEL));
break;
}
} }
} }
} }
} }
@@ -742,6 +759,105 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
} }
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
if(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()));
}else{
session.setLocation(Double.doubleToRawLongBits(loc.getLatitude()), Double.doubleToRawLongBits(loc.getLongitude()));
}
session.setNotificationServiceReady(true);
}
}
@Override
public void onProviderDisabled(String provider) {}
@Override
public void onProviderEnabled(String provider) {}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {}
}
private boolean isLocationEnabled() {
return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER) ||
locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
}
public Location getLocation() {
//check for permission
if (ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED){
Log.d(TAG,"Permission for GPS not granted yet - ask for permission now");
ActivityCompat.requestPermissions(this,new String[]{android.Manifest.permission.ACCESS_FINE_LOCATION,android.Manifest.permission.ACCESS_COARSE_LOCATION},MY_PERMISSIONS_REQUEST_LOCATION);
}else{
Log.d(TAG,"Permission for GPS granted - get position");
mMap.setMyLocationEnabled(true);
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.frag_maps_map);
View locationButton = ((View) mapFragment.getView().findViewById(Integer.parseInt("1")).getParent()).findViewById(Integer.parseInt("2"));
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) locationButton.getLayoutParams();
rlp.setMargins(0, 200, 30, 30);
try {
locationManager = (LocationManager) getApplicationContext().getSystemService(LOCATION_SERVICE);
LocationListener locationListener = new MyLocationListener();
if (!isLocationEnabled()) {
showMessage("Please activate GPS in your android settings.");
Log.d(TAG,"Locationservice not enabled");
} else {
Log.d(TAG,"Locationservice enabled - check type");
// if GPS Enabled get lat/long using GPS Services
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Log.d(TAG,"Locationservice enabled - GPS Provider Found");
if (location == null) {
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, locationListener);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
location = locationManager .getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location != null) {
myLocation = new LatLng(location.getLatitude(),location.getLongitude());
}
}
}
}else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
// get location from Network Provider
Log.d(TAG,"Locationservice enabled - Network Provider Found");
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
22,
33, locationListener);
Log.d("Network", "Network");
if (locationManager != null) {
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
myLocation = new LatLng(location.getLatitude(),location.getLongitude());
}
}
}
mMap.moveCamera(CameraUpdateFactory.newLatLng(myLocation));
}
} catch (Exception e) {
e.printStackTrace();
}
}
return location;
}
@Override @Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor c) { public void onLoadFinished(Loader<Cursor> arg0, Cursor c) {
showLocations(c); showLocations(c);
@@ -759,8 +875,8 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
EditText txtSearch = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text)); EditText txtSearch = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text));
txtSearch.setHint(getResources().getString(R.string.search_hint)); txtSearch.setHint(getResources().getString(R.string.search_hint));
txtSearch.setHintTextColor(Color.LTGRAY); txtSearch.setHintTextColor(Color.DKGRAY);
txtSearch.setTextColor(Color.WHITE); txtSearch.setTextColor(Color.BLACK);
return true; return true;
} }
@@ -769,7 +885,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
protected void onPause(){ protected void onPause(){
super.onPause(); super.onPause();
if(showAdd) showAd(); if(showAdd) showAd();
} }
@Override @Override

View File

@@ -29,8 +29,6 @@ import com.android.volley.toolbox.StringRequest;
import com.beardedhen.androidbootstrap.BootstrapButton; import com.beardedhen.androidbootstrap.BootstrapButton;
import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand; import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;
import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.plus.Plus;
import com.google.android.gms.plus.model.people.Person;
import com.google.gson.Gson; import com.google.gson.Gson;
import org.deke.risk.riskahead.fragment.BaseReportWFFragment; import org.deke.risk.riskahead.fragment.BaseReportWFFragment;
@@ -123,7 +121,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
private void initButtonsAndElements() { private void initButtonsAndElements() {
btnContinue = (BootstrapButton) findViewById(R.id.btn_reportwf_next); btnContinue = (BootstrapButton) findViewById(R.id.btn_reportwf_next);
btnContinue.setVisibility(View.INVISIBLE); btnContinue.setEnabled(false);
btnContinue.setOnClickListener(new View.OnClickListener() { btnContinue.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -133,7 +131,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
}); });
btnReportNow = (BootstrapButton) findViewById(R.id.btn_reportwf_reportnow); btnReportNow = (BootstrapButton) findViewById(R.id.btn_reportwf_reportnow);
btnReportNow.setVisibility(View.INVISIBLE); btnReportNow.setEnabled(false);
btnReportNow.setOnClickListener(new View.OnClickListener() { btnReportNow.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@@ -171,8 +169,8 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
} }
if(state == (fragList.size()-1)){ if(state == (fragList.size()-1)){
btnContinue.setVisibility(View.INVISIBLE); btnContinue.setEnabled(false);
btnReportNow.setVisibility(View.INVISIBLE); btnReportNow.setEnabled(false);
siteIndicator.setVisibility(View.INVISIBLE); siteIndicator.setVisibility(View.INVISIBLE);
}else{ }else{
siteIndicator.setVisibility(View.VISIBLE); siteIndicator.setVisibility(View.VISIBLE);
@@ -254,15 +252,15 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
} }
if((currentState == 1 && finished) || (currentState > 1)){ if((currentState == 1 && finished) || (currentState > 1)){
btnReportNow.setVisibility(View.VISIBLE); btnReportNow.setEnabled(true);
}else{ }else{
btnReportNow.setVisibility(View.INVISIBLE); btnReportNow.setEnabled(false);
} }
if(finished || currentState > 1){ if(finished || currentState > 1){
btnContinue.setVisibility(View.VISIBLE); btnContinue.setEnabled(true);
}else{ }else{
btnContinue.setVisibility(View.INVISIBLE); btnContinue.setEnabled(false);
} }
} }
@@ -315,7 +313,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
private StringRequest getStringRequestAddIncidentWithPosition(final IncidentReport incident) { private StringRequest getStringRequestAddIncidentWithPosition(final IncidentReport incident) {
showDialog(); showDialog();
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_ADD_INCIDENT_WITHPOSITION, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -327,8 +325,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
if (!error) { if (!error) {
showMessage(getString(R.string.txt_success_addreport)); showMessage(getString(R.string.txt_success_addreport));
showShareDialog(incident);
showDialogWhenReportAdded(incident);
} else { } else {
String errorMsg = jObj.getString("error_msg"); String errorMsg = jObj.getString("error_msg");
Log.e(TAG, "Error adding incident (Server returned error): " + errorMsg); Log.e(TAG, "Error adding incident (Server returned error): " + errorMsg);
@@ -352,7 +349,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_ADD_INCIDENT_WITHPOSITION);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("latitude", Double.toString(incident.getPosition().latitude)); params.put("latitude", Double.toString(incident.getPosition().latitude));
@@ -389,33 +385,20 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
}; };
} }
private void showDialogWhenReportAdded(final IncidentReport incident) { private void requestPermission(){
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_STORAGE);
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_STORAGE);
return;
}else{
showShareDialog(incident);
}
} }
@Override @Override
public void onRequestPermissionsResult(int requestCode, public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
String permissions[], int[] grantResults) {
switch (requestCode) { switch (requestCode) {
case MY_PERMISSIONS_REQUEST_STORAGE: { case MY_PERMISSIONS_REQUEST_STORAGE: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
startShareIncidentIntent(incident);
showShareDialog(incident);
} else { } else {
finishReportAndGotoMap(incident); finishReportAndGotoMap(incident);
} }
return;
} }
// other 'case' lines to check for other
// permissions this app might request
} }
} }
@@ -425,13 +408,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
.setMessage(R.string.txt_share_message) .setMessage(R.string.txt_share_message)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
resetStateAndIncident();
gotoMapActivity(incident.getPosition().latitude + ":" + incident.getPosition().longitude);
startShareIncidentIntent(incident); startShareIncidentIntent(incident);
} }
}) })
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() { .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@@ -441,23 +418,43 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
}) })
.setIcon(android.R.drawable.ic_dialog_alert) .setIcon(android.R.drawable.ic_dialog_alert)
.show(); .show();
} }
private void startShareIncidentIntent(IncidentReport incident) { private void startShareIncidentIntent(IncidentReport incident) {
Intent sharingIntent = new Intent(Intent.ACTION_SEND); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
Bitmap icon = BitmapFactory.decodeResource(getApplicationContext().getResources(),
R.drawable.ra_qrcode);
String text = getString(R.string.txt_share_hint)
+getString(R.string.txt_share_hint2)+": "+ incident.getIncidentCategoryName(getApplicationContext())
+" - "+incident.getIncidentSubCategoryName(getApplicationContext())+"\n"
+getString(R.string.txt_share_hint3)+": "+ incident.getIncidentPositionDescription().split("\\n")[0] + " - " + incident.getIncidentPositionDescription().split("\\n")[1] + "\n"
+getString(R.string.txt_share_page);
sharingIntent.putExtra(Intent.EXTRA_TEXT, text); AlertDialog alertDialog = new AlertDialog.Builder(this).create();
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), icon, "Share incident", null))); alertDialog.setTitle("Request Permission");
sharingIntent.setType("image/*"); alertDialog.setMessage("If you want to use the sharing feature in the future we need storage permission to generate the message which should be shared.");
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
startActivity(Intent.createChooser(sharingIntent, getString(R.string.txt_share_acttitle))); new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
requestPermission();
}
});
alertDialog.show();
}else{
resetStateAndIncident();
gotoMapActivity(incident.getPosition().latitude + ":" + incident.getPosition().longitude);
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
Bitmap icon = BitmapFactory.decodeResource(getApplicationContext().getResources(),
R.drawable.ra_qrcode);
String text = getString(R.string.txt_share_hint)
+getString(R.string.txt_share_hint2)+": "+ incident.getIncidentCategoryName(getApplicationContext())
+" - "+incident.getIncidentSubCategoryName(getApplicationContext())+"\n"
+getString(R.string.txt_share_hint3)+": "+ incident.getIncidentPositionDescription().split("\\n")[0] + " - " + incident.getIncidentPositionDescription().split("\\n")[1] + "\n"
+getString(R.string.txt_share_page);
sharingIntent.putExtra(Intent.EXTRA_TEXT, text);
sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(MediaStore.Images.Media.insertImage(getApplicationContext().getContentResolver(), icon, "Share incident", null)));
sharingIntent.setType("image/*");
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sharingIntent, getString(R.string.txt_share_acttitle)));
}
} }
private void finishReportAndGotoMap(IncidentReport incident) { private void finishReportAndGotoMap(IncidentReport incident) {

View File

@@ -1,72 +0,0 @@
package org.deke.risk.riskahead;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import org.deke.risk.riskahead.helper.AppConfig;
import org.deke.risk.riskahead.helper.SessionManager;
/**
*
* (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 StartActivity extends AppCompatActivity {
private final static String TAG = StartActivity.class.getSimpleName();
Button btnLogin;
Button btnRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"RiskAhead started.");
setContentView(R.layout.activity_start);
btnLogin = (Button) findViewById(R.id.btn_start_login);
btnRegister = (Button) findViewById(R.id.btn_start_register);
SessionManager session = new SessionManager(getApplicationContext());
if (session.isLoggedIn()) {
Log.d(TAG,"User found in sharedPrefs and is therefore logged in. Continue to internal Area.");
Intent intent = new Intent(StartActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
}
public void gotoLogin(View view) {
Intent intent = new Intent(this, LoginActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_LOGIN);
startActivity(intent);
}
public void gotoRegister(View view) {
Intent intent = new Intent(this, LoginActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_REGISTER);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_common, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}
}

View File

@@ -309,7 +309,7 @@ public class SubscriptionsActivity extends BaseActivity{
} }
private StringRequest getStringAddSubscription(final String productId, final String type, final String price, final String currency) { private StringRequest getStringAddSubscription(final String productId, final String type, final String price, final String currency) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_ADD_SUBSCRIPTIONS, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -345,7 +345,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "addsubscription");
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("productid", productId); params.put("productid", productId);
@@ -365,7 +364,7 @@ public class SubscriptionsActivity extends BaseActivity{
} }
private StringRequest getStringGetSubscriptions(final String userId) { private StringRequest getStringGetSubscriptions(final String userId) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_SUBSCRIPTIONS, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -407,7 +406,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "getsubscriptions");
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("userid", userId); params.put("userid", userId);
@@ -426,7 +424,7 @@ public class SubscriptionsActivity extends BaseActivity{
} }
private StringRequest getStringDeactivateSubscriptions(final String subscriptionId) { private StringRequest getStringDeactivateSubscriptions(final String subscriptionId) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_DEACTIVATE_SUBSCRIPTIONS, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -457,7 +455,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", "deactivatesubscription");
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("subid", subscriptionId); params.put("subid", subscriptionId);

View File

@@ -158,7 +158,7 @@ public class ViewReportActivity extends BaseActivity {
} }
private StringRequest getStringRequestDeleteIncident(final Integer incidentid) { private StringRequest getStringRequestDeleteIncident(final Integer incidentid) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_DEACTIVATE_INCIDENT, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -194,7 +194,6 @@ public class ViewReportActivity extends BaseActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_DEACTIVATE_INCIDENT);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString()); params.put("incidentid", incidentid.toString());
@@ -213,7 +212,7 @@ public class ViewReportActivity extends BaseActivity {
} }
private StringRequest getStringRequestGetIncidentWithPositionFromID(final Integer incidentid) { private StringRequest getStringRequestGetIncidentWithPositionFromID(final Integer incidentid) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENT, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -253,7 +252,6 @@ public class ViewReportActivity extends BaseActivity {
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
// Posting parameters to login url // Posting parameters to login url
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMINCIDENTID);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString()); params.put("incidentid", incidentid.toString());
@@ -447,7 +445,7 @@ public class ViewReportActivity extends BaseActivity {
} }
private StringRequest getStringRequestAddVote(final Integer incidentid, final String votetype) { private StringRequest getStringRequestAddVote(final Integer incidentid, final String votetype) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_ADD_VOTE, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -484,7 +482,6 @@ public class ViewReportActivity extends BaseActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_ADD_VOTE);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString()); params.put("incidentid", incidentid.toString());
@@ -502,7 +499,7 @@ public class ViewReportActivity extends BaseActivity {
} }
private StringRequest getStringRequestDeleteVote(final Integer incidentid) { private StringRequest getStringRequestDeleteVote(final Integer incidentid) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_DELETE_VOTE, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -537,7 +534,6 @@ public class ViewReportActivity extends BaseActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_DELETE_VOTE);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString()); params.put("incidentid", incidentid.toString());

View File

@@ -3,7 +3,6 @@ package org.deke.risk.riskahead.fragment;
import android.Manifest; import android.Manifest;
import android.app.Activity; import android.app.Activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
@@ -29,7 +28,6 @@ import com.google.android.gms.plus.Plus;
import com.google.android.gms.plus.model.people.Person; import com.google.android.gms.plus.model.people.Person;
import org.deke.risk.riskahead.LoginActivity; import org.deke.risk.riskahead.LoginActivity;
import org.deke.risk.riskahead.MainActivity;
import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.R;
/** /**

View File

@@ -86,7 +86,7 @@ public class ReportListFragment extends Fragment{
} }
private StringRequest getStringRequestGetIncidentsWithPositionFromUserID() { private StringRequest getStringRequestGetIncidentsWithPositionFromUserID() {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENTS_FROMUSERID, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -136,7 +136,6 @@ public class ReportListFragment extends Fragment{
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMUSERID);
params.put("uid", parent.user.get(SessionManager.KEY_UID)); params.put("uid", parent.user.get(SessionManager.KEY_UID));
params.put("token", parent.user.get(SessionManager.TOKEN)); params.put("token", parent.user.get(SessionManager.TOKEN));
params.put("userincidentid", uid); params.put("userincidentid", uid);

View File

@@ -239,7 +239,7 @@ public class SettingsFragment extends PreferenceFragment {
private StringRequest getStringRequestResetPW(final String email) { private StringRequest getStringRequestResetPW(final String email) {
((SettingsActivity) getActivity()).showDialog(); ((SettingsActivity) getActivity()).showDialog();
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_REQUESTPWRESET, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -275,7 +275,6 @@ public class SettingsFragment extends PreferenceFragment {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REQUESTPWRESET);
params.put("email", email); params.put("email", email);
return params; return params;
@@ -304,7 +303,7 @@ public class SettingsFragment extends PreferenceFragment {
} }
private StringRequest getStringChangeUserSettings(final String username, final String name, final String surname, final String email) { private StringRequest getStringChangeUserSettings(final String username, final String name, final String surname, final String email) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_UPDATE_USER, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -364,7 +363,6 @@ public class SettingsFragment extends PreferenceFragment {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_UPDATE_USER);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("username", username); params.put("username", username);

View File

@@ -79,7 +79,7 @@ public class Top10Fragment extends Fragment {
private StringRequest getStringRequestTop10() { private StringRequest getStringRequestTop10() {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_TOP10, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -129,7 +129,6 @@ public class Top10Fragment extends Fragment {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_TOP10);
params.put("uid", parent.user.get(SessionManager.KEY_UID)); params.put("uid", parent.user.get(SessionManager.KEY_UID));
params.put("token", parent.user.get(SessionManager.TOKEN)); params.put("token", parent.user.get(SessionManager.TOKEN));

View File

@@ -87,8 +87,8 @@ public class TwitterButtonFragment extends Fragment {
@Override @Override
public void failure(TwitterException exception) { public void failure(TwitterException exception) {
Log.e("Debug", "onFailure wird ausgeführt"); Log.e("Twitter", "onFailure wird ausgeführt: "+exception);
showMessage("Twitter Login failed with exception " + exception.getMessage()); showMessage("Could not log in with Twitter. Please use E-Mail instead or try again later.");
} }
}); });
} }

View File

@@ -11,10 +11,8 @@ public class AppConfig {
/** GENERAL **/ /** GENERAL **/
public final static String APP_PNAME = "org.deke.risk.riskahead"; public final static String APP_PNAME = "org.deke.risk.riskahead";
/** URLs **/ /** URLs **/
public final static String URL_ENCRYPTED = "https://www.riskahead.de/helper/rest/"; public final static String URL_ENCRYPTED = "https://www.riskahead.de/api/v1";
public final static String URL_DEFAULT = "http://www.riskahead.de/helper/rest/";
public final static String URL_ABOUT = "https://www.riskahead.net/about/"; public final static String URL_ABOUT = "https://www.riskahead.net/about/";
public final static String URL_CONTACT = "https://www.riskahead.net/contact/"; public final static String URL_CONTACT = "https://www.riskahead.net/contact/";
@@ -39,27 +37,45 @@ public class AppConfig {
public final static int VOTETYPE_DOWNVOTE = 2; public final static int VOTETYPE_DOWNVOTE = 2;
/** REST WEBSERVICE **/ /** REST WEBSERVICE **/
public final static String REST_LOGIN = "login"; public final static String ROUTE_PUB = "/public";
public final static String REST_LOGIN_SOCIAL = "sociallogin"; public final static String ROUTE_AUTH = "/auth";
public final static String REST_LOGIN_EXISTS= "checkifuserexists";
public final static String REST_REGISTER = "register";
public final static String REST_RESENDACTIVATIONMAIL = "resendactivationusermail";
public final static String REST_REQUESTPWRESET = "requestpwreset";
public final static String REST_GET_NUMOFINCIDENTS = "getincidentcount";
public final static String REST_GET_INCIDENTS_FROMBOUND = "getincidentsfrombound";
public final static String REST_GET_INCIDENTS_FROMBOUND_FORHEATMAP = "getincidentsforheatmapfrombound";
public final static String REST_GET_INCIDENTS_FROMUSERID = "getincidentsfromuserid";
public final static String REST_GET_INCIDENTS_FROMINCIDENTID = "getincidentfromincidentid";
public final static String REST_ADD_INCIDENT_WITHPOSITION = "addincidentwithposition";
public final static String REST_UPDATE_USER = "updateuser";
public final static String REST_GET_USERSTATS = "getuserstats";
public final static String REST_GET_INCIDENTS_FROMAREATIME = "getincidentsinareaandtime";
public final static String REST_GET_TOP10 = "gettop10";
public final static String REST_ADD_VOTE = "addvote";
public final static String REST_DELETE_VOTE = "deletevote";
public final static String REST_SEND_FEEDBACK = "sendfeedback";
public final static String REST_DEACTIVATE_INCIDENT = "deactivateincident";
public static final String REST_CHECK_MAINTENANCE = "checkformaintenance"; public final static String ROUTE_GROUP_USERS = "/users";
public static final String REST_CHECK_VERSION= "checkifversionvalid"; public final static String ROUTE_GROUP_SOCIALMEDIAS = "/socialmedias";
public final static String ROUTE_GROUP_VALIDATIONS = "/validations";
public final static String ROUTE_GROUP_INCIDENTS = "/incidents";
public final static String ROUTE_GROUP_SUBSCRIPTIONS = "/subscriptions";
public final static String ROUTE_GROUP_VOTES = "/votes";
public final static String REST_LOGIN = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_USERS + "/login/";
public final static String REST_REGISTER = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_USERS + "/register/";
public final static String REST_USEREXISTS = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_USERS + "/exists/";
public final static String REST_LOGIN_SOCIAL = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_SOCIALMEDIAS + "/login/";
public final static String REST_SENDACTIVATIONMAIL = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_USERS + "/sendactivation/";
public final static String REST_REQUESTPWRESET = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_USERS + "/sendpwreset/";
public final static String REST_GET_NUMOFINCIDENTS = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/number/";
public final static String REST_GET_INCIDENT = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/incidentid/";
public final static String REST_GET_INCIDENTS_FROMUSERID = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/userid/";
public final static String REST_GET_INCIDENTS_FROMBOUND = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/activefrombound/";
public final static String REST_GET_INCIDENTS_FROMBOUND_FORHEATMAP = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/activefromboundreduced/";
public final static String REST_GET_INCIDENTS_FROMAREATIME = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/get/boundandtime/";
public final static String REST_DEACTIVATE_INCIDENT = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/deactivate/";
public final static String REST_ADD_INCIDENT_WITHPOSITION = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_INCIDENTS + "/add/withposition/";
public final static String REST_UPDATE_USER = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + "/update/";
public final static String REST_GET_USERSTATS = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + "/statistics/";
public final static String REST_GET_TOP10 = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + "/top10/";
public final static String REST_SEND_FEEDBACK = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + "/feedback/";
public final static String REST_GET_SUBSCRIPTIONS = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + ROUTE_GROUP_SUBSCRIPTIONS + "/";
public final static String REST_ADD_SUBSCRIPTIONS = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + ROUTE_GROUP_SUBSCRIPTIONS + "/add/";
public final static String REST_DEACTIVATE_SUBSCRIPTIONS = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + ROUTE_GROUP_SUBSCRIPTIONS + "/deactivate/";
public final static String REST_ADD_VOTE = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + ROUTE_GROUP_VOTES + "/add/";
public final static String REST_DELETE_VOTE = URL_ENCRYPTED + ROUTE_AUTH + ROUTE_GROUP_USERS + ROUTE_GROUP_VOTES + "/delete/";
public static final String REST_CHECK_MAINTENANCE = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_VALIDATIONS + "/maintenance/";
public static final String REST_CHECK_VERSION = URL_ENCRYPTED + ROUTE_PUB + ROUTE_GROUP_VALIDATIONS + "/version/";
} }

View File

@@ -56,7 +56,6 @@ import com.mikepenz.materialdrawer.model.ProfileDrawerItem;
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem; import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
import org.deke.risk.riskahead.LoginActivity; import org.deke.risk.riskahead.LoginActivity;
import org.deke.risk.riskahead.MainActivity;
import org.deke.risk.riskahead.MapsActivity; import org.deke.risk.riskahead.MapsActivity;
import org.deke.risk.riskahead.R; import org.deke.risk.riskahead.R;
import org.deke.risk.riskahead.ProfileActivity; import org.deke.risk.riskahead.ProfileActivity;
@@ -254,11 +253,6 @@ public abstract class BaseActivity extends AppCompatActivity {
} }
private void initNavigationDrawer(Bundle savedInstanceState) { private void initNavigationDrawer(Bundle savedInstanceState) {
PrimaryDrawerItem item1 = new PrimaryDrawerItem()
.withName(R.string.navigation_start)
.withIdentifier(mainAvtivityID)
.withIcon(GoogleMaterial.Icon.gmd_home);
PrimaryDrawerItem item2 = new PrimaryDrawerItem() PrimaryDrawerItem item2 = new PrimaryDrawerItem()
.withName(R.string.navigation_report) .withName(R.string.navigation_report)
.withIdentifier(reportAvtivityID) .withIdentifier(reportAvtivityID)
@@ -322,7 +316,6 @@ public abstract class BaseActivity extends AppCompatActivity {
.withSavedInstance(savedInstanceState) .withSavedInstance(savedInstanceState)
.withSelectedItem(-1) .withSelectedItem(-1)
.addDrawerItems( .addDrawerItems(
item1,
item2, item2,
item3, item3,
new DividerDrawerItem(), new DividerDrawerItem(),
@@ -336,9 +329,6 @@ public abstract class BaseActivity extends AppCompatActivity {
switch ((int)drawerItem.getIdentifier()) { switch ((int)drawerItem.getIdentifier()) {
case 1:
gotoMainActivity();
return false;
case 2: case 2:
gotoReportActivity(); gotoReportActivity();
return false; return false;
@@ -451,12 +441,6 @@ public abstract class BaseActivity extends AppCompatActivity {
return true; return true;
} }
public void gotoMainActivity(){
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
public void gotoReportActivity(){ public void gotoReportActivity(){
Intent intent; Intent intent;
intent = new Intent(getApplicationContext(), ReportWFActivity.class); intent = new Intent(getApplicationContext(), ReportWFActivity.class);
@@ -723,7 +707,7 @@ public abstract class BaseActivity extends AppCompatActivity {
} }
private StringRequest getStringRequestSendFeedback(final String feedback, final String sysprop) { private StringRequest getStringRequestSendFeedback(final String feedback, final String sysprop) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_SEND_FEEDBACK, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -755,7 +739,6 @@ public abstract class BaseActivity extends AppCompatActivity {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_SEND_FEEDBACK);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("feedback", feedback); params.put("feedback", feedback);

View File

@@ -49,6 +49,9 @@ public class NotificationService extends Service {
Handler mNotifyHandler = new Handler(); Handler mNotifyHandler = new Handler();
NotificationManager mNotificationManager; NotificationManager mNotificationManager;
private static final int MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; // 10 meters
private static final int MIN_TIME_BW_UPDATES = 1000 * 60; // 1 minute
public SessionManager session; public SessionManager session;
public HashMap<String, String> user; public HashMap<String, String> user;
@@ -70,26 +73,50 @@ public class NotificationService extends Service {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new MyLocationListener(); LocationListener locationListener = new MyLocationListener();
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
//ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION},1); if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
}else{ Log.d(TAG,"Locationservice enabled - GPS Provider Found");
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, locationListener);
Log.d("GPS Enabled", "GPS Enabled");
if (locationManager != null) {
Location tmpLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (tmpLocation != null) {
session.setLocation(Double.doubleToRawLongBits(tmpLocation.getLatitude()),Double.doubleToRawLongBits(tmpLocation.getLongitude()));
}
}
}else if (locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)) {
// get location from Network Provider
Log.d(TAG,"Locationservice enabled - Network Provider Found");
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
22,
33, locationListener);
Log.d("Network", "Network");
if (locationManager != null) {
Location tmpLocation = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (tmpLocation != null) {
session.setLocation(Double.doubleToRawLongBits(tmpLocation.getLatitude()),Double.doubleToRawLongBits(tmpLocation.getLongitude()));
}
}
}
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener); locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
} }
Log.d(TAG, "Service Created. Starting notification task..."); Log.d(TAG, "Service Created. Starting notification task...");
mNotifyTask.run(); mNotifyTask.run();
} }
private class MyLocationListener implements LocationListener { private class MyLocationListener implements LocationListener {
@Override @Override
public void onLocationChanged(Location loc) { 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) { if(session.isGPSForNotificationsEnabled() && loc.getLongitude() != 0.0 && loc.getLatitude() != 0.0) {
Log.d(TAG, "Save GPS as new location..."); Log.d(TAG, "Save GPS as new location...");
if(session.getLocation() == null || session.getLocation().latitude == 0.0 || session.getLocation().longitude == 0.0){ if(session.getLocation() == null || session.getLocation().latitude == 0.0 || session.getLocation().longitude == 0.0){
@@ -162,7 +189,7 @@ public class NotificationService extends Service {
}; };
private StringRequest getStringRequestIncidentsFromAreaAndTime(final Double latitude, final Double longitude, final int radius, final String time) { private StringRequest getStringRequestIncidentsFromAreaAndTime(final Double latitude, final Double longitude, final int radius, final String time) {
return new StringRequest(Request.Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() { return new StringRequest(Request.Method.POST, AppConfig.REST_GET_INCIDENTS_FROMAREATIME, new Response.Listener<String>() {
@Override @Override
public void onResponse(String response) { public void onResponse(String response) {
@@ -196,7 +223,6 @@ public class NotificationService extends Service {
@Override @Override
protected Map<String, String> getParams() { protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMAREATIME);
params.put("uid", user.get(SessionManager.KEY_UID)); params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN)); params.put("token", user.get(SessionManager.TOKEN));
params.put("latitude", Double.toString(latitude)); params.put("latitude", Double.toString(latitude));

View File

@@ -1,6 +1,7 @@
package org.deke.risk.riskahead.helper; package org.deke.risk.riskahead.helper;
import android.content.Context; import android.content.Context;
import android.support.design.widget.TextInputLayout;
import android.text.Editable; import android.text.Editable;
import android.text.TextWatcher; import android.text.TextWatcher;
import android.widget.TextView; import android.widget.TextView;
@@ -14,12 +15,14 @@ import android.widget.TextView;
*/ */
public abstract class TextValidator implements TextWatcher { public abstract class TextValidator implements TextWatcher {
private final TextView textView; private final TextView textView;
private final TextInputLayout textLayout;
public TextValidator(TextView textView, Context context) { public TextValidator(TextView textView, TextInputLayout textLayout, Context context) {
this.textView = textView; this.textView = textView;
this.textLayout = textLayout;
} }
public abstract void validate(TextView textView, String text); public abstract void validate(TextView textView, TextInputLayout textLayout, String text);
@Override @Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) { public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -33,6 +36,6 @@ public abstract class TextValidator implements TextWatcher {
@Override @Override
public void afterTextChanged(Editable s) { public void afterTextChanged(Editable s) {
String text = textView.getText().toString(); String text = textView.getText().toString();
validate(textView, text); validate(textView, textLayout, text);
} }
} }

View File

@@ -5,6 +5,7 @@ import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.preference.EditTextPreference; import android.preference.EditTextPreference;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.support.design.widget.TextInputLayout;
import android.text.Editable; import android.text.Editable;
import android.text.InputType; import android.text.InputType;
import android.text.TextWatcher; import android.text.TextWatcher;
@@ -62,7 +63,9 @@ public class ValidatedEditTextPreference extends EditTextPreference
if((getEditText().getInputType() & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS) != 0){ if((getEditText().getInputType() & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS) != 0){
if (!Patterns.EMAIL_ADDRESS.matcher(value).matches()) { if (!Patterns.EMAIL_ADDRESS.matcher(value).matches()) {
getEditText().setError(getEditText().getContext().getResources().getString(R.string.error_email)); ((TextInputLayout) getEditText().getParent()).setError(getEditText().getContext().getResources().getString(R.string.error_email));
// getEditText().setError(getEditText().getContext().getResources().getString(R.string.error_email));
enable = false; enable = false;
} }
}else{ }else{
@@ -81,7 +84,6 @@ public class ValidatedEditTextPreference extends EditTextPreference
Dialog dlg = getDialog(); Dialog dlg = getDialog();
if(dlg instanceof AlertDialog){ if(dlg instanceof AlertDialog){
AlertDialog alertDlg = (AlertDialog)dlg; AlertDialog alertDlg = (AlertDialog)dlg;
Button btn = alertDlg.getButton(AlertDialog.BUTTON_POSITIVE); Button btn = alertDlg.getButton(AlertDialog.BUTTON_POSITIVE);
@@ -89,7 +91,6 @@ public class ValidatedEditTextPreference extends EditTextPreference
Log.d("SettingValidator", "btnSetEnable durchgeführt: "+btn.isEnabled()); Log.d("SettingValidator", "btnSetEnable durchgeführt: "+btn.isEnabled());
} }
} }
@Override @Override

View File

@@ -1,138 +1,158 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:background="@color/bg_login" android:background="@color/bg_login"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity"> tools:context=".LoginActivity">
<TextView <TextView
android:id="@+id/lbl_login_title" android:id="@+id/lbl_login_title"
android:layout_width="wrap_content" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="54dp"
android:background="@color/bg_common"
android:textColor="@color/md_white_1000"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/lbl_login_title"
android:textSize="20sp"
android:textStyle="bold"
android:typeface="sans" />
<EditText
android:id="@+id/input_register_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/lbl_login_title"
android:layout_marginTop="20dp"
android:background="@color/white"
android:hint="@string/input_register_email_hint"
android:inputType="textEmailAddress"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
<EditText
android:id="@+id/input_register_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/input_register_email"
android:layout_marginTop="5dp"
android:background="@color/white"
android:hint="@string/input_register_password_hint"
android:inputType="textPassword"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
<Button
android:id="@+id/btn_login"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/input_register_password"
android:layout_marginBottom="5dip"
android:layout_marginTop="20dip"
android:background="@color/btn_login_bg"
android:minWidth="120dp"
android:text="@string/btn_start_login"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_switchtoregistration"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/btn_login"
android:layout_marginBottom="10dip"
android:background="#ffea7f8a"
android:minWidth="120dp"
android:text="@string/btn_start_register"
android:textColor="@color/white" />
<LinearLayout
android:layout_width="match_parent"
android:layout_below="@+id/btn_switchtoregistration"
android:layout_centerHorizontal="true"
android:gravity="center" android:gravity="center"
android:layout_height="wrap_content"> android:text="@string/lbl_login_title"
android:textSize="20sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/lbl_login_title"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingBottom="20dp">
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_email"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_register_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/input_register_email_hint"
android:inputType="textEmailAddress"
android:padding="10dp"
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_password"
android:layout_below="@+id/input_layout_email"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_register_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:hint="@string/input_register_password_hint"
android:inputType="textPassword"
android:padding="10dp"
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_login"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_below="@+id/input_layout_password"
android:layout_marginBottom="5dip"
android:layout_marginTop="20dip"
bootstrap:bootstrapText="@string/btn_start_login"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true" />
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_switchtoregistration"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:layout_below="@+id/btn_login"
android:layout_marginBottom="5dip"
bootstrap:bootstrapText="@string/btn_start_register"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true" />
<LinearLayout
android:layout_width="match_parent"
android:layout_below="@+id/btn_switchtoregistration"
android:layout_centerHorizontal="true"
android:gravity="center"
android:layout_height="wrap_content"
android:id="@+id/linearLayout3">
<TextView
android:id="@+id/lbl_login_resendPW"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/lbl_login_resendPW"
android:textColor="@color/bg_common"
android:textAppearance="?android:attr/textAppearanceSmall" />
</LinearLayout>
<TextView <TextView
android:id="@+id/lbl_login_resendPW" android:id="@+id/lbl_login_usesocialnet"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/lbl_login_resendPW" android:layout_above="@+id/lay_social"
android:textAppearance="?android:attr/textAppearanceSmall" /> android:layout_centerHorizontal="true"
</LinearLayout> android:textColor="@color/bg_common"
android:text="@string/lbl_login_usesocialnet" />
<TextView <LinearLayout
android:id="@+id/lbl_login_usesocialnet" android:id="@+id/lay_social"
android:layout_width="wrap_content" android:layout_width="match_parent"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_above="@+id/frag_login_btnGP" android:layout_centerHorizontal="true"
android:layout_centerHorizontal="true" android:gravity="center"
android:text="@string/lbl_login_usesocialnet" /> android:layout_alignParentBottom="true"
android:layout_height="wrap_content">
<fragment
android:id="@+id/frag_login_btnGP"
android:name="org.deke.risk.riskahead.fragment.GooglePlusButtonFragment"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_googleplus_button" />
<fragment
android:id="@+id/frag_login_btnTW"
android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_twitter_button" />
<fragment
android:id="@+id/frag_login_btnFB"
android:name="org.deke.risk.riskahead.fragment.FacebookButtonFragment"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_facebook_button" />
</LinearLayout>
<fragment
android:id="@+id/frag_login_btnGP"
android:name="org.deke.risk.riskahead.fragment.GooglePlusButtonFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/frag_login_btnTW"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
tools:layout="@layout/fragment_googleplus_button" />
<fragment </RelativeLayout>
android:id="@+id/frag_login_btnTW"
android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/frag_login_btnFB"
android:layout_centerHorizontal="true"
android:layout_marginTop="5dp"
tools:layout="@layout/fragment_twitter_button" />
<fragment
android:id="@+id/frag_login_btnFB"
android:name="org.deke.risk.riskahead.fragment.FacebookButtonFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
tools:layout="@layout/fragment_facebook_button" />

View File

@@ -1,140 +0,0 @@
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
tools:context=".MainActivity">
<include
android:id="@+id/toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/layout_toolbar"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:contentDescription="@null"
android:id="@+id/imageView"
android:scaleType="centerCrop" />
<RelativeLayout
android:id="@+id/layoutContent"
android:layout_below="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="30dp"
android:gravity="center"
android:padding="5dp"
android:background="@color/main_button"
android:id="@+id/linearLayout">
<TextView
android:id="@+id/lbl_profile_points"
android:text="@string/lbl_main_txt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white"/>
<TextView
android:id="@+id/txt_main_incidents"
android:text="0"
android:textColor="@color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="38dp"
android:textSize="40sp"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/lbl_profile_numberposts"
android:text="@string/lbl_main_txt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_marginTop="34dp"
android:textColor="@color/white"/>
</LinearLayout>
<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_marginStart="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/white"
tools:ignore="HardcodedText" />
</LinearLayout>
<LinearLayout
android:id="@+id/layoutFooter"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<Button
android:id="@+id/btn_main_report"
android:layout_weight="1"
android:textColor="@color/white"
android:layout_marginRight="1dp"
android:paddingLeft="10dp"
android:layout_width="0dp"
android:layout_height="80dp"
style="?android:attr/borderlessButtonStyle"
android:text="@string/btn_main_reportinc" />
<Button
android:id="@+id/btn_main_viewmap"
style="?android:attr/borderlessButtonStyle"
android:layout_weight="1"
android:paddingRight="10dp"
android:textColor="@color/white"
android:layout_width="0dp"
android:layout_height="80dp"
android:text="@string/btn_main_showmap" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>

View File

@@ -8,17 +8,8 @@
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context="org.deke.risk.riskahead.MapsActivity"> tools:context="org.deke.risk.riskahead.MapsActivity">
<include
android:id="@+id/toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/layout_toolbar"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<RelativeLayout <RelativeLayout
android:id="@+id/layoutContent" android:id="@+id/layoutContent"
android:layout_below="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@@ -49,7 +40,15 @@
android:id="@+id/pb_map_progress" android:id="@+id/pb_map_progress"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentLeft="true" /> android:layout_alignParentBottom="true" />
<include
android:id="@+id/toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/layout_toolbar_trans"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout> </RelativeLayout>

View File

@@ -2,7 +2,7 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout" android:id="@+id/main_layout"
android:background="@drawable/layout_bg_gradient" android:background="@color/bg_report"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".ProfileActivity"> tools:context=".ProfileActivity">
@@ -11,7 +11,7 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar_col"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" /> android:layout_centerHorizontal="true" />
@@ -26,15 +26,6 @@
android:gravity="center" android:gravity="center"
android:orientation="vertical"> android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/logo_380"
android:id="@+id/imageView2"
android:alpha="0.05"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
<android.support.design.widget.TabLayout <android.support.design.widget.TabLayout
android:id="@+id/tab_layout" android:id="@+id/tab_layout"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -1,140 +1,156 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:background="@color/bg_register" android:background="@color/bg_register"
android:gravity="center" android:gravity="center"
android:orientation="vertical" android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity"> tools:context=".LoginActivity">
<TextView <TextView
android:id="@+id/lbl_register_title" android:id="@+id/lbl_register_title"
android:layout_width="wrap_content" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="54dp"
android:background="@color/bg_common"
android:textColor="@color/md_white_1000"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" android:gravity="center"
android:text="@string/lbl_register_title" android:text="@string/lbl_register_title"
android:textColor="@color/input_register" android:textSize="20sp" />
android:textSize="20sp"
android:textStyle="bold"
android:typeface="sans" />
<EditText <RelativeLayout
android:id="@+id/input_register_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/lbl_register_title"
android:layout_marginBottom="10dp"
android:layout_marginTop="20dp"
android:background="@color/input_register_bg"
android:hint="@string/input_register_name_hint"
android:inputType="textCapWords"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/input_register"
android:textColorHint="@color/input_register_hint" />
<EditText
android:id="@+id/input_register_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/input_register_name"
android:layout_marginBottom="10dp"
android:background="@color/input_register_bg"
android:hint="@string/input_register_email_hint"
android:inputType="textEmailAddress"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/input_register"
android:textColorHint="@color/input_register_hint" />
<EditText
android:id="@+id/input_register_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/input_register_email"
android:layout_marginBottom="10dp"
android:background="@color/input_register_bg"
android:hint="@string/input_register_password_hint"
android:inputType="textPassword"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/input_register"
android:textColorHint="@color/input_register_hint" />
<LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_alignParentLeft="true" android:layout_height="match_parent"
android:layout_alignParentStart="true" android:layout_below="@+id/lbl_register_title"
android:layout_below="@+id/input_register_password" android:paddingLeft="15dp"
android:orientation="horizontal" android:paddingRight="15dp"
android:layout_height="wrap_content" android:paddingBottom="20dp">
android:id="@+id/linearLayout2">
<Button <android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_username"
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_register_name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/input_register_name_hint"
android:inputType="textCapWords"
android:padding="10dp"
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_email"
android:layout_below="@+id/input_layout_username"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_register_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/input_register_email_hint"
android:inputType="textEmailAddress"
android:padding="10dp"
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_password"
android:layout_below="@+id/input_layout_email"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/input_register_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/input_register_password_hint"
android:inputType="textPassword"
android:padding="10dp"
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_register" android:id="@+id/btn_register"
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="40dp" android:layout_height="50dp"
android:layout_weight=".4" android:layout_below="@id/input_layout_password"
android:background="#ffea7f8a" android:layout_marginBottom="5dip"
android:minWidth="120dp" android:layout_marginTop="20dip"
android:text="@string/btn_start_register" bootstrap:bootstrapText="@string/btn_start_register"
android:textColor="@color/white" /> bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true" />
</LinearLayout>
<TextView
android:id="@+id/lbl_register_switchtologin"
android:gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/bg_common"
android:textAlignment="center"
android:text="@string/txt_register_switchtologin"
android:layout_below="@+id/btn_register"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<TextView <TextView
android:id="@+id/lbl_login_usesocialnet" android:id="@+id/lbl_login_usesocialnet"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_above="@+id/frag_login_btnGP" android:layout_above="@+id/lay_social"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:text="@string/lbl_login_usesocialnet" android:textColor="@color/bg_common"
android:textColor="@color/input_register" /> android:text="@string/lbl_login_usesocialnet" />
<fragment <LinearLayout
android:id="@+id/frag_login_btnGP" android:id="@+id/lay_social"
android:name="org.deke.risk.riskahead.fragment.GooglePlusButtonFragment" android:layout_width="match_parent"
android:layout_width="wrap_content" android:orientation="horizontal"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:layout_above="@+id/frag_login_btnTW" android:gravity="center"
android:layout_centerHorizontal="true" android:layout_alignParentBottom="true"
android:layout_marginTop="5dp" android:layout_height="wrap_content">
tools:layout="@layout/fragment_googleplus_button" />
<fragment <fragment
android:id="@+id/frag_login_btnTW" android:id="@+id/frag_login_btnGP"
android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment" android:name="org.deke.risk.riskahead.fragment.GooglePlusButtonFragment"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_margin="1dp"
android:layout_above="@+id/frag_login_btnFB" android:layout_weight="1"
android:layout_centerHorizontal="true" android:layout_height="wrap_content"
android:layout_marginTop="5dp" tools:layout="@layout/fragment_googleplus_button" />
tools:layout="@layout/fragment_twitter_button" />
<fragment <fragment
android:id="@+id/frag_login_btnFB" android:id="@+id/frag_login_btnTW"
android:name="org.deke.risk.riskahead.fragment.FacebookButtonFragment" android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment"
android:layout_width="wrap_content" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_margin="1dp"
android:layout_alignParentBottom="true" android:layout_weight="1"
android:layout_centerHorizontal="true" android:layout_height="wrap_content"
android:layout_marginBottom="5dp" tools:layout="@layout/fragment_twitter_button" />
android:layout_marginTop="5dp"
tools:layout="@layout/fragment_facebook_button" />
<TextView <fragment
android:id="@+id/lbl_register_switchtologin" android:id="@+id/frag_login_btnFB"
android:layout_width="wrap_content" android:name="org.deke.risk.riskahead.fragment.FacebookButtonFragment"
android:layout_height="wrap_content" android:layout_width="0dp"
android:layout_centerHorizontal="true" android:layout_margin="1dp"
android:layout_centerVertical="true" android:layout_weight="1"
android:textColor="@color/input_register" android:layout_height="wrap_content"
android:text="@string/txt_register_switchtologin" /> tools:layout="@layout/fragment_facebook_button" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout> </RelativeLayout>

View File

@@ -5,12 +5,12 @@
android:id="@+id/main_layout" android:id="@+id/main_layout"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@drawable/layout_bg_gradient" android:background="@color/bg_report"
tools:context=".ReportWFActivity"> tools:context=".ReportWFActivity">
<include <include
android:id="@+id/toolbar" android:id="@+id/toolbar"
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar_col"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
@@ -30,15 +30,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_horizontal" > android:layout_gravity="center_horizontal" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/logo_380"
android:id="@+id/imageView2"
android:layout_margin="5dp"
android:alpha="0.05"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
</FrameLayout> </FrameLayout>

View File

@@ -2,7 +2,7 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout" android:id="@+id/main_layout"
android:background="@drawable/layout_bg_gradient" android:background="@color/bg_report"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".SettingsActivity"> tools:context=".SettingsActivity">
@@ -11,7 +11,7 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar_col"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" /> android:layout_centerHorizontal="true" />
@@ -22,16 +22,6 @@
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_below="@id/toolbar"> android:layout_below="@id/toolbar">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/logo_380"
android:id="@+id/imageView2"
android:layout_margin="5dp"
android:alpha="0.05"
android:layout_gravity="center_horizontal"
tools:ignore="ContentDescription" />
</FrameLayout> </FrameLayout>
</RelativeLayout> </RelativeLayout>

View File

@@ -1,48 +0,0 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="org.deke.risk.riskahead.StartActivity"
android:background="#ffffff">
<ImageView
android:id="@+id/image_start_logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/logo_riskahead"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="#00ffffff"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/layoutFooter"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_alignParentBottom="true">
<Button
android:id="@+id/btn_start_login"
android:text="@string/btn_start_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="gotoLogin" />
<Button
android:id="@+id/btn_start_register"
android:text="@string/btn_start_register"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="gotoRegister" />
</LinearLayout>
</RelativeLayout>

View File

@@ -2,7 +2,7 @@
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout" android:id="@+id/main_layout"
android:background="@drawable/layout_bg_gradient" android:background="@color/bg_report"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".SubscriptionsActivity"> tools:context=".SubscriptionsActivity">
@@ -11,7 +11,7 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar_col"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" /> android:layout_centerHorizontal="true" />
@@ -20,6 +20,7 @@
android:id="@+id/layoutMain" android:id="@+id/layoutMain"
android:layout_below="@+id/toolbar" android:layout_below="@+id/toolbar"
android:layout_margin="0dp" android:layout_margin="0dp"
android:gravity="center"
android:padding="5dp" android:padding="5dp"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
@@ -30,7 +31,6 @@
android:text="@string/lbl_subs_maintaining" android:text="@string/lbl_subs_maintaining"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceMedium" android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_margin="5dp"/> android:layout_margin="5dp"/>
@@ -47,6 +47,7 @@
android:text="@string/lbl_subs_helpus" android:text="@string/lbl_subs_helpus"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_margin="5dp" android:layout_margin="5dp"
android:textColor="@color/text_light_grey"/> android:textColor="@color/text_light_grey"/>

View File

@@ -12,7 +12,7 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
layout="@layout/layout_toolbar" layout="@layout/layout_toolbar_col"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" /> android:layout_centerHorizontal="true" />

View File

@@ -7,7 +7,7 @@
<com.beardedhen.androidbootstrap.BootstrapButton <com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_login_fb" android:id="@+id/btn_login_fb"
android:layout_width="225dp" android:layout_width="fill_parent"
android:layout_height="50dp" android:layout_height="50dp"
bootstrap:bootstrapText="{fa_facebook_f} Facebook" bootstrap:bootstrapText="{fa_facebook_f} Facebook"
bootstrap:bootstrapBrand="primary" bootstrap:bootstrapBrand="primary"

View File

@@ -9,7 +9,7 @@
<com.beardedhen.androidbootstrap.BootstrapButton <com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_login_gp" android:id="@+id/btn_login_gp"
android:layout_width="225dp" android:layout_width="fill_parent"
android:layout_height="50dp" android:layout_height="50dp"
bootstrap:bootstrapText="{fa_google} Google+" bootstrap:bootstrapText="{fa_google} Google+"
bootstrap:bootstrapBrand="danger" bootstrap:bootstrapBrand="danger"

View File

@@ -73,16 +73,13 @@
android:textColor="@color/bg_common" /> android:textColor="@color/bg_common" />
<TextView <TextView
android:layout_width="250dp" android:layout_width="300dp"
android:layout_height="70dp" android:layout_height="100dp"
android:background="@drawable/layout_bg" android:background="@drawable/layout_bg"
android:hint="@string/hint_place" android:hint="@string/hint_place"
android:textAppearance="?android:attr/textAppearanceSmall" android:textAppearance="?android:attr/textAppearanceSmall"
android:id="@+id/lbl_reportwf_position_detail" android:id="@+id/lbl_reportwf_position_detail"
android:layout_below="@+id/lbl_reportwf_1_question_2" android:layout_below="@+id/lbl_reportwf_1_question_2"/>
android:layout_centerHorizontal="true"
android:layout_marginStart="20dp"
android:layout_marginBottom="50dp"/>
</RelativeLayout> </RelativeLayout>

View File

@@ -7,7 +7,7 @@
<com.beardedhen.androidbootstrap.BootstrapButton <com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_login_twitter" android:id="@+id/btn_login_twitter"
android:layout_width="225dp" android:layout_width="fill_parent"
android:layout_height="50dp" android:layout_height="50dp"
bootstrap:bootstrapText="{fa_twitter} Twitter" bootstrap:bootstrapText="{fa_twitter} Twitter"
bootstrap:bootstrapBrand="info" bootstrap:bootstrapBrand="info"

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
xmlns:android="http://schemas.android.com/apk/res/android"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:background="@color/bg_common"
/>

View File

@@ -3,11 +3,8 @@
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize" android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/MyRiskAheadToolbar"
app:popupTheme="@style/Theme.AppCompat.Light.NoActionBar"
android:elevation="4dp"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" /> android:background="@color/translucent"
/>

View File

@@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<item android:id="@+id/menu_btn_gotostart" <item android:id="@+id/menu_btn_gotostart"
android:icon="@android:drawable/ic_menu_revert" android:icon="@android:drawable/ic_input_delete"
app:showAsAction="always" app:showAsAction="always"
android:title="@string/lbl_reportwf_newreport" /> android:title="@string/lbl_reportwf_newreport" />

View File

@@ -246,70 +246,50 @@
<string name="txt_language_title">غيِر اللغه</string> <string name="txt_language_title">غيِر اللغه</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item> حادثه او وضع مهدد</item> <item>Threat</item>
<item>عنف كلامي</item> <item>Physical</item>
<item>بوادر لعنف جسدي كبير</item> <item>Life-Threatening</item>
<item>عنف يهدد الحياه</item> <item>Disaster</item>
<item>كارثه طبيعيه</item>
<item>كارثه بشريه &amp; بنيه تحتيه</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>تزوير,سرقه,سطو</item> <item>Robbery</item>
<item>استعمال المخدرات بشكل مفرطك شرب الكحول</item> <item>Drug related</item>
<item>مظاهرات,اعمال شغب,حصار طريق</item> <item>Strike/Riot</item>
<item>نقاط تفتيش ومعابر رقابه</item> <item>Checkpoint/Blockade</item>
<item>فساد,ابتزاز</item> <item>Corruption/Extorsion</item>
<item>أجرام, اعمال ميليشيات وارهابيين</item>
<item>غيره &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>تحرش جنسي</item> <item>Mugging</item>
<item>لغه مهينه او مهدده</item> <item>Sexual Assault</item>
<item>استجواب,ضغط,ارغام</item> <item>Physical Attack</item>
<item>تحريض,دفع</item> <item>Fight</item>
<item>غيره &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>اعتداء جنسي</item> <item>Rape</item>
<item>اعتداء جسدي بشكل عام</item> <item>Kidnapping/Hostage</item>
<item>شجار او عراك</item> <item>Shooting</item>
<item>اعتقال او قبض </item> <item>Bombing</item>
<item>عمل مرغوم وبالاجبار</item> <item>Murder</item>
<item>غيره &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>اغتصاب</item> <item>Heat Wave</item>
<item>تعذيب,خطف,احتجاز رهائن</item> <item>Cyclone/Tornado</item>
<item>اطلاق نار</item> <item>Flood</item>
<item>تفجير او عمل انتحاري</item> <item>Earthquake</item>
<item>قتل, اعدام علني</item> <item>Wild Fire</item>
<item>عرض جثث او اجزاء جثث </item> <item>Volcano</item>
<item>غيره &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>درجات حراره قصوى</item> <item>Chaos/Anarchy</item>
<item>عاصفه,بركان,اعصار</item>
<item>فيضانات,تسونامي</item>
<item>زلزال, انهيارات ارضيه</item>
<item>نيران,دخان,انفجار بركاني</item>
<item>مجاعه,جفاف,طاعون حيواني </item>
<item>غيره &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>تلوث هوائي</item>
<item>انقطاع التيار الكهربائي او حادث عام</item>
<item>انهيار المباني او دمار</item>
<item>حريق على نطاق واسع</item>
<item>كارثه كيميائيه او انسكاب نفط</item>
<item>تفشي مرض او وباء</item>
<item>فوضي او فوضى سياسيه</item>
<item>غيره &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -6,7 +6,7 @@
<string name="lbl_login_title">Anmeldung bei RiskAhead</string> <string name="lbl_login_title">Anmeldung bei RiskAhead</string>
<string name="lbl_login_resendPW">Passwort vergessen? Klicke hier</string> <string name="lbl_login_resendPW">Passwort vergessen? Klicke hier</string>
<string name="lbl_login_policy"><a href="http://www.riskahead.de/terms/">Impressum</a> und <a href="http://www.riskahead.de/privacy/">Datenschutz</a></string> <string name="lbl_login_policy"><a href="https://www.riskahead.de/terms/">Impressum</a> und <a href="https://www.riskahead.de/privacy/">Datenschutz</a></string>
<string name="lbl_login_usesocialnet">Oder verwende folgende Netzwerke</string> <string name="lbl_login_usesocialnet">Oder verwende folgende Netzwerke</string>
<string name="lbl_register_title">Registrierung bei RiskAhead</string> <string name="lbl_register_title">Registrierung bei RiskAhead</string>
@@ -239,71 +239,52 @@
<string name="txt_about_riskahead">RiskAhead für Android</string> <string name="txt_about_riskahead">RiskAhead für Android</string>
<string name="menu_action_language">Sprache</string> <string name="menu_action_language">Sprache</string>
<string name="txt_language_title">Ändere Sprache</string> <string name="txt_language_title">Ändere Sprache</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Allgemeiner Vorfall/Situation</item> <item>Vorfall</item>
<item>Mündliche Gewalt</item> <item>Physische Bedrohung</item>
<item>Leichte / schwere körperliche Gewalt</item>
<item>Lebensgefährliche Gewalt</item> <item>Lebensgefährliche Gewalt</item>
<item>Naturkatastrophe</item> <item>Naturkatastrophe</item>
<item>Menschl. Katastrophe &amp; Infrastruktur</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Diebstahl, Betrug, Einbruch</item> <item>Robbery</item>
<item>Drogenmissbrauch z.B. Getränk</item> <item>Drug related</item>
<item>Protest, Unruhe, Straßenblockade</item> <item>Strike/Riot</item>
<item>Checkpoint, Kontrollen</item> <item>Checkpoint/Blockade</item>
<item>Korruption, Erpressung</item> <item>Corruption/Extorsion</item>
<item>Einfluss Kriminalität, Milizen, Terror</item>
<item>Sonstiges &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Sexuelle Belästigung</item> <item>Mugging</item>
<item>Beleidigung, Drohung</item> <item>Sexual Assault</item>
<item>Nötigung/Vernehmung</item> <item>Physical Attack</item>
<item>Aufhetzung</item> <item>Fight</item>
<item>Sonstiges &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Sexueller Übergriff</item> <item>Rape</item>
<item>Angriff auf Person allgemein</item> <item>Kidnapping/Hostage</item>
<item>Schlägerei</item> <item>Shooting</item>
<item>Festnahme/Gefangennahme </item> <item>Bombing</item>
<item>Zwangsarbeit</item> <item>Murder</item>
<item>Sonstiges &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Vergewaltigung</item> <item>Heat Wave</item>
<item>Folter, Entführung, Geiselnahme</item> <item>Cyclone/Tornado</item>
<item>Schießerei</item> <item>Flood</item>
<item>Explosion, Selbstmordattentat</item> <item>Earthquake</item>
<item>Mord, Tötung, Hinrichtung</item> <item>Wild Fire</item>
<item>Leichenfund</item> <item>Volcano</item>
<item>Sonstiges &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Temperaturextrem</item> <item>Chaos/Anarchy</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 &#8230;</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 &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -246,70 +246,50 @@
<string name="txt_language_title">Cambiar Idioma</string> <string name="txt_language_title">Cambiar Idioma</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Situación o Incidente Peligroso</item> <item>Threat</item>
<item>Violencia Verbal</item> <item>Physical</item>
<item>Violencia Física Ligera o Grave</item> <item>Life-Threatening</item>
<item>Riesgo de Muerte por Violencia</item> <item>Disaster</item>
<item>Catástrofe Natural</item>
<item>Catástrofe Humana &amp; Infraestructura</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Estafa, Robo o Asalto</item> <item>Robbery</item>
<item>Abuso de drogas y bebidas alteradas</item> <item>Drug related</item>
<item>Manifestación, Motín o Camino bloqueado</item> <item>Strike/Riot</item>
<item>Punto de Control</item> <item>Checkpoint/Blockade</item>
<item>Corrupción, Extorsión</item> <item>Corruption/Extorsion</item>
<item>Milicias, Terrorismo</item>
<item>Otros &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Acoso Sexual</item> <item>Mugging</item>
<item>Insulto, Amenaza</item> <item>Sexual Assault</item>
<item>Interrogación/Coerción</item> <item>Physical Attack</item>
<item>Incitamiento</item> <item>Fight</item>
<item>Otros &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Asalto Sexual</item> <item>Rape</item>
<item>Ataque Físico en general</item> <item>Kidnapping/Hostage</item>
<item>Riña, Pelea</item> <item>Shooting</item>
<item>Arresto, Captura </item> <item>Bombing</item>
<item>Trabajo Forzado</item> <item>Murder</item>
<item>Otros &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Violación</item> <item>Heat Wave</item>
<item>Tortura, Secuestro, Rehenes</item> <item>Cyclone/Tornado</item>
<item>Disparos</item> <item>Flood</item>
<item>Bomba, Ataque Suicida</item> <item>Earthquake</item>
<item>Homicidio, Asesinato, Ejecución Pública</item> <item>Wild Fire</item>
<item>Hallazgo de cádaveres</item> <item>Volcano</item>
<item>Otros &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Temperaturas Extremas</item> <item>Chaos/Anarchy</item>
<item>Tormenta, Huracán, Tornado</item>
<item>Inundación, Tsunami</item>
<item>Seísmo, Terremoto</item>
<item>Fuego, Humo, Erupción Volcánica</item>
<item>Hambruna, Sequía, Plagua Animal </item>
<item>Otros &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Polución Aérea</item>
<item>Fallida Energética o Accidente General</item>
<item>Derrumbamiento o Destrucción de Edificios</item>
<item>Incendio</item>
<item>Desastre Químico o Derrame de Petróleo</item>
<item>Enfermedad, Brote o Epidemia</item>
<item>Caos, Anarquía</item>
<item>Otros &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Muuda keelt</string> <string name="txt_language_title">Muuda keelt</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Ähvardav intsident või situatsioon</item> <item>Threat</item>
<item>Verbaalne vägivald</item> <item>Physical</item>
<item>Kerge kuni raske füüsiline vägivald</item> <item>Life-Threatening</item>
<item>Eluohtlik vägivald</item> <item>Disaster</item>
<item>Looduskatastroof</item>
<item>Inimkatastroofid &amp; infrastruktuur</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Pettus, Vargus, Rööv või Murdvargus</item> <item>Robbery</item>
<item>Narkomaania nt. uimastid</item> <item>Drug related</item>
<item>Meeleavaldus, mäss või tee blokaad</item> <item>Strike/Riot</item>
<item>Kontrollpunktid, Kontrollid</item> <item>Checkpoint/Blockade</item>
<item>Korruptsioon, väljapressimine</item> <item>Corruption/Extorsion</item>
<item>Kuritegevus, sõjaline või terroristlik tegevus</item>
<item>Muu &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Seksuaalne ahistamine</item> <item>Mugging</item>
<item>Solvav või ähvardav kõnepruuk</item> <item>Sexual Assault</item>
<item>Ülekuulamine, Survestamine või Sundimine</item> <item>Physical Attack</item>
<item>Õhutus</item> <item>Fight</item>
<item>Muu &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Seksuaalne rünnak</item> <item>Rape</item>
<item>Füüsiline rünnak üldiselt</item> <item>Kidnapping/Hostage</item>
<item>kaklus või lööming</item> <item>Shooting</item>
<item>Vahistamine või kinnipidamine</item> <item>Bombing</item>
<item>Sunnitöö</item> <item>Murder</item>
<item>Muu &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Vägistamine</item> <item>Heat Wave</item>
<item>Piinamine, inimrööv, pantvangi võtmine</item> <item>Cyclone/Tornado</item>
<item>Tulistamine</item> <item>Flood</item>
<item>Pommi või suitsiidi rünnak</item> <item>Earthquake</item>
<item>Mõrv,avalik hukkamine</item> <item>Wild Fire</item>
<item>Surnukeha või selle osade näitamine </item> <item>Volcano</item>
<item>Muu &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Äärmuslikud temperatuurid</item> <item>Chaos/Anarchy</item>
<item>Torm, orkaan, tornaado</item>
<item>Üleujutus, tsunami</item>
<item>Maavärin, maalihe</item>
<item>Tulekahju, suits, vulkaanipurse</item>
<item>Nälg, põud, loomakatk </item>
<item>Muu &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Õhusaaste</item>
<item>Voolukatkestus või üldine õnnetus</item>
<item>Hoonete varingud või häving</item>
<item>Laia leviulatusega tulekahju</item>
<item>Keemiline katastroof või õlileke</item>
<item>Haiguspuhang või epideemia</item>
<item>Kaos, Anarhia</item>
<item>Muu &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -249,70 +249,50 @@
<string name="txt_language_title">Vaihda kieltä</string> <string name="txt_language_title">Vaihda kieltä</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item> Uhkaava tapaus tai tilanne</item> <item>Threat</item>
<item>Verbaalinen väkivalta</item> <item>Physical</item>
<item>Kevyestä kovaan fyysistä väkivaltaa</item> <item>Life-Threatening</item>
<item>Hengenvaarallista väkivaltaa</item> <item>Disaster</item>
<item>Luonnonkatastrofi</item>
<item>Ihmisvahingot &amp; Infrastruktuuri</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Huijaus, Varkaus, Pahoinpitely tai Murtovarkaus</item> <item>Robbery</item>
<item>Huumeiden väärinkäyttö esim. Drinkin terästäminen</item> <item>Drug related</item>
<item>Mielenosoitus, Mellakka tai Tiesulku</item> <item>Strike/Riot</item>
<item>Tarkastuspisteitä, Tarkastuksia</item> <item>Checkpoint/Blockade</item>
<item>Korruptiota, Kiristystä</item> <item>Corruption/Extorsion</item>
<item>Rikos, Armeija - tai Terroristi-aktiviteettia </item>
<item>Muu &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Seksuaalinen Ahdistelu</item> <item>Mugging</item>
<item>Loukkaavaa tai Uhkaavaa Kielenkäyttöä</item> <item>Sexual Assault</item>
<item>Kuulustelu, Painostus tai Pakottaminen</item> <item>Physical Attack</item>
<item>Yllyttäminen</item> <item>Fight</item>
<item>Muu &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Seksuaalinen ahdistelu</item> <item>Rape</item>
<item>Fyysinen väkivalta</item> <item>Kidnapping/Hostage</item>
<item>Tappelu tai joukkotappelu</item> <item>Shooting</item>
<item>Pidätys tai sieppaus </item> <item>Bombing</item>
<item>Pakkotyö</item> <item>Murder</item>
<item>Muu &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Raiskaus</item> <item>Heat Wave</item>
<item>Kidutus, Kidnappaus, Panttivangin ottaminen</item> <item>Cyclone/Tornado</item>
<item>Ampuminen</item> <item>Flood</item>
<item>Pommi tai Itsemurhahyökkäys</item> <item>Earthquake</item>
<item>Murha, Julkinen Teloitus</item> <item>Wild Fire</item>
<item>Näkyvillä ruumis tai ruumiinosia </item> <item>Volcano</item>
<item>Muu &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Äärilämpötiloja</item> <item>Chaos/Anarchy</item>
<item>Myrsky, Hurrikaani, Tornado</item>
<item>Tulvimista, Tsunami</item>
<item>Maanjäristys, Maanvyöry</item>
<item>Tuli, Savu, Tulivuorenpurkaus</item>
<item>Nälänhätä, Kuivuus, Karjarutto </item>
<item>Muu &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Ilmansaaste</item>
<item>Sähkökatkos tai Onnettomuus</item>
<item>Romahtavia rakennuksia tai Tuhoutuminen</item>
<item>Laajalle levinnyt tulipalo</item>
<item>Kemiallinen onnettomuus tai Öljyvuoto</item>
<item>Taudin leviäminen tai Epidemia</item>
<item>Kaaos, Anarkia</item>
<item>Muu &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -244,70 +244,50 @@
<string name="txt_language_title">Changer Langue</string> <string name="txt_language_title">Changer Langue</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Incident ou situation menaçante</item> <item>Threat</item>
<item>Violence verbale</item> <item>Physical</item>
<item>Violence légère à lourde</item> <item>Life-Threatening</item>
<item>Violence mortelle</item> <item>Disaster</item>
<item>Catastrophe naturelle</item>
<item>Catastrophe humaine &amp; Infrastructure</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Fraude, vol, cambriolage, ???</item> <item>Robbery</item>
<item>prévention de la toxicomanie ou ????</item> <item>Drug related</item>
<item>Démonstration, émeute ou barrage routier</item> <item>Strike/Riot</item>
<item>Point de contrôle, Contrôles</item> <item>Checkpoint/Blockade</item>
<item>Corruption, Extortion</item> <item>Corruption/Extorsion</item>
<item>Crime, activités militaires ou terroristes</item>
<item>autre &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Harcèlement sexuel</item> <item>Mugging</item>
<item>Langage insultant ou menaçant</item> <item>Sexual Assault</item>
<item>Interrogatoire, pression ou contrainte</item> <item>Physical Attack</item>
<item>Incitement</item> <item>Fight</item>
<item>Autre &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>agression sexuelle</item> <item>Rape</item>
<item>attaque physique généralisée</item> <item>Kidnapping/Hostage</item>
<item>combat ou rixe</item> <item>Shooting</item>
<item>Arrestation ou capture </item> <item>Bombing</item>
<item>travail forcé</item> <item>Murder</item>
<item>autre &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Viol</item> <item>Heat Wave</item>
<item>Torture, Kidnapping, prise d\'otage</item> <item>Cyclone/Tornado</item>
<item>Fusillade</item> <item>Flood</item>
<item>Bombe ou attentat</item> <item>Earthquake</item>
<item>Meurtre, exécution publique</item> <item>Wild Fire</item>
<item>Affichage de cadavre ou de parties de cadavre </item> <item>Volcano</item>
<item>autre &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Températures extrêmes</item> <item>Chaos/Anarchy</item>
<item>Tempête, ouragan, tornade</item>
<item>Innondation, Tsunami</item>
<item>Tremblement de terre, glissement de terrain</item>
<item>Feu, fumée, irruption volcanique</item>
<item>Famine, sécheresse, peste animal </item>
<item>autre &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Pollution de l\'air</item>
<item>Panne de courant ou accident général</item>
<item>Effondrement de bâtiment ou destruction</item>
<item>Feu généralisé</item>
<item>Catastrophe chimique ou déversement de pétrole</item>
<item>Maladie déclenchement ou épidémie</item>
<item>Chaos, Anarchie</item>
<item>autre &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Mainīt valodu</string> <string name="txt_language_title">Mainīt valodu</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Bīstams incidents vai stāvoklis</item> <item>Threat</item>
<item>Verbālā vardarbība</item> <item>Physical</item>
<item>Viegla līdz smaga fiziskā vardarbība</item> <item>Life-Threatening</item>
<item>Dzīvībai bīstama vardarbība</item> <item>Disaster</item>
<item>Dabas katastrofa</item>
<item>Cilvēku izraisīta katastrofa &amp; Infrastruktūra</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Krāpšana, zādzība, laupīšana vai ielaušanās</item> <item>Robbery</item>
<item>Sazāļošana, piem., dzēriena sazāļošana</item> <item>Drug related</item>
<item>Demonstrācija, dumpis vai ceļu blokāde</item> <item>Strike/Riot</item>
<item>Kontrolpunkti, kontroles</item> <item>Checkpoint/Blockade</item>
<item>Korupcija, izspiešana</item> <item>Corruption/Extorsion</item>
<item>Noziegums, zemessardzes vai terositu darbības</item>
<item>Cits &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Seksuāla uzmākšanās</item> <item>Mugging</item>
<item>Aizskaroša vai apdraudoša valoda</item> <item>Sexual Assault</item>
<item>Pratināšana, piespiešana vai apspiešana</item> <item>Physical Attack</item>
<item>Kūdīšana</item> <item>Fight</item>
<item>Cits &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Seksuāls uzbrukums</item> <item>Rape</item>
<item>Fizisks uzbrukums</item> <item>Kidnapping/Hostage</item>
<item>Cīņa vai tracis</item> <item>Shooting</item>
<item>Arests vai sagūstīšana </item> <item>Bombing</item>
<item>Piespiedu darbs</item> <item>Murder</item>
<item>Cits &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Izvarošana</item> <item>Heat Wave</item>
<item>Spīdzināšana, nolaupīšana, ķīlnieku sagūstīšana</item> <item>Cyclone/Tornado</item>
<item>Apšaude</item> <item>Flood</item>
<item>Spridzekļu vai pašnāvnieku uzbrukums</item> <item>Earthquake</item>
<item>Slepkavība, publisks nāvessods</item> <item>Wild Fire</item>
<item>Līķu vai ķermeņa daļu izstādīšana </item> <item>Volcano</item>
<item>Cits &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Ekstremālas gaisa temperatūras</item> <item>Chaos/Anarchy</item>
<item>Vētra, orkāns, viesuļvētra</item>
<item>Plūdi, cunami</item>
<item>Zemestrīce, nogruvums</item>
<item>Ugunsgrēks, dūmi, vulkāna izvirdums</item>
<item>Bads, sausums, dzīvnieku mēris </item>
<item>Cits &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Gaisa piesārņojums</item>
<item>Enerģijas pārtraukums vai nelaimes gadījums</item>
<item>Ēkas sabrukšana vai izpostīšana</item>
<item>Plašs ugunsgrēks</item>
<item>Ķīmiskā katastrofa vai naftas noplūde</item>
<item>Slimības uzliesmojums vai epidēmija</item>
<item>Haoss, anarhija</item>
<item>Cits &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -249,72 +249,50 @@
<string name="txt_language_title">Хэл солих</string> <string name="txt_language_title">Хэл солих</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item> Аюултай нөхцөл байдал</item> <item>Threat</item>
<item>Physical</item>
<item>Сэтгэл зүйн хүчирхийлэл</item> <item>Life-Threatening</item>
<item>Хөнгөнөөс хүнд хүртэлх бие махбодийн хүчирхийлэл</item> <item>Disaster</item>
<item>Амь насанд аюултай хүчирхийлэл</item>
<item>Байгалийн гамшиг</item>
<item>Хүний буруутай үйлдлээс үүдэлтэй гамшиг &amp; Дэд бүтэц</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>залилан, хулгай, халдлага, орон байрны хулгай</item> <item>Robbery</item>
<item>Хар тамхи</item> <item>Drug related</item>
<item>Жагсаал цуглаан, үймээн, замд саад учруулах</item> <item>Strike/Riot</item>
<item>Шалган нэвтрүүлэх цэг, Хяналт</item> <item>Checkpoint/Blockade</item>
<item>Авилга, Сүрдүүлэг</item> <item>Corruption/Extorsion</item>
<item>Гэмт хэрэг, Цэргийн эсвэл тероррист үйл ажиллагаа</item>
<item>Бусад &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Бэлгийн дарамт</item> <item>Mugging</item>
<item>Доромжлох эсвэл хэл ярианд занал хийх </item> <item>Sexual Assault</item>
<item>Байцаах, Дарамт буюу албадлага</item> <item>Physical Attack</item>
<item>Турхиралт</item> <item>Fight</item>
<item>Бусад &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Бэлгийн дарамт үзүүлэхээр завдах</item> <item>Rape</item>
<item>Бие мах бодийн дайралт</item> <item>Kidnapping/Hostage</item>
<item>Зодоон </item> <item>Shooting</item>
<item>Баривчилгаа </item> <item>Bombing</item>
<item>Албадан хөдөлмөрлүүлэх</item> <item>Murder</item>
<item>Бусад&#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Хүчингийн хэрэг</item> <item>Heat Wave</item>
<item>Эрүү шүүлт, хүн хулгайлах, барьцаалах</item> <item>Cyclone/Tornado</item>
<item>Буудалцах</item> <item>Flood</item>
<item>Тэсрэх бөмбөг буюу амиа хорлох довтолгоо</item> <item>Earthquake</item>
<item>Аллага, цаазаар авах</item> <item>Wild Fire</item>
<item>Цогцсын хэсэг</item> <item>Volcano</item>
<item>Бусад &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Хэт их температур</item> <item>Chaos/Anarchy</item>
<item>Шуурга, хар салхи</item>
<item>Үер, цунами</item>
<item>Газар хөдлөлт, хөрсний нуралт</item>
<item>Гал, утаа, галт уулын дэлбэрэлт</item>
<item>Өлсгөлөн, ган, тарваган тахал </item>
<item>Бусад &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Агаарын бохирдол</item>
<item>Цахилгаан тасрах буюу ерөнхий осол</item>
<item>Барилгын нуралт буюу устгал</item>
<item>Өргөн хүрээтэй гал түймэр</item>
<item>Химийн осол буюу газрын тос алдагдах</item>
<item>Халдварт өвчин гарах буюу тархах</item>
<item>Эмх замбараагүй байдал</item>
<item>Бусад &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Verander Taal</string> <string name="txt_language_title">Verander Taal</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Een dreigend Incident of Situatie</item> <item>Threat</item>
<item>Verbaal geweld</item> <item>Physical</item>
<item>Licht tot Zwaar Lichamelijk Geweld</item> <item>Life-Threatening</item>
<item>Levensbedreigend Geweld</item> <item>Disaster</item>
<item>Natuurramp</item>
<item>Menselijke Rampen &amp; Infrastructuur</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Oplichting, Diefstal, Beroving of Inbraak</item> <item>Robbery</item>
<item>Drugs Misbruik bijv. Drugs in drankje</item> <item>Drug related</item>
<item>Demonstratie, Rellen of Wegversperring</item> <item>Strike/Riot</item>
<item>Controlepost, Controle</item> <item>Checkpoint/Blockade</item>
<item>Corruptie, Afpersing</item> <item>Corruption/Extorsion</item>
<item>Criminaliteit, Militie or Terrorist Activiteiten</item>
<item>Anders &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Sexuele Overlast</item> <item>Mugging</item>
<item>Beledigend of dreigende taal</item> <item>Sexual Assault</item>
<item>Ondervraging, onder druk zetten of dwang</item> <item>Physical Attack</item>
<item>Aansporing</item> <item>Fight</item>
<item>Anders &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Sexuele Aanval</item> <item>Rape</item>
<item>Fysieke Aanval in het algemeen</item> <item>Kidnapping/Hostage</item>
<item>Een Gevecht of vechtpartij</item> <item>Shooting</item>
<item>Arrestatie of Gevangenneming</item> <item>Bombing</item>
<item>Gedwongen Arbeid</item> <item>Murder</item>
<item>Anders &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Verkrachting</item> <item>Heat Wave</item>
<item>Marteling, ontvoering, gijzeling</item> <item>Cyclone/Tornado</item>
<item>Beschieting</item> <item>Flood</item>
<item>Bom of Zelfmoord Aanval</item> <item>Earthquake</item>
<item>Moord, Publieke Executie</item> <item>Wild Fire</item>
<item>Tentoonstelling van lijk of lijkdelen</item> <item>Volcano</item>
<item>Anders &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Extreme Temperaturen</item> <item>Chaos/Anarchy</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>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Zmień język</string> <string name="txt_language_title">Zmień język</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Niebezpieczne zdarzenie lub sytuacja</item> <item>Threat</item>
<item>Przemoc słowna</item> <item>Physical</item>
<item>Lekka lub poważna przemoc fizyczna</item> <item>Life-Threatening</item>
<item>Przemoc zagrażająca życiu</item> <item>Disaster</item>
<item>Klęska żywiołowa</item>
<item>Zagrożenie wywołane przez ludzi &amp; Infrastruktura</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Oszustwo, kradzież, napad lub włamanie</item> <item>Robbery</item>
<item>Narkotyki, np. podawane w drinkach</item> <item>Drug related</item>
<item>Demonstracje lub blokady drogowe</item> <item>Strike/Riot</item>
<item>Rewizje, kontrole</item> <item>Checkpoint/Blockade</item>
<item>Korupcja, wymuszenia</item> <item>Corruption/Extorsion</item>
<item>Przestępcy, terroryści, bojówki</item>
<item>Inne &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Sexual Harassment</item> <item>Mugging</item>
<item>Insulting or Threatening Language</item> <item>Sexual Assault</item>
<item>Interrogation, Pressuring or Coercing</item> <item>Physical Attack</item>
<item>Incitement</item> <item>Fight</item>
<item>Other &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Molestowanie</item> <item>Rape</item>
<item>Ogólne ataki fizyczne</item> <item>Kidnapping/Hostage</item>
<item>Bójka</item> <item>Shooting</item>
<item>Aresztowanie lub schwytanie</item> <item>Bombing</item>
<item>Praca przymusowa</item> <item>Murder</item>
<item>Inne &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Gwałt</item> <item>Heat Wave</item>
<item>Torturowanie, porwanie, zakładnicy</item> <item>Cyclone/Tornado</item>
<item>Strzelanina</item> <item>Flood</item>
<item>Atak bombowy lub samobójczy</item> <item>Earthquake</item>
<item>Morderstwo, publiczna egzekucja</item> <item>Wild Fire</item>
<item>Pokazywanie martwych ciał</item> <item>Volcano</item>
<item>Inne &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Skrajne temperatury</item> <item>Chaos/Anarchy</item>
<item>Burza, huragan, tornado</item>
<item>Powódź, tsunami</item>
<item>Trzęsienie ziemi, osunięcie ziemi</item>
<item>Ogień, dym, erupcja wulkanu</item>
<item>Głód, susza, zaraza zwierzęca </item>
<item>Inne &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Zanieczyszczenie powietrza</item>
<item>Brak energii lub ogólny wypadek</item>
<item>Zawalenie lub zniszczenie budynku</item>
<item>Rozległy pożar</item>
<item>Katastrofa chemiczna lub wyciek ropy</item>
<item>Epidemia</item>
<item>Chaos, anarchia</item>
<item>Inne &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -261,70 +261,50 @@ Não foi possível recuperar as configurações do perfil
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item> Um incidente ou situação de ameaça</item> <item>Threat</item>
<item>Violência Verbal</item> <item>Physical</item>
<item>Violência Física</item> <item>Life-Threatening</item>
<item>Ameaça de morte </item> <item>Disaster</item>
<item>Disastre natural</item>
<item>Disastre humano &amp; Infraestrutura</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Fraude, furto, roubo ou agressão</item> <item>Robbery</item>
<item>Abuso de Drogas bebida </item> <item>Drug related</item>
<item>Demonstração, motim, manifestação ou bloqueio rodoviário</item> <item>Strike/Riot</item>
<item>Postos de controle, Controles</item> <item>Checkpoint/Blockade</item>
<item>Corrupção, Extorção</item> <item>Corruption/Extorsion</item>
<item>Crime, Milicia ou atividades terroristas</item>
<item>Outro&#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Abuso Sexual</item> <item>Mugging</item>
<item>Linguagem insultuosa e ameaçando</item> <item>Sexual Assault</item>
<item>Interrogatório, pressionar ou coagir</item> <item>Physical Attack</item>
<item>Inciamento</item> <item>Fight</item>
<item>Outro &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Agressão sexual</item> <item>Rape</item>
<item>Ataque fisico em geral</item> <item>Kidnapping/Hostage</item>
<item>Uma briga, Luta</item> <item>Shooting</item>
<item>Prender ou capturar</item> <item>Bombing</item>
<item>Trabalho Forçado</item> <item>Murder</item>
<item>Outro &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Estrupo</item> <item>Heat Wave</item>
<item>Tortura, Sequestro, Refens</item> <item>Cyclone/Tornado</item>
<item>Tiroteio</item> <item>Flood</item>
<item>Ataque suicida, Bombas</item> <item>Earthquake</item>
<item>Execução Publica, assassinato</item> <item>Wild Fire</item>
<item>Exibição de corpos </item> <item>Volcano</item>
<item>Outros &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>Temperaturas extremas</item> <item>Chaos/Anarchy</item>
<item>Tempestade, Furacão, Tornado</item>
<item>Inundação, Tsunami</item>
<item>Terremoto, Deslizamento</item>
<item>Fogo,Fumaça, Erupção Vulcanica</item>
<item>Fome, seca, peste animal</item>
<item>Outro &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Poluição do Ar</item>
<item>Falha de energia ou General Accident</item>
<item>Edifícios em colapso ou destruição</item>
<item>Fogo generalizado</item>
<item>Derramento de oléo ou desastre químico</item>
<item>Surto ou epidemia da doença</item>
<item>Caos, anarquia</item>
<item>Outro &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -245,70 +245,50 @@
<string name="txt_language_title">изменить язык</string> <string name="txt_language_title">изменить язык</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Угрожающее происшествие или ситуация</item> <item>Threat</item>
<item>Словесная перепалка</item> <item>Physical</item>
<item>Виды физического насилия</item> <item>Life-Threatening</item>
<item>Угроза для жизни</item> <item>Disaster</item>
<item>Природная катастрофа</item>
<item>Техногенная катастрофа&amp;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>кража,грабеж,воровство</item> <item>Robbery</item>
<item>злоупотребление наркотиками</item> <item>Drug related</item>
<item>демонстрации,бунты </item> <item>Strike/Riot</item>
<item>контрольные пункты</item> <item>Checkpoint/Blockade</item>
<item>коррупция или вымогательство</item> <item>Corruption/Extorsion</item>
<item>криминал или активность террористов</item>
<item>другое &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>сексуальное насилие</item> <item>Mugging</item>
<item>оскорбление или словесная угроза</item> <item>Sexual Assault</item>
<item>оказание давление или принуждение</item> <item>Physical Attack</item>
<item>подстрекательство</item> <item>Fight</item>
<item>другое &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>сексуальное насилие</item> <item>Rape</item>
<item>физическое нападение</item> <item>Kidnapping/Hostage</item>
<item>драка или ссора</item> <item>Shooting</item>
<item>арест или захват заложников </item> <item>Bombing</item>
<item>принудительный труд</item> <item>Murder</item>
<item>другое &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>изнасилование</item> <item>Heat Wave</item>
<item>пытка,похищение,захват заложников</item> <item>Cyclone/Tornado</item>
<item>стрельба</item> <item>Flood</item>
<item>взрыв или атака смертника</item> <item>Earthquake</item>
<item>убийство, публичная казнь</item> <item>Wild Fire</item>
<item>труп или части тела</item> <item>Volcano</item>
<item>другое &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>экстремальная температура</item> <item>Chaos/Anarchy</item>
<item>шторм,буря,торнадо</item>
<item>затопление или цунами</item>
<item>землетрясение</item>
<item>огонь,дым,извержение вулкана</item>
<item>голод,засуха </item>
<item>другое &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>загрязнение воздуха</item>
<item>перебои с электричеством</item>
<item>разрушение зданий</item>
<item>пожар</item>
<item>химическая катастрофа</item>
<item>вспышка заболевания или эпидемия</item>
<item>хаос и анархия</item>
<item>другое &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Dili değiştir</string> <string name="txt_language_title">Dili değiştir</string>
<string-array name="cat_situation_main"> <string-array name="cat_situation_main">
<item>Tehdit edici olay ya da durum</item> <item>Threat</item>
<item>Sözlü Şiddet</item> <item>Physical</item>
<item>Hafif-Ağır Fiziksel Şiddet</item> <item>Life-Threatening</item>
<item>Hayatı Tehdit Eden Şiddet</item> <item>Disaster</item>
<item>Doğal Felaket</item>
<item>İnsani Felaketler &amp; Altyapı</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_general"> <string-array name="cat_situation_sub_threat">
<item>Sahtecilik, Hırsızlık ya da Saldırı</item> <item>Robbery</item>
<item>Madde Bağımlılığı, örn. alkol</item> <item>Drug related</item>
<item>Gösteri, Ayaklanma ya da Yol Kapama</item> <item>Strike/Riot</item>
<item>Kontrol noktası, Kontroller</item> <item>Checkpoint/Blockade</item>
<item>Yolsuzluk, Haraca Bağlama</item> <item>Corruption/Extorsion</item>
<item>Cürüm, Milis ya da Terör Faaliyetleri</item>
<item>Diğer &#8230;</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_verbal"> <string-array name="cat_situation_sub_physical">
<item>Cinsel Taciz</item> <item>Mugging</item>
<item>Hakaret ya da Tehditvari Dile Başvurma</item> <item>Sexual Assault</item>
<item>Sorgulama, Baskı ya da Zorlama</item> <item>Physical Attack</item>
<item>Tahrik</item> <item>Fight</item>
<item>Diğer &#8230;</item> <item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force"> <string-array name="cat_situation_sub_lifethreat">
<item>Cinsel Saldırı</item> <item>Rape</item>
<item>Fiziksel Saldırı</item> <item>Kidnapping/Hostage</item>
<item>Kavga ya da Arbede</item> <item>Shooting</item>
<item>Tutuklama ya da Alıkoyma </item> <item>Bombing</item>
<item>Zorunlu Çalışma</item> <item>Murder</item>
<item>Diğer &#8230;</item> <item>Dead body</item>
</string-array> </string-array>
<string-array name="cat_situation_sub_force_serious"> <string-array name="cat_situation_sub_disaster">
<item>Tecavüz</item> <item>Heat Wave</item>
<item>İşkence, Adam Kaçırma, Rehine Alma</item> <item>Cyclone/Tornado</item>
<item>Ateş Açma</item> <item>Flood</item>
<item>Bomba ya da İntihar Saldırısı</item> <item>Earthquake</item>
<item>Cinayet, İnfaz</item> <item>Wild Fire</item>
<item>CCesedin ya da ceset parçalarının gösterilmesi</item> <item>Volcano</item>
<item>Diğer &#8230;</item> <item>Tsunami</item>
</string-array> <item>Fire</item>
<item>Chemical/Oil Spill</item>
<string-array name="cat_situation_sub_nature"> <item>Epidemic</item>
<item>ırı Sıcaklık</item> <item>Chaos/Anarchy</item>
<item>Fırtına, Kasırga, Hortum</item>
<item>Sel, Tsunami</item>
<item>Deprem, Toprak Kayması</item>
<item>Yangın, Duman, Volkanik Patlama</item>
<item>Açlık, Kıtlık, Hayvan Vebası </item>
<item>Başka &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_infrastructure">
<item>Hava kirliliği</item>
<item>Güç kesintisi ya da kaza</item>
<item>Bina çökmesi ya da yıkımı</item>
<item>Geniş alan yayılmış yangın</item>
<item>Kimyasal felaket ya da petrol sızıntısı</item>
<item>Felaket başlangıcı ya da epidemik</item>
<item>Kaos, Anarşi</item>
<item>Diğer &#8230;</item>
</string-array> </string-array>
<string-array name="cat_time_main"> <string-array name="cat_time_main">

View File

@@ -1,8 +1,8 @@
<resources> <resources>
<color name="bg_login">#c7c7c7</color> <color name="bg_login">#ffffff</color>
<color name="bg_register">#2e3237</color> <color name="bg_register">#ffffff</color>
<color name="bg_report">#f5f5f5</color>
<color name="bg_common">#1175b7</color> <color name="bg_common">#1175b7</color>
@@ -11,19 +11,21 @@
<color name="bg_common_2">#0461a8</color> <color name="bg_common_2">#0461a8</color>
<color name="common_text">#333333</color> <color name="common_text">#333333</color>
<color name="actionbar_text">#fdfdfd</color> <color name="actionbar_text">#000000</color>
<color name="text_light_grey">#aa4b4b4b</color> <color name="text_light_grey">#aa4b4b4b</color>
<color name="black">#000000</color> <color name="black">#000000</color>
<color name="white">#f5f5f5</color> <color name="white">#f5f5f5</color>
<color name="translucent">#609e9e9e</color>
<color name="input_login">#222222</color> <color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color> <color name="input_login_hint">#5b5b5b</color>
<color name="input_register">#afafaf</color> <color name="input_register">#181818</color>
<color name="input_register_bg">#3b4148</color> <color name="input_register_bg">#3b4148</color>
<color name="input_register_hint">#8c9094</color> <color name="input_register_hint">#5b5b5b</color>
<color name="btn_login_bg">#1175b7</color> <color name="btn_login_bg">#1175b7</color>
</resources> </resources>

View File

@@ -6,12 +6,12 @@
<string name="btn_start_login">Login</string> <string name="btn_start_login">Login</string>
<string name="btn_start_register">Register</string> <string name="btn_start_register">Register</string>
<string name="lbl_login_title">Log-in to RiskAhead</string> <string name="lbl_login_title">Log in</string>
<string name="lbl_login_resendPW">Forgot your password? Click here</string> <string name="lbl_login_resendPW">Forgot your password? Click here</string>
<string name="lbl_login_policy"><a href="https://www.riskahead.de/terms/">Terms of Service</a> and <a href="https://www.riskahead.de/privacy/">Privacy Policy</a></string> <string name="lbl_login_policy"><a href="https://www.riskahead.de/terms/">Terms of Service</a> and <a href="https://www.riskahead.de/privacy/">Privacy Policy</a></string>
<string name="lbl_login_usesocialnet">Or use following social networks to sign in</string> <string name="lbl_login_usesocialnet">Or use following social networks to sign in</string>
<string name="lbl_register_title">Register to RiskAhead</string> <string name="lbl_register_title">Register</string>
<string name="input_register_name_hint">Username</string> <string name="input_register_name_hint">Username</string>
<string name="input_register_email_hint">E-Mail</string> <string name="input_register_email_hint">E-Mail</string>
<string name="input_register_password_hint">Password</string> <string name="input_register_password_hint">Password</string>

View File

@@ -8,48 +8,28 @@
<style name="MyRiskAheadTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> <style name="MyRiskAheadTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:textViewStyle">@style/App_TextViewStyle</item> <item name="android:textViewStyle">@style/App_TextViewStyle</item>
<item name="android:editTextStyle">@style/App_EditTextStyle</item> <item name="android:editTextStyle">@style/App_EditTextStyle</item>
<!-- ...and here we setting appcompats color theme attrs -->
<item name="colorPrimary">@color/bg_common</item> <item name="colorPrimary">@color/bg_common</item>
<item name="colorPrimaryDark">@color/bg_common_2</item> <item name="colorPrimaryDark">@color/bg_common_2</item>
<item name="colorAccent">#02A8F3</item> <item name="colorAccent">#02A8F3</item>
</style> </style>
<style name="MyRiskAheadToolbar" parent="Theme.AppCompat.NoActionBar"> <style name="MyRiskAheadToolbar" parent="@style/Theme.AppCompat.Light.NoActionBar">
<!-- android:textColorPrimary is the color of the title text <item name="android:textColorPrimary">@color/bg_common</item>
in the Toolbar, in the Theme.AppCompat theme: --> <item name="android:textColorSecondary">@color/bg_common</item>
<item name="android:textColorPrimary">@color/actionbar_text</item> <item name="windowActionBarOverlay">true</item>
<item name="colorPrimary">@color/bg_common</item> <item name="actionMenuTextColor">@color/bg_common</item>
<item name="colorPrimaryDark">@color/bg_common_2</item>
<!-- android:textColorPrimaryInverse is the color of the title
text in the Toolbar, in the Theme.AppCompat.Light theme: -->
<!-- <item name="android:textColorPrimaryInverse">@color/abc_primary_text_material_light</item> -->
<!-- android:actionMenuTextColor is the color of the text of
action (menu) items in the Toolbar, at least in the
Theme.AppCompat theme.
For some reason, they already get the textColorPrimary
when running on API 21, but not on older versions of
Android, so this is only necessary to support older
Android versions.-->
<item name="actionMenuTextColor">@color/abc_primary_text_material_light</item>
<!-- android:textColorSecondary is the color of the menu
overflow icon (three vertical dots) -->
<item name="android:textColorSecondary">@color/actionbar_text</item>
<!-- This would set the toolbar's background color,
but setting this also changes the popup menu's background,
even if we define popupTheme for our <Toolbar> -->
<!-- <item name="android:background">@color/color_primary</item> -->
</style> </style>
<style name="App_EditTextStyle" parent="@android:style/Widget.EditText"> <style name="App_EditTextStyle" parent="@android:style/Widget.EditText">
<item name="android:textColor">@color/common_text</item> <item name="android:textColor">@color/actionbar_text</item>
<item name="android:fontFamily" tools:targetApi="jelly_bean">sans-serif</item>
</style> </style>
<style name="App_TextViewStyle" parent="@android:style/Widget.TextView"> <style name="App_TextViewStyle" parent="@android:style/Widget.TextView">
<item name="android:textColor">@color/common_text</item> <item name="android:textColor">@color/black</item>
<item name="android:fontFamily" tools:targetApi="jelly_bean">sans-serif</item> <item name="android:textSize">14sp</item>
</style> </style>
</resources> </resources>

View File

@@ -3,10 +3,8 @@
android:label="@string/app_name" android:label="@string/app_name"
android:hint="@string/search_hint" android:hint="@string/search_hint"
android:searchSettingsDescription="@string/search_settings" android:searchSettingsDescription="@string/search_settings"
android:searchSuggestAuthority="org.deke.risk.riskahead.helper.PlaceProvider" android:searchSuggestAuthority="org.deke.risk.riskahead.helper.PlaceProvider"
android:searchSuggestIntentAction="android.intent.action.VIEW" android:searchSuggestIntentAction="android.intent.action.VIEW"
android:searchSuggestSelection=" ?" android:searchSuggestSelection=" ?"
android:searchSuggestThreshold="2" > android:searchSuggestThreshold="2" >
</searchable> </searchable>