mirror of https://github.com/tasks/tasks
Convert AppWidgetManager to Kotlin
parent
730c82a037
commit
1bf64ffec2
@ -1,38 +0,0 @@
|
|||||||
package org.tasks.widget;
|
|
||||||
|
|
||||||
import android.content.ComponentName;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.Intent;
|
|
||||||
import dagger.hilt.android.qualifiers.ApplicationContext;
|
|
||||||
import javax.inject.Inject;
|
|
||||||
import org.tasks.R;
|
|
||||||
|
|
||||||
public class AppWidgetManager {
|
|
||||||
|
|
||||||
private final android.appwidget.AppWidgetManager appWidgetManager;
|
|
||||||
private final Context context;
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
public AppWidgetManager(@ApplicationContext Context context) {
|
|
||||||
this.context = context;
|
|
||||||
appWidgetManager = android.appwidget.AppWidgetManager.getInstance(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateWidgets() {
|
|
||||||
appWidgetManager.notifyAppWidgetViewDataChanged(getWidgetIds(), R.id.list_view);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void reconfigureWidgets(int... appWidgetIds) {
|
|
||||||
Intent intent = new Intent(context, TasksWidget.class);
|
|
||||||
intent.setAction(android.appwidget.AppWidgetManager.ACTION_APPWIDGET_UPDATE);
|
|
||||||
intent.putExtra(
|
|
||||||
android.appwidget.AppWidgetManager.EXTRA_APPWIDGET_IDS,
|
|
||||||
appWidgetIds.length == 0 ? getWidgetIds() : appWidgetIds);
|
|
||||||
context.sendBroadcast(intent);
|
|
||||||
updateWidgets();
|
|
||||||
}
|
|
||||||
|
|
||||||
public int[] getWidgetIds() {
|
|
||||||
return appWidgetManager.getAppWidgetIds(new ComponentName(context, TasksWidget.class));
|
|
||||||
}
|
|
||||||
}
|
|
@ -0,0 +1,35 @@
|
|||||||
|
package org.tasks.widget
|
||||||
|
|
||||||
|
import android.appwidget.AppWidgetManager
|
||||||
|
import android.content.ComponentName
|
||||||
|
import android.content.Context
|
||||||
|
import android.content.Intent
|
||||||
|
import dagger.hilt.android.qualifiers.ApplicationContext
|
||||||
|
import org.tasks.R
|
||||||
|
import org.tasks.widget.TasksWidget
|
||||||
|
import javax.inject.Inject
|
||||||
|
|
||||||
|
class AppWidgetManager @Inject constructor(
|
||||||
|
@param:ApplicationContext private val context: Context
|
||||||
|
) {
|
||||||
|
private val appWidgetManager: AppWidgetManager? = AppWidgetManager.getInstance(context)
|
||||||
|
|
||||||
|
val widgetIds: IntArray
|
||||||
|
get() = appWidgetManager
|
||||||
|
?.getAppWidgetIds(ComponentName(context, TasksWidget::class.java))
|
||||||
|
?: intArrayOf()
|
||||||
|
|
||||||
|
fun reconfigureWidgets(vararg appWidgetIds: Int) {
|
||||||
|
val intent = Intent(context, TasksWidget::class.java)
|
||||||
|
intent.action = AppWidgetManager.ACTION_APPWIDGET_UPDATE
|
||||||
|
intent.putExtra(
|
||||||
|
AppWidgetManager.EXTRA_APPWIDGET_IDS,
|
||||||
|
appWidgetIds.takeIf { it.isNotEmpty() } ?: widgetIds)
|
||||||
|
context.sendBroadcast(intent)
|
||||||
|
updateWidgets()
|
||||||
|
}
|
||||||
|
|
||||||
|
fun updateWidgets() {
|
||||||
|
appWidgetManager?.notifyAppWidgetViewDataChanged(widgetIds, R.id.list_view)
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue