diff --git a/app/src/main/java/com/simplemobiletools/calendar/Config.java b/app/src/main/java/com/simplemobiletools/calendar/Config.java deleted file mode 100644 index c7827ee30..000000000 --- a/app/src/main/java/com/simplemobiletools/calendar/Config.java +++ /dev/null @@ -1,80 +0,0 @@ -package com.simplemobiletools.calendar; - -import android.content.Context; -import android.content.SharedPreferences; - -import java.util.Locale; - -public class Config { - private SharedPreferences mPrefs; - - public static Config newInstance(Context context) { - return new Config(context); - } - - public Config(Context context) { - mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE); - } - - public boolean getIsFirstRun() { - return mPrefs.getBoolean(Constants.IS_FIRST_RUN, true); - } - - public void setIsFirstRun(boolean firstRun) { - mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply(); - } - - public boolean getIsDarkTheme() { - return mPrefs.getBoolean(Constants.IS_DARK_THEME, false); - } - - public void setIsDarkTheme(boolean isDarkTheme) { - mPrefs.edit().putBoolean(Constants.IS_DARK_THEME, isDarkTheme).apply(); - } - - public boolean getIsSundayFirst() { - boolean isSundayFirst = java.util.Calendar.getInstance(Locale.getDefault()).getFirstDayOfWeek() == java.util.Calendar.SUNDAY; - return mPrefs.getBoolean(Constants.SUNDAY_FIRST, isSundayFirst); - } - - public void setIsSundayFirst(boolean sundayFirst) { - mPrefs.edit().putBoolean(Constants.SUNDAY_FIRST, sundayFirst).apply(); - } - - public boolean getDisplayWeekNumbers() { - return mPrefs.getBoolean(Constants.WEEK_NUMBERS, false); - } - - public void setDisplayWeekNumbers(boolean displayWeekNumbers) { - mPrefs.edit().putBoolean(Constants.WEEK_NUMBERS, displayWeekNumbers).apply(); - } - - public int getStoredView() { - return mPrefs.getInt(Constants.VIEW, Constants.MONTHLY_VIEW); - } - - public void setStoredView(int view) { - mPrefs.edit().putInt(Constants.VIEW, view).apply(); - } - - public int getDefaultReminderType() { - return mPrefs.getInt(Constants.REMINDER_TYPE, Constants.REMINDER_AT_START); - } - - public void setDefaultReminderType(int type) { - if (type == Constants.REMINDER_CUSTOM && getDefaultReminderMinutes() == 0) - type = Constants.REMINDER_AT_START; - - mPrefs.edit().putInt(Constants.REMINDER_TYPE, type).apply(); - } - - public int getDefaultReminderMinutes() { - return mPrefs.getInt(Constants.REMINDER_MINUTES, 10); - } - - public void setDefaultReminderMinutes(int mins) { - if (mins == 0) - setDefaultReminderType(Constants.REMINDER_AT_START); - mPrefs.edit().putInt(Constants.REMINDER_MINUTES, mins).apply(); - } -} diff --git a/app/src/main/java/com/simplemobiletools/calendar/MyWidgetProvider.java b/app/src/main/java/com/simplemobiletools/calendar/MyWidgetProvider.java index 0ecf70fa9..3bc39dfab 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/MyWidgetProvider.java +++ b/app/src/main/java/com/simplemobiletools/calendar/MyWidgetProvider.java @@ -130,7 +130,7 @@ public class MyWidgetProvider extends AppWidgetProvider implements MonthlyCalend } public void updateDays(List days) { - final boolean displayWeekNumbers = Config.newInstance(mContext).getDisplayWeekNumbers(); + final boolean displayWeekNumbers = Config.Companion.newInstance(mContext).getDisplayWeekNumbers(); final int len = days.size(); final String packageName = mContext.getPackageName(); mRemoteViews.setInt(R.id.week_num, "setTextColor", mWeakTextColor); @@ -193,7 +193,7 @@ public class MyWidgetProvider extends AppWidgetProvider implements MonthlyCalend } private void updateLabelColor() { - final boolean mSundayFirst = Config.newInstance(mContext).getIsSundayFirst(); + final boolean mSundayFirst = Config.Companion.newInstance(mContext).isSundayFirst(); final String packageName = mContext.getPackageName(); int letters[] = Utils.getLetterIDs(); for (int i = 0; i < 7; i++) { diff --git a/app/src/main/java/com/simplemobiletools/calendar/activities/AboutActivity.java b/app/src/main/java/com/simplemobiletools/calendar/activities/AboutActivity.java index 4a94259fe..30f902cc7 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/activities/AboutActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/AboutActivity.java @@ -54,7 +54,7 @@ public class AboutActivity extends SimpleActivity { } private void setupRateUs() { - if (mConfig.getIsFirstRun()) { + if (mConfig.isFirstRun()) { mRateUs.setVisibility(View.GONE); } } diff --git a/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java b/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java index be26561fb..0de43838c 100644 --- a/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java +++ b/app/src/main/java/com/simplemobiletools/calendar/activities/WidgetConfigureActivity.java @@ -186,7 +186,7 @@ public class WidgetConfigureActivity extends AppCompatActivity implements Monthl private void updateDays() { final int len = mDays.size(); - if (Config.newInstance(getApplicationContext()).getDisplayWeekNumbers()) { + if (Config.Companion.newInstance(getApplicationContext()).getDisplayWeekNumbers()) { final TextView weekNum = (TextView) findViewById(R.id.week_num); weekNum.setTextColor(mWeakTextColor); weekNum.setVisibility(View.VISIBLE); diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/Config.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/Config.kt new file mode 100644 index 000000000..9e7d59843 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/Config.kt @@ -0,0 +1,58 @@ +package com.simplemobiletools.calendar + +import android.content.Context +import android.content.SharedPreferences +import java.util.* + +class Config(context: Context) { + private val mPrefs: SharedPreferences + + companion object { + fun newInstance(context: Context) = Config(context) + } + + init { + mPrefs = context.getSharedPreferences(Constants.PREFS_KEY, Context.MODE_PRIVATE) + } + + var isFirstRun: Boolean + get() = mPrefs.getBoolean(Constants.IS_FIRST_RUN, true) + set(firstRun) = mPrefs.edit().putBoolean(Constants.IS_FIRST_RUN, firstRun).apply() + + var isDarkTheme: Boolean + get() = mPrefs.getBoolean(Constants.IS_DARK_THEME, false) + set(isDarkTheme) = mPrefs.edit().putBoolean(Constants.IS_DARK_THEME, isDarkTheme).apply() + + var isSundayFirst: Boolean + get() { + val isSundayFirst = java.util.Calendar.getInstance(Locale.getDefault()).firstDayOfWeek == java.util.Calendar.SUNDAY + return mPrefs.getBoolean(Constants.SUNDAY_FIRST, isSundayFirst) + } + set(sundayFirst) = mPrefs.edit().putBoolean(Constants.SUNDAY_FIRST, sundayFirst).apply() + + var displayWeekNumbers: Boolean + get() = mPrefs.getBoolean(Constants.WEEK_NUMBERS, false) + set(displayWeekNumbers) = mPrefs.edit().putBoolean(Constants.WEEK_NUMBERS, displayWeekNumbers).apply() + + var storedView: Int + get() = mPrefs.getInt(Constants.VIEW, Constants.MONTHLY_VIEW) + set(view) = mPrefs.edit().putInt(Constants.VIEW, view).apply() + + var defaultReminderType: Int + get() = mPrefs.getInt(Constants.REMINDER_TYPE, Constants.REMINDER_AT_START) + set(type) { + var newType = type + if (newType == Constants.REMINDER_CUSTOM && defaultReminderMinutes == 0) + newType = Constants.REMINDER_AT_START + + mPrefs.edit().putInt(Constants.REMINDER_TYPE, newType).apply() + } + + var defaultReminderMinutes: Int + get() = mPrefs.getInt(Constants.REMINDER_MINUTES, 10) + set(mins) { + if (mins == 0) + defaultReminderType = Constants.REMINDER_AT_START + mPrefs.edit().putInt(Constants.REMINDER_MINUTES, mins).apply() + } +}