Android Open Source - CallerFlashlight Prefs Activity






From Project

Back to project page CallerFlashlight.

License

The source code is released under:

GNU General Public License

If you think the Android project CallerFlashlight listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.spirosbond.callerflashlight;
// w  w w .j a  va 2s .  com
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.support.v4.app.NavUtils;
import android.util.Log;
import android.view.MenuItem;

/**
 * Created by spiros on 8/5/13.
 */
public class PrefsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {

  private static final String TAG = PrefsActivity.class.getSimpleName();
  private ListPreference lp;
  private CallerFlashlight callerFlashlight;
  //  private CheckBoxPreference screenOfPreference;
  private CheckBoxPreference screenLockedPreference;
  private boolean dismissed;


  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    callerFlashlight = (CallerFlashlight) this.getApplication();
    addPreferencesFromResource(R.xml.prefs);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) getActionBar().setDisplayHomeAsUpEnabled(true);
    PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);

    lp = (ListPreference) findPreference("type_list");
    lp.setValue(String.valueOf(callerFlashlight.getType()));
    setTypeSum(callerFlashlight.getType());

    //    screenOfPreference = (CheckBoxPreference) findPreference("screen_off");
    //    screenOfPreference.setOnPreferenceClickListener(this);
    //    setScreenOffSum(callerFlashlight.isScreenOffPref());

    screenLockedPreference = (CheckBoxPreference) findPreference("screen_locked");
    setScreenLockedSum(callerFlashlight.isScreenLockedPref());


  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      // Respond to the action bar's Up/Home button
      case android.R.id.home:
        NavUtils.navigateUpFromSameTask(this);
        return true;
    }
    return super.onOptionsItemSelected(item);
  }

/*  private void setScreenOffSum(boolean isChecked) {
    if (isChecked) {
      screenOfPreference.setSummary(getResources().getString(R.string.screen_off_ticked_sum));
    } else {
      screenOfPreference.setSummary(getResources().getString(R.string.screen_off_sum));
    }
  }*/

  private void setScreenLockedSum(boolean isChecked) {
    if (isChecked) {
      screenLockedPreference.setSummary(getResources().getString(R.string.screen_locked_ticked_sum));
    } else {
      screenLockedPreference.setSummary(getResources().getString(R.string.screen_locked_sum));
    }
  }

  @Override
  public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String s) {
    if (CallerFlashlight.LOG) Log.d(TAG, "onSharedPreferenceChanged: " + s);
    if (s.equals("type_list")) {
      //      lp = (ListPreference) findPreference("type_list");
      setTypeSum(Integer.valueOf(sharedPreferences.getString("type_list", "")));
      callerFlashlight.setType(Integer.valueOf(sharedPreferences.getString("type_list", "")));
      callerFlashlight.setWindowDimensions(getWindowManager());

    } else if (s.equals("screen_locked")) {
      callerFlashlight.setScreenLockedPref(sharedPreferences.getBoolean("screen_locked", false));
      setScreenLockedSum(callerFlashlight.isScreenLockedPref());
    } else if (s.equals("low_battery_pref")) {
      callerFlashlight.setLowBatPref(sharedPreferences.getBoolean("low_battery_pref", false));
    }
  }

  public void setTypeSum(int type) {

    //    lp = (ListPreference) findPreference("type_list");
    if (CallerFlashlight.LOG) Log.d(TAG, "setTypeSum");
    //    int type = callerFlashlight.getType();
    if (type == 1) {
      if (CallerFlashlight.LOG) Log.d(TAG, "sum type 1");
      lp.setSummary(getResources().getString(R.string.type_list_1));
    } else if (type == 2) {
      if (CallerFlashlight.LOG) Log.d(TAG, "sum type 2");
      lp.setSummary(getResources().getString(R.string.type_list_2));
    } else if (type == 3) {
      if (CallerFlashlight.LOG) Log.d(TAG, "sum type 3");
      lp.setSummary(getResources().getString(R.string.type_list_3));
    }

  }

/*  @Override
  public boolean onPreferenceClick(Preference preference) {
    dismissed = true;
    if ("screen_off".equals(preference.getKey())) {
      if (!callerFlashlight.isScreenOffPref()) {
        if (CallerFlashlight.LOG) Log.d(TAG, "callerFlashlight.isScreenOffPref()=false");
        new AlertDialog.Builder(this)
            .setTitle(getResources().getString(R.string.warning))
            .setMessage(getResources().getString(R.string.warning_screenoff))
            .setIcon(android.R.drawable.ic_dialog_alert)
            .setPositiveButton(R.string.enable_anyway, new DialogInterface.OnClickListener() {

              public void onClick(DialogInterface dialog, int whichButton) {
                if (CallerFlashlight.LOG) Log.d(TAG, "whichButton: " + whichButton);
                dismissed = false;
                callerFlashlight.setScreenOffPref(true);
                setScreenOffSum(true);
                screenOfPreference.setChecked(true);
              }
            })
            .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {

              public void onClick(DialogInterface dialog, int whichButton) {
                if (CallerFlashlight.LOG) Log.d(TAG, "whichButton: " + whichButton);
                dismissed = false;
                callerFlashlight.setScreenOffPref(false);
                setScreenOffSum(false);
                screenOfPreference.setChecked(false);
              }
            }).setCancelable(false)*//*.setOnDismissListener(new DialogInterface.OnDismissListener() {
          @Override
          public void onDismiss(DialogInterface dialogInterface) {
            if (dismissed) {
              if (CallerFlashlight.LOG) Log.d(TAG, "onDismiss");
              screenOfPreference.setChecked(false);
              callerFlashlight.setScreenOffPref(false);
              setScreenOffSum(false);
            }
          }
        })*//*.show();
        return true;
      } else {
        if (CallerFlashlight.LOG) Log.d(TAG, "callerFlashlight.isScreenOffPref()=true");
        screenOfPreference.setChecked(false);
        callerFlashlight.setScreenOffPref(false);
        setScreenOffSum(false);
        return false;

      }
    }
    return false;

  }*/
}




Java Source Code List

com.spirosbond.callerflashlight.About.java
com.spirosbond.callerflashlight.AdPreference2.java
com.spirosbond.callerflashlight.AdPreference.java
com.spirosbond.callerflashlight.AppList.java
com.spirosbond.callerflashlight.BatteryLevelReceiver.java
com.spirosbond.callerflashlight.BootReceiver.java
com.spirosbond.callerflashlight.CallPrefs.java
com.spirosbond.callerflashlight.CallReceiver.java
com.spirosbond.callerflashlight.CallerFlashlight.java
com.spirosbond.callerflashlight.CameraSurface.java
com.spirosbond.callerflashlight.Donate.java
com.spirosbond.callerflashlight.FirstTimeUtilisation.java
com.spirosbond.callerflashlight.Flash.java
com.spirosbond.callerflashlight.InteractiveArrayAdapter.java
com.spirosbond.callerflashlight.License.java
com.spirosbond.callerflashlight.MainPanel.java
com.spirosbond.callerflashlight.MediaButtonReceiver.java
com.spirosbond.callerflashlight.Model.java
com.spirosbond.callerflashlight.MsgPrefs.java
com.spirosbond.callerflashlight.NotificationService.java
com.spirosbond.callerflashlight.PrefsActivity.java
com.spirosbond.callerflashlight.SeekBarPreference.java
com.spirosbond.callerflashlight.SmsReceiver.java
com.spirosbond.callerflashlight.SortByCheck.java
com.spirosbond.callerflashlight.SortByString.java
com.spirosbond.callerflashlight.TimePreference.java