// Path: app/src/main/java/com/zzzmode/appopsx/ui/core/LangHelper.java
// public class LangHelper {
// 
//   private static final String TAG = "LangHelper";
// 
//   private static Map<String,Locale> sLocalMap = new HashMap<>();
//   private static Locale sDefaultLocal = null;
//   static {
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//       sDefaultLocal = LocaleList.getDefault().get(0);
//     }else {
//       sDefaultLocal = Locale.getDefault();
//     }
// 
//     sLocalMap.put("zh-cn",Locale.SIMPLIFIED_CHINESE);
//     sLocalMap.put("zh-tw",Locale.TRADITIONAL_CHINESE);
//     sLocalMap.put("en",Locale.ENGLISH);
//     sLocalMap.put("cs",new Locale("cs","CZ"));
//     sLocalMap.put("es",new Locale("es"));
//     sLocalMap.put("ru",new Locale("ru"));
//   }
// 
// 
// 
// 
//   public static void updateLanguage(Context context) {
// 
//     Resources resources = context.getResources();
//     Configuration config = resources.getConfiguration();
//     config.setLocale(getLocaleByLanguage(context));
//     DisplayMetrics dm = resources.getDisplayMetrics();
//     resources.updateConfiguration(config, dm);
//   }
// 
// 
//   public static int getLocalIndex(Context context) {
//     int defSelected = 0;
//     String defKey = SpHelper.getSharedPreferences(context).getString("pref_app_language", null);
//     String[] langKeys = context.getResources().getStringArray(R.array.languages_key);
//     if (defKey != null) {
//       for (int i = 0; i < langKeys.length; i++) {
//         if (TextUtils.equals(defKey, langKeys[i])) {
//           defSelected = i;
//           break;
//         }
//       }
//     }
//     return defSelected;
//   }
// 
//   public static Locale getLocaleByLanguage(Context context) {
//     String language = SpHelper.getSharedPreferences(context).getString("pref_app_language", null);
//     if(language == null){
//       return sDefaultLocal;
//     }
//     Locale locale = null;
//     return (locale = sLocalMap.get(language)) != null ? locale : sDefaultLocal;
//   }
// 
// 
//   public static Context attachBaseContext(Context context) {
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//       return updateResources(context);
//     } else {
//       return context;
//     }
//   }
// 
// 
//   @TargetApi(Build.VERSION_CODES.N)
//   private static Context updateResources(Context context) {
//     Resources resources = context.getResources();
//     Locale locale = getLocaleByLanguage(context);
// 
//     Configuration configuration = resources.getConfiguration();
//     configuration.setLocale(locale);
//     configuration.setLocales(new LocaleList(locale));
//     return context.createConfigurationContext(configuration);
//   }
// 
// }
// 
// Path: app/src/main/java/com/zzzmode/appopsx/ui/core/SpHelper.java
// public class SpHelper {
// 
//   public static SharedPreferences getSharedPreferences(Context context) {
//     return PreferenceManager.getDefaultSharedPreferences(context);
//   }
// 
//   public static int getThemeMode(Context context) {
//     if (getSharedPreferences(context).getBoolean("pref_app_daynight_mode", false)) {
//       return AppCompatDelegate.MODE_NIGHT_YES;
//     }
//     return AppCompatDelegate.MODE_NIGHT_NO;
//   }
// 
// 
//   public static boolean isIgnoredNetOps(Context context,int op){
//     return getSharedPreferences(context).getBoolean("pref_ignore_op_code_"+op,false);
//   }
// 
//   public static void ignoredNetOps(Context context,int op){
//     getSharedPreferences(context).edit().putBoolean("pref_ignore_op_code_"+op,true).apply();
//   }
// 
// }


import android.content.Context;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import com.zzzmode.appopsx.ui.core.LangHelper;
import com.zzzmode.appopsx.ui.core.SpHelper;
package com.zzzmode.appopsx.ui;


/**
 * Created by zl on 2017/1/7.
 */

public class BaseActivity extends AppCompatActivity {

  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    LangHelper.updateLanguage(this);
    super.onCreate(savedInstanceState);
// Path: app/src/main/java/com/zzzmode/appopsx/ui/core/LangHelper.java
// public class LangHelper {
// 
//   private static final String TAG = "LangHelper";
// 
//   private static Map<String,Locale> sLocalMap = new HashMap<>();
//   private static Locale sDefaultLocal = null;
//   static {
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//       sDefaultLocal = LocaleList.getDefault().get(0);
//     }else {
//       sDefaultLocal = Locale.getDefault();
//     }
// 
//     sLocalMap.put("zh-cn",Locale.SIMPLIFIED_CHINESE);
//     sLocalMap.put("zh-tw",Locale.TRADITIONAL_CHINESE);
//     sLocalMap.put("en",Locale.ENGLISH);
//     sLocalMap.put("cs",new Locale("cs","CZ"));
//     sLocalMap.put("es",new Locale("es"));
//     sLocalMap.put("ru",new Locale("ru"));
//   }
// 
// 
// 
// 
//   public static void updateLanguage(Context context) {
// 
//     Resources resources = context.getResources();
//     Configuration config = resources.getConfiguration();
//     config.setLocale(getLocaleByLanguage(context));
//     DisplayMetrics dm = resources.getDisplayMetrics();
//     resources.updateConfiguration(config, dm);
//   }
// 
// 
//   public static int getLocalIndex(Context context) {
//     int defSelected = 0;
//     String defKey = SpHelper.getSharedPreferences(context).getString("pref_app_language", null);
//     String[] langKeys = context.getResources().getStringArray(R.array.languages_key);
//     if (defKey != null) {
//       for (int i = 0; i < langKeys.length; i++) {
//         if (TextUtils.equals(defKey, langKeys[i])) {
//           defSelected = i;
//           break;
//         }
//       }
//     }
//     return defSelected;
//   }
// 
//   public static Locale getLocaleByLanguage(Context context) {
//     String language = SpHelper.getSharedPreferences(context).getString("pref_app_language", null);
//     if(language == null){
//       return sDefaultLocal;
//     }
//     Locale locale = null;
//     return (locale = sLocalMap.get(language)) != null ? locale : sDefaultLocal;
//   }
// 
// 
//   public static Context attachBaseContext(Context context) {
//     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
//       return updateResources(context);
//     } else {
//       return context;
//     }
//   }
// 
// 
//   @TargetApi(Build.VERSION_CODES.N)
//   private static Context updateResources(Context context) {
//     Resources resources = context.getResources();
//     Locale locale = getLocaleByLanguage(context);
// 
//     Configuration configuration = resources.getConfiguration();
//     configuration.setLocale(locale);
//     configuration.setLocales(new LocaleList(locale));
//     return context.createConfigurationContext(configuration);
//   }
// 
// }
// 
// Path: app/src/main/java/com/zzzmode/appopsx/ui/core/SpHelper.java
// public class SpHelper {
// 
//   public static SharedPreferences getSharedPreferences(Context context) {
//     return PreferenceManager.getDefaultSharedPreferences(context);
//   }
// 
//   public static int getThemeMode(Context context) {
//     if (getSharedPreferences(context).getBoolean("pref_app_daynight_mode", false)) {
//       return AppCompatDelegate.MODE_NIGHT_YES;
//     }
//     return AppCompatDelegate.MODE_NIGHT_NO;
//   }
// 
// 
//   public static boolean isIgnoredNetOps(Context context,int op){
//     return getSharedPreferences(context).getBoolean("pref_ignore_op_code_"+op,false);
//   }
// 
//   public static void ignoredNetOps(Context context,int op){
//     getSharedPreferences(context).edit().putBoolean("pref_ignore_op_code_"+op,true).apply();
//   }
// 
// }


// Path: app/src/main/java/com/zzzmode/appopsx/ui/BaseActivity.java
import android.content.Context;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.AppCompatDelegate;
import com.zzzmode.appopsx.ui.core.LangHelper;
import com.zzzmode.appopsx.ui.core.SpHelper;

package com.zzzmode.appopsx.ui;


/**
 * Created by zl on 2017/1/7.
 */

public class BaseActivity extends AppCompatActivity {

  @Override
  protected void onCreate(@Nullable Bundle savedInstanceState) {
    LangHelper.updateLanguage(this);
    super.onCreate(savedInstanceState);
    AppCompatDelegate.setDefaultNightMode(SpHelper.getThemeMode(this));