diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt index c5dbdc1..f19ccdb 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/AlignedWidget.kt @@ -509,7 +509,18 @@ class AlignedWidget(val context: Context, val rightAligned: Boolean = false) { if (!Preferences.showNextEventOnMultipleLines) { bindingView.nextEventDifferenceTime.isVisible = true } else { - bindingView.nextEvent.text = context.getString(R.string.events_glance_provider_format).format(nextEvent.title, diffTime) + val text = context.getString(R.string.events_glance_provider_format).format(nextEvent.title, diffTime) + if (text.endsWith(diffTime)) { + bindingView.nextEvent.addOnLayoutChangeListener { v, _, _, _, _, _, _, _, _ -> + (v as TextView).layout?.run { + val diff = diffTime.trimStart(); + val diffStart = text.length - diff.length + if (getLineStart(lineCount - 1) > diffStart) + v.text = (text.substring(0, diffStart).trimEnd() + '\n' + diff) + } + } + } + bindingView.nextEvent.text = text bindingView.nextEventDifferenceTime.isVisible = false } } else { diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt index b066fe6..3130d9f 100644 --- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt +++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/widgets/StandardWidget.kt @@ -541,7 +541,18 @@ class StandardWidget(val context: Context) { if (!Preferences.showNextEventOnMultipleLines) { bindingView.nextEventDifferenceTime.isVisible = true } else { - bindingView.nextEvent.text = context.getString(R.string.events_glance_provider_format).format(nextEvent.title, diffTime) + val text = context.getString(R.string.events_glance_provider_format).format(nextEvent.title, diffTime) + if (text.endsWith(diffTime)) { + bindingView.nextEvent.addOnLayoutChangeListener { v, _, _, _, _, _, _, _, _ -> + (v as TextView).layout?.run { + val diff = diffTime.trimStart(); + val diffStart = text.length - diff.length + if (getLineStart(lineCount - 1) > diffStart) + v.text = (text.substring(0, diffStart).trimEnd() + '\n' + diff) + } + } + } + bindingView.nextEvent.text = text bindingView.nextEventDifferenceTime.isVisible = false } } else {