Newer
Older
package com.notificationFramework.sedentary.frontEnd;

Peter Joseph De Jonckheere CESM2014
committed
import android.app.TimePickerDialog;

Peter Joseph De Jonckheere CESM2014
committed
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

Peter Joseph De Jonckheere CESM2014
committed
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;

Peter Joseph De Jonckheere CESM2014
committed
import android.widget.ImageButton;
import android.widget.Spinner;
import android.widget.TimePicker;

Peter Joseph De Jonckheere CESM2014
committed
import android.widget.Toast;

Peter Joseph De Jonckheere CESM2014
committed
/**
* Created by pharmacy on 16/02/2018.
*/
public class AdvancedSettings extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.advanced_settings);
setUpButtons();
retrieveSettings();
}
@Override
protected void onStop(){
super.onStop();
saveSharedPreferenceData();
}
private void retrieveSettings(){
SharedPreferences shared = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
((Spinner)findViewById(R.id.PeriodSpinner)).setSelection(shared.getInt(getString(R.string.led_period_pos), 0));
((Spinner)findViewById(R.id.ColourSpinner)).setSelection(shared.getInt(getString(R.string.led_colour_pos), 0));
((Spinner)findViewById(R.id.AccelSpinner)).setSelection(shared.getInt(getString(R.string.accel_sensitivity_pos), 0));

Peter Joseph De Jonckheere CESM2014
committed
}
private void setUpButtons(){
ImageButton back = (ImageButton)findViewById(R.id.back);
back.bringToFront();
back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveSharedPreferenceData();
Intent intent = new Intent(view.getContext(), Settings.class);

Peter Joseph De Jonckheere CESM2014
committed
displaySavedToast(view);
startActivity(intent);
}
});
Button upload = findViewById(R.id.upload);

Peter Joseph De Jonckheere CESM2014
committed
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
File file = SaveFile.zipFiles(view.getContext());
Intent sendIntent = new Intent(Intent.ACTION_SEND);
if(file.exists() && (file != null)){
/* sendIntent.setType("notificationapp/zip");
sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file.getAbsolutePath()));
sendIntent.putExtra(Intent.EXTRA_SUBJECT,"Sharing File...");
sendIntent.putExtra(Intent.EXTRA_TEXT, "Sharing File...");*/
startActivity(Intent.createChooser(sendIntent, "Share File"));
}

Peter Joseph De Jonckheere CESM2014
committed
}
});
Button survey = findViewById(R.id.survey);
survey.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent webIntent = new Intent(Intent.ACTION_VIEW);
webIntent.setData(Uri.parse(getString(R.string.survey_link)));
startActivity(webIntent);
}
});
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
final EditText startTime = findViewById(R.id.startTime);
startTime.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
final SharedPreferences shared = view.getContext().getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
int hour = shared.getInt(getString(R.string.dnd_shour), 23);
int minute = shared.getInt(getString(R.string.dnd_smin), 0);
TimePickerDialog dialog = new TimePickerDialog(view.getContext(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selHour, int selMin) {
startTime.setText("" + selHour + ":" + selMin);
SharedPreferences.Editor editor = shared.edit();
editor.putInt(getString(R.string.dnd_shour), selHour);
editor.putInt(getString(R.string.dnd_smin), selMin);
editor.commit();
}
}, hour, minute, true);
dialog.setTitle(getString(R.string.dnd_stitle));
dialog.show();
}
});
final EditText endTime = findViewById(R.id.endTime);
startTime.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
final SharedPreferences shared = view.getContext().getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
int hour = shared.getInt(getString(R.string.dnd_ehour), 9);
int minute = shared.getInt(getString(R.string.dnd_emin), 0);
TimePickerDialog dialog = new TimePickerDialog(view.getContext(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selHour, int selMin) {
startTime.setText("" + selHour + ":" + selMin);
SharedPreferences.Editor editor = shared.edit();
editor.putInt(getString(R.string.dnd_ehour), selHour);
editor.putInt(getString(R.string.dnd_emin), selMin);
editor.commit();
}
}, hour, minute, true);
dialog.setTitle(getString(R.string.dnd_etitle));
dialog.show();
}
});
populateSpinner((Spinner)findViewById(R.id.PeriodSpinner), R.array.LED_periods);
populateSpinner((Spinner)findViewById(R.id.ColourSpinner), R.array.LED_colours);
populateSpinner((Spinner)findViewById(R.id.AccelSpinner), R.array.accel_sensitivities);

Peter Joseph De Jonckheere CESM2014
committed
}
private void populateSpinner(Spinner spinner, int arrayID){
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, arrayID, android.R.layout.simple_spinner_dropdown_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

Peter Joseph De Jonckheere CESM2014
committed
}
private void displaySavedToast(View view){
Toast saved = Toast.makeText(view.getContext(), R.string.settings_saved,Toast.LENGTH_SHORT);
saved.show();
}
private void saveSharedPreferenceData(){
SharedPreferences sharedPref = this.getSharedPreferences(getString(R.string.preference_file_key), Context.MODE_PRIVATE);
int spinnerPPos = ((Spinner)findViewById(R.id.PeriodSpinner)).getSelectedItemPosition();
int notifyGap = Integer.parseInt(((Spinner)findViewById(R.id.PeriodSpinner)).getSelectedItem().toString());
int spinnerCPos = ((Spinner)findViewById(R.id.ColourSpinner)).getSelectedItemPosition();
String colour = ((Spinner)findViewById(R.id.ColourSpinner)).getSelectedItem().toString();
int spinnerAPos = ((Spinner)findViewById(R.id.AccelSpinner)).getSelectedItemPosition();
String sensitivity = ((Spinner)findViewById(R.id.AccelSpinner)).getSelectedItem().toString();

Peter Joseph De Jonckheere CESM2014
committed
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.led_period_pos), spinnerPPos);
editor.putInt(getString(R.string.led_period), notifyGap);
editor.putInt(getString(R.string.led_colour_pos), spinnerCPos);
editor.putString(getString(R.string.led_colour), colour);
editor.putInt(getString(R.string.accel_sensitivity_pos), spinnerAPos);
editor.putString(getString(R.string.accel_sensitivity), sensitivity);

Peter Joseph De Jonckheere CESM2014
committed
editor.commit();
}
}