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