diff --git a/app/src/main/assets/pl-changelog.html b/app/src/main/assets/pl-changelog.html
index 25e2064b..5ef7daa1 100644
--- a/app/src/main/assets/pl-changelog.html
+++ b/app/src/main/assets/pl-changelog.html
@@ -31,6 +31,14 @@
+Wersja 3.0.2, 2019-09-24
+
+ - Librus: pobieranie Bieżących ocen opisowych.
+ - Poprawki UI: kolor ikon paska statusu w jasnym motywie.
+ - Poprawka braku skanera QR do przekazywania powiadomień.
+ - Poprawka wyboru koloru i daty własnego wydarzenia, które crashowały aplikację.
+
+
Wersja 3.0.1, 2019-09-19
- Librus: Poprawa błędu synchronizacji.
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/App.java b/app/src/main/java/pl/szczodrzynski/edziennik/App.java
index 09926597..37b11cc5 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/App.java
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/App.java
@@ -514,7 +514,7 @@ public class App extends androidx.multidex.MultiDexApplication {
}
}
- if (appConfig.lastAppVersion > BuildConfig.VERSION_CODE) {
+ /*if (appConfig.lastAppVersion > BuildConfig.VERSION_CODE) {
BootReceiver br = new BootReceiver();
Intent i = new Intent();
//i.putExtra("UserChecked", true);
@@ -522,7 +522,7 @@ public class App extends androidx.multidex.MultiDexApplication {
Toast.makeText(mContext, R.string.warning_older_version_running, Toast.LENGTH_LONG).show();
//Toast.makeText(mContext, "Zaktualizuj aplikację.", Toast.LENGTH_LONG).show();
//System.exit(0);
- }
+ }*/
if (appConfig == null) {
appConfig = new AppConfig(this);
diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
index 5d7bbd7c..62fe8cd9 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt
@@ -30,6 +30,7 @@ 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
import com.danimahardhika.cafebar.CafeBar
import com.mikepenz.iconics.IconicsColor
@@ -239,6 +240,14 @@ class MainActivity : AppCompatActivity() {
b.navView.configSystemBarsUtil(this)
+ // fix for setting status bar color to window color, outside of navlib
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ window.statusBarColor = statusBarColor
+ }
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && ColorUtils.calculateLuminance(statusBarColor) > 0.6) {
+ window.decorView.systemUiVisibility = window.decorView.systemUiVisibility or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
+ }
+
// TODO fix navlib navbar detection, orientation change issues, status bar color setting if not fullscreen
commit()
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 ffc50b04..9ba452e0 100644
--- a/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java
+++ b/app/src/main/java/pl/szczodrzynski/edziennik/api/Librus.java
@@ -289,6 +289,7 @@ public class Librus implements EdziennikInterface {
targetEndpoints.add("Grades");
targetEndpoints.add("PointGrades");
targetEndpoints.add("DescriptiveGrades");
+ targetEndpoints.add("TextGrades");
targetEndpoints.add("BehaviourGrades");
targetEndpoints.add("Events");
@@ -361,6 +362,7 @@ public class Librus implements EdziennikInterface {
targetEndpoints.add("Grades");
targetEndpoints.add("PointGrades");
targetEndpoints.add("DescriptiveGrades");
+ targetEndpoints.add("TextGrades");
targetEndpoints.add("BehaviourGrades");
break;
case FEATURE_HOMEWORKS:
@@ -500,6 +502,9 @@ public class Librus implements EdziennikInterface {
case "DescriptiveGrades":
getDescriptiveGrades();
break;
+ case "TextGrades":
+ getTextGrades();
+ break;
case "BehaviourGrades":
getBehaviourGrades();
break;
@@ -649,7 +654,7 @@ public class Librus implements EdziennikInterface {
};
librusLoginCallback = redirectUrl -> {
- fakeAuthorize = "authorize2";
+ fakeAuthorize = "authorize";
authorize(AUTHORIZE_URL, authorizeCallback);
};
@@ -2395,6 +2400,62 @@ public class Librus implements EdziennikInterface {
});
}
+ private void getTextGrades() {
+ callback.onActionStarted(R.string.sync_action_syncing_descriptive_grades);
+ apiRequest("DescriptiveGrades", data -> {
+ if (data == null) {
+ r("finish", "TextGrades");
+ return;
+ }
+ JsonArray grades = data.get("Grades").getAsJsonArray();
+ //d("Got Grades: "+grades.toString());
+ for (JsonElement gradeEl : grades) {
+ JsonObject grade = gradeEl.getAsJsonObject();
+ long id = grade.get("Id").getAsLong();
+ long teacherId = grade.get("AddedBy").getAsJsonObject().get("Id").getAsLong();
+ int semester = grade.get("Semester").getAsInt();
+ long subjectId = grade.get("Subject").getAsJsonObject().get("Id").getAsLong();
+ String description = grade.get("Map").getAsString();
+
+ long categoryId = -1;
+ JsonElement skillEl = grade.get("Skill");
+ if (skillEl != null) {
+ categoryId = skillEl.getAsJsonObject().get("Id").getAsLong();
+ }
+
+ String str_date = grade.get("AddDate").getAsString();
+ long addedDate = Date.fromIso(str_date);
+
+ String category = "";
+ int color = -1;
+ GradeCategory gradeCategory = GradeCategory.search(gradeCategoryList, categoryId);
+ if (gradeCategory != null) {
+ category = gradeCategory.text;
+ color = gradeCategory.color;
+ }
+
+ Grade gradeObject = new Grade(
+ profileId,
+ id,
+ category,
+ color,
+ "",
+ description,
+ 0.0f,
+ 0,
+ semester,
+ teacherId,
+ subjectId
+ );
+ gradeObject.type = Grade.TYPE_DESCRIPTIVE;
+
+ gradeList.add(gradeObject);
+ metadataList.add(new Metadata(profileId, Metadata.TYPE_GRADE, gradeObject.id, profile.getEmpty(), profile.getEmpty(), addedDate));
+ }
+ r("finish", "TextGrades");
+ });
+ }
+
private void getBehaviourGrades() {
d(TAG, "Grades settings: "+enableStandardGrades+", "+enablePointGrades+", "+enableDescriptiveGrades);
if (!enableBehaviourGrades) {
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 5e4a07c2..17e62ec6 100644
--- a/app/src/main/res/layout/activity_web_push_config.xml
+++ b/app/src/main/res/layout/activity_web_push_config.xml
@@ -18,11 +18,11 @@
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index cdd0abb1..116c7a40 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -95,8 +95,6 @@
- ?android:textColorSecondary
- ?colorSurface
- @color/dividerColor
-
- - ?android:windowBackground
diff --git a/build.gradle b/build.gradle
index 3ef0a842..1aa9b1f4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,8 +5,8 @@ buildscript {
kotlin_version = '1.3.50'
release = [
- versionName: "3.0.1-rc.1",
- versionCode: 3000110
+ versionName: "3.0.2",
+ versionCode: 3000299
]
setup = [