]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryApplication.java
Switch to themeSystem as default.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryApplication.java
index 859f463a1413071b8b14a9f05eed4cebba58458a..7ac45aeabfd2283ba590909a233c17dc044f86d3 100644 (file)
@@ -18,10 +18,11 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
+import android.content.res.Configuration;
 import android.net.Uri;
 import android.os.Build;
 import android.os.Environment;
-import android.preference.PreferenceManager;
+import android.support.v7.preference.PreferenceManager;
 import android.support.v4.view.MenuItemCompat;
 import android.util.Log;
 import android.util.TypedValue;
@@ -310,9 +311,15 @@ public enum DictionaryApplication {
 
     public Theme getSelectedTheme() {
         final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(appContext);
-        final String theme = prefs.getString(appContext.getString(R.string.themeKey), "themeLight");
+        final String theme = prefs.getString(appContext.getString(R.string.themeKey), "themeSystem");
         if (theme.equals("themeLight")) {
             return Theme.LIGHT;
+        } else if (theme.equals("themeSystem")) {
+            int mode = (appContext.getResources().getConfiguration().uiMode &
+                        Configuration.UI_MODE_NIGHT_MASK);
+            return ((mode == Configuration.UI_MODE_NIGHT_NO) ?
+                    Theme.LIGHT:
+                    Theme.DEFAULT);
         } else {
             return Theme.DEFAULT;
         }
@@ -381,7 +388,7 @@ public enum DictionaryApplication {
     }
 
     public synchronized void sortDictionaries() {
-        dictionaryConfig.dictionaryFilesOrdered.sort(uncompressedFilenameComparator);
+        Collections.sort(dictionaryConfig.dictionaryFilesOrdered, uncompressedFilenameComparator);
         PersistentObjectCache.getInstance().write(C.DICTIONARY_CONFIGS, dictionaryConfig);
     }
 
@@ -478,7 +485,7 @@ public enum DictionaryApplication {
                     Log.w(LOG, "dictDir is not a directory: " + getDictDir().getPath());
                 }
                 if (!toAddSorted.isEmpty()) {
-                    toAddSorted.sort(uncompressedFilenameComparator);
+                    Collections.sort(toAddSorted, uncompressedFilenameComparator);
                     newDictionaryConfig.dictionaryFilesOrdered.addAll(toAddSorted);
                 }
 
@@ -540,7 +547,7 @@ public enum DictionaryApplication {
                 result.add(dictionaryInfo);
             }
         }
-        result.sort(dictionaryInfoComparator);
+        Collections.sort(result, dictionaryInfoComparator);
         return result;
     }