package edu.psu.rcy5017.speechwriter.activity;
import edu.psu.rcy5017.speechwriter.R;
import edu.psu.rcy5017.speechwriter.constant.MiscConstants;
//import edu.psu.rcy5017.speechwriter.constant.MixPanelCodes;
import edu.psu.rcy5017.speechwriter.listener.ChangeFontSizeListener;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.MenuItem;
import android.widget.SeekBar;
import android.widget.TextView;
import com.mixpanel.android.mpmetrics.MixpanelAPI;
public class OptionsActivity extends Activity {
private static final String TAG = "OptionsActivity";
private TextView exampleText;
private SeekBar fontSizeControl;
private ChangeFontSizeListener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_options);
fontSizeControl = (SeekBar) findViewById(R.id.font_size_seekbar);
exampleText = (TextView) findViewById(R.id.example_text);
// Set initial font size to saved size.
final SharedPreferences settings = getSharedPreferences(MiscConstants.PREFERENCES_NAME, Context.MODE_PRIVATE);
final float defaultSize = (float) (MiscConstants.MAX_FONT_SIZE + MiscConstants.MIN_FONT_SIZE) / 2;
final int textSize = settings.getInt("textSize", (int) defaultSize);
exampleText.setTextSize(textSize);
listener = new ChangeFontSizeListener(fontSizeControl, exampleText, MiscConstants.MIN_FONT_SIZE, MiscConstants.MAX_FONT_SIZE);
// Set the progress relative to the size, and the min and max size.
int progress = listener.getProgress(textSize);
fontSizeControl.setProgress(progress);
fontSizeControl.setOnSeekBarChangeListener(listener);
// Record activity in mixpanel.
//final MixpanelAPI mixpanel = MixpanelAPI.getInstance(this.getApplicationContext(), MixPanelCodes.MIXPANEL_TOKEN);
//mixpanel.track("Options Screen Started");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
saveAndFinish();
}
return false;
}
@Override
public void onBackPressed() {
saveAndFinish();
}
private void saveAndFinish() {
// Get the text size from the listener
int textSize = listener.getTextSize(fontSizeControl.getProgress());
// Save the text size to preferences.
final SharedPreferences settings = getSharedPreferences(MiscConstants.PREFERENCES_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("textSize", textSize);
editor.commit();
finish();
}
}