]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryApplication.java
System theme defaults to default theme
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryApplication.java
index 6cfa207bb9125570f7ac8a2bd85190f75ad5452e..840f8ffa30ce7523d7c517155f835049a9edcc56 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;
@@ -41,6 +42,7 @@ import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Serializable;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -312,6 +314,12 @@ public enum DictionaryApplication {
         final String theme = prefs.getString(appContext.getString(R.string.themeKey), "themeLight");
         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;
         }
@@ -380,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);
     }
 
@@ -477,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);
                 }
 
@@ -539,7 +547,7 @@ public enum DictionaryApplication {
                 result.add(dictionaryInfo);
             }
         }
-        result.sort(dictionaryInfoComparator);
+        Collections.sort(result, dictionaryInfoComparator);
         return result;
     }