From d8afa47d2c75d20351b77cd85ca1040f40ebe00b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Thu, 19 Sep 2019 10:09:33 +0200 Subject: [PATCH 01/59] API/Librus: Fix Classrooms NPE issue --- app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java b/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java index c3d01bb3..592131ad 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java +++ b/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java @@ -1600,6 +1600,10 @@ public class Librus implements EdziennikInterface { r("finish", "Classrooms"); return; } + if (data.get("Classrooms") == null) { + r("finish", "Classrooms"); + return; + } JsonArray jClassrooms = data.get("Classrooms").getAsJsonArray(); //d("Got Classrooms: "+jClassrooms.toString()); classrooms.clear(); From dce4ef822bc30b0df8c81f11ecbef3916db661ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Thu, 19 Sep 2019 10:29:10 +0200 Subject: [PATCH 02/59] UI: Fix status bar/NavLib issues, temporarily --- .../main/java/pl/szczodrzynski/edziennik/MainActivity.kt | 6 ++++-- app/src/main/res/values/styles.xml | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt index 1316a91a..5d7bbd7c 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt @@ -229,8 +229,8 @@ class MainActivity : AppCompatActivity() { drawer.init(this@MainActivity) SystemBarsUtil(this@MainActivity).run { - paddingByKeyboard = b.navView - appFullscreen = true + //paddingByKeyboard = b.navView + appFullscreen = false statusBarColor = getColorFromAttr(context, android.R.attr.colorBackground) statusBarDarker = false statusBarFallbackLight = COLOR_HALF_TRANSPARENT @@ -239,6 +239,8 @@ class MainActivity : AppCompatActivity() { b.navView.configSystemBarsUtil(this) + // TODO fix navlib navbar detection, orientation change issues, status bar color setting if not fullscreen + commit() } diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 116c7a40..cdd0abb1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -95,6 +95,8 @@ ?android:textColorSecondary ?colorSurface @color/dividerColor + + ?android:windowBackground From b3fa342876f2e682796db1128780fd758526bdf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Thu, 19 Sep 2019 10:55:41 +0200 Subject: [PATCH 03/59] API/Mobidziennik: Fix grades empty subject issue, teacher names with trailing spaces --- .../pl/szczodrzynski/edziennik/api/Mobidziennik.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/api/Mobidziennik.java b/app/src/main/java/pl/szczodrzynski/edziennik/api/Mobidziennik.java index 71c200b8..7df269d6 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/api/Mobidziennik.java +++ b/app/src/main/java/pl/szczodrzynski/edziennik/api/Mobidziennik.java @@ -794,7 +794,7 @@ public class Mobidziennik implements EdziennikInterface { switch (e.tagName()) { case "div": { //d(TAG, "Outer HTML "+e.outerHtml()); - Matcher matcher = Pattern.compile("\\n*\\s*(.+?)\\n*(?:<.*?)??", Pattern.DOTALL).matcher(e.outerHtml()); + Matcher matcher = Pattern.compile("\\n*\\s*(.+?)\\s*\\n*(?:<.*?)??", Pattern.DOTALL).matcher(e.outerHtml()); if (matcher.find()) { subjectName = matcher.group(1); } @@ -1456,8 +1456,8 @@ public class Mobidziennik implements EdziennikInterface { } String[] user = userStr.split("\\|", Integer.MAX_VALUE); - teachersMap.put(strToInt(user[0]), user[5]+" "+user[4]); - teacherList.add(new Teacher(profileId, strToInt(user[0]), user[4], user[5])); + teachersMap.put(strToInt(user[0]), user[5].trim()+" "+user[4].trim()); + teacherList.add(new Teacher(profileId, strToInt(user[0]), user[4].trim(), user[5].trim())); } } @@ -1958,7 +1958,7 @@ public class Mobidziennik implements EdziennikInterface { for(int i = 0; i < teachersMap.size(); i++) { int key = teachersMap.keyAt(i); String str = teachersMap.valueAt(i); - if ((lesson[7] + " " + lesson[6]).equalsIgnoreCase(str)) { + if ((lesson[7].trim() + " " + lesson[6].trim()).equalsIgnoreCase(str)) { lessonObject.teacherId = key; } } @@ -2001,7 +2001,7 @@ public class Mobidziennik implements EdziennikInterface { for(int i = 0; i < teachersMap.size(); i++) { int key = teachersMap.keyAt(i); String str = teachersMap.valueAt(i); - if ((lesson[7] + " " + lesson[6]).equalsIgnoreCase(str)) { + if ((lesson[7].trim() + " " + lesson[6].trim()).equalsIgnoreCase(str)) { lessonChange.teacherId = key; } } From e2d809cceb7ed80db3bbe60a798e8ff72fae810b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Thu, 19 Sep 2019 11:04:59 +0200 Subject: [PATCH 04/59] 3.0.1-rc.1: Update build.gradle and changelog --- app/src/main/assets/pl-changelog.html | 7 +++++++ build.gradle | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/assets/pl-changelog.html b/app/src/main/assets/pl-changelog.html index e87bb90e..25e2064b 100644 --- a/app/src/main/assets/pl-changelog.html +++ b/app/src/main/assets/pl-changelog.html @@ -31,6 +31,13 @@ +

Wersja 3.0.1, 2019-09-19

+
    +
  • Librus: Poprawa błędu synchronizacji.
  • +
  • Poprawki UI związane z paskiem nawigacji.
  • +
  • Mobidziennik: Pobieranie ocen w niektórych przedmiotach.
  • +
+

Wersja 3.0, 2019-09-13

  • Nowy wygląd i sposób nawigacji w całej aplikacji.
  • diff --git a/build.gradle b/build.gradle index 3fb254a7..3ef0a842 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,8 @@ buildscript { kotlin_version = '1.3.50' release = [ - versionName: "3.0", - versionCode: 3000099 + versionName: "3.0.1-rc.1", + versionCode: 3000110 ] setup = [ From cd3b69b136950b5aa553bccc5d7dc4bc54629e98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Fri, 20 Sep 2019 19:37:45 +0200 Subject: [PATCH 05/59] Remove unnecessary files. --- .../edziennik/network/IonCookieManager.java_ | 47 ------------------- 1 file changed, 47 deletions(-) delete mode 100644 app/src/main/java/pl/szczodrzynski/edziennik/network/IonCookieManager.java_ diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/network/IonCookieManager.java_ b/app/src/main/java/pl/szczodrzynski/edziennik/network/IonCookieManager.java_ deleted file mode 100644 index 47a0dacf..00000000 --- a/app/src/main/java/pl/szczodrzynski/edziennik/network/IonCookieManager.java_ +++ /dev/null @@ -1,47 +0,0 @@ -package pl.szczodrzynski.edziennik.network; - -import android.content.Context; -import android.util.Log; - -import com.koushikdutta.async.http.Headers; -import com.koushikdutta.ion.Ion; - -import java.io.IOException; -import java.net.CookieManager; -import java.net.URI; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.List; - -public class IonCookieManager { - private static final String TAG = "IonCookieManager"; - private CookieManager manager; - - public IonCookieManager(Context context) { - Ion ion = Ion.getDefault(context); - manager = ion.getCookieMiddleware().getCookieManager(); - } - - public void storeCookies(URLConnection conn) throws IOException { - List cookies = conn.getHeaderFields().get("Set-Cookie"); - URI uri = URI.create(conn.getURL().toString()); - if(cookies != null) { - storeCookies(uri, cookies); - } - } - - public void storeCookies(URI uri, List cookies) throws IOException { - Headers headers = new Headers(); - headers.addAll("Set-Cookie", cookies); - Log.d(TAG, "storeAllCookies: "+cookies.toString()); - manager.put(uri, headers.getMultiMap()); - } - - public void storeCookie(URI uri, String cookieName, String cookieValue) throws IOException { - List cookie = new ArrayList(); - cookie.add(String.format("%s=%s", cookieName, cookieValue)); - Log.d(TAG, "storeCookie: "+String.format("%s=%s", cookieName, cookieValue)); - storeCookies(uri, cookie); - } - -} \ No newline at end of file From 1bdd13bf23439005f29481ef8151a7a1c5890f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Szczodrzy=C5=84ski?= Date: Fri, 20 Sep 2019 19:38:25 +0200 Subject: [PATCH 06/59] Remove unnecessary files. --- .../edziennik/fragments/HomeFragment.java | 34 ------------------- 1 file changed, 34 deletions(-) diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/fragments/HomeFragment.java b/app/src/main/java/pl/szczodrzynski/edziennik/fragments/HomeFragment.java index 47c9e837..1836d5a9 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/fragments/HomeFragment.java +++ b/app/src/main/java/pl/szczodrzynski/edziennik/fragments/HomeFragment.java @@ -115,40 +115,6 @@ public class HomeFragment extends Fragment { return true; });*/ - b.testButton.setOnClickListener((v -> { - LoginStore loginStore = new LoginStore(1, LOGIN_TYPE_LIBRUS, new JsonObject()); - loginStore.putLoginData("email", "example@example.com"); - loginStore.putLoginData("password", "zaq1@WSX"); - Profile profile = new Profile(1, "test", "testsubname", 1); - profile.putStudentData("accountLogin", "1234567"); - new Librus(app, profile, loginStore).login(new SyncCallback() { - @Override - public void onLoginFirst(List profileList, LoginStore loginStore) { - - } - - @Override - public void onSuccess(Context activityContext, ProfileFull profileFull) { - - } - - @Override - public void onProgress(int progressStep) { - - } - - @Override - public void onActionStarted(int stringResId) { - - } - - @Override - public void onError(Context activityContext, @NonNull AppError error) { - - } - }); - })); - b.composeButton.setVisibility(BuildConfig.DEBUG ? View.VISIBLE : View.GONE); b.composeButton.setOnClickListener((v -> { startActivity(new Intent(activity, MessagesComposeActivity.class)); From 2eee9e77e3bf7b0775302dd3f6d63178cf4e7c74 Mon Sep 17 00:00:00 2001 From: Kacper Ziubryniewicz Date: Fri, 20 Sep 2019 21:14:58 +0200 Subject: [PATCH 07/59] [UI] Fix scrolling in web push activity --- .../res/layout/activity_web_push_config.xml | 231 +++++++++--------- 1 file changed, 119 insertions(+), 112 deletions(-) diff --git a/app/src/main/res/layout/activity_web_push_config.xml b/app/src/main/res/layout/activity_web_push_config.xml index eee650a6..5e4a07c2 100644 --- a/app/src/main/res/layout/activity_web_push_config.xml +++ b/app/src/main/res/layout/activity_web_push_config.xml @@ -17,147 +17,154 @@ android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> - - - + android:layout_height="match_parent"> - - - - - - - + android:text="Przekazywanie powiadomień pozwala przesyłać wszystkie powiadomienia z tego urządzenia na wszystkie sparowane komputery, widoczne poniżej.\n\nPowiadomienia będą się wyświetlać w przeglądarce, w okienku pop-up, w prawym dolnym rogu ekranu.\n\nLista komputerów docelowych jest niezależna od wybranego profilu ucznia." /> - +