diff --git a/app/src/main/assets/pl-changelog.html b/app/src/main/assets/pl-changelog.html
index 60bb4418..eab231b6 100644
--- a/app/src/main/assets/pl-changelog.html
+++ b/app/src/main/assets/pl-changelog.html
@@ -31,6 +31,13 @@
+Wersja 3.1.1, 2019-10-09
+
+ - Librus: poprawiona synchronizacja kategorii i kolorów ocen.
+ - Zmieniony kolor dolnego paska w ciemnym motywie.
+ - Zaktualizowany licznik czasu lekcji.
+
+
Wersja 3.1, 2019-09-29
- Poprawiony interfejs zadań domowych.
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index 6cf8dec7..e617b152 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -21,14 +21,11 @@ import com.mikepenz.materialdrawer.model.ProfileSettingDrawerItem
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem
import pl.szczodrzynski.edziennik.data.db.modules.metadata.Metadata.*
import pl.szczodrzynski.edziennik.utils.Themes
-import pl.szczodrzynski.navlib.NavView
-import pl.szczodrzynski.navlib.SystemBarsUtil
import pl.szczodrzynski.navlib.SystemBarsUtil.Companion.COLOR_HALF_TRANSPARENT
import pl.szczodrzynski.navlib.bottomsheet.NavBottomSheet
import pl.szczodrzynski.navlib.drawer.NavDrawer
import pl.szczodrzynski.navlib.drawer.items.DrawerPrimaryItem
import pl.szczodrzynski.navlib.drawer.items.withAppTitle
-import pl.szczodrzynski.navlib.getColorFromAttr
import androidx.appcompat.widget.PopupMenu
import androidx.core.graphics.ColorUtils
import androidx.navigation.NavOptions
@@ -39,6 +36,7 @@ import com.mikepenz.iconics.IconicsSize
import com.mikepenz.materialdrawer.model.DividerDrawerItem
import com.mikepenz.materialdrawer.model.ProfileDrawerItem
import com.mikepenz.materialdrawer.model.interfaces.IProfile
+import me.zhanghai.android.materialprogressbar.internal.ThemeUtils
import pl.droidsonroids.gif.GifDrawable
import pl.szczodrzynski.edziennik.App.APP_URL
import pl.szczodrzynski.edziennik.data.api.AppError
@@ -72,6 +70,8 @@ import pl.szczodrzynski.edziennik.ui.modules.settings.SettingsNewFragment
import pl.szczodrzynski.edziennik.ui.modules.timetable.TimetableFragment
import pl.szczodrzynski.edziennik.utils.SwipeRefreshLayoutNoTouch
import pl.szczodrzynski.edziennik.utils.Utils
+import pl.szczodrzynski.edziennik.utils.Utils.dpToPx
+import pl.szczodrzynski.navlib.*
import pl.szczodrzynski.navlib.bottomsheet.items.BottomSheetPrimaryItem
import pl.szczodrzynski.navlib.bottomsheet.items.BottomSheetSeparatorItem
import java.io.File
@@ -277,6 +277,13 @@ class MainActivity : AppCompatActivity() {
fabExtendable = true
fabExtended = false
fabGravity = Gravity.CENTER
+ if (Themes.isDark) {
+ setBackgroundColor(blendColors(
+ getColorFromAttr(context, R.attr.colorSurface),
+ getColorFromRes(R.color.colorSurface_4dp)
+ ))
+ elevation = dpToPx(4).toFloat()
+ }
}
bottomSheet.apply {
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Librus.java b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Librus.java
index 9baf3c4c..b9c6c4aa 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Librus.java
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/api/Librus.java
@@ -273,8 +273,8 @@ public class Librus implements EdziennikInterface {
targetEndpoints.add("Users");
targetEndpoints.add("Subjects");
targetEndpoints.add("Classrooms");
- targetEndpoints.add("Timetables");
targetEndpoints.add("Substitutions");
+ targetEndpoints.add("Timetables");
targetEndpoints.add("Colors");
targetEndpoints.add("SavedGradeCategories");
@@ -342,8 +342,8 @@ public class Librus implements EdziennikInterface {
switch (feature) {
case FEATURE_TIMETABLE:
targetEndpoints.add("Classrooms");
- targetEndpoints.add("Timetables");
targetEndpoints.add("Substitutions");
+ targetEndpoints.add("Timetables");
break;
case FEATURE_AGENDA:
targetEndpoints.add("Events");
@@ -1658,6 +1658,7 @@ public class Librus implements EdziennikInterface {
try {
for (Map.Entry dayEl: timetables.entrySet()) {
JsonArray day = dayEl.getValue().getAsJsonArray();
+ Date lessonDate = Date.fromY_m_d(dayEl.getKey());
for (JsonElement lessonGroupEl: day) {
if ((lessonGroupEl instanceof JsonArray && ((JsonArray) lessonGroupEl).size() == 0) || lessonGroupEl instanceof JsonNull || lessonGroupEl == null) {
continue;
@@ -1732,8 +1733,27 @@ public class Librus implements EdziennikInterface {
}
JsonElement classroom;
- if ((classroom = lesson.get(substitution && !cancelled ? "OrgClassroom" : "Classroom")) != null) {
- lessonObject.classroomName = classrooms.get(classroom.getAsJsonObject().get("Id").getAsInt());
+ JsonElement substitutionClassroom;
+ if (substitution && !cancelled) {
+ classroom = lesson.get("OrgClassroom");
+ substitutionClassroom = lesson.get("Classroom");
+
+ if (classroom != null)
+ lessonObject.classroomName = classrooms.get(classroom.getAsJsonObject().get("Id").getAsInt());
+
+ if (substitutionClassroom != null) {
+ for (LessonChange lessonChange : lessonChangeList) {
+ if(lessonChange.lessonDate.compareTo(lessonDate) == 0) {
+ lessonChange.classroomName
+ = classrooms.get(substitutionClassroom.getAsJsonObject().get("Id").getAsInt());
+ break;
+ }
+ }
+ }
+ } else {
+ classroom = lesson.get("Classroom");
+ if (classroom != null)
+ lessonObject.classroomName = classrooms.get(classroom.getAsJsonObject().get("Id").getAsInt());
}
lessonList.add(lessonObject);
@@ -1931,7 +1951,7 @@ public class Librus implements EdziennikInterface {
return;
}
// not a full sync. Will get all grade categories. Clear the current list.
- gradeCategoryList.clear();
+ //gradeCategoryList.clear();
callback.onActionStarted(R.string.sync_action_syncing_grade_categories);
apiRequest("Grades/Categories", data -> {
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/HomeFragment.java b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/HomeFragment.java
index be65d045..fa12919c 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/HomeFragment.java
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/ui/modules/home/HomeFragment.java
@@ -291,7 +291,15 @@ public class HomeFragment extends Fragment {
activity.getBottomSheet().close();
setNumberDialog();
}),
- new BottomSheetSeparatorItem(true)
+ new BottomSheetSeparatorItem(true),
+ new BottomSheetPrimaryItem(true)
+ .withTitle(R.string.menu_mark_everything_as_read)
+ .withIcon(CommunityMaterial.Icon.cmd_eye_check)
+ .withOnClickListener(v3 -> {
+ activity.getBottomSheet().close();
+ AsyncTask.execute(() -> app.db.metadataDao().setAllSeen(App.profileId, true));
+ Toast.makeText(activity, R.string.main_menu_mark_as_read_success, Toast.LENGTH_SHORT).show();
+ })
);
activity.gainAttention();
}
@@ -322,15 +330,15 @@ public class HomeFragment extends Fragment {
if (app.appConfig.countInSeconds) {
return 1000-(System.currentTimeMillis() % 1000);
}
- if (diff.minute > 5) {
+ if (diff.minute > 10) {
//Log.d(TAG, "60 secs");
return 60000-(System.currentTimeMillis() % 60000);
}
- else if (diff.minute >= 1) {
+ else if (diff.minute >= 1 && false) {
//Log.d(TAG, "3 secs");
return 3000-(System.currentTimeMillis() % 3000);
}
- else if (diff.second >= 40) {
+ else if (diff.second >= 40 && false) {
//Log.d(TAG, "2 secs");
return 2000-(System.currentTimeMillis() % 2000);
}
diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml
index bbd86648..08dba8a1 100644
--- a/app/src/main/res/values-en/strings.xml
+++ b/app/src/main/res/values-en/strings.xml
@@ -858,4 +858,5 @@
Getting grade comments
Getting school free days
Show teacher absences in Agenda
+ Mark everything as read
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index af102476..0c9952b5 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -435,6 +435,7 @@
Zadania domowe
Zarządzaj profilami
Oznacz jako przeczytane
+ Oznacz wszystko jako przeczytane
Wiadomości
Odebrane
Wysłane
diff --git a/build.gradle b/build.gradle
index 6ed7da8c..2e2db165 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,8 +5,8 @@ buildscript {
kotlin_version = '1.3.50'
release = [
- versionName: "3.1",
- versionCode: 3010099
+ versionName: "3.1.1",
+ versionCode: 3010199
]
setup = [