导航菜单

页面标题

页面副标题

Tasker v6.5.11 - MyContentProvider.java 源代码

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

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


package net.dinglisch.android.taskerm;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.content.UriMatcher;
import android.content.res.AssetFileDescriptor;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
import com.joaomgcd.taskerm.util.ExtensionsContextKt;
import cyanogenmod.alarmclock.ClockContract;
import cyanogenmod.app.ProfileManager;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Iterator;
import net.dinglisch.android.taskerm.tn;
import net.dinglisch.android.taskerm.yd;

public class MyContentProvider extends ContentProvider {
    private static final String[] q = {ProfileManager.EXTRA_PROFILE_NAME, "project_name"};
    private static final String[] r = {ClockContract.AlarmsColumns.ENABLED, "ext_access"};
    private UriMatcher i;

    public static Uri a(File file) {
        return Uri.parse("content://net.dinglisch.android.tasker/factorycommands" + file.toString());
    }

    private boolean b() {
        Context context = getContext();
        if (context == null) {
            r7.G("CP", "open(Asset)File: can't check calling package because of null context");
            return false;
        }
        if (!yd.y.a()) {
            r7.G("CP", "open(Asset)File: can't check calling package");
        } else if (!"net.dinglisch.android.appfactory".equals(yd.y.b(this))) {
            r7.G("CP", "open(Asset)File: calling from invalid pkg");
        } else {
            if (ExtensionsContextKt.C2(context, "net.dinglisch.android.appfactory")) {
                return true;
            }
            r7.G("CP", "open(Asset)File: calling from invalid pkg signature");
        }
        return false;
    }

    private static String[] c(String[] strArr, String[] strArr2) {
        if (strArr == null) {
            return strArr2;
        }
        for (String str : strArr) {
            if (dq.v3(str, strArr2) == -1) {
                r7.G("CP", "unknown column: " + str);
                return null;
            }
        }
        return strArr;
    }

    @Override
    public int delete(Uri uri, String str, String[] strArr) {
        return 0;
    }

    @Override
    public String getType(Uri uri) {
        return null;
    }

    @Override
    public Uri insert(Uri uri, ContentValues contentValues) {
        return null;
    }

    @Override
    public boolean onCreate() {
        UriMatcher uriMatcher = new UriMatcher(-1);
        this.i = uriMatcher;
        uriMatcher.addURI("net.dinglisch.android.tasker", "tasks", 1000);
        this.i.addURI("net.dinglisch.android.tasker", "prefs", 1001);
        return false;
    }

    @Override
    public AssetFileDescriptor openAssetFile(Uri uri, String str) {
        AssetFileDescriptor assetFileDescriptor = null;
        try {
            r7.f("CP", "openAssetFile: " + uri);
            if (b()) {
                if (uri == null) {
                    r7.G("CP", "openAssetFile: null uri");
                } else {
                    String path = uri.getPath();
                    if (path == null) {
                        r7.G("CP", "openAssetFile: null path");
                    } else {
                        String replaceFirst = path.replaceFirst("/factoryimages/", "content://");
                        r7.f("CP", "openAssetFile: original uri: " + replaceFirst);
                        try {
                            assetFileDescriptor = getContext().getContentResolver().openAssetFileDescriptor(Uri.parse(replaceFirst), "r");
                        } catch (FileNotFoundException e) {
                            r7.H("CP", "openAssetFile: " + uri, e);
                        }
                    }
                }
            }
        } catch (SecurityException e2) {
            r7.H("CP", "openAssetFile", e2);
        }
        return assetFileDescriptor;
    }

    @Override
    public android.os.ParcelFileDescriptor openFile(android.net.Uri r4, java.lang.String r5) {
        throw new UnsupportedOperationException("Method not decompiled: net.dinglisch.android.taskerm.MyContentProvider.openFile(android.net.Uri, java.lang.String):android.os.ParcelFileDescriptor");
    }

    @Override
    public Cursor query(Uri uri, String[] strArr, String str, String[] strArr2, String str2) {
        r7.f("CP", "query: " + uri);
        int match = this.i.match(uri);
        if (match != 1000) {
            if (match != 1001) {
                r7.G("CP", "unhandled uri " + uri);
            } else {
                String[] c = c(strArr, r);
                if (c != null && c.length > 0) {
                    MatrixCursor matrixCursor = new MatrixCursor(c);
                    Object[] objArr = new Object[c.length];
                    for (int i = 0; i < c.length; i++) {
                        if (c[i].equals("ext_access")) {
                            objArr[i] = String.valueOf(Settings.g1(getContext()));
                        } else if (c[i].equals(ClockContract.AlarmsColumns.ENABLED)) {
                            objArr[i] = String.valueOf(MonitorService.c2(getContext()));
                        }
                    }
                    matrixCursor.addRow(objArr);
                    return matrixCursor;
                }
            }
        } else if (Settings.g1(getContext())) {
            String[] c2 = c(strArr, q);
            if (c2 != null && c2.length > 0) {
                MatrixCursor matrixCursor2 = new MatrixCursor(c2);
                uo j2 = to.j2(getContext());
                Iterator<tn> it = j2.K(-2, tn.f.Alpha).iterator();
                while (it.hasNext()) {
                    tn next = it.next();
                    Object[] objArr2 = new Object[c2.length];
                    for (int i2 = 0; i2 < c2.length; i2++) {
                        if (c2[i2].equals(ProfileManager.EXTRA_PROFILE_NAME)) {
                            objArr2[i2] = next.getName();
                        } else if (c2[i2].equals("project_name")) {
                            objArr2[i2] = j2.z(j2.H(next.P0()));
                        }
                    }
                    matrixCursor2.addRow(objArr2);
                }
                return matrixCursor2;
            }
        } else {
            r7.G("CP", "external access disabled");
        }
        return null;
    }

    @Override
    public int update(Uri uri, ContentValues contentValues, String str, String[] strArr) {
        return 0;
    }
}