diff --git a/app/build.gradle b/app/build.gradle
index e5042a6..ae76603 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -28,8 +28,14 @@ repositories {
url 'http://dl.bintray.com/amulyakhare/maven'
}
}
+def acraVersion = '5.2.1'
dependencies {
+ implementation "ch.acra:acra-http:$acraVersion"
+ implementation "ch.acra:acra-toast:$acraVersion"
+ implementation "ch.acra:acra-notification:$acraVersion"
+
+
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:preference-v7:27.1.1'
implementation 'com.android.support:appcompat-v7:27.1.1'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3f3dd4d..ca25c8e 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,11 +17,13 @@
+ android:theme="@style/AppTheme"/>
\ No newline at end of file
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/FindMyTutor.java b/app/src/main/java/com/uam/wmi/findmytutor/FindMyTutor.java
new file mode 100644
index 0000000..763c4b5
--- /dev/null
+++ b/app/src/main/java/com/uam/wmi/findmytutor/FindMyTutor.java
@@ -0,0 +1,75 @@
+package com.uam.wmi.findmytutor;
+
+import android.app.Application;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+
+import static org.acra.ReportField.*;
+import org.acra.ACRA;
+import org.acra.annotation.AcraNotification;
+import org.acra.config.CoreConfigurationBuilder;
+import org.acra.config.HttpSenderConfigurationBuilder;
+import org.acra.config.ToastConfigurationBuilder;
+import org.acra.data.StringFormat;
+import org.acra.sender.HttpSender;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@AcraNotification(resText = R.string.notification_text,
+ resTitle = R.string.notification_title,
+ resChannelName = R.string.notification_channel)
+public class FindMyTutor extends Application {
+ @Override
+ protected void attachBaseContext(Context base) {
+ super.attachBaseContext(base);
+
+ // ACRA core
+ CoreConfigurationBuilder builder = new CoreConfigurationBuilder(this)
+ .setBuildConfigClass(BuildConfig.class)
+ .setReportContent(REPORT_ID, PHONE_MODEL, LOGCAT, USER_APP_START_DATE, USER_CRASH_DATE, SHARED_PREFERENCES,
+ ANDROID_VERSION, STACK_TRACE, CUSTOM_DATA, BUILD_CONFIG)
+ .setReportFormat(StringFormat.JSON);
+
+ // Toast for user
+ builder.setBuildConfigClass(BuildConfig.class)
+ .setReportFormat(StringFormat.JSON);
+ builder.getPluginConfigurationBuilder(
+ ToastConfigurationBuilder.class
+ ).setResText(R.string.acra_toast_text);
+
+ SharedPreferences sharedPreferences = base.getSharedPreferences("com.uam.wmi.findmytutor_preferences", Context.MODE_PRIVATE);
+ Map header = new HashMap();
+ String token = sharedPreferences.getString("API_KEY", "KEY_EMPTY");
+ header.put("Authorization","Bearer " + token);
+
+ // Api POST
+ builder.getPluginConfigurationBuilder(
+ HttpSenderConfigurationBuilder.class
+// ).setUri("http://192.168.0.15:3000/api/acra")
+ ).setUri("https://s416084.projektstudencki.pl/develop/api/Feedback/autoFeedback")
+ .setHttpMethod(HttpSender.Method.POST)
+ .setHttpHeaders(header)
+ .setEnabled(true);
+
+ ACRA.init(this, builder);
+ //Shared preferences
+ ACRA.getErrorReporter().putCustomData("USER_ID", sharedPreferences.getString("USER_ID", "no user id"));
+ }
+
+ // Called by the system when the device configuration changes while your component is running.
+ // Overriding this method is totally optional!
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ }
+
+ // This is called when the overall system is running low on memory,
+ // and would like actively running processes to tighten their belts.
+ // Overriding this method is totally optional!
+ @Override
+ public void onLowMemory() {
+ super.onLowMemory();
+ }
+}
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
index a7dd423..2cf6954 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/LoginActivity.java
@@ -149,8 +149,11 @@ public class LoginActivity extends AppCompatActivity {
private void loginProcess(String email, String password) {
ValidateUser user = new ValidateUser(email, password);
+ LdapUser fuser = new LdapUser(email, password, "wmi", "tutor", "henryk", "zdzblo", email);
+
+// disposable.add(ldapService.validate(user)
+ disposable.add(ldapService.fakeValidate(fuser)
- disposable.add(ldapService.validate(user)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::handleResponse, this::handleError));
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
index 8e89d40..add3c34 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java
@@ -301,6 +301,8 @@ public class MapActivity extends BaseActivity
tmpLocalMarker = null;
showLocationDialog(latLng);
+ // TODO remove after acra tests
+ throw new RuntimeException("This is a crash");
}
});
});
diff --git a/app/src/main/java/com/uam/wmi/findmytutor/network/ApiClient.java b/app/src/main/java/com/uam/wmi/findmytutor/network/ApiClient.java
index 74ba47f..18c0c24 100644
--- a/app/src/main/java/com/uam/wmi/findmytutor/network/ApiClient.java
+++ b/app/src/main/java/com/uam/wmi/findmytutor/network/ApiClient.java
@@ -22,7 +22,7 @@ public class ApiClient {
private static Retrofit retrofit = null;
private static int REQUEST_TIMEOUT = 60;
private static OkHttpClient okHttpClient;
- private static final String BASE_URL = "https://s416084.projektstudencki.pl/master/";
+ private static final String BASE_URL = "https://s416084.projektstudencki.pl/develop/";
public static Retrofit getClient(Context context) {
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 194554a..27a5a0d 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -159,6 +159,7 @@
Błąd sieci!
Błąd podczas pobierania danych.
Błąd podczas pobierania statusów.
+ Upss. Coś poszło nie tak. Pracujemy nad tym!
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index d1dc9eb..96550e9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -228,4 +228,9 @@
Network Error!
Error handling status fetch
Error handling status fetch
+
+ Sorry, the application crashed. A report will be sent to the developers
+ Sorry, the application crashed. A report will be sent to the developers
+ FMT Crash
+ FMT