From f3f2f3b90a1db3b7d969298db7245a0de91afcbb Mon Sep 17 00:00:00 2001 From: Adam Domagalski Date: Sun, 2 Dec 2018 21:29:47 +0100 Subject: [PATCH 1/2] acra wtih intented crash on manual loc select --- app/build.gradle | 6 ++ app/src/main/AndroidManifest.xml | 4 +- .../com/uam/wmi/findmytutor/FindMyTutor.java | 75 +++++++++++++++++++ .../findmytutor/activity/LoginActivity.java | 5 +- .../wmi/findmytutor/activity/MapActivity.java | 2 + .../wmi/findmytutor/network/ApiClient.java | 2 +- app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values/strings.xml | 5 ++ 8 files changed, 97 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/uam/wmi/findmytutor/FindMyTutor.java 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 From 0dd0b0dc23ea2b34cb0c8a54656d09b13d1f4ef7 Mon Sep 17 00:00:00 2001 From: Domagalski Date: Wed, 5 Dec 2018 22:45:11 +0100 Subject: [PATCH 2/2] added some translation and removed throwing error for testing --- .idea/misc.xml | 2 +- .../com/uam/wmi/findmytutor/activity/MapActivity.java | 6 ------ app/src/main/res/values-pl/strings.xml | 4 ++++ app/src/main/res/values/strings.xml | 8 +++++++- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index b0c7b20..dc44dda 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -29,7 +29,7 @@ - + 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 add3c34..5f6c6e3 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 @@ -80,8 +80,6 @@ public class MapActivity extends BaseActivity private int mInterval = 10000; private Handler mHandler = new Handler(); private Runnable mStatusChecker; - private Handler manualLocHandler = new Handler(); - private Runnable manualLocStatusChecker; private MapView mapView; private MapboxMap mapboxMap; private Button selectLocationButton; @@ -301,8 +299,6 @@ public class MapActivity extends BaseActivity tmpLocalMarker = null; showLocationDialog(latLng); - // TODO remove after acra tests - throw new RuntimeException("This is a crash"); } }); }); @@ -625,8 +621,6 @@ public class MapActivity extends BaseActivity super.onDestroy(); mapView.onDestroy(); mHandler.removeCallbacks(mStatusChecker); - // TODO remove after BG sending - manualLocHandler.removeCallbacks(manualLocStatusChecker); disposable.dispose(); } diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 14d7671..db10ac8 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -163,6 +163,10 @@ Brak informacji o dyzurze. Brak notatki. Wyszukiwarka + Nie przeszkadzać + Czekam na studentów + Na wakacjach + Status diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c016677..1a1605b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -73,11 +73,16 @@ key_location_level Choose status - key_status_value + key_status_value Status Busy Available Consultation + Do not disturb + Waiting for students + On holidays + + Status Add custom status @@ -236,4 +241,5 @@ Lack information about duty hours No note. Search + mock location string