Move Appearance settings to db
This commit is contained in:
parent
972f0af82b
commit
e1fd8ef89f
|
@ -10,6 +10,7 @@ import java.util.Locale;
|
|||
import java.util.concurrent.Executor;
|
||||
import org.mian.gitnex.R;
|
||||
import org.mian.gitnex.core.MainApplication;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.TimeHelper;
|
||||
import org.mian.gitnex.helpers.TinyDB;
|
||||
|
@ -34,7 +35,10 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||
this.appCtx = getApplicationContext();
|
||||
this.tinyDB = TinyDB.getInstance(appCtx);
|
||||
|
||||
switch (tinyDB.getInt("themeId", 6)) {
|
||||
AppDatabaseSettings.initDefaultSettings(ctx);
|
||||
|
||||
switch (Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(ctx, AppDatabaseSettings.APP_THEME_KEY))) {
|
||||
case 0:
|
||||
setTheme(R.style.AppTheme);
|
||||
break;
|
||||
|
@ -43,10 +47,18 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||
break;
|
||||
case 2:
|
||||
if (TimeHelper.timeBetweenHours(
|
||||
tinyDB.getInt("darkThemeTimeHour", 18),
|
||||
tinyDB.getInt("lightThemeTimeHour", 6),
|
||||
tinyDB.getInt("darkThemeTimeMinute", 0),
|
||||
tinyDB.getInt("lightThemeTimeMinute", 0))) {
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_HOUR_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_HOUR_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_MIN_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_MIN_KEY)))) {
|
||||
|
||||
setTheme(R.style.AppTheme);
|
||||
} else {
|
||||
|
@ -59,10 +71,18 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||
break;
|
||||
case 4:
|
||||
if (TimeHelper.timeBetweenHours(
|
||||
tinyDB.getInt("darkThemeTimeHour", 18),
|
||||
tinyDB.getInt("lightThemeTimeHour", 6),
|
||||
tinyDB.getInt("darkThemeTimeMinute", 0),
|
||||
tinyDB.getInt("lightThemeTimeMinute", 0))) {
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_HOUR_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_HOUR_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_MIN_KEY)),
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_MIN_KEY)))) {
|
||||
|
||||
setTheme(R.style.AppTheme);
|
||||
} else {
|
||||
|
@ -87,11 +107,14 @@ public abstract class BaseActivity extends AppCompatActivity {
|
|||
break;
|
||||
}
|
||||
|
||||
String locale = tinyDB.getString("locale");
|
||||
if (locale.isEmpty()) {
|
||||
String[] locale =
|
||||
AppDatabaseSettings.getSettingsValue(ctx, AppDatabaseSettings.APP_LOCALE_KEY)
|
||||
.split("\\|");
|
||||
|
||||
if (locale[0].equals("0")) {
|
||||
AppUtil.setAppLocale(getResources(), Locale.getDefault().getLanguage());
|
||||
} else {
|
||||
AppUtil.setAppLocale(getResources(), locale);
|
||||
AppUtil.setAppLocale(getResources(), locale[1]);
|
||||
}
|
||||
|
||||
Notifications.startWorker(ctx);
|
||||
|
|
|
@ -28,6 +28,7 @@ import org.mian.gitnex.fragments.OrganizationLabelsFragment;
|
|||
import org.mian.gitnex.fragments.OrganizationMembersFragment;
|
||||
import org.mian.gitnex.fragments.OrganizationRepositoriesFragment;
|
||||
import org.mian.gitnex.fragments.OrganizationTeamsFragment;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
import org.mian.gitnex.structs.BottomSheetListener;
|
||||
|
@ -129,7 +130,10 @@ public class OrganizationDetailActivity extends BaseActivity implements BottomSh
|
|||
viewPager.setAdapter(new OrganizationDetailActivity.ViewPagerAdapter(this));
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
viewPager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
viewPager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
List<String> tabsList = new ArrayList<>();
|
||||
tabsList.add(getResources().getString(R.string.tabTextInfo));
|
||||
|
|
|
@ -14,6 +14,7 @@ import org.mian.gitnex.databinding.ActivityOrgTeamInfoBinding;
|
|||
import org.mian.gitnex.fragments.OrganizationTeamInfoMembersFragment;
|
||||
import org.mian.gitnex.fragments.OrganizationTeamInfoPermissionsFragment;
|
||||
import org.mian.gitnex.fragments.OrganizationTeamInfoReposFragment;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
|
||||
/**
|
||||
|
@ -37,6 +38,7 @@ public class OrganizationTeamInfoActivity extends BaseActivity {
|
|||
|
||||
team = (Team) getIntent().getSerializableExtra("team");
|
||||
|
||||
assert team != null;
|
||||
if (team.getName() != null && !team.getName().isEmpty()) {
|
||||
binding.toolbarTitle.setText(team.getName());
|
||||
} else {
|
||||
|
@ -68,7 +70,10 @@ public class OrganizationTeamInfoActivity extends BaseActivity {
|
|||
});
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
binding.pager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
binding.pager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
new TabLayoutMediator(
|
||||
binding.tabs,
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.mian.gitnex.fragments.profile.FollowingFragment;
|
|||
import org.mian.gitnex.fragments.profile.OrganizationsFragment;
|
||||
import org.mian.gitnex.fragments.profile.RepositoriesFragment;
|
||||
import org.mian.gitnex.fragments.profile.StarredRepositoriesFragment;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.Toasty;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
|
@ -76,7 +77,10 @@ public class ProfileActivity extends BaseActivity implements BottomSheetListener
|
|||
viewPager.setAdapter(new ViewPagerAdapter(this));
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
viewPager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
viewPager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
String[] tabTitles = {
|
||||
ctx.getResources().getString(R.string.tabTextInfo),
|
||||
|
|
|
@ -50,6 +50,7 @@ import org.mian.gitnex.fragments.PullRequestsFragment;
|
|||
import org.mian.gitnex.fragments.ReleasesFragment;
|
||||
import org.mian.gitnex.fragments.RepoInfoFragment;
|
||||
import org.mian.gitnex.fragments.WikiFragment;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.Toasty;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
|
@ -539,7 +540,10 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe
|
|||
viewPager.setAdapter(new ViewPagerAdapter(this));
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
viewPager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
viewPager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
String[] tabTitles = {
|
||||
ctx.getResources().getString(R.string.tabTextInfo),
|
||||
|
@ -578,7 +582,8 @@ public class RepoDetailActivity extends BaseActivity implements BottomSheetListe
|
|||
}
|
||||
}
|
||||
|
||||
if (tinyDB.getBoolean("enableCounterBadges", true)) {
|
||||
if (Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(ctx, AppDatabaseSettings.APP_COUNTER_KEY))) {
|
||||
@SuppressLint("InflateParams")
|
||||
View tabHeader2 = LayoutInflater.from(ctx).inflate(R.layout.badge_issue, null);
|
||||
if (textViewBadgeIssue == null) {
|
||||
|
|
|
@ -2,6 +2,7 @@ package org.mian.gitnex.activities;
|
|||
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.view.View;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.timepicker.MaterialTimePicker;
|
||||
|
@ -10,10 +11,10 @@ import java.util.Locale;
|
|||
import org.mian.gitnex.R;
|
||||
import org.mian.gitnex.databinding.ActivitySettingsAppearanceBinding;
|
||||
import org.mian.gitnex.fragments.SettingsFragment;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.FontsOverride;
|
||||
import org.mian.gitnex.helpers.SnackBar;
|
||||
import org.mian.gitnex.helpers.TinyDB;
|
||||
|
||||
/**
|
||||
* @author M M Arif
|
||||
|
@ -21,12 +22,12 @@ import org.mian.gitnex.helpers.TinyDB;
|
|||
public class SettingsAppearanceActivity extends BaseActivity {
|
||||
|
||||
private static String[] customFontList;
|
||||
private static int customFontSelectedChoice = 0;
|
||||
private static int customFontSelectedChoice;
|
||||
private static String[] themeList;
|
||||
private static int themeSelectedChoice = 0;
|
||||
private static int langSelectedChoice = 0;
|
||||
private static int themeSelectedChoice;
|
||||
private static int langSelectedChoice;
|
||||
private static String[] fragmentTabsAnimationList;
|
||||
private static int fragmentTabsAnimationSelectedChoice = 0;
|
||||
private static int fragmentTabsAnimationSelectedChoice;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
|
@ -38,7 +39,7 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
setContentView(activitySettingsAppearanceBinding.getRoot());
|
||||
|
||||
LinkedHashMap<String, String> lang = new LinkedHashMap<>();
|
||||
lang.put("", getString(R.string.settingsLanguageSystem));
|
||||
lang.put("sys", getString(R.string.settingsLanguageSystem));
|
||||
for (String langCode : getResources().getStringArray(R.array.languages)) {
|
||||
lang.put(langCode, getLanguageDisplayName(langCode));
|
||||
}
|
||||
|
@ -55,8 +56,14 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
|
||||
activitySettingsAppearanceBinding.topAppBar.setNavigationOnClickListener(v -> finish());
|
||||
|
||||
String lightMinute = String.valueOf(tinyDB.getInt("lightThemeTimeMinute"));
|
||||
String lightHour = String.valueOf(tinyDB.getInt("lightThemeTimeHour"));
|
||||
String lightMinute =
|
||||
String.valueOf(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_MIN_KEY));
|
||||
String lightHour =
|
||||
String.valueOf(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_HOUR_KEY));
|
||||
if (lightMinute.length() == 1) {
|
||||
lightMinute = "0" + lightMinute;
|
||||
}
|
||||
|
@ -64,8 +71,14 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
lightHour = "0" + lightHour;
|
||||
}
|
||||
|
||||
String darkMinute = String.valueOf(tinyDB.getInt("darkThemeTimeMinute"));
|
||||
String darkHour = String.valueOf(tinyDB.getInt("darkThemeTimeHour"));
|
||||
String darkMinute =
|
||||
String.valueOf(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_MIN_KEY));
|
||||
String darkHour =
|
||||
String.valueOf(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_HOUR_KEY));
|
||||
if (darkMinute.length() == 1) {
|
||||
darkMinute = "0" + darkMinute;
|
||||
}
|
||||
|
@ -73,9 +86,18 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
darkHour = "0" + darkHour;
|
||||
}
|
||||
|
||||
fragmentTabsAnimationSelectedChoice = tinyDB.getInt("fragmentTabsAnimationId", 0);
|
||||
customFontSelectedChoice = tinyDB.getInt("customFontId", 1);
|
||||
themeSelectedChoice = tinyDB.getInt("themeId", 6); // use system theme as default
|
||||
fragmentTabsAnimationSelectedChoice =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY));
|
||||
customFontSelectedChoice =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_FONT_KEY));
|
||||
themeSelectedChoice =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_KEY));
|
||||
|
||||
activitySettingsAppearanceBinding.lightThemeSelectedTime.setText(
|
||||
ctx.getResources()
|
||||
|
@ -100,12 +122,15 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
}
|
||||
|
||||
activitySettingsAppearanceBinding.switchCounterBadge.setChecked(
|
||||
tinyDB.getBoolean("enableCounterBadges", true));
|
||||
Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_COUNTER_KEY)));
|
||||
|
||||
// counter badge switcher
|
||||
activitySettingsAppearanceBinding.switchCounterBadge.setOnCheckedChangeListener(
|
||||
(buttonView, isChecked) -> {
|
||||
tinyDB.putBoolean("enableCounterBadges", isChecked);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx, String.valueOf(isChecked), AppDatabaseSettings.APP_COUNTER_KEY);
|
||||
SnackBar.success(
|
||||
ctx,
|
||||
findViewById(android.R.id.content),
|
||||
|
@ -118,11 +143,16 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
|
||||
// show labels in lists(issues, pr) - default is color dots
|
||||
activitySettingsAppearanceBinding.switchLabelsInListBadge.setChecked(
|
||||
tinyDB.getBoolean("showLabelsInList", false));
|
||||
Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_LABELS_IN_LIST_KEY)));
|
||||
|
||||
activitySettingsAppearanceBinding.switchLabelsInListBadge.setOnCheckedChangeListener(
|
||||
(buttonView, isChecked) -> {
|
||||
tinyDB.putBoolean("showLabelsInList", isChecked);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(isChecked),
|
||||
AppDatabaseSettings.APP_LABELS_IN_LIST_KEY);
|
||||
SnackBar.success(
|
||||
ctx,
|
||||
findViewById(android.R.id.content),
|
||||
|
@ -147,7 +177,10 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
themeSelectedChoice = i;
|
||||
activitySettingsAppearanceBinding.themeSelected
|
||||
.setText(themeList[i]);
|
||||
tinyDB.putInt("themeId", i);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(i),
|
||||
AppDatabaseSettings.APP_THEME_KEY);
|
||||
|
||||
SettingsFragment.refreshParent = true;
|
||||
this.recreate();
|
||||
|
@ -182,13 +215,26 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
customFontSelectedChoice = i;
|
||||
activitySettingsAppearanceBinding.customFontSelected
|
||||
.setText(customFontList[i]);
|
||||
tinyDB.putInt("customFontId", i);
|
||||
AppUtil.typeface = null; // reset typeface
|
||||
FontsOverride.setDefaultFont(this);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(i),
|
||||
AppDatabaseSettings.APP_FONT_KEY);
|
||||
|
||||
new Handler()
|
||||
.postDelayed(
|
||||
() -> {
|
||||
AppUtil.typeface =
|
||||
null; // reset typeface
|
||||
FontsOverride.setDefaultFont(
|
||||
this);
|
||||
SettingsFragment.refreshParent =
|
||||
true;
|
||||
this.recreate();
|
||||
this.overridePendingTransition(
|
||||
0, 0);
|
||||
},
|
||||
1000);
|
||||
|
||||
SettingsFragment.refreshParent = true;
|
||||
this.recreate();
|
||||
this.overridePendingTransition(0, 0);
|
||||
dialogInterfaceCustomFont.dismiss();
|
||||
SnackBar.success(
|
||||
ctx,
|
||||
|
@ -209,19 +255,20 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
.setSingleChoiceItems(
|
||||
fragmentTabsAnimationList,
|
||||
fragmentTabsAnimationSelectedChoice,
|
||||
(dialogInterfaceCustomFont, i) -> {
|
||||
(dialogInterfaceTabsAnimation, i) -> {
|
||||
fragmentTabsAnimationSelectedChoice = i;
|
||||
activitySettingsAppearanceBinding
|
||||
.fragmentTabsAnimationFrameSelected.setText(
|
||||
fragmentTabsAnimationList[i]);
|
||||
tinyDB.putInt("fragmentTabsAnimationId", i);
|
||||
AppUtil.typeface = null; // reset typeface
|
||||
FontsOverride.setDefaultFont(this);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(i),
|
||||
AppDatabaseSettings.APP_TABS_ANIMATION_KEY);
|
||||
|
||||
SettingsFragment.refreshParent = true;
|
||||
this.recreate();
|
||||
this.overridePendingTransition(0, 0);
|
||||
dialogInterfaceCustomFont.dismiss();
|
||||
dialogInterfaceTabsAnimation.dismiss();
|
||||
SnackBar.success(
|
||||
ctx,
|
||||
findViewById(android.R.id.content),
|
||||
|
@ -237,7 +284,10 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
AppUtil.openUrlInBrowser(
|
||||
this, getResources().getString(R.string.crowdInLink)));
|
||||
|
||||
langSelectedChoice = tinyDB.getInt("langId");
|
||||
String[] locale =
|
||||
AppDatabaseSettings.getSettingsValue(ctx, AppDatabaseSettings.APP_LOCALE_KEY)
|
||||
.split("\\|");
|
||||
langSelectedChoice = Integer.parseInt(locale[0]);
|
||||
activitySettingsAppearanceBinding.tvLanguageSelected.setText(
|
||||
lang.get(lang.keySet().toArray(new String[0])[langSelectedChoice]));
|
||||
|
||||
|
@ -255,8 +305,10 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
(dialogInterface, i) -> {
|
||||
String selectedLanguage =
|
||||
lang.keySet().toArray(new String[0])[i];
|
||||
tinyDB.putInt("langId", i);
|
||||
tinyDB.putString("locale", selectedLanguage);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
i + "|" + selectedLanguage,
|
||||
AppDatabaseSettings.APP_LOCALE_KEY);
|
||||
|
||||
SettingsFragment.refreshParent = true;
|
||||
this.overridePendingTransition(0, 0);
|
||||
|
@ -274,18 +326,28 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
|
||||
public void lightTimePicker() {
|
||||
|
||||
TinyDB db = TinyDB.getInstance(ctx);
|
||||
|
||||
int hour = db.getInt("lightThemeTimeHour");
|
||||
int minute = db.getInt("lightThemeTimeMinute");
|
||||
int hour =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_HOUR_KEY));
|
||||
int minute =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_LIGHT_MIN_KEY));
|
||||
|
||||
MaterialTimePicker materialTimePicker =
|
||||
new MaterialTimePicker.Builder().setHour(hour).setMinute(minute).build();
|
||||
|
||||
materialTimePicker.addOnPositiveButtonClickListener(
|
||||
selection -> {
|
||||
db.putInt("lightThemeTimeHour", materialTimePicker.getHour());
|
||||
db.putInt("lightThemeTimeMinute", materialTimePicker.getMinute());
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(materialTimePicker.getHour()),
|
||||
AppDatabaseSettings.APP_THEME_AUTO_LIGHT_HOUR_KEY);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(materialTimePicker.getMinute()),
|
||||
AppDatabaseSettings.APP_THEME_AUTO_LIGHT_MIN_KEY);
|
||||
SettingsFragment.refreshParent = true;
|
||||
overridePendingTransition(0, 0);
|
||||
SnackBar.success(
|
||||
|
@ -300,18 +362,28 @@ public class SettingsAppearanceActivity extends BaseActivity {
|
|||
|
||||
public void darkTimePicker() {
|
||||
|
||||
TinyDB db = TinyDB.getInstance(ctx);
|
||||
|
||||
int hour = db.getInt("darkThemeTimeHour");
|
||||
int minute = db.getInt("darkThemeTimeMinute");
|
||||
int hour =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_HOUR_KEY));
|
||||
int minute =
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_THEME_AUTO_DARK_MIN_KEY));
|
||||
|
||||
MaterialTimePicker materialTimePicker =
|
||||
new MaterialTimePicker.Builder().setHour(hour).setMinute(minute).build();
|
||||
|
||||
materialTimePicker.addOnPositiveButtonClickListener(
|
||||
selection -> {
|
||||
db.putInt("darkThemeTimeHour", materialTimePicker.getHour());
|
||||
db.putInt("darkThemeTimeMinute", materialTimePicker.getMinute());
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(materialTimePicker.getHour()),
|
||||
AppDatabaseSettings.APP_THEME_AUTO_DARK_HOUR_KEY);
|
||||
AppDatabaseSettings.updateSettingsValue(
|
||||
ctx,
|
||||
String.valueOf(materialTimePicker.getMinute()),
|
||||
AppDatabaseSettings.APP_THEME_AUTO_DARK_MIN_KEY);
|
||||
SettingsFragment.refreshParent = true;
|
||||
overridePendingTransition(0, 0);
|
||||
SnackBar.success(
|
||||
|
|
|
@ -27,6 +27,7 @@ import org.mian.gitnex.R;
|
|||
import org.mian.gitnex.activities.IssueDetailActivity;
|
||||
import org.mian.gitnex.activities.ProfileActivity;
|
||||
import org.mian.gitnex.clients.PicassoService;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.ClickListener;
|
||||
import org.mian.gitnex.helpers.ColorInverter;
|
||||
|
@ -239,7 +240,9 @@ public class ExploreIssuesAdapter extends RecyclerView.Adapter<RecyclerView.View
|
|||
|
||||
if (issue.getLabels() != null) {
|
||||
|
||||
if (!tinyDb.getBoolean("showLabelsInList", false)) { // default
|
||||
if (!Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
context, AppDatabaseSettings.APP_LABELS_IN_LIST_KEY))) {
|
||||
|
||||
labelsScrollViewWithText.setVisibility(View.GONE);
|
||||
labelsScrollViewDots.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.mian.gitnex.activities.IssueDetailActivity;
|
|||
import org.mian.gitnex.activities.ProfileActivity;
|
||||
import org.mian.gitnex.activities.RepoDetailActivity;
|
||||
import org.mian.gitnex.clients.PicassoService;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.ClickListener;
|
||||
import org.mian.gitnex.helpers.ColorInverter;
|
||||
|
@ -212,7 +213,9 @@ public class IssuesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
|
|||
|
||||
if (issue.getLabels() != null) {
|
||||
|
||||
if (!tinyDb.getBoolean("showLabelsInList", false)) { // default
|
||||
if (!Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
context, AppDatabaseSettings.APP_LABELS_IN_LIST_KEY))) {
|
||||
|
||||
labelsScrollViewWithText.setVisibility(View.GONE);
|
||||
labelsScrollViewDots.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -31,6 +31,7 @@ import org.mian.gitnex.activities.IssueDetailActivity;
|
|||
import org.mian.gitnex.activities.ProfileActivity;
|
||||
import org.mian.gitnex.activities.RepoDetailActivity;
|
||||
import org.mian.gitnex.clients.PicassoService;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.ClickListener;
|
||||
import org.mian.gitnex.helpers.ColorInverter;
|
||||
|
@ -206,7 +207,9 @@ public class PullRequestsAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
|
|||
|
||||
if (pullRequest.getLabels() != null) {
|
||||
|
||||
if (!tinyDb.getBoolean("showLabelsInList", false)) { // default
|
||||
if (!Boolean.parseBoolean(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
context, AppDatabaseSettings.APP_LABELS_IN_LIST_KEY))) {
|
||||
|
||||
labelsScrollViewWithText.setVisibility(View.GONE);
|
||||
labelsScrollViewDots.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -14,9 +14,9 @@ public class AppSettings implements Serializable {
|
|||
@PrimaryKey(autoGenerate = true)
|
||||
private int settingId;
|
||||
|
||||
@Nullable private String settingKey;
|
||||
private String settingKey;
|
||||
private String settingValue;
|
||||
private String settingDefault;
|
||||
@Nullable private String settingDefault;
|
||||
|
||||
public int getSettingId() {
|
||||
return settingId;
|
||||
|
|
|
@ -17,8 +17,8 @@ import com.google.android.material.tabs.TabLayoutMediator;
|
|||
import org.mian.gitnex.R;
|
||||
import org.mian.gitnex.activities.BaseActivity;
|
||||
import org.mian.gitnex.activities.MainActivity;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.TinyDB;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
import org.mian.gitnex.helpers.contexts.AccountContext;
|
||||
|
||||
|
@ -31,7 +31,6 @@ public class AccountSettingsFragment extends Fragment {
|
|||
private Context ctx;
|
||||
private View view;
|
||||
private Typeface myTypeface;
|
||||
private TinyDB tinyDB;
|
||||
|
||||
@Nullable @Override
|
||||
public View onCreateView(
|
||||
|
@ -40,7 +39,6 @@ public class AccountSettingsFragment extends Fragment {
|
|||
@Nullable Bundle savedInstanceState) {
|
||||
|
||||
ctx = getContext();
|
||||
tinyDB = TinyDB.getInstance(ctx);
|
||||
|
||||
view = inflater.inflate(R.layout.fragment_account_settings, container, false);
|
||||
setHasOptionsMenu(false);
|
||||
|
@ -76,7 +74,10 @@ public class AccountSettingsFragment extends Fragment {
|
|||
viewPager.setAdapter(new ViewPagerAdapter(this));
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
viewPager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
viewPager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
String[] tabTitles = {
|
||||
ctx.getResources().getString(R.string.accountEmails),
|
||||
|
|
|
@ -16,6 +16,7 @@ import com.google.android.material.tabs.TabLayout;
|
|||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import org.mian.gitnex.R;
|
||||
import org.mian.gitnex.activities.MainActivity;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.AppUtil;
|
||||
import org.mian.gitnex.helpers.TinyDB;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
|
@ -49,7 +50,10 @@ public class ExploreFragment extends Fragment {
|
|||
viewPager.setAdapter(new ViewPagerAdapter(this));
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
viewPager, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
viewPager,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
ctx, AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
String[] tabTitles = {
|
||||
getResources().getString(R.string.navRepos),
|
||||
|
|
|
@ -10,7 +10,7 @@ import androidx.viewpager2.adapter.FragmentStateAdapter;
|
|||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
import org.mian.gitnex.R;
|
||||
import org.mian.gitnex.databinding.FragmentPrChangesBinding;
|
||||
import org.mian.gitnex.helpers.TinyDB;
|
||||
import org.mian.gitnex.helpers.AppDatabaseSettings;
|
||||
import org.mian.gitnex.helpers.ViewPager2Transformers;
|
||||
|
||||
/**
|
||||
|
@ -21,7 +21,6 @@ public class PullRequestChangesFragment extends Fragment {
|
|||
private final DiffFilesFragment diffFilesFragment = DiffFilesFragment.newInstance();
|
||||
private final PullRequestCommitsFragment pullRequestCommitsFragment =
|
||||
PullRequestCommitsFragment.newInstance();
|
||||
private FragmentPrChangesBinding binding;
|
||||
|
||||
public PullRequestChangesFragment() {}
|
||||
|
||||
|
@ -33,9 +32,8 @@ public class PullRequestChangesFragment extends Fragment {
|
|||
public View onCreateView(
|
||||
@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
|
||||
binding = FragmentPrChangesBinding.inflate(inflater, container, false);
|
||||
|
||||
TinyDB tinyDB = TinyDB.getInstance(getContext());
|
||||
FragmentPrChangesBinding binding =
|
||||
FragmentPrChangesBinding.inflate(inflater, container, false);
|
||||
|
||||
binding.close.setOnClickListener(v -> requireActivity().finish());
|
||||
|
||||
|
@ -62,7 +60,10 @@ public class PullRequestChangesFragment extends Fragment {
|
|||
new String[] {getString(R.string.tabTextFiles), getString(R.string.commits)};
|
||||
|
||||
ViewPager2Transformers.returnSelectedTransformer(
|
||||
binding.container, tinyDB.getInt("fragmentTabsAnimationId", 0));
|
||||
binding.container,
|
||||
Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
getContext(), AppDatabaseSettings.APP_TABS_ANIMATION_KEY)));
|
||||
|
||||
new TabLayoutMediator(
|
||||
binding.tabs,
|
||||
|
|
|
@ -0,0 +1,185 @@
|
|||
package org.mian.gitnex.helpers;
|
||||
|
||||
import android.content.Context;
|
||||
import org.mian.gitnex.database.api.AppSettingsApi;
|
||||
import org.mian.gitnex.database.api.BaseApi;
|
||||
import org.mian.gitnex.database.models.AppSettings;
|
||||
|
||||
/**
|
||||
* @author M M Arif
|
||||
*/
|
||||
public class AppDatabaseSettings {
|
||||
|
||||
public static String APP_THEME_KEY = "app_theme";
|
||||
public static String APP_THEME_DEFAULT = "6";
|
||||
public static String APP_THEME_AUTO_LIGHT_HOUR_KEY = "app_theme_auto_light_hour";
|
||||
public static String APP_THEME_AUTO_LIGHT_HOUR_DEFAULT = "6";
|
||||
public static String APP_THEME_AUTO_LIGHT_MIN_KEY = "app_theme_auto_light_min";
|
||||
public static String APP_THEME_AUTO_LIGHT_MIN_DEFAULT = "0";
|
||||
public static String APP_THEME_AUTO_DARK_HOUR_KEY = "app_theme_auto_dark_hour";
|
||||
public static String APP_THEME_AUTO_DARK_HOUR_DEFAULT = "18";
|
||||
public static String APP_THEME_AUTO_DARK_MIN_KEY = "app_theme_auto_dark_min";
|
||||
public static String APP_THEME_AUTO_DARK_MIN_DEFAULT = "0";
|
||||
public static String APP_FONT_KEY = "app_font";
|
||||
public static String APP_FONT_DEFAULT = "3";
|
||||
public static String APP_TABS_ANIMATION_KEY = "app_tabs_animation";
|
||||
public static String APP_TABS_ANIMATION_DEFAULT = "0";
|
||||
public static String APP_LOCALE_KEY = "app_locale";
|
||||
public static String APP_LOCALE_KEY_DEFAULT = "0|sys";
|
||||
public static String APP_COUNTER_KEY = "app_counter_badges";
|
||||
public static String APP_COUNTER_DEFAULT = "true";
|
||||
public static String APP_LABELS_IN_LIST_KEY = "app_labels_in_list";
|
||||
public static String APP_LABELS_IN_LIST_DEFAULT = "false";
|
||||
public static String APP_LINK_HANDLER_KEY = "app_link_handler";
|
||||
public static String APP_LINK_HANDLER_DEFAULT = "0";
|
||||
public static String APP_HOME_SCREEN_KEY = "app_home_screen";
|
||||
public static String APP_HOME_SCREEN_DEFAULT = "3";
|
||||
public static String APP_CUSTOM_BROWSER_KEY = "app_custom_browser_tab";
|
||||
public static String APP_CUSTOM_BROWSER_DEFAULT = "true";
|
||||
public static String APP_DRAFTS_DELETION_KEY = "app_drafts_deletion";
|
||||
public static String APP_DRAFTS_DELETION_DEFAULT = "true";
|
||||
public static String APP_CRASH_REPORTS_KEY = "app_crash_reports";
|
||||
public static String APP_CRASH_REPORTS_DEFAULT = "false";
|
||||
public static String APP_CE_SYNTAX_HIGHLIGHT_KEY = "app_ce_syntax_highlight";
|
||||
public static String APP_CE_SYNTAX_HIGHLIGHT_DEFAULT = "0";
|
||||
public static String APP_CE_INDENTATION_KEY = "app_ce_indentation";
|
||||
public static String APP_CE_INDENTATION_DEFAULT = "0";
|
||||
public static String APP_CE_TABS_WIDTH_KEY = "app_ce_tabs_width";
|
||||
public static String APP_CE_TABS_WIDTH_DEFAULT = "1";
|
||||
public static String APP_NOTIFICATIONS_KEY = "app_notifications";
|
||||
public static String APP_NOTIFICATIONS_DEFAULT = "true";
|
||||
public static String APP_NOTIFICATIONS_DELAY_KEY = "app_notifications_delay";
|
||||
public static String APP_NOTIFICATIONS_DELAY_DEFAULT = "0";
|
||||
public static String APP_BIOMETRIC_KEY = "app_biometric";
|
||||
public static String APP_BIOMETRIC_DEFAULT = "false";
|
||||
public static String APP_DATA_CACHE_KEY = "app_data_cache";
|
||||
public static String APP_DATA_CACHE_DEFAULT = "1";
|
||||
public static String APP_IMAGES_CACHE_KEY = "app_images_cache";
|
||||
public static String APP_IMAGES_CACHE_DEFAULT = "1";
|
||||
|
||||
public static void initDefaultSettings(Context ctx) {
|
||||
|
||||
AppSettingsApi appSettingsApi = BaseApi.getInstance(ctx, AppSettingsApi.class);
|
||||
assert appSettingsApi != null;
|
||||
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_THEME_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(APP_THEME_KEY, APP_THEME_DEFAULT, APP_THEME_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_THEME_AUTO_LIGHT_HOUR_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_THEME_AUTO_LIGHT_HOUR_KEY,
|
||||
APP_THEME_AUTO_LIGHT_HOUR_DEFAULT,
|
||||
APP_THEME_AUTO_LIGHT_HOUR_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_THEME_AUTO_LIGHT_MIN_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_THEME_AUTO_LIGHT_MIN_KEY,
|
||||
APP_THEME_AUTO_LIGHT_MIN_DEFAULT,
|
||||
APP_THEME_AUTO_LIGHT_MIN_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_THEME_AUTO_DARK_HOUR_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_THEME_AUTO_DARK_HOUR_KEY,
|
||||
APP_THEME_AUTO_DARK_HOUR_DEFAULT,
|
||||
APP_THEME_AUTO_DARK_HOUR_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_THEME_AUTO_DARK_MIN_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_THEME_AUTO_DARK_MIN_KEY,
|
||||
APP_THEME_AUTO_DARK_MIN_DEFAULT,
|
||||
APP_THEME_AUTO_DARK_MIN_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_FONT_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(APP_FONT_KEY, APP_FONT_DEFAULT, APP_FONT_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_TABS_ANIMATION_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_TABS_ANIMATION_KEY, APP_TABS_ANIMATION_DEFAULT, APP_TABS_ANIMATION_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_LOCALE_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_LOCALE_KEY, APP_LOCALE_KEY_DEFAULT, APP_LOCALE_KEY_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_COUNTER_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_COUNTER_KEY, APP_COUNTER_DEFAULT, APP_COUNTER_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_LABELS_IN_LIST_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_LABELS_IN_LIST_KEY, APP_LABELS_IN_LIST_DEFAULT, APP_LABELS_IN_LIST_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_LINK_HANDLER_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_LINK_HANDLER_KEY, APP_LINK_HANDLER_DEFAULT, APP_LINK_HANDLER_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_HOME_SCREEN_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_HOME_SCREEN_KEY, APP_HOME_SCREEN_DEFAULT, APP_HOME_SCREEN_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_CUSTOM_BROWSER_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_CUSTOM_BROWSER_KEY, APP_CUSTOM_BROWSER_DEFAULT, APP_CUSTOM_BROWSER_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_DRAFTS_DELETION_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_DRAFTS_DELETION_KEY,
|
||||
APP_DRAFTS_DELETION_DEFAULT,
|
||||
APP_DRAFTS_DELETION_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_CRASH_REPORTS_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_CRASH_REPORTS_KEY, APP_CRASH_REPORTS_DEFAULT, APP_CRASH_REPORTS_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_CE_SYNTAX_HIGHLIGHT_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_CE_SYNTAX_HIGHLIGHT_KEY,
|
||||
APP_CE_SYNTAX_HIGHLIGHT_DEFAULT,
|
||||
APP_CE_SYNTAX_HIGHLIGHT_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_CE_INDENTATION_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_CE_INDENTATION_KEY, APP_CE_INDENTATION_DEFAULT, APP_CE_INDENTATION_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_CE_TABS_WIDTH_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_CE_TABS_WIDTH_KEY, APP_CE_TABS_WIDTH_DEFAULT, APP_CE_TABS_WIDTH_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_NOTIFICATIONS_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_NOTIFICATIONS_KEY, APP_NOTIFICATIONS_DEFAULT, APP_NOTIFICATIONS_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_NOTIFICATIONS_DELAY_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_NOTIFICATIONS_DELAY_KEY,
|
||||
APP_NOTIFICATIONS_DELAY_DEFAULT,
|
||||
APP_NOTIFICATIONS_DELAY_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_BIOMETRIC_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_BIOMETRIC_KEY, APP_BIOMETRIC_DEFAULT, APP_BIOMETRIC_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_DATA_CACHE_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_DATA_CACHE_KEY, APP_DATA_CACHE_DEFAULT, APP_DATA_CACHE_DEFAULT);
|
||||
}
|
||||
if (appSettingsApi.fetchSettingCountByKey(APP_IMAGES_CACHE_KEY) == 0) {
|
||||
appSettingsApi.insertNewSetting(
|
||||
APP_IMAGES_CACHE_KEY, APP_IMAGES_CACHE_DEFAULT, APP_IMAGES_CACHE_DEFAULT);
|
||||
}
|
||||
}
|
||||
|
||||
public static String getSettingsValue(Context ctx, String key) {
|
||||
|
||||
AppSettingsApi appSettingsApi = BaseApi.getInstance(ctx, AppSettingsApi.class);
|
||||
assert appSettingsApi != null;
|
||||
AppSettings appSettings = appSettingsApi.fetchSettingByKey(key);
|
||||
return appSettings.getSettingValue();
|
||||
}
|
||||
|
||||
public static void updateSettingsValue(Context ctx, String val, String key) {
|
||||
|
||||
AppSettingsApi appSettingsApi = BaseApi.getInstance(ctx, AppSettingsApi.class);
|
||||
assert appSettingsApi != null;
|
||||
appSettingsApi.updateSettingValueByKey(val, key);
|
||||
}
|
||||
}
|
|
@ -403,7 +403,7 @@ public class AppUtil {
|
|||
public static String encodeBase64(String str) {
|
||||
|
||||
String base64Str = str;
|
||||
if (!str.equals("")) {
|
||||
if (!str.isEmpty()) {
|
||||
byte[] data = str.getBytes(StandardCharsets.UTF_8);
|
||||
base64Str = Base64.encodeToString(data, Base64.DEFAULT);
|
||||
}
|
||||
|
@ -602,8 +602,11 @@ public class AppUtil {
|
|||
}
|
||||
|
||||
public static Typeface getTypeface(Context context) {
|
||||
|
||||
if (typeface == null) {
|
||||
switch (TinyDB.getInstance(context).getInt("customFontId", -1)) {
|
||||
switch (Integer.parseInt(
|
||||
AppDatabaseSettings.getSettingsValue(
|
||||
context, AppDatabaseSettings.APP_FONT_KEY))) {
|
||||
case 0:
|
||||
typeface = Typeface.createFromAsset(context.getAssets(), "fonts/roboto.ttf");
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue