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" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<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/incremental" />
<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/jniLibs" />
<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/res" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/restart-dex" />

View File

@@ -5,8 +5,6 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<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_FINE_LOCATION" />
<uses-permission android:name="org.deke.risk.riskahead.permission.MAPS_RECEIVE" />
@@ -49,11 +47,7 @@
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@android:style/Theme.Translucent" />
<activity
android:name=".StartActivity"
android:label="@string/title_activity_start"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".LoginActivity"
android:label="@string/app_name"
@@ -62,9 +56,6 @@
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".StartActivity" />
</activity>
<activity android:name="com.twitter.sdk.android.core.identity.OAuthActivity" />
<activity
@@ -72,14 +63,12 @@
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name=".MainActivity"
android:label="@string/title_activity_entrance"
android:screenOrientation="portrait" />
<activity
android:name=".MapsActivity"
android:label="@string/title_activity_maps"
android:launchMode="singleTop"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>

View File

@@ -8,6 +8,7 @@ import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.design.widget.TextInputLayout;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.content.Intent;
@@ -43,6 +44,9 @@ import com.android.volley.Request.Method;
import com.android.volley.Response;
import com.android.volley.VolleyError;
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.Map;
@@ -87,7 +91,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
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(LoginActivity.this, MainActivity.class);
Intent intent = new Intent(LoginActivity.this, MapsActivity.class);
startActivity(intent);
finish();
}
@@ -133,18 +137,22 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
setContentView(R.layout.activity_login);
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);
TextInputLayout inputLayoutPassword = (TextInputLayout) findViewById(R.id.input_layout_password);
TextView btn_requestPW = (TextView) findViewById(R.id.lbl_login_resendPW);
Button btn_switchtoregistration = (Button) findViewById(R.id.btn_switchtoregistration);
btn_switchtoregistration.setOnClickListener(new View.OnClickListener() {
BootstrapButton btn_gotoregistration = (BootstrapButton) findViewById(R.id.btn_switchtoregistration);
btn_gotoregistration.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View 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() {
@Override
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
public void validate(TextView textView, String text) {
public void validate(TextView textView, TextInputLayout inputLayout, String text) {
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
public void validate(TextView textView, String text) {
public void validate(TextView textView, TextInputLayout inputLayout,String text) {
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);
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);
TextInputLayout inputLayoutEmail = (TextInputLayout) findViewById(R.id.input_layout_email);
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);
input_username.addTextChangedListener(new TextValidator(input_username, getApplicationContext()) {
input_username.addTextChangedListener(new TextValidator(input_username, inputLayoutUsername, getApplicationContext()) {
@Override
public void validate(TextView textView, String text) {
public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (text.trim().length() < 5) {
textView.setError(getString(R.string.error_anytext));
inputLayout.setError(getString(R.string.error_anytext));
} 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
public void validate(TextView textView, String text) {
public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (!Patterns.EMAIL_ADDRESS.matcher(text).matches()) {
textView.setError(getString(R.string.error_email));
inputLayout.setError(getString(R.string.error_email));
}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
public void validate(TextView textView, String text) {
public void validate(TextView textView, TextInputLayout inputLayout, String text) {
if (text.length() < 5) {
textView.setError(getString(R.string.error_password));
inputLayout.setError(getString(R.string.error_password));
} else {
textView.setError(null);
inputLayout.setErrorEnabled(false);
}
}
});
@@ -270,11 +285,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
}
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
public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response);
Log.d(TAG, "Check for Maintenance Response: " + response);
hideDialog();
try {
@@ -300,7 +315,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_CHECK_MAINTENANCE);
return params;
}
@@ -326,11 +340,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
}
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
public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response);
Log.d(TAG, "Check Version Response: " + response);
hideDialog();
try {
@@ -366,7 +380,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
e.printStackTrace();
}
params.put("tag", AppConfig.REST_CHECK_VERSION);
params.put("version", Integer.toString(versionCode));
return params;
}
@@ -436,7 +449,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
if(session.isLoggedIn()){
Intent intent = new Intent(
LoginActivity.this,
MainActivity.class);
MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN);
startActivity(intent);
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) {
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
public void onResponse(String response) {
@@ -532,7 +545,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
Intent intent = new Intent(
LoginActivity.this,
MainActivity.class);
MapsActivity.class);
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_SOCIALMEDIALOGIN);
startActivity(intent);
finish();
@@ -559,9 +572,8 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_SOCIAL);
params.put("key", key);
params.put("providerType", providerType);
params.put("providertype", providerType);
params.put("username", username);
params.put("email",email);
@@ -572,7 +584,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
}
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
public void onResponse(String response) {
@@ -639,7 +651,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
hideDialog();
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
Intent intent = new Intent(LoginActivity.this, MapsActivity.class);
startActivity(intent);
finish();
}
@@ -665,7 +677,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN);
params.put("email", email);
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) {
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
public void onResponse(String response) {
@@ -718,7 +729,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_EXISTS);
params.put("email", email);
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) {
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
public void onResponse(String response) {
Log.d(TAG, "Check User Exists Response: " + response);
Log.d(TAG, "Check Social User Exists Response: " + response);
hideDialog();
try {
@@ -745,8 +755,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
createAndShowPrivacyDialogForSocialUser( key,providerType, username, email);
}
} else {
String errorMsg = jObj.getString("error_msg");
Log.e(TAG, "Error occured: "+errorMsg);
@@ -770,7 +778,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_LOGIN_EXISTS);
params.put("key", key);
return params;
@@ -900,7 +907,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
}
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
public void onResponse(String response) {
@@ -937,7 +944,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REQUESTPWRESET);
params.put("email", email);
return params;
@@ -946,7 +952,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
}
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
public void onResponse(String response) {
@@ -960,7 +966,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
String errorMsg = jObj.getString("error_msg");
Log.e(TAG,"Resend E-Mail returned error value: "+errorMsg);
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) {
e.printStackTrace();
@@ -971,7 +977,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
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(),
getResources().getString(R.string.txt_errormsg_getactivationlink), Toast.LENGTH_LONG).show();
hideDialog();
@@ -981,7 +987,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_RESENDACTIVATIONMAIL);
params.put("email", email);
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) {
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
public void onResponse(String response) {
@@ -1039,7 +1044,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REGISTER);
params.put("username", username);
params.put("email", email);
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.graphics.Color;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.app.ActivityCompat;
@@ -23,11 +25,14 @@ import android.view.View;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.RatingBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import android.location.LocationListener;
import com.android.volley.toolbox.StringRequest;
import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
@@ -96,6 +101,11 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
private Marker markerShowingInfoWindow;
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 markedLocation;
private LatLng curNortheastBounds;
@@ -111,7 +121,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
super.onCreate(savedInstanceState);
userHasToBeLoggedIn();
if (session.getSubsPremium()) {
MIN_ZOOM_LEVEL = 7;
} else {
@@ -122,9 +131,9 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
mapFragment.getMapAsync(this);
findViewById(R.id.fab_reportwf_map).setVisibility(View.INVISIBLE);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
@@ -141,33 +150,60 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
Log.d(TAG,"Getting permission results...");
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_LOCATION: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.d(TAG,"Permission was granted by user");
try{
mMap.setMyLocationEnabled(true);
}catch(SecurityException e){
Log.e(TAG,"Security Exception: "+e.toString());
}
}
}catch (SecurityException e){
Log.e(TAG,"Security Exception:"+e.getMessage());
}
// other 'case' lines to check for other
// permissions this app might request
}
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());
}
}
}
}
}
private void initMap() {
Log.d(TAG,"Init Map");
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() {
@Override
@@ -399,7 +435,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
}
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
public void onResponse(String response) {
@@ -433,7 +469,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
protected Map<String, String> getParams() {
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("token", user.get(SessionManager.TOKEN));
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) {
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
public void onResponse(String response) {
@@ -481,7 +516,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMBOUND);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
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) {
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
public void onResponse(String response) {
@@ -574,7 +608,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", "getincidentfromincidentid");
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
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;
@@ -653,26 +686,10 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
{
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(myPosition.latitude, myPosition.longitude), DEFAULT_ZOOM_LEVEL));
}else{
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;
getLocation();
}
}
}
}
}
@Override
@@ -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
public void onLoadFinished(Loader<Cursor> arg0, Cursor 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));
txtSearch.setHint(getResources().getString(R.string.search_hint));
txtSearch.setHintTextColor(Color.LTGRAY);
txtSearch.setTextColor(Color.WHITE);
txtSearch.setHintTextColor(Color.DKGRAY);
txtSearch.setTextColor(Color.BLACK);
return true;
}
@@ -769,7 +885,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
protected void onPause(){
super.onPause();
if(showAdd) showAd();
}
@Override

View File

@@ -29,8 +29,6 @@ import com.android.volley.toolbox.StringRequest;
import com.beardedhen.androidbootstrap.BootstrapButton;
import com.beardedhen.androidbootstrap.api.defaults.DefaultBootstrapBrand;
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 org.deke.risk.riskahead.fragment.BaseReportWFFragment;
@@ -123,7 +121,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
private void initButtonsAndElements() {
btnContinue = (BootstrapButton) findViewById(R.id.btn_reportwf_next);
btnContinue.setVisibility(View.INVISIBLE);
btnContinue.setEnabled(false);
btnContinue.setOnClickListener(new View.OnClickListener() {
@Override
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.setVisibility(View.INVISIBLE);
btnReportNow.setEnabled(false);
btnReportNow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -171,8 +169,8 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
}
if(state == (fragList.size()-1)){
btnContinue.setVisibility(View.INVISIBLE);
btnReportNow.setVisibility(View.INVISIBLE);
btnContinue.setEnabled(false);
btnReportNow.setEnabled(false);
siteIndicator.setVisibility(View.INVISIBLE);
}else{
siteIndicator.setVisibility(View.VISIBLE);
@@ -254,15 +252,15 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
}
if((currentState == 1 && finished) || (currentState > 1)){
btnReportNow.setVisibility(View.VISIBLE);
btnReportNow.setEnabled(true);
}else{
btnReportNow.setVisibility(View.INVISIBLE);
btnReportNow.setEnabled(false);
}
if(finished || currentState > 1){
btnContinue.setVisibility(View.VISIBLE);
btnContinue.setEnabled(true);
}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) {
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
public void onResponse(String response) {
@@ -327,8 +325,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
if (!error) {
showMessage(getString(R.string.txt_success_addreport));
showDialogWhenReportAdded(incident);
showShareDialog(incident);
} else {
String errorMsg = jObj.getString("error_msg");
Log.e(TAG, "Error adding incident (Server returned error): " + errorMsg);
@@ -352,7 +349,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_ADD_INCIDENT_WITHPOSITION);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
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) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_STORAGE);
return;
}else{
showShareDialog(incident);
}
private void requestPermission(){
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_STORAGE);
}
@Override
public void onRequestPermissionsResult(int requestCode,
String permissions[], int[] grantResults) {
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_STORAGE: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
showShareDialog(incident);
startShareIncidentIntent(incident);
} else {
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)
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
resetStateAndIncident();
gotoMapActivity(incident.getPosition().latitude + ":" + incident.getPosition().longitude);
startShareIncidentIntent(incident);
}
})
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
@@ -441,9 +418,28 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
})
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
}
private void startShareIncidentIntent(IncidentReport incident) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Request Permission");
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.");
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
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);
@@ -459,6 +455,7 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
sharingIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(Intent.createChooser(sharingIntent, getString(R.string.txt_share_acttitle)));
}
}
private void finishReportAndGotoMap(IncidentReport incident) {
resetStateAndIncident();

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) {
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
public void onResponse(String response) {
@@ -345,7 +345,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", "addsubscription");
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("productid", productId);
@@ -365,7 +364,7 @@ public class SubscriptionsActivity extends BaseActivity{
}
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
public void onResponse(String response) {
@@ -407,7 +406,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", "getsubscriptions");
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("userid", userId);
@@ -426,7 +424,7 @@ public class SubscriptionsActivity extends BaseActivity{
}
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
public void onResponse(String response) {
@@ -457,7 +455,6 @@ public class SubscriptionsActivity extends BaseActivity{
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", "deactivatesubscription");
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("subid", subscriptionId);

View File

@@ -158,7 +158,7 @@ public class ViewReportActivity extends BaseActivity {
}
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
public void onResponse(String response) {
@@ -194,7 +194,6 @@ public class ViewReportActivity extends BaseActivity {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_DEACTIVATE_INCIDENT);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString());
@@ -213,7 +212,7 @@ public class ViewReportActivity extends BaseActivity {
}
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
public void onResponse(String response) {
@@ -253,7 +252,6 @@ public class ViewReportActivity extends BaseActivity {
protected Map<String, String> getParams() {
// Posting parameters to login url
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMINCIDENTID);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString());
@@ -447,7 +445,7 @@ public class ViewReportActivity extends BaseActivity {
}
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
public void onResponse(String response) {
@@ -484,7 +482,6 @@ public class ViewReportActivity extends BaseActivity {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_ADD_VOTE);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString());
@@ -502,7 +499,7 @@ public class ViewReportActivity extends BaseActivity {
}
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
public void onResponse(String response) {
@@ -537,7 +534,6 @@ public class ViewReportActivity extends BaseActivity {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_DELETE_VOTE);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("incidentid", incidentid.toString());

View File

@@ -3,7 +3,6 @@ package org.deke.risk.riskahead.fragment;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
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 org.deke.risk.riskahead.LoginActivity;
import org.deke.risk.riskahead.MainActivity;
import org.deke.risk.riskahead.R;
/**

View File

@@ -86,7 +86,7 @@ public class ReportListFragment extends Fragment{
}
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
public void onResponse(String response) {
@@ -136,7 +136,6 @@ public class ReportListFragment extends Fragment{
@Override
protected Map<String, String> getParams() {
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("token", parent.user.get(SessionManager.TOKEN));
params.put("userincidentid", uid);

View File

@@ -239,7 +239,7 @@ public class SettingsFragment extends PreferenceFragment {
private StringRequest getStringRequestResetPW(final String email) {
((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
public void onResponse(String response) {
@@ -275,7 +275,6 @@ public class SettingsFragment extends PreferenceFragment {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_REQUESTPWRESET);
params.put("email", email);
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) {
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
public void onResponse(String response) {
@@ -364,7 +363,6 @@ public class SettingsFragment extends PreferenceFragment {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_UPDATE_USER);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("username", username);

View File

@@ -79,7 +79,7 @@ public class Top10Fragment extends Fragment {
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
public void onResponse(String response) {
@@ -129,7 +129,6 @@ public class Top10Fragment extends Fragment {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_TOP10);
params.put("uid", parent.user.get(SessionManager.KEY_UID));
params.put("token", parent.user.get(SessionManager.TOKEN));

View File

@@ -87,8 +87,8 @@ public class TwitterButtonFragment extends Fragment {
@Override
public void failure(TwitterException exception) {
Log.e("Debug", "onFailure wird ausgeführt");
showMessage("Twitter Login failed with exception " + exception.getMessage());
Log.e("Twitter", "onFailure wird ausgeführt: "+exception);
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 **/
public final static String APP_PNAME = "org.deke.risk.riskahead";
/** URLs **/
public final static String URL_ENCRYPTED = "https://www.riskahead.de/helper/rest/";
public final static String URL_DEFAULT = "http://www.riskahead.de/helper/rest/";
public final static String URL_ENCRYPTED = "https://www.riskahead.de/api/v1";
public final static String URL_ABOUT = "https://www.riskahead.net/about/";
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;
/** REST WEBSERVICE **/
public final static String REST_LOGIN = "login";
public final static String REST_LOGIN_SOCIAL = "sociallogin";
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 final static String ROUTE_PUB = "/public";
public final static String ROUTE_AUTH = "/auth";
public static final String REST_CHECK_MAINTENANCE = "checkformaintenance";
public static final String REST_CHECK_VERSION= "checkifversionvalid";
public final static String ROUTE_GROUP_USERS = "/users";
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 org.deke.risk.riskahead.LoginActivity;
import org.deke.risk.riskahead.MainActivity;
import org.deke.risk.riskahead.MapsActivity;
import org.deke.risk.riskahead.R;
import org.deke.risk.riskahead.ProfileActivity;
@@ -254,11 +253,6 @@ public abstract class BaseActivity extends AppCompatActivity {
}
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()
.withName(R.string.navigation_report)
.withIdentifier(reportAvtivityID)
@@ -322,7 +316,6 @@ public abstract class BaseActivity extends AppCompatActivity {
.withSavedInstance(savedInstanceState)
.withSelectedItem(-1)
.addDrawerItems(
item1,
item2,
item3,
new DividerDrawerItem(),
@@ -336,9 +329,6 @@ public abstract class BaseActivity extends AppCompatActivity {
switch ((int)drawerItem.getIdentifier()) {
case 1:
gotoMainActivity();
return false;
case 2:
gotoReportActivity();
return false;
@@ -451,12 +441,6 @@ public abstract class BaseActivity extends AppCompatActivity {
return true;
}
public void gotoMainActivity(){
Intent intent;
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
}
public void gotoReportActivity(){
Intent intent;
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) {
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
public void onResponse(String response) {
@@ -755,7 +739,6 @@ public abstract class BaseActivity extends AppCompatActivity {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_SEND_FEEDBACK);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("feedback", feedback);

View File

@@ -49,6 +49,9 @@ public class NotificationService extends Service {
Handler mNotifyHandler = new Handler();
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 HashMap<String, String> user;
@@ -70,26 +73,50 @@ public class NotificationService extends Service {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
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) {
//ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_COARSE_LOCATION},1);
}else{
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 10, locationListener);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
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);
}
Log.d(TAG, "Service Created. Starting notification task...");
mNotifyTask.run();
}
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location loc) {
String longitude = "Longitude: " + loc.getLongitude();
Log.v(TAG, longitude);
String latitude = "Latitude: " + loc.getLatitude();
Log.v(TAG, latitude);
if(session.isGPSForNotificationsEnabled() && loc.getLongitude() != 0.0 && loc.getLatitude() != 0.0) {
Log.d(TAG, "Save GPS as new location...");
if(session.getLocation() == null || session.getLocation().latitude == 0.0 || session.getLocation().longitude == 0.0){
@@ -162,7 +189,7 @@ public class NotificationService extends Service {
};
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
public void onResponse(String response) {
@@ -196,7 +223,6 @@ public class NotificationService extends Service {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("tag", AppConfig.REST_GET_INCIDENTS_FROMAREATIME);
params.put("uid", user.get(SessionManager.KEY_UID));
params.put("token", user.get(SessionManager.TOKEN));
params.put("latitude", Double.toString(latitude));

View File

@@ -1,6 +1,7 @@
package org.deke.risk.riskahead.helper;
import android.content.Context;
import android.support.design.widget.TextInputLayout;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.TextView;
@@ -14,12 +15,14 @@ import android.widget.TextView;
*/
public abstract class TextValidator implements TextWatcher {
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.textLayout = textLayout;
}
public abstract void validate(TextView textView, String text);
public abstract void validate(TextView textView, TextInputLayout textLayout, String text);
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
@@ -33,6 +36,6 @@ public abstract class TextValidator implements TextWatcher {
@Override
public void afterTextChanged(Editable s) {
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.preference.EditTextPreference;
import android.app.AlertDialog;
import android.support.design.widget.TextInputLayout;
import android.text.Editable;
import android.text.InputType;
import android.text.TextWatcher;
@@ -62,7 +63,9 @@ public class ValidatedEditTextPreference extends EditTextPreference
if((getEditText().getInputType() & InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS) != 0){
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;
}
}else{
@@ -81,7 +84,6 @@ public class ValidatedEditTextPreference extends EditTextPreference
Dialog dlg = getDialog();
if(dlg instanceof AlertDialog){
AlertDialog alertDlg = (AlertDialog)dlg;
Button btn = alertDlg.getButton(AlertDialog.BUTTON_POSITIVE);
@@ -89,7 +91,6 @@ public class ValidatedEditTextPreference extends EditTextPreference
Log.d("SettingValidator", "btnSetEnable durchgeführt: "+btn.isEnabled());
}
}
@Override

View File

@@ -1,96 +1,105 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_login"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity">
<TextView
android:id="@+id/lbl_login_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_height="54dp"
android:background="@color/bg_common"
android:textColor="@color/md_white_1000"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/lbl_login_title"
android:textSize="20sp"
android:textStyle="bold"
android:typeface="sans" />
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: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: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_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:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<Button
<com.beardedhen.androidbootstrap.BootstrapButton
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_height="50dp"
android:layout_below="@+id/input_layout_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" />
bootstrap:bootstrapText="@string/btn_start_login"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true" />
<Button
<com.beardedhen.androidbootstrap.BootstrapButton
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_height="50dp"
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" />
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: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>
@@ -98,42 +107,53 @@
android:id="@+id/lbl_login_usesocialnet"
android:layout_width="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:textColor="@color/bg_common"
android:text="@string/lbl_login_usesocialnet" />
<LinearLayout
android:id="@+id/lay_social"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_centerHorizontal="true"
android:gravity="center"
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="wrap_content"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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
android:id="@+id/frag_login_btnTW"
android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>

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"
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
android:id="@+id/layoutContent"
android:layout_below="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent">
@@ -49,7 +40,15 @@
android:id="@+id/pb_map_progress"
android:layout_width="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>

View File

@@ -2,7 +2,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_layout"
android:background="@drawable/layout_bg_gradient"
android:background="@color/bg_report"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ProfileActivity">
@@ -11,7 +11,7 @@
android:id="@+id/toolbar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
layout="@layout/layout_toolbar"
layout="@layout/layout_toolbar_col"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
@@ -26,15 +26,6 @@
android:gravity="center"
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:id="@+id/tab_layout"
android:layout_width="match_parent"

View File

@@ -1,140 +1,156 @@
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:bootstrap="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg_register"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:context=".LoginActivity">
<TextView
android:id="@+id/lbl_register_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_height="54dp"
android:background="@color/bg_common"
android:textColor="@color/md_white_1000"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:gravity="center"
android:text="@string/lbl_register_title"
android:textColor="@color/input_register"
android:textSize="20sp"
android:textStyle="bold"
android:typeface="sans" />
android:textSize="20sp" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/lbl_register_title"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingBottom="20dp">
<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: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" />
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: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" />
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_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" />
android:maxLines="1"
android:textColor="@color/input_login"
android:textColorHint="@color/input_login_hint" />
</android.support.design.widget.TextInputLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/input_register_password"
android:orientation="horizontal"
android:layout_height="wrap_content"
android:id="@+id/linearLayout2">
<Button
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_register"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight=".4"
android:background="#ffea7f8a"
android:minWidth="120dp"
android:text="@string/btn_start_register"
android:textColor="@color/white" />
</LinearLayout>
android:layout_width="match_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_register"
bootstrap:bootstrapBrand="primary"
bootstrap:roundedCorners="true" />
<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
android:id="@+id/lbl_login_usesocialnet"
android:layout_width="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:text="@string/lbl_login_usesocialnet"
android:textColor="@color/input_register" />
android:textColor="@color/bg_common"
android:text="@string/lbl_login_usesocialnet" />
<LinearLayout
android:id="@+id/lay_social"
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_centerHorizontal="true"
android:gravity="center"
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="wrap_content"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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
android:id="@+id/frag_login_btnTW"
android:name="org.deke.risk.riskahead.fragment.TwitterButtonFragment"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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_width="0dp"
android:layout_margin="1dp"
android:layout_weight="1"
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" />
</LinearLayout>
<TextView
android:id="@+id/lbl_register_switchtologin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textColor="@color/input_register"
android:text="@string/txt_register_switchtologin" />
</RelativeLayout>
</RelativeLayout>

View File

@@ -5,12 +5,12 @@
android:id="@+id/main_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/layout_bg_gradient"
android:background="@color/bg_report"
tools:context=".ReportWFActivity">
<include
android:id="@+id/toolbar"
layout="@layout/layout_toolbar"
layout="@layout/layout_toolbar_col"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
@@ -30,15 +30,7 @@
android:layout_height="match_parent"
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>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -7,7 +7,7 @@
<com.beardedhen.androidbootstrap.BootstrapButton
android:id="@+id/btn_login_twitter"
android:layout_width="225dp"
android:layout_width="fill_parent"
android:layout_height="50dp"
bootstrap:bootstrapText="{fa_twitter} Twitter"
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:layout_width="match_parent"
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: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">
<item android:id="@+id/menu_btn_gotostart"
android:icon="@android:drawable/ic_menu_revert"
android:icon="@android:drawable/ic_input_delete"
app:showAsAction="always"
android:title="@string/lbl_reportwf_newreport" />

View File

@@ -246,70 +246,50 @@
<string name="txt_language_title">غيِر اللغه</string>
<string-array name="cat_situation_main">
<item> حادثه او وضع مهدد</item>
<item>عنف كلامي</item>
<item>بوادر لعنف جسدي كبير</item>
<item>عنف يهدد الحياه</item>
<item>كارثه طبيعيه</item>
<item>كارثه بشريه &amp; بنيه تحتيه</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>تزوير,سرقه,سطو</item>
<item>استعمال المخدرات بشكل مفرطك شرب الكحول</item>
<item>مظاهرات,اعمال شغب,حصار طريق</item>
<item>نقاط تفتيش ومعابر رقابه</item>
<item>فساد,ابتزاز</item>
<item>أجرام, اعمال ميليشيات وارهابيين</item>
<item>غيره &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>تحرش جنسي</item>
<item>لغه مهينه او مهدده</item>
<item>استجواب,ضغط,ارغام</item>
<item>تحريض,دفع</item>
<item>غيره &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>اعتداء جنسي</item>
<item>اعتداء جسدي بشكل عام</item>
<item>شجار او عراك</item>
<item>اعتقال او قبض </item>
<item>عمل مرغوم وبالاجبار</item>
<item>غيره &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>اغتصاب</item>
<item>تعذيب,خطف,احتجاز رهائن</item>
<item>اطلاق نار</item>
<item>تفجير او عمل انتحاري</item>
<item>قتل, اعدام علني</item>
<item>عرض جثث او اجزاء جثث </item>
<item>غيره &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>درجات حراره قصوى</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<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_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_register_title">Registrierung bei RiskAhead</string>
@@ -239,71 +239,52 @@
<string name="txt_about_riskahead">RiskAhead für Android</string>
<string name="menu_action_language">Sprache</string>
<string name="txt_language_title">Ändere Sprache</string>
<string-array name="cat_situation_main">
<item>Allgemeiner Vorfall/Situation</item>
<item>Mündliche Gewalt</item>
<item>Leichte / schwere körperliche Gewalt</item>
<item>Vorfall</item>
<item>Physische Bedrohung</item>
<item>Lebensgefährliche Gewalt</item>
<item>Naturkatastrophe</item>
<item>Menschl. Katastrophe &amp; Infrastruktur</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Diebstahl, Betrug, Einbruch</item>
<item>Drogenmissbrauch z.B. Getränk</item>
<item>Protest, Unruhe, Straßenblockade</item>
<item>Checkpoint, Kontrollen</item>
<item>Korruption, Erpressung</item>
<item>Einfluss Kriminalität, Milizen, Terror</item>
<item>Sonstiges &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Sexuelle Belästigung</item>
<item>Beleidigung, Drohung</item>
<item>Nötigung/Vernehmung</item>
<item>Aufhetzung</item>
<item>Sonstiges &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Sexueller Übergriff</item>
<item>Angriff auf Person allgemein</item>
<item>Schlägerei</item>
<item>Festnahme/Gefangennahme </item>
<item>Zwangsarbeit</item>
<item>Sonstiges &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Vergewaltigung</item>
<item>Folter, Entführung, Geiselnahme</item>
<item>Schießerei</item>
<item>Explosion, Selbstmordattentat</item>
<item>Mord, Tötung, Hinrichtung</item>
<item>Leichenfund</item>
<item>Sonstiges &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Temperaturextrem</item>
<item>Wind, Sturm, Orkan, Tornado</item>
<item>Überschwemmung/-flutung, Tsunami</item>
<item>Erdbeben, Berghang Einsturz</item>
<item>Feuer, Rauch, Vulkanausbruch</item>
<item>Hungersnot, Tierplage</item>
<item>Sonstiges &#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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

@@ -246,70 +246,50 @@
<string name="txt_language_title">Cambiar Idioma</string>
<string-array name="cat_situation_main">
<item>Situación o Incidente Peligroso</item>
<item>Violencia Verbal</item>
<item>Violencia Física Ligera o Grave</item>
<item>Riesgo de Muerte por Violencia</item>
<item>Catástrofe Natural</item>
<item>Catástrofe Humana &amp; Infraestructura</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Estafa, Robo o Asalto</item>
<item>Abuso de drogas y bebidas alteradas</item>
<item>Manifestación, Motín o Camino bloqueado</item>
<item>Punto de Control</item>
<item>Corrupción, Extorsión</item>
<item>Milicias, Terrorismo</item>
<item>Otros &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Acoso Sexual</item>
<item>Insulto, Amenaza</item>
<item>Interrogación/Coerción</item>
<item>Incitamiento</item>
<item>Otros &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Asalto Sexual</item>
<item>Ataque Físico en general</item>
<item>Riña, Pelea</item>
<item>Arresto, Captura </item>
<item>Trabajo Forzado</item>
<item>Otros &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Violación</item>
<item>Tortura, Secuestro, Rehenes</item>
<item>Disparos</item>
<item>Bomba, Ataque Suicida</item>
<item>Homicidio, Asesinato, Ejecución Pública</item>
<item>Hallazgo de cádaveres</item>
<item>Otros &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Temperaturas Extremas</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

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

View File

@@ -249,70 +249,50 @@
<string name="txt_language_title">Vaihda kieltä</string>
<string-array name="cat_situation_main">
<item> Uhkaava tapaus tai tilanne</item>
<item>Verbaalinen väkivalta</item>
<item>Kevyestä kovaan fyysistä väkivaltaa</item>
<item>Hengenvaarallista väkivaltaa</item>
<item>Luonnonkatastrofi</item>
<item>Ihmisvahingot &amp; Infrastruktuuri</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Huijaus, Varkaus, Pahoinpitely tai Murtovarkaus</item>
<item>Huumeiden väärinkäyttö esim. Drinkin terästäminen</item>
<item>Mielenosoitus, Mellakka tai Tiesulku</item>
<item>Tarkastuspisteitä, Tarkastuksia</item>
<item>Korruptiota, Kiristystä</item>
<item>Rikos, Armeija - tai Terroristi-aktiviteettia </item>
<item>Muu &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Seksuaalinen Ahdistelu</item>
<item>Loukkaavaa tai Uhkaavaa Kielenkäyttöä</item>
<item>Kuulustelu, Painostus tai Pakottaminen</item>
<item>Yllyttäminen</item>
<item>Muu &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Seksuaalinen ahdistelu</item>
<item>Fyysinen väkivalta</item>
<item>Tappelu tai joukkotappelu</item>
<item>Pidätys tai sieppaus </item>
<item>Pakkotyö</item>
<item>Muu &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Raiskaus</item>
<item>Kidutus, Kidnappaus, Panttivangin ottaminen</item>
<item>Ampuminen</item>
<item>Pommi tai Itsemurhahyökkäys</item>
<item>Murha, Julkinen Teloitus</item>
<item>Näkyvillä ruumis tai ruumiinosia </item>
<item>Muu &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Äärilämpötiloja</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

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

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Mainīt valodu</string>
<string-array name="cat_situation_main">
<item>Bīstams incidents vai stāvoklis</item>
<item>Verbālā vardarbība</item>
<item>Viegla līdz smaga fiziskā vardarbība</item>
<item>Dzīvībai bīstama vardarbība</item>
<item>Dabas katastrofa</item>
<item>Cilvēku izraisīta katastrofa &amp; Infrastruktūra</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Krāpšana, zādzība, laupīšana vai ielaušanās</item>
<item>Sazāļošana, piem., dzēriena sazāļošana</item>
<item>Demonstrācija, dumpis vai ceļu blokāde</item>
<item>Kontrolpunkti, kontroles</item>
<item>Korupcija, izspiešana</item>
<item>Noziegums, zemessardzes vai terositu darbības</item>
<item>Cits &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Seksuāla uzmākšanās</item>
<item>Aizskaroša vai apdraudoša valoda</item>
<item>Pratināšana, piespiešana vai apspiešana</item>
<item>Kūdīšana</item>
<item>Cits &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Seksuāls uzbrukums</item>
<item>Fizisks uzbrukums</item>
<item>Cīņa vai tracis</item>
<item>Arests vai sagūstīšana </item>
<item>Piespiedu darbs</item>
<item>Cits &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Izvarošana</item>
<item>Spīdzināšana, nolaupīšana, ķīlnieku sagūstīšana</item>
<item>Apšaude</item>
<item>Spridzekļu vai pašnāvnieku uzbrukums</item>
<item>Slepkavība, publisks nāvessods</item>
<item>Līķu vai ķermeņa daļu izstādīšana </item>
<item>Cits &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Ekstremālas gaisa temperatūras</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

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

View File

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

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Zmień język</string>
<string-array name="cat_situation_main">
<item>Niebezpieczne zdarzenie lub sytuacja</item>
<item>Przemoc słowna</item>
<item>Lekka lub poważna przemoc fizyczna</item>
<item>Przemoc zagrażająca życiu</item>
<item>Klęska żywiołowa</item>
<item>Zagrożenie wywołane przez ludzi &amp; Infrastruktura</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Oszustwo, kradzież, napad lub włamanie</item>
<item>Narkotyki, np. podawane w drinkach</item>
<item>Demonstracje lub blokady drogowe</item>
<item>Rewizje, kontrole</item>
<item>Korupcja, wymuszenia</item>
<item>Przestępcy, terroryści, bojówki</item>
<item>Inne &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Sexual Harassment</item>
<item>Insulting or Threatening Language</item>
<item>Interrogation, Pressuring or Coercing</item>
<item>Incitement</item>
<item>Other &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Molestowanie</item>
<item>Ogólne ataki fizyczne</item>
<item>Bójka</item>
<item>Aresztowanie lub schwytanie</item>
<item>Praca przymusowa</item>
<item>Inne &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Gwałt</item>
<item>Torturowanie, porwanie, zakładnicy</item>
<item>Strzelanina</item>
<item>Atak bombowy lub samobójczy</item>
<item>Morderstwo, publiczna egzekucja</item>
<item>Pokazywanie martwych ciał</item>
<item>Inne &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Skrajne temperatury</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<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">
<item> Um incidente ou situação de ameaça</item>
<item>Violência Verbal</item>
<item>Violência Física</item>
<item>Ameaça de morte </item>
<item>Disastre natural</item>
<item>Disastre humano &amp; Infraestrutura</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Fraude, furto, roubo ou agressão</item>
<item>Abuso de Drogas bebida </item>
<item>Demonstração, motim, manifestação ou bloqueio rodoviário</item>
<item>Postos de controle, Controles</item>
<item>Corrupção, Extorção</item>
<item>Crime, Milicia ou atividades terroristas</item>
<item>Outro&#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Abuso Sexual</item>
<item>Linguagem insultuosa e ameaçando</item>
<item>Interrogatório, pressionar ou coagir</item>
<item>Inciamento</item>
<item>Outro &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Agressão sexual</item>
<item>Ataque fisico em geral</item>
<item>Uma briga, Luta</item>
<item>Prender ou capturar</item>
<item>Trabalho Forçado</item>
<item>Outro &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Estrupo</item>
<item>Tortura, Sequestro, Refens</item>
<item>Tiroteio</item>
<item>Ataque suicida, Bombas</item>
<item>Execução Publica, assassinato</item>
<item>Exibição de corpos </item>
<item>Outros &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>Temperaturas extremas</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

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

View File

@@ -247,70 +247,50 @@
<string name="txt_language_title">Dili değiştir</string>
<string-array name="cat_situation_main">
<item>Tehdit edici olay ya da durum</item>
<item>Sözlü Şiddet</item>
<item>Hafif-Ağır Fiziksel Şiddet</item>
<item>Hayatı Tehdit Eden Şiddet</item>
<item>Doğal Felaket</item>
<item>İnsani Felaketler &amp; Altyapı</item>
<item>Threat</item>
<item>Physical</item>
<item>Life-Threatening</item>
<item>Disaster</item>
</string-array>
<string-array name="cat_situation_sub_general">
<item>Sahtecilik, Hırsızlık ya da Saldırı</item>
<item>Madde Bağımlılığı, örn. alkol</item>
<item>Gösteri, Ayaklanma ya da Yol Kapama</item>
<item>Kontrol noktası, Kontroller</item>
<item>Yolsuzluk, Haraca Bağlama</item>
<item>Cürüm, Milis ya da Terör Faaliyetleri</item>
<item>Diğer &#8230;</item>
<string-array name="cat_situation_sub_threat">
<item>Robbery</item>
<item>Drug related</item>
<item>Strike/Riot</item>
<item>Checkpoint/Blockade</item>
<item>Corruption/Extorsion</item>
</string-array>
<string-array name="cat_situation_sub_verbal">
<item>Cinsel Taciz</item>
<item>Hakaret ya da Tehditvari Dile Başvurma</item>
<item>Sorgulama, Baskı ya da Zorlama</item>
<item>Tahrik</item>
<item>Diğer &#8230;</item>
<string-array name="cat_situation_sub_physical">
<item>Mugging</item>
<item>Sexual Assault</item>
<item>Physical Attack</item>
<item>Fight</item>
<item>Arrest/Capture</item>
<item>Forced Labour</item>
</string-array>
<string-array name="cat_situation_sub_force">
<item>Cinsel Saldırı</item>
<item>Fiziksel Saldırı</item>
<item>Kavga ya da Arbede</item>
<item>Tutuklama ya da Alıkoyma </item>
<item>Zorunlu Çalışma</item>
<item>Diğer &#8230;</item>
<string-array name="cat_situation_sub_lifethreat">
<item>Rape</item>
<item>Kidnapping/Hostage</item>
<item>Shooting</item>
<item>Bombing</item>
<item>Murder</item>
<item>Dead body</item>
</string-array>
<string-array name="cat_situation_sub_force_serious">
<item>Tecavüz</item>
<item>İşkence, Adam Kaçırma, Rehine Alma</item>
<item>Ateş Açma</item>
<item>Bomba ya da İntihar Saldırısı</item>
<item>Cinayet, İnfaz</item>
<item>CCesedin ya da ceset parçalarının gösterilmesi</item>
<item>Diğer &#8230;</item>
</string-array>
<string-array name="cat_situation_sub_nature">
<item>ırı Sıcaklık</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 name="cat_situation_sub_disaster">
<item>Heat Wave</item>
<item>Cyclone/Tornado</item>
<item>Flood</item>
<item>Earthquake</item>
<item>Wild Fire</item>
<item>Volcano</item>
<item>Tsunami</item>
<item>Fire</item>
<item>Chemical/Oil Spill</item>
<item>Epidemic</item>
<item>Chaos/Anarchy</item>
</string-array>
<string-array name="cat_time_main">

View File

@@ -1,8 +1,8 @@
<resources>
<color name="bg_login">#c7c7c7</color>
<color name="bg_register">#2e3237</color>
<color name="bg_login">#ffffff</color>
<color name="bg_register">#ffffff</color>
<color name="bg_report">#f5f5f5</color>
<color name="bg_common">#1175b7</color>
@@ -11,19 +11,21 @@
<color name="bg_common_2">#0461a8</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="black">#000000</color>
<color name="white">#f5f5f5</color>
<color name="translucent">#609e9e9e</color>
<color name="input_login">#222222</color>
<color name="input_login_hint">#999999</color>
<color name="input_register">#afafaf</color>
<color name="input_login_hint">#5b5b5b</color>
<color name="input_register">#181818</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>
</resources>

View File

@@ -6,12 +6,12 @@
<string name="btn_start_login">Login</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_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_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_email_hint">E-Mail</string>
<string name="input_register_password_hint">Password</string>

View File

@@ -8,48 +8,28 @@
<style name="MyRiskAheadTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:textViewStyle">@style/App_TextViewStyle</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="colorPrimaryDark">@color/bg_common_2</item>
<item name="colorAccent">#02A8F3</item>
</style>
<style name="MyRiskAheadToolbar" parent="Theme.AppCompat.NoActionBar">
<!-- android:textColorPrimary is the color of the title text
in the Toolbar, in the Theme.AppCompat theme: -->
<item name="android:textColorPrimary">@color/actionbar_text</item>
<item name="colorPrimary">@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 name="MyRiskAheadToolbar" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:textColorPrimary">@color/bg_common</item>
<item name="android:textColorSecondary">@color/bg_common</item>
<item name="windowActionBarOverlay">true</item>
<item name="actionMenuTextColor">@color/bg_common</item>
</style>
<style name="App_EditTextStyle" parent="@android:style/Widget.EditText">
<item name="android:textColor">@color/common_text</item>
<item name="android:fontFamily" tools:targetApi="jelly_bean">sans-serif</item>
<item name="android:textColor">@color/actionbar_text</item>
</style>
<style name="App_TextViewStyle" parent="@android:style/Widget.TextView">
<item name="android:textColor">@color/common_text</item>
<item name="android:fontFamily" tools:targetApi="jelly_bean">sans-serif</item>
<item name="android:textColor">@color/black</item>
<item name="android:textSize">14sp</item>
</style>
</resources>

View File

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