From b136afab0e7bb1720de61ee13ad5e065c7c991ed Mon Sep 17 00:00:00 2001 From: Boris Timofeev Date: Thu, 27 Oct 2016 16:27:41 +0300 Subject: [PATCH] Add dark theme --- .../unipatcher/ui/activity/MainActivity.java | 24 ++++++++++++++++ .../ui/fragment/SettingsFragment.java | 26 +++++++++++++++++- .../main/res/drawable-night/drawer_header.png | Bin 0 -> 28279 bytes app/src/main/res/layout/nav_header_main.xml | 8 ------ app/src/main/res/layout/patching_fragment.xml | 6 ++-- .../res/layout/smd_fix_checksum_fragment.xml | 2 +- .../res/layout/snes_smc_header_fragment.xml | 4 +-- app/src/main/res/values-night/colors.xml | 16 +++++++++++ app/src/main/res/values-v21/styles.xml | 5 +--- app/src/main/res/values/array.xml | 14 ++++++++++ app/src/main/res/values/colors.xml | 1 + app/src/main/res/values/strings.xml | 8 ++++++ app/src/main/res/values/styles.xml | 5 +++- app/src/main/res/xml/preferences.xml | 11 ++++++++ 14 files changed, 110 insertions(+), 20 deletions(-) create mode 100644 app/src/main/res/drawable-night/drawer_header.png create mode 100644 app/src/main/res/values-night/colors.xml create mode 100644 app/src/main/res/values/array.xml diff --git a/app/src/main/java/org/emunix/unipatcher/ui/activity/MainActivity.java b/app/src/main/java/org/emunix/unipatcher/ui/activity/MainActivity.java index df45b62..50cf5a0 100644 --- a/app/src/main/java/org/emunix/unipatcher/ui/activity/MainActivity.java +++ b/app/src/main/java/org/emunix/unipatcher/ui/activity/MainActivity.java @@ -21,6 +21,7 @@ package org.emunix.unipatcher.ui.activity; import android.content.Context; import android.content.Intent; +import android.content.SharedPreferences; import android.os.Bundle; import android.os.Handler; import android.support.design.widget.FloatingActionButton; @@ -32,6 +33,8 @@ import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; +import android.support.v7.app.AppCompatDelegate; +import android.support.v7.preference.PreferenceManager; import android.support.v7.widget.Toolbar; import android.util.Log; import android.view.MenuItem; @@ -54,6 +57,10 @@ import org.emunix.unipatcher.ui.fragment.PatchingFragment; import org.emunix.unipatcher.ui.fragment.SmdFixChecksumFragment; import org.emunix.unipatcher.ui.fragment.SnesSmcHeaderFragment; +import static android.support.v7.app.AppCompatDelegate.MODE_NIGHT_AUTO; +import static android.support.v7.app.AppCompatDelegate.MODE_NIGHT_NO; +import static android.support.v7.app.AppCompatDelegate.MODE_NIGHT_YES; + public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private static final String LOG_TAG = "org.emunix.unipatcher"; @@ -68,6 +75,7 @@ public class MainActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) { + setTheme(); super.onCreate(savedInstanceState); context = this; setContentView(R.layout.activity_main); @@ -153,6 +161,22 @@ public class MainActivity extends AppCompatActivity } } + private void setTheme() { + SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this); + String theme = sp.getString("theme","light"); + switch (theme) { + case "light": + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO); + break; + case "dark": + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_YES); + break; + case "daynight": + AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_AUTO); + break; + } + } + @Override public boolean onNavigationItemSelected(MenuItem item) { int id = item.getItemId(); diff --git a/app/src/main/java/org/emunix/unipatcher/ui/fragment/SettingsFragment.java b/app/src/main/java/org/emunix/unipatcher/ui/fragment/SettingsFragment.java index ea7ab94..ab084fb 100644 --- a/app/src/main/java/org/emunix/unipatcher/ui/fragment/SettingsFragment.java +++ b/app/src/main/java/org/emunix/unipatcher/ui/fragment/SettingsFragment.java @@ -19,15 +19,39 @@ along with UniPatcher. If not, see . package org.emunix.unipatcher.ui.fragment; +import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.preference.PreferenceFragmentCompat; +import android.widget.Toast; import org.emunix.unipatcher.R; -public class SettingsFragment extends PreferenceFragmentCompat { +public class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.preferences, rootKey); } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, + String key) { + if (key.equals("theme")) { + Toast.makeText(getActivity(), R.string.settings_theme_message_restart_app, Toast.LENGTH_SHORT).show(); + } + } + + @Override + public void onResume() { + super.onResume(); + getPreferenceScreen().getSharedPreferences() + .registerOnSharedPreferenceChangeListener(this); + } + + @Override + public void onPause() { + super.onPause(); + getPreferenceScreen().getSharedPreferences() + .unregisterOnSharedPreferenceChangeListener(this); + } } diff --git a/app/src/main/res/drawable-night/drawer_header.png b/app/src/main/res/drawable-night/drawer_header.png new file mode 100644 index 0000000000000000000000000000000000000000..9b906bdbdf62d7dbd1584fcdf84cad3401cf7104 GIT binary patch literal 28279 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index 78f007f..3901096 100644 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -11,12 +11,4 @@ android:paddingTop="@dimen/activity_vertical_margin" android:theme="@style/ThemeOverlay.AppCompat.Dark"> - - diff --git a/app/src/main/res/layout/patching_fragment.xml b/app/src/main/res/layout/patching_fragment.xml index 817b4ae..8c43c4b 100644 --- a/app/src/main/res/layout/patching_fragment.xml +++ b/app/src/main/res/layout/patching_fragment.xml @@ -23,7 +23,7 @@ android:id="@+id/patchLabel" android:padding="8dp" android:text="@string/main_activity_patch_file" - android:textColor="@color/colorPrimary" + android:textColor="@color/colorHeaderText" android:textSize="24sp"/> + + #393939 + #2d2d2d + #f2777a + #eeeeee + #cccccc + @color/colorPrimaryText + #cccccc + #393939 + + #2d2d2d + #393939 + #ff343434 + #cccccc + \ No newline at end of file diff --git a/app/src/main/res/values-v21/styles.xml b/app/src/main/res/values-v21/styles.xml index 0b7ca65..8e5478c 100644 --- a/app/src/main/res/values-v21/styles.xml +++ b/app/src/main/res/values-v21/styles.xml @@ -1,10 +1,7 @@ - diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml new file mode 100644 index 0000000..5d26462 --- /dev/null +++ b/app/src/main/res/values/array.xml @@ -0,0 +1,14 @@ + + + + @string/settings_theme_name_light + @string/settings_theme_name_dark + @string/settings_theme_name_daynight + + + + light + dark + daynight + + diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 02e9ded..626c57f 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -5,6 +5,7 @@ #f44336 #212121 #727272 + @color/colorPrimary #FFFFFF #B6B6B6 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bb5a6a3..2542535 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -95,6 +95,14 @@ Settings + User interface + Theme + Change the color palette. DayNight theme allows to switch between Light and Dark themes based on the time of day. + Select theme + Light + Dark + DayNight + Please restart the application Directories Remember last opened directories Specify ROM\'s directory diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index d8e6579..747a854 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,12 +1,15 @@ - + +