iKredit v1.2.0.3版本的 MD5 值为:2c00c5c79eecbd6be4c3c546c28d778d
以下内容为反编译后的 CalendarReminderUtils.java 源代码,内容仅作参考
package com.ikreditgp.Utils;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.text.TextUtils;
import com.facebook.internal.ServerProtocol;
import com.facebook.react.uimanager.ViewProps;
import com.google.firebase.analytics.FirebaseAnalytics;
import com.j256.ormlite.field.FieldType;
import java.util.Calendar;
import java.util.TimeZone;
public class CalendarReminderUtils {
private static String CALENDARS_ACCOUNT_NAME = "ikredit@helpmail.in";
private static String CALENDARS_ACCOUNT_TYPE = "com.ikreditgoogle";
private static String CALENDARS_DISPLAY_NAME = "iKredit账户";
private static String CALENDARS_NAME = "iKreditReady";
private static String CALENDER_EVENT_URL = "content://com.android.calendar/events";
private static String CALENDER_REMINDER_URL = "content://com.android.calendar/reminders";
private static String CALENDER_URL = "content://com.android.calendar/calendars";
private static int checkAndAddCalendarAccount(Context context) {
int checkCalendarAccount = checkCalendarAccount(context);
if (checkCalendarAccount >= 0) {
return checkCalendarAccount;
}
if (addCalendarAccount(context) >= 0) {
return checkCalendarAccount(context);
}
return -1;
}
private static int checkCalendarAccount(Context context) {
Cursor query = context.getContentResolver().query(Uri.parse(CALENDER_URL), null, null, null, null);
if (query == null) {
return -1;
}
try {
if (query.getCount() <= 0) {
if (query != null) {
query.close();
}
return -1;
}
query.moveToFirst();
int i = query.getInt(query.getColumnIndex(FieldType.FOREIGN_ID_FIELD_SUFFIX));
if (query != null) {
query.close();
}
return i;
} finally {
if (query != null) {
query.close();
}
}
}
private static long addCalendarAccount(Context context) {
TimeZone timeZone = TimeZone.getDefault();
ContentValues contentValues = new ContentValues();
contentValues.put("name", CALENDARS_NAME);
contentValues.put("account_name", CALENDARS_ACCOUNT_NAME);
contentValues.put("account_type", CALENDARS_ACCOUNT_TYPE);
contentValues.put("calendar_displayName", CALENDARS_DISPLAY_NAME);
contentValues.put(ViewProps.VISIBLE, (Integer) 1);
contentValues.put("calendar_color", (Integer) (-16776961));
contentValues.put("calendar_access_level", (Integer) 700);
contentValues.put("sync_events", (Integer) 1);
contentValues.put("calendar_timezone", timeZone.getID());
contentValues.put("ownerAccount", CALENDARS_ACCOUNT_NAME);
contentValues.put("canOrganizerRespond", (Integer) 0);
Uri insert = context.getContentResolver().insert(Uri.parse(CALENDER_URL).buildUpon().appendQueryParameter("caller_is_syncadapter", ServerProtocol.DIALOG_RETURN_SCOPES_TRUE).appendQueryParameter("account_name", CALENDARS_ACCOUNT_NAME).appendQueryParameter("account_type", CALENDARS_ACCOUNT_TYPE).build(), contentValues);
if (insert == null) {
return -1L;
}
return ContentUris.parseId(insert);
}
public static void addCalendarEvent(Context context, String str, String str2, long j, int i) {
int checkAndAddCalendarAccount;
if (context != null && (checkAndAddCalendarAccount = checkAndAddCalendarAccount(context)) >= 0) {
deleteCalendarEvent(context, str);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(j);
long time = calendar.getTime().getTime();
calendar.setTimeInMillis(600000 + time);
long time2 = calendar.getTime().getTime();
ContentValues contentValues = new ContentValues();
contentValues.put("title", str);
contentValues.put("description", str2);
contentValues.put("calendar_id", Integer.valueOf(checkAndAddCalendarAccount));
contentValues.put("dtstart", Long.valueOf(time));
contentValues.put("dtend", Long.valueOf(time2));
contentValues.put("hasAlarm", (Integer) 1);
contentValues.put("eventTimezone", "Asia/Calcutta");
Uri insert = context.getContentResolver().insert(Uri.parse(CALENDER_EVENT_URL), contentValues);
if (insert == null) {
return;
}
ContentValues contentValues2 = new ContentValues();
contentValues2.put("event_id", Long.valueOf(ContentUris.parseId(insert)));
contentValues2.put("minutes", Integer.valueOf(i));
contentValues2.put(FirebaseAnalytics.Param.METHOD, (Integer) 1);
if (context.getContentResolver().insert(Uri.parse(CALENDER_REMINDER_URL), contentValues2) == null) {
}
}
}
public static void deleteCalendarEvent(Context context, String str) {
int i;
if (context == null) {
return;
}
Cursor query = context.getContentResolver().query(Uri.parse(CALENDER_EVENT_URL), null, null, null, null);
if (query == null) {
if (query != null) {
return;
} else {
return;
}
}
try {
if (query.getCount() > 0) {
query.moveToFirst();
while (!query.isAfterLast()) {
String string = query.getString(query.getColumnIndex("title"));
if (!TextUtils.isEmpty(str) && str.equals(string) && (i = query.getInt(query.getColumnIndex(FieldType.FOREIGN_ID_FIELD_SUFFIX))) >= 0) {
try {
if (context.getContentResolver().delete(ContentUris.withAppendedId(Uri.parse(CALENDER_EVENT_URL), i), null, null) == -1) {
if (query != null) {
query.close();
return;
}
return;
}
} catch (IllegalArgumentException unused) {
if (query != null) {
query.close();
return;
}
return;
}
}
query.moveToNext();
}
}
if (query != null) {
query.close();
}
} finally {
if (query != null) {
query.close();
}
}
}
}