package it.angelic.soulissclient; import android.annotation.TargetApi; import android.content.IntentFilter; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.preference.PreferenceActivity; import android.support.annotation.NonNull; import android.util.Log; import android.view.View; import android.widget.ListView; import android.widget.Toast; import java.util.List; import it.angelic.soulissclient.helpers.SoulissPreferenceHelper; import it.angelic.soulissclient.preferences.BroadcastSettingsFragment; import it.angelic.soulissclient.preferences.DbSettingsFragment; import it.angelic.soulissclient.preferences.LauncherSettingsFragment; import it.angelic.soulissclient.preferences.NetSettingsFragment; import it.angelic.soulissclient.preferences.ServiceSettingsFragment; import it.angelic.soulissclient.preferences.VisualSettingsFragment; import static it.angelic.soulissclient.Constants.TAG; public class PreferencesActivity extends PreferenceActivity { // SoulissPreferenceHelper opzioni; private String currentScreen; @Override public void onBuildHeaders(List<Header> target) { Log.i(TAG, "PreferenceActivityonBuildHeaders()"); loadHeadersFromResource(R.xml.preference_headers, target); } @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void fit(View v) { v.setFitsSystemWindows(true); } @Override protected void onCreate(Bundle savedInstanceState) { SoulissPreferenceHelper opzioni = SoulissApp.getOpzioni(); super.onCreate(savedInstanceState); //col tema sparisce l'action bar, chiaramente :/ /*if (opzioni.isLightThemeSelected()) { setTheme(R.style.LightThemeSelector); } else setTheme(R.style.DarkThemeSelector); */ //ListView v = getListView(); // v.setCacheColorHint(0); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) { switch (requestCode) { case Constants.MY_PERMISSIONS_WRITE_EXTERNAL_STORAGE: { // If request is cancelled, the result arrays are empty. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //Toast.makeText(this, "Permission granted! Please retry", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "Permission denied from user", Toast.LENGTH_SHORT).show(); } return; } // other 'case' lines to check for other // permissions this app might request } } @Override protected void onStart() { super.onStart(); //setActionBarInfo(getString(R.string.app_opt)); //currentScreen = getIntent().getExtras().getString("opt_screen"); ListView v = getListView(); // v.setCacheColorHint(0); //LinearLayout root = (LinearLayout) findViewById(android.R.id.list).getParent().getParent().getParent(); //bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.custom_actionbar, root, false); //root.addView(bar, 0); // insert at top if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { fit(v); } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { Log.d(TAG, "Going thru preference onStart(), screeN: " + currentScreen); return; } } @Override protected void onResume() { // IDEM, serve solo per reporting IntentFilter filtere = new IntentFilter(); filtere.addAction(Constants.CUSTOM_INTENT_SOULISS_RAWDATA); // registerReceiver(macacoRawDataReceiver, filtere); super.onResume(); } @Override protected void onPause() { // unregisterReceiver(macacoRawDataReceiver); //lo lascio per garanzia che SoulissApp.getOpzioni() sia aggiornato SoulissApp.getOpzioni().reload(); super.onPause(); } @Override protected boolean isValidFragment(String fragmentName) { if (DbSettingsFragment.class.getName().equals(fragmentName)) return true; if (NetSettingsFragment.class.getName().equals(fragmentName)) return true; if (ServiceSettingsFragment.class.getName().equals(fragmentName)) return true; if (VisualSettingsFragment.class.getName().equals(fragmentName)) return true; if (LauncherSettingsFragment.class.getName().equals(fragmentName)) return true; return BroadcastSettingsFragment.class.getName().equals(fragmentName); } }