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();
            }
        }
    }
}