正在查看: Tasker v6.5.11 应用的 MyContentProvider.java JAVA 源代码文件
本页面展示 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;
}
}