Skip to content
Snippets Groups Projects
Settings.java 6.15 KiB
Newer Older
package com.notificationFramework.sedentary.frontEnd;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.CheckBox;
import android.widget.Spinner;
 * Created by Peter De Jonckheere on 21/11/2017.
 *
 * Contains the buttons and menus which set a variety of user defined data which is used througout
 * the application. Settings are saved either when the activity is stopped or when navigation is
 * made back to the main activity page.
 *
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    @Override
    protected void onStop(){
        super.onStop();
        saveSharedPreferenceData();
    }

    private void retrieveSettings(){
        SharedPreferences shared = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        ((CheckBox)findViewById(R.id.Audio)).setChecked(shared.getBoolean(getString(R.string.audio), false));
        ((CheckBox)findViewById(R.id.Vibration)).setChecked(shared.getBoolean(getString(R.string.vibration), false));
        ((CheckBox)findViewById(R.id.LEDFlash)).setChecked(shared.getBoolean(getString(R.string.led), false));
        ((Spinner)findViewById(R.id.PeriodSpinner)).setSelection(shared.getInt(getString(R.string.notify_me), 0));
        ((EditText)findViewById(R.id.notificationMessage)).setText(shared.getString(getString(R.string.daily_goal_text), getString(R.string.notf_text)));
        ((SeekBar)findViewById(R.id.seekBar2)).setProgress(shared.getInt(getString(R.string.daily_goal_set), R.integer.daily_goal_minutes));
        ((Switch)findViewById(R.id.NotSwitch)).setChecked(shared.getBoolean(getString(R.string.notf_switch), true));
    private void setUpButtons(){
        ImageButton back = (ImageButton)findViewById(R.id.back);
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(view.getContext(), MainActivity.class);
                displaySavedToast(view);
                startActivity(intent);
            }
        });
        Button adv = findViewById(R.id.button);
        adv.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View view){
                Intent intent = new Intent(view.getContext(), AdvancedSettings.class);
                startActivity(intent);
            }
        });
    private void setUpSeekBar(){
        SeekBar bar = ((SeekBar)findViewById(R.id.seekBar2));
        bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
           private TextView progressText;
            {
                progressText = ((TextView) findViewById(R.id.seekBarValue));
            }

            @Override
            public void onProgressChanged(SeekBar bar, int progress, boolean fromUser) {
                int val = (progress * (bar.getWidth() - 2 * bar.getThumbOffset())) / bar.getMax();
                progressText.setText(String.valueOf(progress));
                progressText.setX(bar.getX() + val + bar.getThumbOffset() / 2);
            }
            @Override
        public void onStartTrackingTouch(SeekBar bar){
                progressText.setVisibility(View.VISIBLE);
        }

        @Override
            public void onStopTrackingTouch(SeekBar bar){
            progressText.setVisibility(View.INVISIBLE);
        }
        });
    }

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.notification_periods, android.R.layout.simple_spinner_dropdown_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        Toast saved = Toast.makeText(view.getContext(), R.string.settings_saved,Toast.LENGTH_SHORT);
    private void saveSharedPreferenceData(){
        boolean audio = ((CheckBox)findViewById(R.id.Audio)).isChecked();
        boolean vibration = ((CheckBox)findViewById(R.id.Vibration)).isChecked();
        boolean led = ((CheckBox)findViewById(R.id.LEDFlash)).isChecked();
        int spinnerPos = ((Spinner)findViewById(R.id.PeriodSpinner)).getSelectedItemPosition();
        int notifyGap = Integer.parseInt(((Spinner)findViewById(R.id.PeriodSpinner)).getSelectedItem().toString());
        String message = ((EditText)findViewById(R.id.notificationMessage)).getText().toString();
        int progress = ((SeekBar) findViewById(R.id.seekBar2)).getProgress();
        boolean nswitch = ((Switch)findViewById(R.id.NotSwitch)).isChecked();
        SharedPreferences sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPref.edit();
        editor.putBoolean(getString(R.string.audio), audio);
        editor.putBoolean(getString(R.string.vibration), vibration);
        editor.putBoolean(getString(R.string.led), led);
        editor.putInt(getString(R.string.notify_me), spinnerPos);
        editor.putInt(getString(R.string.daily_goal), notifyGap);
        if(!message.matches(getString(R.string.notf_text))) {
            editor.putString(getString(R.string.daily_goal_text), message);
        }
        editor.putInt(getString(R.string.daily_goal_set), progress);
        editor.putBoolean(getString(R.string.notf_switch), nswitch);