diff --git a/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java b/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java index 731bfd44..65f2dc43 100644 --- a/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/BaseActivity.java @@ -4,6 +4,7 @@ import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; import org.mian.gitnex.R; import org.mian.gitnex.helpers.FontsOverride; +import org.mian.gitnex.helpers.TimeHelper; import org.mian.gitnex.util.TinyDB; /** @@ -20,6 +21,18 @@ public abstract class BaseActivity extends AppCompatActivity { if(tinyDb.getInt("themeId") == 1) { setTheme(R.style.AppThemeLight); } + else if(tinyDb.getInt("themeId") == 2) { + + boolean timeSetterFlag = TimeHelper.timeBetweenHours(18, 6); // 6pm to 6am + + if(timeSetterFlag) { + setTheme(R.style.AppTheme); + } + else { + setTheme(R.style.AppThemeLight); + } + + } else { setTheme(R.style.AppTheme); } diff --git a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java index c84ac9c4..74b7893a 100644 --- a/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java +++ b/app/src/main/java/org/mian/gitnex/fragments/SettingsFragment.java @@ -44,7 +44,7 @@ public class SettingsFragment extends Fragment { private static String[] customFontList = {"Roboto", "Manrope", "Source Code Pro"}; private static int customFontSelectedChoice = 0; - private static String[] themeList = {"Dark", "Light"}; + private static String[] themeList = {"Dark", "Light", "Auto (Day/Night)"}; private static int themeSelectedChoice = 0; @Nullable diff --git a/app/src/main/java/org/mian/gitnex/helpers/TimeHelper.java b/app/src/main/java/org/mian/gitnex/helpers/TimeHelper.java index b1e6419e..90eceb27 100644 --- a/app/src/main/java/org/mian/gitnex/helpers/TimeHelper.java +++ b/app/src/main/java/org/mian/gitnex/helpers/TimeHelper.java @@ -6,9 +6,14 @@ import org.ocpsoft.prettytime.PrettyTime; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; +import java.util.Calendar; import java.util.Date; import java.util.Locale; +/** + * Author M M Arif + */ + public class TimeHelper { public static String customDateFormatForToast(String customDate) { @@ -59,4 +64,29 @@ public class TimeHelper { } + public static boolean timeBetweenHours(int fromHour, int toHour) { + + Calendar cal = Calendar.getInstance(); + + Calendar from = Calendar.getInstance(); + from.set(Calendar.HOUR_OF_DAY, fromHour); + from.set(Calendar.MINUTE, 0); + + Calendar to = Calendar.getInstance(); + to.set(Calendar.HOUR_OF_DAY, toHour); + to.set(Calendar.MINUTE, 0); + + if(to.before(from)) { + if (cal.after(to)) { + to.add(Calendar.DATE, 1); + } + else { + from.add(Calendar.DATE, -1); + } + } + + return cal.after(from) && cal.before(to); + + } + } diff --git a/app/src/main/res/layout/layout_settings_fileview.xml b/app/src/main/res/layout/layout_settings_fileview.xml index 42b86b8d..54ae9a83 100644 --- a/app/src/main/res/layout/layout_settings_fileview.xml +++ b/app/src/main/res/layout/layout_settings_fileview.xml @@ -23,14 +23,15 @@ android:id="@+id/pdfMode" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="20dp" - android:orientation="horizontal"> + android:layout_marginTop="10dp" + android:orientation="vertical"> + android:layout_marginTop="10dp" + android:orientation="vertical">