[Widgets/Timetable] Show crossed out classroom in lesson change if no new classroom specified.

This commit is contained in:
Kuba Szczodrzyński 2020-02-28 17:11:41 +01:00
parent 88ec463284
commit faa77ee5fb
4 changed files with 15 additions and 5 deletions

View File

@ -47,6 +47,7 @@ class LessonDialogActivity : AppCompatActivity(), CoroutineScope {
val i = Intent(app, MainActivity::class.java)
.putExtra("fragmentId", MainActivity.DRAWER_ITEM_TIMETABLE)
.putExtra("profileId", profileId)
.putExtra("timetableDate", extras.getString("timetableDate", null))
.addFlags(FLAG_ACTIVITY_REORDER_TO_FRONT or FLAG_ACTIVITY_NEW_TASK)
app.startActivity(i)
finish()
@ -74,4 +75,4 @@ class LessonDialogActivity : AppCompatActivity(), CoroutineScope {
}
}
}
}
}

View File

@ -164,6 +164,8 @@ public class WidgetTimetableFactory implements RemoteViewsService.RemoteViewsFac
Intent intent = new Intent();
intent.putExtra("profileId", lesson.profileId);
intent.putExtra("separatorItem", true);
if (lesson.lessonDate != null)
intent.putExtra("timetableDate", lesson.lessonDate.getStringY_m_d());
views.setOnClickFillInIntent(R.id.widgetTimetableRoot, intent);
return views;
@ -298,7 +300,12 @@ public class WidgetTimetableFactory implements RemoteViewsService.RemoteViewsFac
views.setViewVisibility(R.id.widgetTimetableOldSubjectName, View.GONE);
if (lesson.lessonChange) {
views.setTextViewText(R.id.widgetTimetableSubjectName, Html.fromHtml("<i>"+lesson.subjectName+"</i>"));
views.setTextViewText(R.id.widgetTimetableClassroomName, Html.fromHtml("<i>"+lesson.classroomName+"</i>"));
if (lesson.lessonChangeNoClassroom) {
views.setTextViewText(R.id.widgetTimetableClassroomName, Html.fromHtml("<del>"+lesson.classroomName+"</del>"));
}
else {
views.setTextViewText(R.id.widgetTimetableClassroomName, Html.fromHtml("<i>" + lesson.classroomName + "</i>"));
}
}
else if (lesson.lessonCancelled) {
views.setTextViewText(R.id.widgetTimetableSubjectName, Html.fromHtml("<del>"+lesson.subjectName+"</del>"));

View File

@ -324,13 +324,14 @@ class WidgetTimetableProvider : AppWidgetProvider() {
// make the model aware of the lesson type
when (lesson.type) {
Lesson.TYPE_CANCELLED -> {
Lesson.TYPE_CANCELLED,
Lesson.TYPE_SHIFTED_SOURCE -> {
model.lessonCancelled = true
}
Lesson.TYPE_CHANGE,
Lesson.TYPE_SHIFTED_SOURCE,
Lesson.TYPE_SHIFTED_TARGET -> {
Lesson.TYPE_SHIFTED_TARGET -> {
model.lessonChange = true
model.lessonChangeNoClassroom = lesson.classroom.isNullOrBlank()
}
}

View File

@ -22,6 +22,7 @@ public class ItemWidgetTimetableModel {
public String subjectName = "";
public String classroomName = "";
public boolean lessonChange = false;
public boolean lessonChangeNoClassroom = false;
public String newSubjectName = null;
public String newClassroomName = null;
public boolean lessonCancelled = false;