mirror of
https://github.com/szkolny-eu/szkolny-android.git
synced 2025-06-15 23:11:54 +02:00
Compare commits
15 Commits
v3.0.1
...
hotfix-3.0
Author | SHA1 | Date | |
---|---|---|---|
518a8ea542 | |||
773b590d79 | |||
8a30c6c7ce | |||
1bdafd489c | |||
9cc4da5fe9 | |||
33ca55401b | |||
37e57d2f73 | |||
554097fc7d | |||
3e6b0250d0 | |||
349bcc851d | |||
df52029a29 | |||
1a2b51f3f9 | |||
9500ba52fd | |||
18d9471a94 | |||
93b4c03b87 |
@ -31,6 +31,22 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
|
<h3>Wersja 3.0.3, 2019-09-26</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Librus: poprawka kilku błędów synchronizacji.</li>
|
||||||
|
<li>Vulcan: prawidłowe oznaczanie wiadomości jako przeczytana.</li>
|
||||||
|
<li>Vulcan: poprawiona synchronizacja wiadomości i frekwencji.</li>
|
||||||
|
<li>Vulcan: poprawka błędów logowania.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>Wersja 3.0.2, 2019-09-24</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Librus: pobieranie Bieżących ocen opisowych.</li>
|
||||||
|
<li>Poprawki UI: kolor ikon paska statusu w jasnym motywie.</li>
|
||||||
|
<li>Poprawka braku skanera QR do przekazywania powiadomień.</li>
|
||||||
|
<li>Poprawka wyboru koloru i daty własnego wydarzenia, które crashowały aplikację.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h3>Wersja 3.0.1, 2019-09-19</h3>
|
<h3>Wersja 3.0.1, 2019-09-19</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Librus: Poprawa błędu synchronizacji.</li>
|
<li>Librus: Poprawa błędu synchronizacji.</li>
|
||||||
|
@ -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();
|
BootReceiver br = new BootReceiver();
|
||||||
Intent i = new Intent();
|
Intent i = new Intent();
|
||||||
//i.putExtra("UserChecked", true);
|
//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, R.string.warning_older_version_running, Toast.LENGTH_LONG).show();
|
||||||
//Toast.makeText(mContext, "Zaktualizuj aplikację.", Toast.LENGTH_LONG).show();
|
//Toast.makeText(mContext, "Zaktualizuj aplikację.", Toast.LENGTH_LONG).show();
|
||||||
//System.exit(0);
|
//System.exit(0);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (appConfig == null) {
|
if (appConfig == null) {
|
||||||
appConfig = new AppConfig(this);
|
appConfig = new AppConfig(this);
|
||||||
|
@ -30,6 +30,7 @@ import pl.szczodrzynski.navlib.drawer.items.DrawerPrimaryItem
|
|||||||
import pl.szczodrzynski.navlib.drawer.items.withAppTitle
|
import pl.szczodrzynski.navlib.drawer.items.withAppTitle
|
||||||
import pl.szczodrzynski.navlib.getColorFromAttr
|
import pl.szczodrzynski.navlib.getColorFromAttr
|
||||||
import androidx.appcompat.widget.PopupMenu
|
import androidx.appcompat.widget.PopupMenu
|
||||||
|
import androidx.core.graphics.ColorUtils
|
||||||
import androidx.navigation.NavOptions
|
import androidx.navigation.NavOptions
|
||||||
import com.danimahardhika.cafebar.CafeBar
|
import com.danimahardhika.cafebar.CafeBar
|
||||||
import com.mikepenz.iconics.IconicsColor
|
import com.mikepenz.iconics.IconicsColor
|
||||||
@ -239,6 +240,14 @@ class MainActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
b.navView.configSystemBarsUtil(this)
|
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
|
// TODO fix navlib navbar detection, orientation change issues, status bar color setting if not fullscreen
|
||||||
|
|
||||||
commit()
|
commit()
|
||||||
|
@ -288,6 +288,7 @@ public class Librus implements EdziennikInterface {
|
|||||||
targetEndpoints.add("Grades");
|
targetEndpoints.add("Grades");
|
||||||
targetEndpoints.add("PointGrades");
|
targetEndpoints.add("PointGrades");
|
||||||
targetEndpoints.add("DescriptiveGrades");
|
targetEndpoints.add("DescriptiveGrades");
|
||||||
|
targetEndpoints.add("TextGrades");
|
||||||
targetEndpoints.add("BehaviourGrades");
|
targetEndpoints.add("BehaviourGrades");
|
||||||
|
|
||||||
targetEndpoints.add("Events");
|
targetEndpoints.add("Events");
|
||||||
@ -359,6 +360,7 @@ public class Librus implements EdziennikInterface {
|
|||||||
targetEndpoints.add("Grades");
|
targetEndpoints.add("Grades");
|
||||||
targetEndpoints.add("PointGrades");
|
targetEndpoints.add("PointGrades");
|
||||||
targetEndpoints.add("DescriptiveGrades");
|
targetEndpoints.add("DescriptiveGrades");
|
||||||
|
targetEndpoints.add("TextGrades");
|
||||||
targetEndpoints.add("BehaviourGrades");
|
targetEndpoints.add("BehaviourGrades");
|
||||||
break;
|
break;
|
||||||
case FEATURE_HOMEWORKS:
|
case FEATURE_HOMEWORKS:
|
||||||
@ -433,6 +435,10 @@ public class Librus implements EdziennikInterface {
|
|||||||
callback.onProgress(PROGRESS_STEP);
|
callback.onProgress(PROGRESS_STEP);
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
|
if (index > targetEndpoints.size()) {
|
||||||
|
finish();
|
||||||
|
return;
|
||||||
|
}
|
||||||
d(TAG, "Called r("+type+", "+endpoint+"). Getting "+targetEndpoints.get(index));
|
d(TAG, "Called r("+type+", "+endpoint+"). Getting "+targetEndpoints.get(index));
|
||||||
switch (targetEndpoints.get(index)) {
|
switch (targetEndpoints.get(index)) {
|
||||||
case "Me":
|
case "Me":
|
||||||
@ -498,6 +504,9 @@ public class Librus implements EdziennikInterface {
|
|||||||
case "DescriptiveGrades":
|
case "DescriptiveGrades":
|
||||||
getDescriptiveGrades();
|
getDescriptiveGrades();
|
||||||
break;
|
break;
|
||||||
|
case "TextGrades":
|
||||||
|
getTextGrades();
|
||||||
|
break;
|
||||||
case "BehaviourGrades":
|
case "BehaviourGrades":
|
||||||
getBehaviourGrades();
|
getBehaviourGrades();
|
||||||
break;
|
break;
|
||||||
@ -644,7 +653,7 @@ public class Librus implements EdziennikInterface {
|
|||||||
};
|
};
|
||||||
|
|
||||||
librusLoginCallback = redirectUrl -> {
|
librusLoginCallback = redirectUrl -> {
|
||||||
fakeAuthorize = "authorize2";
|
fakeAuthorize = "authorize";
|
||||||
authorize(AUTHORIZE_URL, authorizeCallback);
|
authorize(AUTHORIZE_URL, authorizeCallback);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1662,11 +1671,32 @@ public class Librus implements EdziennikInterface {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Time startTime = null;
|
||||||
|
Time endTime = null;
|
||||||
|
try {
|
||||||
|
startTime = Time.fromH_m(lesson.get(substitution && !cancelled ? "OrgHourFrom" : "HourFrom").getAsString());
|
||||||
|
endTime = Time.fromH_m(lesson.get(substitution && !cancelled ? "OrgHourTo" : "HourTo").getAsString());
|
||||||
|
}
|
||||||
|
catch (Exception ignore) {
|
||||||
|
try {
|
||||||
|
JsonElement lessonNo;
|
||||||
|
if (!((lessonNo = lesson.get("LessonNo")) instanceof JsonNull)) {
|
||||||
|
Pair<Time, Time> timePair = lessonRanges.get(strToInt(lessonNo.getAsString()));
|
||||||
|
if (timePair != null) {
|
||||||
|
startTime = timePair.first;
|
||||||
|
endTime = timePair.second;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ignore2) { }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Lesson lessonObject = new Lesson(
|
Lesson lessonObject = new Lesson(
|
||||||
profileId,
|
profileId,
|
||||||
lesson.get("DayNo").getAsInt() - 1,
|
lesson.get("DayNo").getAsInt() - 1,
|
||||||
Time.fromH_m(lesson.get(substitution && !cancelled ? "OrgHourFrom" : "HourFrom").getAsString()),
|
startTime,
|
||||||
Time.fromH_m(lesson.get(substitution && !cancelled ? "OrgHourTo" : "HourTo").getAsString())
|
endTime
|
||||||
);
|
);
|
||||||
|
|
||||||
JsonElement subject;
|
JsonElement subject;
|
||||||
@ -1711,7 +1741,7 @@ public class Librus implements EdziennikInterface {
|
|||||||
r("finish", "Substitutions");
|
r("finish", "Substitutions");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonArray substitutions = data.get("Substitutions").getAsJsonArray();
|
JsonArray substitutions = data.get("Substitutions").getAsJsonArray();
|
||||||
try {
|
try {
|
||||||
List<Long> ignoreList = new ArrayList<>();
|
List<Long> ignoreList = new ArrayList<>();
|
||||||
@ -2389,6 +2419,70 @@ 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();
|
||||||
|
JsonElement map = grade.get("Map");
|
||||||
|
JsonElement realGrade = grade.get("RealGradeValue");
|
||||||
|
String description = "";
|
||||||
|
if (map != null) {
|
||||||
|
description = map.getAsString();
|
||||||
|
}
|
||||||
|
else if (realGrade != null) {
|
||||||
|
description = realGrade.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() {
|
private void getBehaviourGrades() {
|
||||||
d(TAG, "Grades settings: "+enableStandardGrades+", "+enablePointGrades+", "+enableDescriptiveGrades);
|
d(TAG, "Grades settings: "+enableStandardGrades+", "+enablePointGrades+", "+enableDescriptiveGrades);
|
||||||
if (!enableBehaviourGrades) {
|
if (!enableBehaviourGrades) {
|
||||||
|
@ -113,6 +113,7 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
private static final String ENDPOINT_ATTENDANCES = "mobile-api/Uczen.v3.Uczen/Frekwencje";
|
private static final String ENDPOINT_ATTENDANCES = "mobile-api/Uczen.v3.Uczen/Frekwencje";
|
||||||
private static final String ENDPOINT_MESSAGES_RECEIVED = "mobile-api/Uczen.v3.Uczen/WiadomosciOdebrane";
|
private static final String ENDPOINT_MESSAGES_RECEIVED = "mobile-api/Uczen.v3.Uczen/WiadomosciOdebrane";
|
||||||
private static final String ENDPOINT_MESSAGES_SENT = "mobile-api/Uczen.v3.Uczen/WiadomosciWyslane";
|
private static final String ENDPOINT_MESSAGES_SENT = "mobile-api/Uczen.v3.Uczen/WiadomosciWyslane";
|
||||||
|
private static final String ENDPOINT_MESSAGES_CHANGE_STATUS = "mobile-api/Uczen.v3.Uczen/ZmienStatusWiadomosci";
|
||||||
private static final String ENDPOINT_PUSH = "mobile-api/Uczen.v3.Uczen/UstawPushToken";
|
private static final String ENDPOINT_PUSH = "mobile-api/Uczen.v3.Uczen/UstawPushToken";
|
||||||
private static final String userAgent = "MobileUserAgent";
|
private static final String userAgent = "MobileUserAgent";
|
||||||
|
|
||||||
@ -427,8 +428,10 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
app.db.noticeDao().clearForSemester(profileId, studentSemesterNumber);
|
app.db.noticeDao().clearForSemester(profileId, studentSemesterNumber);
|
||||||
app.db.noticeDao().addAll(noticeList);
|
app.db.noticeDao().addAll(noticeList);
|
||||||
}
|
}
|
||||||
if (attendanceList.size() > 0)
|
if (attendanceList.size() > 0) {
|
||||||
|
app.db.attendanceDao().clearAfterDate(profileId, getCurrentSemesterStartDate());
|
||||||
app.db.attendanceDao().addAll(attendanceList);
|
app.db.attendanceDao().addAll(attendanceList);
|
||||||
|
}
|
||||||
if (messageList.size() > 0)
|
if (messageList.size() > 0)
|
||||||
app.db.messageDao().addAllIgnore(messageList);
|
app.db.messageDao().addAllIgnore(messageList);
|
||||||
if (messageRecipientList.size() > 0)
|
if (messageRecipientList.size() > 0)
|
||||||
@ -742,7 +745,7 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
studentLoginId = account.get("UzytkownikLoginId").getAsInt();
|
studentLoginId = account.get("UzytkownikLoginId").getAsInt();
|
||||||
studentClassId = account.get("IdOddzial").getAsInt();
|
studentClassId = account.get("IdOddzial").getAsInt();
|
||||||
studentSemesterId = account.get("IdOkresKlasyfikacyjny").getAsInt();
|
studentSemesterId = account.get("IdOkresKlasyfikacyjny").getAsInt();
|
||||||
String studentClassName = account.get("OddzialKod").getAsString();
|
String studentClassName = account.get("OkresPoziom").getAsInt()+account.get("OddzialSymbol").getAsString();
|
||||||
targetProfile.putStudentData("userName", account.get("UzytkownikNazwa").getAsString());
|
targetProfile.putStudentData("userName", account.get("UzytkownikNazwa").getAsString());
|
||||||
targetProfile.putStudentData("schoolName", schoolName);
|
targetProfile.putStudentData("schoolName", schoolName);
|
||||||
targetProfile.putStudentData("schoolSymbol", schoolSymbol);
|
targetProfile.putStudentData("schoolSymbol", schoolSymbol);
|
||||||
@ -1240,9 +1243,9 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
Grade gradeObject = new Grade(
|
Grade gradeObject = new Grade(
|
||||||
profileId,
|
profileId,
|
||||||
id,
|
id,
|
||||||
finalDescription,
|
|
||||||
color,
|
|
||||||
category,
|
category,
|
||||||
|
color,
|
||||||
|
finalDescription,
|
||||||
finalName,
|
finalName,
|
||||||
finalValue,
|
finalValue,
|
||||||
weight,
|
weight,
|
||||||
@ -1459,7 +1462,7 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
private void getAttendances() {
|
private void getAttendances() {
|
||||||
callback.onActionStarted(R.string.sync_action_syncing_attendances);
|
callback.onActionStarted(R.string.sync_action_syncing_attendances);
|
||||||
JsonObject json = new JsonObject();
|
JsonObject json = new JsonObject();
|
||||||
json.addProperty("DataPoczatkowa", profile.getEmpty() ? getCurrentSemesterStartDate().getStringY_m_d() : oneMonthBack.getStringY_m_d());
|
json.addProperty("DataPoczatkowa", true ? getCurrentSemesterStartDate().getStringY_m_d() : oneMonthBack.getStringY_m_d());
|
||||||
json.addProperty("DataKoncowa", getCurrentSemesterEndDate().getStringY_m_d());
|
json.addProperty("DataKoncowa", getCurrentSemesterEndDate().getStringY_m_d());
|
||||||
json.addProperty("IdOddzial", studentClassId);
|
json.addProperty("IdOddzial", studentClassId);
|
||||||
json.addProperty("IdUczen", studentId);
|
json.addProperty("IdUczen", studentId);
|
||||||
@ -1506,8 +1509,8 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
private void getMessagesInbox() {
|
private void getMessagesInbox() {
|
||||||
callback.onActionStarted(R.string.sync_action_syncing_messages_inbox);
|
callback.onActionStarted(R.string.sync_action_syncing_messages_inbox);
|
||||||
JsonObject json = new JsonObject();
|
JsonObject json = new JsonObject();
|
||||||
json.addProperty("DataPoczatkowa", profile.getEmpty() ? getCurrentSemesterStartDate().getInUnix() : oneMonthBack.getInUnix());
|
json.addProperty("DataPoczatkowa", true ? getCurrentSemesterStartDate().getInUnix() : oneMonthBack.getInUnix());
|
||||||
json.addProperty("DataKoncowa", Date.getToday().getInUnix());
|
json.addProperty("DataKoncowa", getCurrentSemesterEndDate().getInUnix());
|
||||||
json.addProperty("LoginId", studentLoginId);
|
json.addProperty("LoginId", studentLoginId);
|
||||||
json.addProperty("IdUczen", studentId);
|
json.addProperty("IdUczen", studentId);
|
||||||
apiRequest(schoolSymbol+"/"+ENDPOINT_MESSAGES_RECEIVED, json, result -> {
|
apiRequest(schoolSymbol+"/"+ENDPOINT_MESSAGES_RECEIVED, json, result -> {
|
||||||
@ -1557,8 +1560,8 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
}
|
}
|
||||||
callback.onActionStarted(R.string.sync_action_syncing_messages_outbox);
|
callback.onActionStarted(R.string.sync_action_syncing_messages_outbox);
|
||||||
JsonObject json = new JsonObject();
|
JsonObject json = new JsonObject();
|
||||||
json.addProperty("DataPoczatkowa", profile.getEmpty() ? getCurrentSemesterStartDate().getInUnix() : oneMonthBack.getInUnix());
|
json.addProperty("DataPoczatkowa", true ? getCurrentSemesterStartDate().getInUnix() : oneMonthBack.getInUnix());
|
||||||
json.addProperty("DataKoncowa", Date.getToday().getInUnix());
|
json.addProperty("DataKoncowa", getCurrentSemesterEndDate().getInUnix());
|
||||||
json.addProperty("LoginId", studentLoginId);
|
json.addProperty("LoginId", studentLoginId);
|
||||||
json.addProperty("IdUczen", studentId);
|
json.addProperty("IdUczen", studentId);
|
||||||
apiRequest(schoolSymbol+"/"+ENDPOINT_MESSAGES_SENT, json, result -> {
|
apiRequest(schoolSymbol+"/"+ENDPOINT_MESSAGES_SENT, json, result -> {
|
||||||
@ -1632,6 +1635,15 @@ public class Vulcan implements EdziennikInterface {
|
|||||||
recipient.fullName = profile.getStudentNameLong();
|
recipient.fullName = profile.getStudentNameLong();
|
||||||
}
|
}
|
||||||
if (!message.seen) {
|
if (!message.seen) {
|
||||||
|
studentId = profile.getStudentData("studentId", -1);
|
||||||
|
studentLoginId = profile.getStudentData("studentLoginId", -1);
|
||||||
|
JsonObject json = new JsonObject();
|
||||||
|
json.addProperty("WiadomoscId", message.id);
|
||||||
|
json.addProperty("FolderWiadomosci", "Odebrane");
|
||||||
|
json.addProperty("Status", "Widoczna");
|
||||||
|
json.addProperty("LoginId", studentLoginId);
|
||||||
|
json.addProperty("IdUczen", studentId);
|
||||||
|
apiRequest(schoolSymbol+"/"+ENDPOINT_MESSAGES_CHANGE_STATUS, json, result -> { });
|
||||||
app.db.metadataDao().setSeen(profile.getId(), message, true);
|
app.db.metadataDao().setSeen(profile.getId(), message, true);
|
||||||
if (message.type != TYPE_SENT) {
|
if (message.type != TYPE_SENT) {
|
||||||
app.db.messageRecipientDao().add(new MessageRecipient(profile.getId(), -1, -1, System.currentTimeMillis(), message.id));
|
app.db.messageRecipientDao().add(new MessageRecipient(profile.getId(), -1, -1, System.currentTimeMillis(), message.id));
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
|
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
|
android:id="@+id/webPushConfig"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:id="@+id/webPushConfig"
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
@ -95,8 +95,6 @@
|
|||||||
<item name="mal_color_secondary">?android:textColorSecondary</item>
|
<item name="mal_color_secondary">?android:textColorSecondary</item>
|
||||||
<item name="mal_card_background">?colorSurface</item>
|
<item name="mal_card_background">?colorSurface</item>
|
||||||
<item name="mal_divider_color">@color/dividerColor</item>
|
<item name="mal_divider_color">@color/dividerColor</item>
|
||||||
|
|
||||||
<item name="android:statusBarColor" tools:targetApi="lollipop">?android:windowBackground</item>
|
|
||||||
</style>
|
</style>
|
||||||
<style name="AppTheme.Dark" parent="NavView.Dark">
|
<style name="AppTheme.Dark" parent="NavView.Dark">
|
||||||
<item name="colorPrimary">#64b5f6</item>
|
<item name="colorPrimary">#64b5f6</item>
|
||||||
@ -121,8 +119,6 @@
|
|||||||
<item name="mal_color_secondary">@color/secondaryTextDark</item>
|
<item name="mal_color_secondary">@color/secondaryTextDark</item>
|
||||||
<item name="mal_card_background">?colorSurface</item>
|
<item name="mal_card_background">?colorSurface</item>
|
||||||
<item name="mal_divider_color">@color/dividerColor</item>
|
<item name="mal_divider_color">@color/dividerColor</item>
|
||||||
|
|
||||||
<item name="android:statusBarColor" tools:targetApi="lollipop">?android:windowBackground</item>
|
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|
||||||
|
@ -5,8 +5,8 @@ buildscript {
|
|||||||
kotlin_version = '1.3.50'
|
kotlin_version = '1.3.50'
|
||||||
|
|
||||||
release = [
|
release = [
|
||||||
versionName: "3.0.1",
|
versionName: "3.0.3",
|
||||||
versionCode: 3000199
|
versionCode: 3000399
|
||||||
]
|
]
|
||||||
|
|
||||||
setup = [
|
setup = [
|
||||||
|
Reference in New Issue
Block a user