DT @27.01.2016: 1.8 release
This commit is contained in:
Binary file not shown.
@@ -19,8 +19,8 @@ android {
|
||||
applicationId "org.deke.risk.riskahead"
|
||||
minSdkVersion 15
|
||||
targetSdkVersion 22
|
||||
versionCode 14
|
||||
versionName "1.7.2"
|
||||
versionCode 15
|
||||
versionName "1.8"
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/MyRiskAheadTheme">
|
||||
|
||||
|
||||
|
||||
<!-- Google Maps Fragment API Key Data -->
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.version"
|
||||
|
||||
@@ -3,19 +3,26 @@ package org.deke.risk.riskahead;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.res.Resources;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.text.Html;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.text.method.MovementMethod;
|
||||
import android.util.Log;
|
||||
import android.util.Patterns;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
@@ -71,9 +78,6 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
}else if(msg_intent.equals(AppConfig.INTENT_REGISTER)){
|
||||
initRegisterView();
|
||||
}
|
||||
|
||||
TextView policyandterms = (TextView) findViewById(R.id.lbl_login_policy);
|
||||
policyandterms.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
}
|
||||
|
||||
private void initProgressDialog() {
|
||||
@@ -140,7 +144,7 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
input_password = (TextView) findViewById(R.id.input_register_password);
|
||||
Button btn_login = (Button) findViewById(R.id.btn_register);
|
||||
|
||||
input_username.addTextChangedListener(new TextValidator(input_username,getApplicationContext()) {
|
||||
input_username.addTextChangedListener(new TextValidator(input_username, getApplicationContext()) {
|
||||
@Override
|
||||
public void validate(TextView textView, String text) {
|
||||
if (text.length() < 5) {
|
||||
@@ -174,11 +178,11 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
String password = input_password.getText().toString();
|
||||
|
||||
String name = input_username.getText().toString();
|
||||
if (input_password.getError() != null || input_email.getError() != null || input_username.getError() != null) {
|
||||
if (input_password.getError() != null || input_email.getError() != null || input_username.getError() != null || input_email.getText().toString().trim().length() == 0 || input_username.getText().toString().trim().length() == 0 || input_password.getText().toString().trim().length() == 0) {
|
||||
showMessage(getString(R.string.error_validation));
|
||||
} else {
|
||||
showDialog();
|
||||
performRegistration(name, email, password);
|
||||
checkForUserAndPerformRegistration(name, email, password);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -201,6 +205,12 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
private void checkForUserAndPerformRegistration(final String username, final String email, final String password) {
|
||||
String tag_string_req = "req_checkregister";
|
||||
StringRequest strReq = getStringRequestCheckUserExists(username, email, password);
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
private void performRegistration(final String username, final String email, final String password) {
|
||||
String tag_string_req = "req_register";
|
||||
StringRequest strReq = getStringRequestRegisterUser(username, email, password);
|
||||
@@ -220,8 +230,8 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
session.removeUser();
|
||||
showDialog();
|
||||
|
||||
String tag_string_req = "sociallogin";
|
||||
StringRequest strReq = getStringRequestSocialMediaLogin(key, providerType, username, email);
|
||||
String tag_string_req = "socialloginrequest";
|
||||
StringRequest strReq = getStringRequestCheckSocialUserExists(key, providerType, username, email);
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
@@ -254,6 +264,12 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
private void performSocialMediaLogin(final String key, final String providerType, final String username, final String email){
|
||||
String tag_string_req = "sociallogin";
|
||||
StringRequest strReq = getStringRequestSocialMediaLogin( key, providerType, username, email);
|
||||
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
|
||||
}
|
||||
|
||||
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>() {
|
||||
|
||||
@@ -443,33 +459,27 @@ public class LoginActivity extends AppCompatActivity implements FacebookButtonFr
|
||||
};
|
||||
}
|
||||
|
||||
private StringRequest getStringRequestRegisterUser(final String username, final String email, final String password) {
|
||||
private StringRequest getStringRequestCheckUserExists(final String username, final String email, final String password) {
|
||||
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() {
|
||||
|
||||
@Override
|
||||
public void onResponse(String response) {
|
||||
Log.d(TAG, "Register Response: " + response);
|
||||
Log.d(TAG, "Check User Exists Response: " + response);
|
||||
hideDialog();
|
||||
|
||||
try {
|
||||
JSONObject jObj = new JSONObject(response);
|
||||
boolean error = jObj.getBoolean("error");
|
||||
if (!error) {
|
||||
new AlertDialog.Builder(LoginActivity.this)
|
||||
.setTitle(getString(R.string.alert_accregistration_title))
|
||||
.setMessage(getString(R.string.alert_accregistration_text))
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Intent intent = new Intent(
|
||||
LoginActivity.this,
|
||||
LoginActivity.class);
|
||||
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_NORMALLOGIN);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
})
|
||||
.setIcon(android.R.drawable.ic_dialog_alert)
|
||||
.show();
|
||||
|
||||
if(jObj.getInt("exists") == 1){
|
||||
showMessage("Registration failed. Username and/or E-Mail already taken");
|
||||
}else{
|
||||
createAndShowPrivacyDialog(username, email, password);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
String errorMsg = jObj.getString("error_msg");
|
||||
Log.e(TAG, "Error occured: "+errorMsg);
|
||||
@@ -493,16 +503,178 @@ 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("tag", AppConfig.REST_LOGIN_EXISTS);
|
||||
params.put("email", email);
|
||||
params.put("password", password);
|
||||
|
||||
return params;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
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>() {
|
||||
|
||||
@Override
|
||||
public void onResponse(String response) {
|
||||
Log.d(TAG, "Check User Exists Response: " + response);
|
||||
hideDialog();
|
||||
|
||||
try {
|
||||
JSONObject jObj = new JSONObject(response);
|
||||
boolean error = jObj.getBoolean("error");
|
||||
if (!error) {
|
||||
|
||||
if(jObj.getInt("exists") == 1){
|
||||
performSocialMediaLogin( key,providerType, username, email);
|
||||
}else{
|
||||
createAndShowPrivacyDialogForSocialUser( key,providerType, username, email);
|
||||
}
|
||||
|
||||
|
||||
|
||||
} else {
|
||||
String errorMsg = jObj.getString("error_msg");
|
||||
Log.e(TAG, "Error occured: "+errorMsg);
|
||||
Toast.makeText(getApplicationContext(), getResources().getString(R.string.txt_errormsg_register), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}, new Response.ErrorListener() {
|
||||
|
||||
@Override
|
||||
public void onErrorResponse(VolleyError error) {
|
||||
Log.e(TAG, "Registration Error: " + error.getMessage());
|
||||
Toast.makeText(getApplicationContext(),
|
||||
getResources().getString(R.string.txt_errormsg_register), Toast.LENGTH_LONG).show();
|
||||
hideDialog();
|
||||
}
|
||||
}) {
|
||||
|
||||
@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;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private void createAndShowPrivacyDialogForSocialUser(final String key, final String providerType, final String username, final String email) {
|
||||
final TextView privacyText = new TextView(LoginActivity.this);
|
||||
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
|
||||
|
||||
privacyText.setLayoutParams(lp);
|
||||
privacyText.setText(R.string.txt_register_privacy);
|
||||
privacyText.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
privacyText.setPadding(10,20,10,20);
|
||||
|
||||
CheckBox privacyCheckbox = new CheckBox(getApplicationContext());
|
||||
privacyCheckbox.setText(R.string.txt_register_privacy_text);
|
||||
privacyCheckbox.setTextColor(getResources().getColor(R.color.md_black_1000));
|
||||
privacyCheckbox.setButtonDrawable(Resources.getSystem().getIdentifier("btn_check_holo_light", "drawable", "android"));
|
||||
privacyCheckbox.setPadding(10,20,10,20);
|
||||
|
||||
|
||||
LinearLayout layout = new LinearLayout(LoginActivity.this);
|
||||
layout.setOrientation(LinearLayout.VERTICAL);
|
||||
layout.addView(privacyText);
|
||||
layout.addView(privacyCheckbox);
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this)
|
||||
.setTitle(R.string.txt_register_privacy_title)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
performSocialMediaLogin(key, providerType, username, email);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
}
|
||||
})
|
||||
.setIcon(R.drawable.logo_380);
|
||||
|
||||
final AlertDialog dialog = builder.create();
|
||||
|
||||
privacyCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
|
||||
} else {
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
dialog.setView(layout, 40, 40, 40, 40);
|
||||
dialog.show();
|
||||
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
}
|
||||
|
||||
private void createAndShowPrivacyDialog(final String username, final String email, final String password) {
|
||||
final TextView privacyText = new TextView(LoginActivity.this);
|
||||
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT,
|
||||
LinearLayout.LayoutParams.WRAP_CONTENT);
|
||||
|
||||
|
||||
privacyText.setLayoutParams(lp);
|
||||
privacyText.setText(R.string.txt_register_privacy);
|
||||
privacyText.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
privacyText.setPadding(10,20,10,20);
|
||||
|
||||
CheckBox privacyCheckbox = new CheckBox(getApplicationContext());
|
||||
privacyCheckbox.setText(R.string.txt_register_privacy_text);
|
||||
privacyCheckbox.setTextColor(getResources().getColor(R.color.md_black_1000));
|
||||
privacyCheckbox.setButtonDrawable(Resources.getSystem().getIdentifier("btn_check_holo_light", "drawable", "android"));
|
||||
privacyCheckbox.setPadding(10,20,10,20);
|
||||
|
||||
|
||||
LinearLayout layout = new LinearLayout(LoginActivity.this);
|
||||
layout.setOrientation(LinearLayout.VERTICAL);
|
||||
layout.addView(privacyText);
|
||||
layout.addView(privacyCheckbox);
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(LoginActivity.this)
|
||||
.setTitle(R.string.txt_register_privacy_title)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
performRegistration(username, email, password);
|
||||
}
|
||||
})
|
||||
.setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
}
|
||||
})
|
||||
.setIcon(R.drawable.logo_380);
|
||||
|
||||
final AlertDialog dialog = builder.create();
|
||||
|
||||
privacyCheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
if (isChecked) {
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
|
||||
} else {
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
dialog.setView(layout, 40, 40, 40, 40);
|
||||
dialog.show();
|
||||
|
||||
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
|
||||
}
|
||||
|
||||
private StringRequest getStringRequestResetPW(final String email) {
|
||||
return new StringRequest(Method.POST, AppConfig.URL_ENCRYPTED, new Response.Listener<String>() {
|
||||
|
||||
@@ -593,6 +765,67 @@ 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>() {
|
||||
|
||||
@Override
|
||||
public void onResponse(String response) {
|
||||
Log.d(TAG, "Register Response: " + response);
|
||||
hideDialog();
|
||||
|
||||
try {
|
||||
JSONObject jObj = new JSONObject(response);
|
||||
boolean error = jObj.getBoolean("error");
|
||||
if (!error) {
|
||||
new AlertDialog.Builder(LoginActivity.this)
|
||||
.setTitle(getString(R.string.alert_accregistration_title))
|
||||
.setMessage(getString(R.string.alert_accregistration_text))
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
Intent intent = new Intent(
|
||||
LoginActivity.this,
|
||||
LoginActivity.class);
|
||||
intent.putExtra(AppConfig.EXTRA_MESSAGE, AppConfig.INTENT_LOGIN);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
})
|
||||
.setIcon(android.R.drawable.ic_dialog_alert)
|
||||
.show();
|
||||
} else {
|
||||
String errorMsg = jObj.getString("error_msg");
|
||||
Log.e(TAG, "Error occured: "+errorMsg);
|
||||
Toast.makeText(getApplicationContext(), getResources().getString(R.string.txt_errormsg_register), Toast.LENGTH_LONG).show();
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}, new Response.ErrorListener() {
|
||||
|
||||
@Override
|
||||
public void onErrorResponse(VolleyError error) {
|
||||
Log.e(TAG, "Registration Error: " + error.getMessage());
|
||||
Toast.makeText(getApplicationContext(),
|
||||
getResources().getString(R.string.txt_errormsg_register), Toast.LENGTH_LONG).show();
|
||||
hideDialog();
|
||||
}
|
||||
}) {
|
||||
|
||||
@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);
|
||||
|
||||
return params;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
public void showMessage(String statusText){
|
||||
Toast.makeText(this, statusText, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import java.util.Map;
|
||||
|
||||
public class MainActivity extends BaseActivity{
|
||||
|
||||
private final static String mActivityTitle = "RiskAhead";
|
||||
private final static String TAG = MainActivity.class.getSimpleName();
|
||||
|
||||
private Handler mHandler = new Handler();
|
||||
@@ -41,10 +40,8 @@ public class MainActivity extends BaseActivity{
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
userHasToBeLoggedIn();
|
||||
|
||||
showDialog();
|
||||
|
||||
registerBroadcastReceiver();
|
||||
initButtons();
|
||||
}
|
||||
|
||||
@@ -194,6 +191,6 @@ public class MainActivity extends BaseActivity{
|
||||
|
||||
@Override
|
||||
protected String getActivityName() {
|
||||
return mActivityTitle;
|
||||
return getResources().getString(R.string.title_activity_start);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,7 +65,6 @@ import java.util.Map;
|
||||
public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCallbacks<Cursor>,
|
||||
ClusterManager.OnClusterItemInfoWindowClickListener<IncidentReport>, ClusterManager.OnClusterClickListener<IncidentReport>, ClusterManager.OnClusterItemClickListener<IncidentReport>, OnMapReadyCallback {
|
||||
|
||||
private final static String mActivityTitle = "Risk Map";
|
||||
private static final String TAG = MapsActivity.class.getSimpleName();
|
||||
|
||||
private static final int DEFAULT_ZOOM_LEVEL = 14;
|
||||
@@ -99,7 +98,6 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
navDrawer.setSelection(mapAvtivityID, false);
|
||||
|
||||
@@ -737,7 +735,7 @@ public class MapsActivity extends BaseActivity implements LoaderManager.LoaderCa
|
||||
|
||||
@Override
|
||||
protected String getActivityName() {
|
||||
return mActivityTitle;
|
||||
return getResources().getString(R.string.title_activity_maps);
|
||||
}
|
||||
|
||||
public void onBackPressed(){
|
||||
|
||||
@@ -14,14 +14,12 @@ import org.deke.risk.riskahead.helper.SessionManager;
|
||||
|
||||
public class ProfileActivity extends BaseActivity{
|
||||
|
||||
private final static String mActivityTitle = "User Statistics";
|
||||
private final static String TAG = ProfileActivity.class.getSimpleName();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
Intent intent = getIntent();
|
||||
String msg_intent = intent.getStringExtra(AppConfig.EXTRA_MESSAGE);
|
||||
@@ -109,7 +107,7 @@ public class ProfileActivity extends BaseActivity{
|
||||
|
||||
@Override
|
||||
protected String getActivityName() {
|
||||
return mActivityTitle;
|
||||
return getResources().getString(R.string.title_activity_user_config);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
|
||||
,ReportWF_4_Fragment.OnInputFinishedListener, ReportWF_5_Fragment.OnInputFinishedListener,ReportWF_6_Fragment.OnInputFinishedListener
|
||||
,ReportWF_7_Fragment.OnInputFinishedListener, ReportWF_8_Fragment.OnInputFinishedListener, ReportWF_Finish_Fragment.SendReportListener {
|
||||
|
||||
private final static String mActivityTitle = "Report Incident";
|
||||
private final static String TAG = ReportWFActivity.class.getSimpleName();
|
||||
|
||||
private List<BaseReportWFFragment> fragList = new ArrayList<>();
|
||||
@@ -88,7 +87,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
registerBroadcastReceiver();
|
||||
|
||||
initFragments();
|
||||
initButtonsAndElements();
|
||||
@@ -475,6 +473,6 @@ public class ReportWFActivity extends BaseActivity implements ReportWF_1_Fragmen
|
||||
|
||||
@Override
|
||||
protected String getActivityName() {
|
||||
return mActivityTitle;
|
||||
return getResources().getString(R.string.title_activity_report_wf);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import org.deke.risk.riskahead.helper.BaseActivity;
|
||||
|
||||
public class SettingsActivity extends BaseActivity {
|
||||
|
||||
private final static String mActivityTitle = "Account Settings";
|
||||
private final static String TAG = SettingsActivity.class.getSimpleName();
|
||||
|
||||
|
||||
@@ -16,7 +15,6 @@ public class SettingsActivity extends BaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
getFragmentManager().beginTransaction().replace(R.id.fragment_content, new SettingsFragment()).commit();
|
||||
Log.d(TAG, "SettingsActivity created");
|
||||
@@ -36,7 +34,7 @@ public class SettingsActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getActivityName() { return mActivityTitle; }
|
||||
protected String getActivityName() { return getResources().getString(R.string.title_activity_settings); }
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -39,7 +39,6 @@ import java.util.Map;
|
||||
|
||||
public class SubscriptionsActivity extends BaseActivity{
|
||||
|
||||
private final static String mActivityTitle = "Subscriptions";
|
||||
private final static String TAG = SubscriptionsActivity.class.getSimpleName();
|
||||
|
||||
private TableLayout tblBillings;
|
||||
@@ -56,7 +55,6 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
tblBillings = (TableLayout) findViewById(R.id.tbl_billing);
|
||||
|
||||
@@ -448,7 +446,7 @@ public class SubscriptionsActivity extends BaseActivity{
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getActivityName() { return mActivityTitle; }
|
||||
protected String getActivityName() { return getResources().getString(R.string.title_activity_subscriptions); }
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
|
||||
@@ -39,7 +39,6 @@ import java.util.Map;
|
||||
|
||||
public class ViewReportActivity extends BaseActivity {
|
||||
|
||||
private final static String mActivityTitle = "ViewReport";
|
||||
private final static String TAG = ViewReportActivity.class.getSimpleName();
|
||||
|
||||
private EditText txtIncidentCategory;
|
||||
@@ -67,7 +66,6 @@ public class ViewReportActivity extends BaseActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
userHasToBeLoggedIn();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
showDialog();
|
||||
|
||||
@@ -149,7 +147,7 @@ public class ViewReportActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
protected String getActivityName() {
|
||||
return mActivityTitle;
|
||||
return getResources().getString(R.string.title_activity_view_report);
|
||||
}
|
||||
|
||||
public void getIncident(Integer uid) {
|
||||
|
||||
@@ -14,6 +14,8 @@ public class AppConfig {
|
||||
|
||||
public final static String URL_ABOUT = "http://www.riskahead.de/en/about/";
|
||||
public final static String URL_CONTACT = "http://www.riskahead.de/en/contact-2/";
|
||||
public final static String URL_TERMS = "http://www.riskahead.de/en/terms/";
|
||||
public final static String URL_PRIVACY = "http://www.riskahead.de/en/privacy/";
|
||||
|
||||
/** INTENT MESSAGES **/
|
||||
public final static String EXTRA_MESSAGE = "org.deke.risk.riskahead.MESSAGE";
|
||||
@@ -38,6 +40,8 @@ public class AppConfig {
|
||||
/** 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_LOGIN_EXISTS_SOCIAL = "checkifsocialuserexists";
|
||||
public final static String REST_REGISTER = "register";
|
||||
public final static String REST_RESENDACTIVATIONMAIL = "resendactivationusermail";
|
||||
public final static String REST_ACTIVATEUSER = "activateuser";
|
||||
|
||||
@@ -10,6 +10,9 @@ import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.Configuration;
|
||||
import android.content.res.Resources;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
@@ -20,14 +23,18 @@ import android.support.v4.view.LayoutInflaterCompat;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.text.format.DateUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.util.DisplayMetrics;
|
||||
import android.util.Log;
|
||||
import android.view.Gravity;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.EditText;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.volley.Request;
|
||||
@@ -37,7 +44,6 @@ import com.android.volley.toolbox.StringRequest;
|
||||
import com.google.android.gms.ads.AdListener;
|
||||
import com.google.android.gms.ads.AdRequest;
|
||||
import com.google.android.gms.ads.InterstitialAd;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
import com.mikepenz.google_material_typeface_library.GoogleMaterial;
|
||||
import com.mikepenz.iconics.context.IconicsLayoutInflater;
|
||||
import com.mikepenz.materialdrawer.AccountHeader;
|
||||
@@ -62,6 +68,7 @@ import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
public abstract class BaseActivity extends AppCompatActivity {
|
||||
@@ -86,6 +93,8 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
public Drawer navDrawer = null;
|
||||
public Toolbar mToolbar;
|
||||
|
||||
private BroadcastReceiver myReceiver;
|
||||
|
||||
private static final int TIME_INTERVAL = 2000; // # milliseconds, desired time passed between two back presses.
|
||||
private long mBackPressed;
|
||||
|
||||
@@ -144,23 +153,49 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
|
||||
}
|
||||
|
||||
class LogoutReceiver extends BroadcastReceiver {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d("onReceive", "Logout in progress");
|
||||
finish();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause(){
|
||||
super.onPause();
|
||||
unregisterBroadcastReceiver();
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume(){
|
||||
super.onResume();
|
||||
registerBroadcastReceiver();
|
||||
|
||||
}
|
||||
|
||||
public void registerBroadcastReceiver(){
|
||||
IntentFilter intentFilter = new IntentFilter();
|
||||
intentFilter.addAction(AppConfig.INTENT_LOGOUT);
|
||||
registerReceiver(new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Log.d("onReceive", "Logout in progress");
|
||||
finish();
|
||||
}
|
||||
}, intentFilter);
|
||||
myReceiver = new LogoutReceiver();
|
||||
registerReceiver(myReceiver, intentFilter);
|
||||
}
|
||||
|
||||
public void unregisterBroadcastReceiver(){
|
||||
try{
|
||||
unregisterReceiver(myReceiver);
|
||||
}catch(final Exception e){
|
||||
e.printStackTrace();
|
||||
//no receiver registered - no problem
|
||||
}
|
||||
}
|
||||
|
||||
private void initProgressDialog() {
|
||||
pDialog = new Dialog(this);
|
||||
pDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||
pDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
|
||||
pDialog.setContentView(R.layout.progress_circle);
|
||||
pDialog.setContentView(R.layout.dialog_progresscircle);
|
||||
}
|
||||
|
||||
private void initAds() {
|
||||
@@ -345,6 +380,8 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
Intent broadcastIntent = new Intent();
|
||||
broadcastIntent.setAction(AppConfig.INTENT_LOGOUT);
|
||||
sendBroadcast(broadcastIntent);
|
||||
|
||||
stopService(new Intent(BaseActivity.this, NotificationService.class));
|
||||
finish();
|
||||
}
|
||||
|
||||
@@ -372,12 +409,14 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), ReportWFActivity.class);
|
||||
intent.putExtra(EXTRA_MESSAGE, position);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoMapActivity(){
|
||||
Intent intent;
|
||||
intent = new Intent(BaseActivity.this, MapsActivity.class);
|
||||
BaseActivity.this.startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoMapActivity(String position){
|
||||
@@ -385,6 +424,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), MapsActivity.class);
|
||||
intent.putExtra(EXTRA_MESSAGE, position);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void getNotifyLocationFromMapActivity(){
|
||||
@@ -392,6 +432,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), MapsActivity.class);
|
||||
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETNOTIFY);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void getIncidentLocationFromMapActivity(){
|
||||
@@ -399,6 +440,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), MapsActivity.class);
|
||||
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETINCLOC);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void getNotifyLocationFromMapActivity(String position){
|
||||
@@ -407,6 +449,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent.putExtra(EXTRA_MESSAGE, position);
|
||||
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETNOTIFY);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void getIncidentLocationFromMapActivity(String position){
|
||||
@@ -415,12 +458,14 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent.putExtra(EXTRA_MESSAGE, position);
|
||||
intent.putExtra(AppConfig.EXTRA_MAP_TYPE, AppConfig.INTENT_MAP_GETINCLOC);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoProfileActivity(){
|
||||
Intent intent;
|
||||
intent = new Intent(getApplicationContext(), ProfileActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoProfileActivity(String uid){
|
||||
@@ -428,18 +473,21 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), ProfileActivity.class);
|
||||
intent.putExtra(EXTRA_MESSAGE, uid);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoSettingsActivity(){
|
||||
Intent intent;
|
||||
intent = new Intent(getApplicationContext(), SettingsActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoSubscriptionsActivity(){
|
||||
Intent intent;
|
||||
intent = new Intent(getApplicationContext(), SubscriptionsActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
public void gotoViewReportActivity(Integer uid){
|
||||
@@ -447,6 +495,7 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent = new Intent(getApplicationContext(), ViewReportActivity.class);
|
||||
intent.putExtra(EXTRA_MESSAGE, uid);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -459,8 +508,9 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
startActivity(intent);
|
||||
}else if((id == R.id.menu_action_about)){
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.riskahead.net/about/"));
|
||||
startActivity(browserIntent);
|
||||
showAboutInfoDialog();
|
||||
}else if((id == R.id.menu_action_language)){
|
||||
showLanguageDialog();
|
||||
}else if((id == R.id.menu_action_help)){
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.riskahead.net/contact/"));
|
||||
startActivity(browserIntent);
|
||||
@@ -471,6 +521,68 @@ public abstract class BaseActivity extends AppCompatActivity {
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
private void showLanguageDialog(){
|
||||
AlertDialog.Builder b = new AlertDialog.Builder(this);
|
||||
b.setTitle(R.string.txt_language_title);
|
||||
String[] types = {"de - Deutsch", "en - English"};
|
||||
b.setItems(types, new DialogInterface.OnClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
|
||||
dialog.dismiss();
|
||||
switch(which){
|
||||
case 0:
|
||||
setLocale("de");
|
||||
break;
|
||||
case 1:
|
||||
setLocale("en");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
b.show();
|
||||
}
|
||||
|
||||
public void setLocale(String lang) {
|
||||
Locale myLocale = new Locale(lang);
|
||||
Resources res = getResources();
|
||||
DisplayMetrics dm = res.getDisplayMetrics();
|
||||
Configuration conf = res.getConfiguration();
|
||||
conf.locale = myLocale;
|
||||
res.updateConfiguration(conf, dm);
|
||||
Intent refresh = new Intent(this, this.getClass());
|
||||
startActivity(refresh);
|
||||
finish();
|
||||
}
|
||||
|
||||
private void showAboutInfoDialog() {
|
||||
LayoutInflater inflater = getLayoutInflater();
|
||||
View dialoglayout = inflater.inflate(R.layout.dialog_about, null);
|
||||
|
||||
((TextView) dialoglayout.findViewById(R.id.txt_about_homepage)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
((TextView) dialoglayout.findViewById(R.id.txt_about_privacy)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
((TextView) dialoglayout.findViewById(R.id.txt_about_terms)).setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
try {
|
||||
((TextView) dialoglayout.findViewById(R.id.lbl_about_version)).setText("Version: "+ getPackageManager().getPackageInfo(getPackageName(), 0).versionName);
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(BaseActivity.this)
|
||||
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
//do nothing
|
||||
}
|
||||
});
|
||||
|
||||
builder.setView(dialoglayout);
|
||||
builder.show();
|
||||
}
|
||||
|
||||
private void showFeedbackDialog() {
|
||||
AlertDialog.Builder alert=new AlertDialog.Builder(this);
|
||||
alert.setTitle(R.string.menu_action_feedback);
|
||||
|
||||
@@ -43,7 +43,6 @@ public class NotificationService extends Service {
|
||||
public HashMap<String, String> user;
|
||||
|
||||
public LocationManager locationManager;
|
||||
public LatLng myPosition;
|
||||
|
||||
public NotificationService() {
|
||||
super();
|
||||
@@ -120,7 +119,7 @@ public class NotificationService extends Service {
|
||||
|
||||
Log.d(this.toString(), "Run Notification Task. Notifications enabled = " + notifyEnabled);
|
||||
|
||||
if(notifyEnabled){
|
||||
if(notifyEnabled && session.isLoggedIn()){
|
||||
if ((myPosition != null) && (myPosition.latitude != 0.0) && (myPosition.longitude != 0.0)) {
|
||||
session.setNotificationServiceReady(true);
|
||||
String lastNotificationTime;
|
||||
|
||||
@@ -64,30 +64,23 @@
|
||||
android:text="@string/btn_start_login"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_below="@+id/btn_login"
|
||||
android:orientation="horizontal"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_login_resendPW"
|
||||
android:layout_width="0dp"
|
||||
android:ellipsize="end"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/lbl_login_resendPW"
|
||||
android:layout_weight=".5"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_login_policy"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="end"
|
||||
android:ellipsize="end"
|
||||
android:layout_weight=".45"
|
||||
android:text="@string/lbl_login_policy"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
|
||||
@@ -81,16 +81,7 @@
|
||||
android:text="@string/btn_start_register"
|
||||
android:textColor="@color/white" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_login_policy"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight=".4"
|
||||
android:gravity="end"
|
||||
android:ellipsize="end"
|
||||
android:text="@string/lbl_login_policy"
|
||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="@color/input_register" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -82,6 +82,15 @@
|
||||
android:clickable="true"
|
||||
android:src="@android:drawable/ic_dialog_map" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:src="@drawable/logo_380"
|
||||
android:id="@+id/imageView2"
|
||||
android:layout_margin="5dp"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<com.beardedhen.androidbootstrap.AwesomeTextView
|
||||
android:id="@+id/atvStatus"
|
||||
android:layout_width="wrap_content"
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
android:background="@drawable/layout_bg_gradient"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
tools:context=".SubscriptionsActivity">
|
||||
|
||||
<include
|
||||
@@ -21,12 +20,11 @@
|
||||
android:id="@+id/layoutMain"
|
||||
android:layout_below="@+id/toolbar"
|
||||
android:layout_margin="0dp"
|
||||
android:padding="10dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_profile_numberposts"
|
||||
android:text="@string/lbl_subs_maintaining"
|
||||
@@ -36,6 +34,13 @@
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:layout_margin="5dp"/>
|
||||
|
||||
<ImageView
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:src="@drawable/logo_380"
|
||||
android:id="@+id/imageView2"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lbl_profile_ranking"
|
||||
android:text="@string/lbl_subs_helpus"
|
||||
@@ -45,6 +50,12 @@
|
||||
android:layout_margin="5dp"
|
||||
android:textColor="@color/text_light_grey"/>
|
||||
|
||||
<View
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="1dip"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:background="#464b4b4b" />
|
||||
|
||||
<TableLayout
|
||||
android:id="@+id/tbl_billing"
|
||||
android:layout_width="match_parent"
|
||||
|
||||
81
app/src/main/res/layout/dialog_about.xml
Normal file
81
app/src/main/res/layout/dialog_about.xml
Normal file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:background="@color/tw__transparent"
|
||||
android:padding="20dp"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:src="@drawable/logo_380"
|
||||
android:id="@+id/imageView2"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:textAppearance="?android:attr/textAppearanceLarge"
|
||||
android:text="@string/txt_about_riskahead"
|
||||
android:id="@+id/lbl_about_name"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="Version: 1.7.1"
|
||||
android:id="@+id/lbl_about_version"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="@string/txt_about_developedby"
|
||||
android:id="@+id/lbl_about_developer" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="Dennis Thießen"
|
||||
android:id="@+id/tv_developer2"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:text="Kevin-Chris Gründel"
|
||||
android:id="@+id/tv_developer3"
|
||||
android:layout_gravity="center_horizontal" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:autoLink="web"
|
||||
android:textSize="10sp"
|
||||
android:text="@string/txt_about_homepage"
|
||||
android:id="@+id/txt_about_homepage"/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:autoLink="web"
|
||||
android:layout_marginTop="3dp"
|
||||
android:textSize="10sp"
|
||||
android:text="@string/txt_about_privacy"
|
||||
android:id="@+id/txt_about_privacy"/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:autoLink="web"
|
||||
android:layout_marginTop="3dp"
|
||||
android:textSize="10sp"
|
||||
android:text="@string/txt_about_terms"
|
||||
android:id="@+id/txt_about_terms" />
|
||||
</LinearLayout>
|
||||
@@ -8,6 +8,8 @@
|
||||
android:orderInCategory="100" app:showAsAction="never" />
|
||||
<item android:id="@+id/menu_action_feedback" android:title="@string/menu_action_feedback"
|
||||
android:orderInCategory="100" app:showAsAction="never" />
|
||||
<item android:id="@+id/menu_action_language" android:title="@string/menu_action_language"
|
||||
android:orderInCategory="100" app:showAsAction="never" />
|
||||
<item android:id="@+id/menu_action_exit" android:title="@string/menu_action_exit"
|
||||
android:orderInCategory="100" app:showAsAction="never" />
|
||||
|
||||
|
||||
@@ -230,6 +230,17 @@
|
||||
<string name="txt_notifystatus_deactivated">AUS</string>
|
||||
<string name="txt_map_zoomoutpremium">Hole dir die Premium-Mitgliedschaft um die ganze Karte zu sehen!</string>
|
||||
|
||||
<string name="txt_register_privacy">Bitte bestätige, dass du mit der Registrierung bei RiskAhead die <a href="http://www.riskahead.de">Datenschutzbestimmungen</a> und <a href="http://www.riskahead.de">Nutzungsbedingungen</a> gelesen hast und damit einverstanden bist.</string>
|
||||
<string name="txt_register_privacy_text">Mit der Auswahl dieser Kontrollbox erkläre ich mich mit den Datenschutz- und Nutzungsbedingungen einverstanden</string>
|
||||
<string name="txt_register_privacy_title">Deine Privatsphäre ist uns sehr wichtig</string>
|
||||
<string name="txt_about_developedby">Entwickelt von</string>
|
||||
<string name="txt_about_privacy">Datenschutzerklärung: <a href="http://www.riskahead.de/en/privacy/">http://www.riskahead.de/en/privacy/</a></string>
|
||||
<string name="txt_about_terms">Nutzungsbedingungen: <a href="http://www.riskahead.de/en/terms/">http://www.riskahead.de/en/terms/</a></string>
|
||||
<string name="txt_about_homepage">Website: <a href="http://www.riskahead.net">http://www.riskahead.net</a></string>
|
||||
<string name="txt_about_riskahead">RiskAhead for 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>
|
||||
|
||||
@@ -24,9 +24,9 @@
|
||||
|
||||
<color name="input_login">#222222</color>
|
||||
<color name="input_login_hint">#999999</color>
|
||||
<color name="input_register">#888888</color>
|
||||
<color name="input_register">#afafaf</color>
|
||||
<color name="input_register_bg">#3b4148</color>
|
||||
<color name="input_register_hint">#5e6266</color>
|
||||
<color name="input_register_hint">#8c9094</color>
|
||||
<color name="btn_login_bg">#1175b7</color>
|
||||
|
||||
</resources>
|
||||
@@ -237,6 +237,17 @@
|
||||
<string name="txt_notifystatus_deactivated">OFF</string>
|
||||
<string name="txt_map_zoomoutpremium">Get Premiuim to view the Full Map!</string>
|
||||
|
||||
<string name="txt_register_privacy">Please confirm that you have read our <a href="http://www.riskahead.de">Privacy Policy</a> and <a href="http://www.riskahead.de">Terms of Service</a> and you accept these by using RiskAhead.</string>
|
||||
<string name="txt_register_privacy_text">By checking this checkbox I hereby confirm that I accept the terms of service and privacy policy</string>
|
||||
<string name="txt_register_privacy_title">Your privacy is very important to us</string>
|
||||
<string name="txt_about_developedby">Dveloped from</string>
|
||||
<string name="txt_about_privacy">Privacy Policy: <a href="http://www.riskahead.de/en/privacy/">http://www.riskahead.de/en/privacy/</a></string>
|
||||
<string name="txt_about_terms">Terms of Service: <a href="http://www.riskahead.de/en/terms/">http://www.riskahead.de/en/terms/</a></string>
|
||||
<string name="txt_about_homepage">Website: <a href="http://www.riskahead.net">http://www.riskahead.net</a></string>
|
||||
<string name="txt_about_riskahead">RiskAhead for Android</string>
|
||||
<string name="menu_action_language">Language</string>
|
||||
<string name="txt_language_title">Change Language</string>
|
||||
|
||||
<string-array name="cat_situation_main">
|
||||
<item> A Threatening Incident or Situation</item>
|
||||
<item>Verbal Violence</item>
|
||||
|
||||
Reference in New Issue
Block a user