导航菜单

页面标题

页面副标题

Tasker v6.6.3 - TaskerAppWidgetProvider.java 源代码

正在查看: Tasker v6.6.3 应用的 TaskerAppWidgetProvider.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package net.dinglisch.android.taskerm;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
import android.os.PowerManager;
import android.text.TextUtils;
import android.widget.RemoteViews;
import java.io.File;
import java.util.HashSet;
import java.util.Set;
import net.dinglisch.android.taskerm.on;

public class TaskerAppWidgetProvider extends AppWidgetProvider {
    private static Set<Integer> a = new HashSet();
    private static boolean b = false;

    public static synchronized void a(int i) {
        synchronized (TaskerAppWidgetProvider.class) {
            a.add(Integer.valueOf(i));
        }
    }

    public static synchronized void b(int i) {
        synchronized (TaskerAppWidgetProvider.class) {
            a.remove(Integer.valueOf(i));
        }
    }

    private boolean c(Context context, AppWidgetManager appWidgetManager, int i) {
        int[] appWidgetIds = appWidgetManager.getAppWidgetIds(new ComponentName(context.getPackageName(), getClass().getName()));
        return (appWidgetIds == null || pp.J1(i, appWidgetIds) == -1) ? false : true;
    }

    public static synchronized boolean d() {
        boolean z;
        synchronized (TaskerAppWidgetProvider.class) {
            z = b;
            b = false;
        }
        return z;
    }

    private static boolean e(Context context) {
        return ((PowerManager) gi.d(context.getApplicationContext(), "power", "TaskerAppWidgetProvider", "screenOn")).isScreenOn();
    }

    public static void f(Context context, fn fnVar, int i) {
        Intent intent = new Intent(context, (Class<?>) ExecuteService.class);
        g(context, intent, fnVar, i);
        ExecuteService.Z5(context, intent);
    }

    private static void g(Context context, Intent intent, fn fnVar, int i) {
        intent.putExtra("mcro", fnVar.X(0).c0());
        intent.setData(Uri.fromParts(TaskerAppWidgetProvider.class.getSimpleName(), Integer.toString(i), null));
    }

    public static synchronized void h() {
        synchronized (TaskerAppWidgetProvider.class) {
            b = true;
        }
    }

    private static void i(Context context, int i, on onVar) {
        AlarmManager alarmManager = (AlarmManager) gi.d(context, "alarm", "TaskerAppWidgetProvider", "setWTA");
        if (alarmManager != null) {
            Intent intent = new Intent(context, (Class<?>) TaskerAppWidgetCountdownProvider.class);
            intent.setAction("net.dinglisch.android.tasker.WIDGETY");
            intent.setData(Uri.fromParts(TaskerAppWidgetCountdownProvider.class.getSimpleName(), Integer.toString(i), null));
            PendingIntent broadcast = PendingIntent.getBroadcast(context, 0, intent, com.joaomgcd.taskerm.util.bi.m(268435456, intent));
            try {
                wo.C1(alarmManager, 0, onVar.s(context) + System.currentTimeMillis(), broadcast, wo.K1(context, e(context)), "TaskerAppWidget");
            } catch (SecurityException e) {
                o7.l("TaskerAppWidgetProvider", "set timer widget alarm", e);
                broadcast.cancel();
            }
        }
    }

    static synchronized void j(Context context, AppWidgetManager appWidgetManager, int i, fn fnVar) {
        int i2;
        File file;
        Uri uri;
        synchronized (TaskerAppWidgetProvider.class) {
            try {
                if (a.contains(Integer.valueOf(i))) {
                    return;
                }
                on y1 = fnVar.y1();
                RemoteViews remoteViews = new RemoteViews(context.getPackageName(), y1 == null ? 2131492902 : 2131492903);
                g icon = fnVar.getIcon();
                int Y = fp.Y(48);
                int i3 = -1;
                Bitmap bitmap = null;
                if (icon.h0()) {
                    file = null;
                    uri = null;
                    i2 = -1;
                    bitmap = sg.c(Y, Y);
                } else {
                    if (icon.Y() || icon.j0() || (icon.g0() && fp.e0())) {
                        i2 = -1;
                        try {
                            bitmap = icon.z(context, Y, Y, "widget/app|var|mat/" + fnVar.Z0());
                        } catch (Exception e) {
                            o7.H("TaskerAppWidgetProvider", "update (app|var)", e);
                        }
                    } else if (icon.g0()) {
                        file = null;
                        uri = null;
                        i2 = -1;
                        i3 = icon.I(context);
                    } else {
                        if (icon.f0()) {
                            uri = t5.d(icon.N(), icon.getName());
                            file = null;
                        } else if (icon.d0()) {
                            file = new File(icon.H());
                            uri = null;
                        } else if (icon.i0()) {
                            i2 = -1;
                            bitmap = sg.i(context, icon.V(), Y, Y, icon.U(), "TaskerAppWidgetProvider");
                        } else {
                            i2 = -1;
                            o7.k("TaskerAppWidgetProvider", "unhandled icon type");
                            i3 = i2;
                            file = null;
                            uri = null;
                            bitmap = null;
                        }
                        i2 = -1;
                    }
                    i3 = i2;
                    file = null;
                    uri = null;
                }
                String y = icon.y();
                if (bitmap == null) {
                    bitmap = bg.l.n(context, y, 128, 128);
                }
                if (file != null) {
                    if (file.exists()) {
                        try {
                            bitmap = icon.z(context, Y, Y, "widget/file/" + fnVar.Z0());
                        } catch (Exception e2) {
                            o7.H("TaskerAppWidgetProvider", "updateAppWidget: " + file, e2);
                        }
                        if (bitmap == null) {
                            remoteViews.setImageViewUri(2131296973, Uri.parse(file.toString()));
                        }
                    } else {
                        if (pp.c1() == null) {
                            h();
                        }
                        i3 = 2131230944;
                    }
                }
                if (uri != null) {
                    remoteViews.setImageViewUri(2131296973, uri);
                }
                if (i3 != i2) {
                    remoteViews.setImageViewResource(2131296973, i3);
                }
                if (bitmap != null) {
                    remoteViews.setImageViewBitmap(2131296973, bitmap);
                }
                String W0 = fnVar.x() ? fnVar.W0() : null;
                if (TextUtils.isEmpty(W0)) {
                    remoteViews.setViewVisibility(2131297592, 8);
                } else {
                    remoteViews.setTextViewText(2131297592, W0);
                }
                if (y1 == null) {
                    Intent intent = new Intent(context, (Class<?>) ReceiverStaticInternal.class);
                    intent.setAction("net.dinglisch.android.tasker.WIDICKYUM");
                    g(context, intent, fnVar, i);
                    PendingIntent broadcast = PendingIntent.getBroadcast(context, 0, intent, com.joaomgcd.taskerm.util.bi.m(134217728, intent));
                    if (broadcast == null) {
                        o7.k("TaskerAppWidgetProvider", "null pending intent");
                    }
                    remoteViews.setOnClickPendingIntent(2131297325, broadcast);
                } else {
                    if (y1.r()) {
                        if (y1.I()) {
                            f(context, fnVar, i);
                            if (y1.r()) {
                                on.w(context, fnVar, on.a.Reset);
                            }
                        }
                        if (y1.r()) {
                            i(context, i, y1);
                        }
                        TaskerAppWidgetConfigure.x(context, i, fnVar);
                        if (!y1.r()) {
                            on.w(context, fnVar, on.a.Stopped);
                        }
                    }
                    remoteViews.setTextViewText(2131296811, y1.d());
                    remoteViews.setTextViewText(2131296968, y1.e());
                    remoteViews.setTextViewText(2131297121, y1.j());
                    remoteViews.setTextViewText(2131297361, y1.n());
                    int i4 = y1.r() ? -866779307 : y1.q() ? -856817664 : i2;
                    remoteViews.setTextColor(2131296811, i4);
                    remoteViews.setTextColor(2131296968, i4);
                    remoteViews.setTextColor(2131297121, i4);
                    remoteViews.setTextColor(2131297361, i4);
                    Intent intent2 = new Intent(context, (Class<?>) TaskTimerConfigure.class);
                    intent2.putExtra("rid", i);
                    Intent intent3 = new Intent(intent2);
                    Uri fromParts = Uri.fromParts("TTConfigure", Integer.toString(i), null);
                    Uri fromParts2 = Uri.fromParts("TTControl", Integer.toString(i), null);
                    intent2.setData(fromParts);
                    intent3.setData(fromParts2);
                    intent2.putExtra("ltpe", 0);
                    intent3.putExtra("ltpe", 1);
                    PendingIntent activity = PendingIntent.getActivity(context, 0, intent3, com.joaomgcd.taskerm.util.bi.m(0, intent3));
                    remoteViews.setOnClickPendingIntent(2131296973, PendingIntent.getActivity(context, 0, intent2, com.joaomgcd.taskerm.util.bi.m(0, intent2)));
                    remoteViews.setOnClickPendingIntent(2131297317, activity);
                }
                if (appWidgetManager == null) {
                    o7.G("TaskerAppWidgetProvider", "updateAppWidget: null manager");
                } else {
                    appWidgetManager.updateAppWidget(i, remoteViews);
                }
            } catch (Throwable th2) {
                throw th2;
            }
        }
    }

    @Override
    public void onDeleted(Context context, int[] iArr) {
        for (int i : iArr) {
            TaskerAppWidgetConfigure.r(context, i);
        }
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        Uri data;
        String action = intent.getAction();
        Bundle extras = intent.getExtras();
        if ("android.appwidget.action.APPWIDGET_DELETED".equals(action)) {
            int i = extras.getInt("appWidgetId", 0);
            if (i != 0) {
                onDeleted(context, new int[]{i});
                return;
            }
            return;
        }
        if (!"net.dinglisch.android.tasker.WIDGETY".equals(action)) {
            super.onReceive(context, intent);
            return;
        }
        AppWidgetManager k = TaskerAppWidgetConfigure.k(context);
        if (k == null || (data = intent.getData()) == null) {
            return;
        }
        int intValue = pp.E3(data.getSchemeSpecificPart()).intValue();
        int[] iArr = {intValue};
        if (c(context, k, intValue)) {
            onUpdate(context, k, iArr);
            return;
        }
        o7.f("TaskerAppWidgetProvider", "widget_update: deleting widget with unknown ID " + intValue);
        onDeleted(context, iArr);
    }

    @Override
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] iArr) {
        for (int i : iArr) {
            fn j = TaskerAppWidgetConfigure.j(context, i);
            if (j != null) {
                j(context, appWidgetManager, i, j);
            }
        }
    }
}