Skip to content

Commit 385c03b

Browse files
author
alllexey
committed
Fixes, start ScheduleActivity on small widget click
1 parent 2f74d97 commit 385c03b

File tree

9 files changed

+26
-31
lines changed

9 files changed

+26
-31
lines changed

app/src/main/java/me/alllexey123/itmowidgets/ui/schedule/DayScheduleAdapter.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class DayScheduleAdapter(private var schedules: List<Schedule>) :
5050
fun updateData(newDaySchedules: List<Schedule>) {
5151
val oldDaySchedules = this.schedules
5252
this.schedules = newDaySchedules
53-
if (oldDaySchedules != newDaySchedules)notifyDataSetChanged()
53+
if (oldDaySchedules != newDaySchedules) notifyDataSetChanged()
5454
}
5555

5656
override fun getItemCount(): Int = schedules.size

app/src/main/java/me/alllexey123/itmowidgets/ui/schedule/ScheduleActivity.kt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package me.alllexey123.itmowidgets.ui.schedule
22

3+
import android.app.PendingIntent
4+
import android.content.Context
5+
import android.content.Intent
36
import android.os.Bundle
4-
import android.os.Parcelable
57
import android.view.View
68
import android.widget.ProgressBar
79
import android.widget.Toast
@@ -108,4 +110,16 @@ class ScheduleActivity : AppCompatActivity() {
108110
}
109111
}
110112

113+
companion object {
114+
fun getOnClickPendingIntent(context: Context): PendingIntent? {
115+
val clickIntent = Intent(context, ScheduleActivity::class.java)
116+
return PendingIntent.getActivity(
117+
context,
118+
0,
119+
clickIntent,
120+
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
121+
)
122+
}
123+
}
124+
111125
}

app/src/main/java/me/alllexey123/itmowidgets/ui/widgets/LessonListWidget.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package me.alllexey123.itmowidgets.ui.widgets
22

3-
import android.app.PendingIntent
43
import android.appwidget.AppWidgetManager
54
import android.appwidget.AppWidgetProvider
65
import android.content.Context
@@ -46,13 +45,7 @@ class LessonListWidget : AppWidgetProvider() {
4645
data = ("widget://${appWidgetId}-${System.currentTimeMillis()}").toUri()
4746
}
4847

49-
val clickIntent = Intent(context, ScheduleActivity::class.java)
50-
val pendingIntent = PendingIntent.getActivity(
51-
context,
52-
0,
53-
clickIntent,
54-
PendingIntent.FLAG_UPDATE_CURRENT or PendingIntent.FLAG_IMMUTABLE
55-
)
48+
val pendingIntent = ScheduleActivity.getOnClickPendingIntent(context)
5649

5750
val views = RemoteViews(context.packageName, layoutId)
5851
views.setPendingIntentTemplate(R.id.lesson_list, pendingIntent)

app/src/main/java/me/alllexey123/itmowidgets/ui/widgets/LessonListWidgetService.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ class LessonListWidgetService : RemoteViewsService() {
5959
setViewVisibility(R.id.location_layout, if (hideLocation) View.GONE else View.VISIBLE)
6060
setViewVisibility(R.id.time_layout, if (entry.times.isNullOrEmpty()) View.GONE else View.VISIBLE)
6161

62-
// Set the color indicator.
6362
val color = ScheduleUtils.getWorkTypeColor(entry.workTypeId)
6463
setInt(R.id.type_indicator, "setColorFilter", ContextCompat.getColor(context, color))
6564
}

app/src/main/java/me/alllexey123/itmowidgets/ui/widgets/QrCodeWidget.kt

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import android.content.Context
77
import android.content.Intent
88
import android.graphics.Bitmap
99
import android.widget.RemoteViews
10-
import androidx.work.WorkManager
1110
import me.alllexey123.itmowidgets.ItmoWidgetsApp
1211
import me.alllexey123.itmowidgets.R
1312
import me.alllexey123.itmowidgets.workers.QrWidgetUpdateWorker
@@ -49,14 +48,6 @@ class QrCodeWidget : AppWidgetProvider() {
4948
}
5049
}
5150

52-
override fun onEnabled(context: Context) {
53-
// QrWidgetUpdateWorker.Companion.enqueueImmediateUpdate(context)
54-
}
55-
56-
override fun onDisabled(context: Context) {
57-
WorkManager.getInstance(context).cancelUniqueWork(QrWidgetUpdateWorker.Companion.WIDGET_UPDATE_WORK_NAME)
58-
}
59-
6051
companion object {
6152

6253
const val PIXELS_PER_MODULE = 20

app/src/main/java/me/alllexey123/itmowidgets/ui/widgets/SingleLessonWidget.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import android.view.View
77
import android.widget.RemoteViews
88
import androidx.core.content.ContextCompat
99
import me.alllexey123.itmowidgets.R
10+
import me.alllexey123.itmowidgets.ui.schedule.ScheduleActivity
1011
import me.alllexey123.itmowidgets.ui.widgets.data.SingleLessonWidgetData
1112
import me.alllexey123.itmowidgets.util.ScheduleUtils
1213
import me.alllexey123.itmowidgets.workers.LessonWidgetUpdateWorker
@@ -21,14 +22,6 @@ open class SingleLessonWidget : AppWidgetProvider() {
2122
LessonWidgetUpdateWorker.Companion.enqueueImmediateUpdate(context)
2223
}
2324

24-
override fun onEnabled(context: Context) {
25-
LessonWidgetUpdateWorker.Companion.enqueueImmediateUpdate(context)
26-
}
27-
28-
override fun onDisabled(context: Context) {
29-
30-
}
31-
3225
companion object {
3326
fun updateAppWidget(
3427
context: Context,
@@ -56,6 +49,9 @@ open class SingleLessonWidget : AppWidgetProvider() {
5649
ContextCompat.getColor(context, colorId)
5750
)
5851

52+
val pendingIntent = ScheduleActivity.getOnClickPendingIntent(context)
53+
views.setOnClickPendingIntent(R.id.lesson_widget_root, pendingIntent)
54+
5955
appWidgetManager.updateAppWidget(appWidgetId, views)
6056
}
6157
}

app/src/main/java/me/alllexey123/itmowidgets/workers/LessonWidgetUpdateWorker.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ class LessonWidgetUpdateWorker(
6565

6666
storage.setLessonWidgetStyleChanged(false)
6767

68-
scheduleNextUpdate(appContext, widgetsState.nextUpdateAt)
68+
scheduleNextUpdate(appContext, widgetsState.nextUpdateAt.plusSeconds(3))
6969
} catch (e: Exception) {
7070
storage.setErrorLog("[${javaClass.name}]: ${e.stackTraceToString()}}")
7171

app/src/main/res/layout/single_lesson_widget_dash.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
android:padding="6dp"
1010
android:paddingStart="8dp"
1111
android:backgroundTint="?attr/colorSurface"
12-
android:theme="@style/AppTheme">
12+
android:theme="@style/AppTheme"
13+
android:id="@+id/lesson_widget_root">
1314

1415
<LinearLayout
1516
android:layout_width="match_parent"

app/src/main/res/layout/single_lesson_widget_dot.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
android:orientation="vertical"
88
android:padding="6dp"
99
android:theme="@style/AppTheme"
10-
android:backgroundTint="?attr/colorSurface">
10+
android:backgroundTint="?attr/colorSurface"
11+
android:id="@+id/lesson_widget_root">
1112

1213
<LinearLayout
1314
android:layout_width="match_parent"

0 commit comments

Comments
 (0)