package com.wozia.nophonezonelite; import android.app.Activity; import android.content.Context; import android.media.AudioManager; import android.os.Bundle; //import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.WindowManager; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class SettingsActivity extends Activity { static Button bt_modify; static CheckBox cb_silent_mode, cb_reply_only_contacts, cb_less_warnings; static EditText entry_txt; static DataHelper dh; static final int PICK_CONTACT = 0; static final int PICK_PVT = 1; static int selectedUsr = -1; @Override protected void onDestroy() { super.onDestroy(); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab_settings); entry_txt = (EditText) findViewById(R.id.entry_txt); bt_modify = (Button) findViewById(R.id.bt_modify); cb_silent_mode = (CheckBox) findViewById(R.id.cb_silent_mode); cb_reply_only_contacts = (CheckBox) findViewById(R.id.cb_reply_only_contacts); cb_less_warnings = (CheckBox) findViewById(R.id.cb_less_warnings); bt_modify.setOnClickListener(new saveResponse()); cb_silent_mode.setOnClickListener(new saveSilentMode()); cb_reply_only_contacts.setOnClickListener(new saveReplyContactsMode()); cb_less_warnings.setOnClickListener(new saveLessWarningsMode()); dh = new DataHelper(getApplicationContext()); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);//-- This disables the keyboard on start /** Start Getting and Setting Data from Database **/ String tmp = dh.get("entry_txt"); if (tmp.length() == 0) { dh.set("entry_txt",entry_txt.getText().toString()); } else { entry_txt.setText(tmp); dh.set("entry_txt",entry_txt.getText().toString()); } tmp = dh.get("silent"); if (tmp.length() == 0) { if (cb_silent_mode.isChecked()) { dh.set("silent","true"); setVolume(getApplicationContext(),true); } else { dh.set("silent","false"); setVolume(getApplicationContext(),false); } } else { if (tmp.equalsIgnoreCase("true")) { cb_silent_mode.setChecked(true); setVolume(getApplicationContext(),true); } else { cb_silent_mode.setChecked(false); setVolume(getApplicationContext(),false); } } tmp = dh.get("contacts_only"); if (tmp.length() == 0) { if (cb_reply_only_contacts.isChecked()) { dh.set("contacts_only","true"); } else { dh.set("contacts_only","false"); } } else { if (tmp.equalsIgnoreCase("true")) { cb_reply_only_contacts.setChecked(true); } else { cb_reply_only_contacts.setChecked(false); } } tmp = dh.get("less_warnings"); if (tmp.length() == 0) { if (cb_less_warnings.isChecked()) { dh.set("less_warnings","true"); } else { dh.set("less_warnings","false"); } } else { if (tmp.equalsIgnoreCase("true")) { cb_less_warnings.setChecked(true); } else { cb_less_warnings.setChecked(false); } } /** End Getting and Setting Data from Database **/ } /** Useful Functions **/ public static void setVolume(Context context, boolean mute) { AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); /*audioManager.setStreamMute(AudioManager.STREAM_MUSIC, mute); audioManager.setStreamMute(AudioManager.STREAM_RING, mute); audioManager.setStreamMute(AudioManager.STREAM_ALARM, mute); audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, mute); audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, mute); audioManager.setStreamMute(AudioManager.STREAM_VOICE_CALL, mute);*/ if (mute) { audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF); audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF); audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); } else { audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON); audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_ON); audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); } } /** Override Functions **/ @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(Menu.NONE, NoPhoneZone.QUIT_APP, Menu.NONE, R.string.menu_exit) .setIcon(android.R.drawable.ic_menu_close_clear_cancel); return(super.onCreateOptionsMenu(menu)); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case NoPhoneZone.QUIT_APP: SettingsActivity.setVolume(getApplicationContext(), false); dh.clearWarnings(); this.finish(); System.exit(RESULT_OK); return(true); } return(super.onOptionsItemSelected(item)); } /** Save Functions **/ class saveResponse implements Button.OnClickListener { public void onClick (View v) { dh.set("entry_txt",entry_txt.getText().toString()); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_reply_saved_toast), Toast.LENGTH_SHORT).show(); } } class saveSilentMode implements View.OnClickListener { public void onClick (View v) { if (cb_silent_mode.isChecked()) { dh.set("silent","true"); setVolume(getApplicationContext(),true); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_silent_on_toast), Toast.LENGTH_SHORT).show(); } else { dh.set("silent","false"); setVolume(getApplicationContext(),false); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_silent_off_toast), Toast.LENGTH_SHORT).show(); } } } class saveReplyContactsMode implements View.OnClickListener { public void onClick (View v) { if (cb_reply_only_contacts.isChecked()) { dh.set("contacts_only","true"); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_reply_contacts_on_toast), Toast.LENGTH_SHORT).show(); } else { dh.set("contacts_only","false"); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_reply_contacts_off_toast), Toast.LENGTH_SHORT).show(); } } } class saveLessWarningsMode implements View.OnClickListener { public void onClick (View v) { if (cb_less_warnings.isChecked()) { dh.set("less_warnings","true"); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_less_warnings_on_toast), Toast.LENGTH_SHORT).show(); } else { dh.set("less_warnings","false"); Toast.makeText(getApplicationContext(), getString(R.string.tab_settings_less_warnings_off_toast), Toast.LENGTH_SHORT).show(); } } } }