package fr.neamar.kiss.loader; import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; import java.util.ArrayList; import fr.neamar.kiss.R; import fr.neamar.kiss.pojo.TogglesPojo; public class LoadTogglesPojos extends LoadPojos<TogglesPojo> { public LoadTogglesPojos(Context context) { super(context, "toggle://"); } @Override protected ArrayList<TogglesPojo> doInBackground(Void... params) { ArrayList<TogglesPojo> toggles = new ArrayList<>(); PackageManager pm = context.getPackageManager(); if (pm.hasSystemFeature(PackageManager.FEATURE_WIFI)) { toggles.add(createPojo(context.getString(R.string.toggle_wifi), "wifi", R.drawable.toggle_wifi)); } if (pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)) { toggles.add(createPojo(context.getString(R.string.toggle_bluetooth), "bluetooth", R.drawable.toggle_bluetooth)); } toggles.add(createPojo(context.getString(R.string.toggle_silent), "silent", R.drawable.toggle_silent)); if (pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY) && android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { // Not working after 4.4 // See http://stackoverflow.com/questions/26539445/the-setmobiledataenabled-method-is-no-longer-callable-as-of-android-l-and-later toggles.add(createPojo(context.getString(R.string.toggle_data), "data", R.drawable.toggle_data)); } if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) { toggles.add(createPojo(context.getString(R.string.toggle_torch), "torch", R.drawable.toggle_torch)); } //toggle for synchronization toggles.add(createPojo(context.getString(R.string.toggle_sync), "sync", R.drawable.toggle_sync)); //toggle for autorotation toggles.add(createPojo(context.getString(R.string.toggle_autorotate), "autorotate", R.drawable.toggle_rotation)); return toggles; } private TogglesPojo createPojo(String name, String settingName, int resId) { TogglesPojo pojo = new TogglesPojo(); pojo.id = pojoScheme + name.toLowerCase(); pojo.name = name; pojo.nameNormalized = pojo.name.toLowerCase(); pojo.settingName = settingName; pojo.icon = resId; return pojo; } }