Messages: Replace (Safe)AsyncTask

* AsyncTask is deprecated
* Executors and Handlers can achieve the same thing and
  are not deprecated

Change-Id: I5271bb73b848ce885eeaf5632c1da27853c56c4a
This commit is contained in:
Michael W
2025-03-04 18:52:05 +01:00
parent 94c0b8734b
commit f83b05ea0a
19 changed files with 293 additions and 407 deletions
@@ -28,9 +28,10 @@ import com.android.messaging.R;
import com.android.messaging.ui.UIIntents;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.OsUtil;
import com.android.messaging.util.SafeAsyncTask;
import com.android.messaging.util.UiUtils;
import java.util.concurrent.Executors;
public class BugleWidgetProvider extends BaseWidgetProvider {
public static final String ACTION_NOTIFY_CONVERSATIONS_CHANGED =
"com.android.Bugle.intent.action.ACTION_NOTIFY_CONVERSATIONS_CHANGED";
@@ -43,7 +44,7 @@ public class BugleWidgetProvider extends BaseWidgetProvider {
@Override
protected void updateWidget(final Context context, final int appWidgetId) {
if (OsUtil.hasRequiredPermissions()) {
SafeAsyncTask.executeOnThreadPool(() -> rebuildWidget(context, appWidgetId));
Executors.newSingleThreadExecutor().execute(() -> rebuildWidget(context, appWidgetId));
} else {
AppWidgetManager.getInstance(context).updateAppWidget(appWidgetId,
UiUtils.getWidgetMissingPermissionView(context));
@@ -36,9 +36,10 @@ import com.android.messaging.ui.UIIntents;
import com.android.messaging.ui.WidgetPickConversationActivity;
import com.android.messaging.util.LogUtil;
import com.android.messaging.util.OsUtil;
import com.android.messaging.util.SafeAsyncTask;
import com.android.messaging.util.UiUtils;
import java.util.concurrent.Executors;
public class WidgetConversationProvider extends BaseWidgetProvider {
public static final String ACTION_NOTIFY_MESSAGES_CHANGED =
"com.android.Bugle.intent.action.ACTION_NOTIFY_MESSAGES_CHANGED";
@@ -149,7 +150,8 @@ public class WidgetConversationProvider extends BaseWidgetProvider {
// widget dependent on ConversationListItemData. However, we have to update
// the widget regardless, even with those missing pieces. Here we update the
// widget again in the background.
SafeAsyncTask.executeOnThreadPool(() -> rebuildWidget(context, appWidgetId));
Executors.newSingleThreadExecutor().execute(() ->
rebuildWidget(context, appWidgetId));
}
}