package fr.neamar.kiss.loader; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Build; import android.provider.Settings; import java.util.ArrayList; import java.util.Locale; import fr.neamar.kiss.R; import fr.neamar.kiss.pojo.SettingsPojo; public class LoadSettingsPojos extends LoadPojos<SettingsPojo> { public LoadSettingsPojos(Context context) { super(context, "setting://"); } @Override protected ArrayList<SettingsPojo> doInBackground(Void... params) { PackageManager pm = context.getPackageManager(); ArrayList<SettingsPojo> settings = new ArrayList<>(); settings.add(createPojo(context.getString(R.string.settings_airplane), Settings.ACTION_AIRPLANE_MODE_SETTINGS, R.drawable.setting_airplane)); settings.add(createPojo(context.getString(R.string.settings_device_info), Settings.ACTION_DEVICE_INFO_SETTINGS, R.drawable.setting_info)); settings.add(createPojo(context.getString(R.string.settings_applications), Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS, R.drawable.setting_apps)); settings.add(createPojo(context.getString(R.string.settings_connectivity), Settings.ACTION_WIRELESS_SETTINGS, R.drawable.toggle_wifi)); settings.add(createPojo(context.getString(R.string.settings_storage), Settings.ACTION_INTERNAL_STORAGE_SETTINGS, R.drawable.setting_storage)); settings.add(createPojo(context.getString(R.string.settings_accessibility), Settings.ACTION_ACCESSIBILITY_SETTINGS, R.drawable.setting_accessibility)); settings.add(createPojo(context.getString(R.string.settings_battery), Intent.ACTION_POWER_USAGE_SUMMARY, R.drawable.setting_battery)); settings.add(createPojo(context.getString(R.string.settings_tethering), "com.android.settings", "com.android.settings.TetherSettings", R.drawable.setting_tethering)); settings.add(createPojo(context.getString(R.string.settings_sound), Settings.ACTION_SOUND_SETTINGS, R.drawable.setting_dev)); settings.add(createPojo(context.getString(R.string.settings_display), Settings.ACTION_DISPLAY_SETTINGS, R.drawable.setting_dev)); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { if (pm.hasSystemFeature(PackageManager.FEATURE_NFC)) { settings.add(createPojo(context.getString(R.string.settings_nfc), Settings.ACTION_NFC_SETTINGS, R.drawable.setting_nfc)); } } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { settings.add(createPojo(context.getString(R.string.settings_dev), Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS, R.drawable.setting_dev)); } return settings; } private SettingsPojo createPojo(String name, String packageName, String settingName, int resId) { SettingsPojo pojo = this.createPojo(name, settingName, resId); pojo.packageName = packageName; return pojo; } private SettingsPojo createPojo(String name, String settingName, int resId) { SettingsPojo pojo = new SettingsPojo(); pojo.id = pojoScheme + settingName.toLowerCase(Locale.ENGLISH); pojo.name = name; pojo.nameNormalized = pojo.name.toLowerCase(Locale.ENGLISH); pojo.settingName = settingName; pojo.icon = resId; return pojo; } }