You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
5.5 KiB
173 lines
5.5 KiB
10 years ago
|
/*
|
||
|
* Copyright 2014 A.C.R. Development
|
||
|
*/
|
||
|
package acr.browser.lightning;
|
||
|
|
||
|
import android.app.AlertDialog;
|
||
|
import android.content.DialogInterface;
|
||
|
import android.os.Bundle;
|
||
9 years ago
|
import android.support.v7.widget.Toolbar;
|
||
10 years ago
|
import android.view.MenuItem;
|
||
|
import android.view.View;
|
||
|
import android.view.View.OnClickListener;
|
||
|
import android.widget.CheckBox;
|
||
|
import android.widget.CompoundButton;
|
||
|
import android.widget.CompoundButton.OnCheckedChangeListener;
|
||
|
import android.widget.RelativeLayout;
|
||
|
|
||
9 years ago
|
public class DisplaySettingsActivity extends ThemableSettingsActivity {
|
||
10 years ago
|
|
||
|
// mPreferences variables
|
||
9 years ago
|
private PreferenceManager mPreferences;
|
||
9 years ago
|
private CheckBox cbHideStatusBar, cbFullScreen, cbWideViewPort, cbOverView, cbTextReflow,
|
||
|
cbDarkTheme;
|
||
10 years ago
|
|
||
|
@Override
|
||
|
protected void onCreate(Bundle savedInstanceState) {
|
||
|
super.onCreate(savedInstanceState);
|
||
|
setContentView(R.layout.display_settings);
|
||
|
|
||
9 years ago
|
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||
|
setSupportActionBar(toolbar);
|
||
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||
10 years ago
|
|
||
9 years ago
|
mPreferences = PreferenceManager.getInstance();
|
||
10 years ago
|
initialize();
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||
|
finish();
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
private void initialize() {
|
||
|
|
||
9 years ago
|
RelativeLayout rHideStatusBar, rFullScreen, rWideViewPort, rOverView, rTextReflow, rTextSize, rDarkTheme;
|
||
9 years ago
|
LayoutClickListener clickListener = new LayoutClickListener();
|
||
|
CheckBoxToggleListener toggleListener = new CheckBoxToggleListener();
|
||
10 years ago
|
|
||
|
rHideStatusBar = (RelativeLayout) findViewById(R.id.rHideStatusBar);
|
||
|
rFullScreen = (RelativeLayout) findViewById(R.id.rFullScreen);
|
||
|
rWideViewPort = (RelativeLayout) findViewById(R.id.rWideViewPort);
|
||
|
rOverView = (RelativeLayout) findViewById(R.id.rOverView);
|
||
|
rTextReflow = (RelativeLayout) findViewById(R.id.rTextReflow);
|
||
|
rTextSize = (RelativeLayout) findViewById(R.id.rTextSize);
|
||
9 years ago
|
rDarkTheme = (RelativeLayout) findViewById(R.id.rDarkTheme);
|
||
9 years ago
|
|
||
|
rHideStatusBar.setOnClickListener(clickListener);
|
||
|
rFullScreen.setOnClickListener(clickListener);
|
||
|
rWideViewPort.setOnClickListener(clickListener);
|
||
|
rOverView.setOnClickListener(clickListener);
|
||
|
rTextReflow.setOnClickListener(clickListener);
|
||
|
rTextSize.setOnClickListener(clickListener);
|
||
|
rDarkTheme.setOnClickListener(clickListener);
|
||
10 years ago
|
|
||
|
cbHideStatusBar = (CheckBox) findViewById(R.id.cbHideStatusBar);
|
||
|
cbFullScreen = (CheckBox) findViewById(R.id.cbFullScreen);
|
||
|
cbWideViewPort = (CheckBox) findViewById(R.id.cbWideViewPort);
|
||
|
cbOverView = (CheckBox) findViewById(R.id.cbOverView);
|
||
|
cbTextReflow = (CheckBox) findViewById(R.id.cbTextReflow);
|
||
9 years ago
|
cbDarkTheme = (CheckBox) findViewById(R.id.cbDarkTheme);
|
||
10 years ago
|
|
||
9 years ago
|
cbHideStatusBar.setChecked(mPreferences.getHideStatusBarEnabled());
|
||
|
cbFullScreen.setChecked(mPreferences.getFullScreenEnabled());
|
||
|
cbWideViewPort.setChecked(mPreferences.getUseWideViewportEnabled());
|
||
|
cbOverView.setChecked(mPreferences.getOverviewModeEnabled());
|
||
|
cbTextReflow.setChecked(mPreferences.getTextReflowEnabled());
|
||
|
cbDarkTheme.setChecked(mPreferences.getUseDarkTheme());
|
||
10 years ago
|
|
||
9 years ago
|
cbHideStatusBar.setOnCheckedChangeListener(toggleListener);
|
||
|
cbFullScreen.setOnCheckedChangeListener(toggleListener);
|
||
|
cbWideViewPort.setOnCheckedChangeListener(toggleListener);
|
||
|
cbOverView.setOnCheckedChangeListener(toggleListener);
|
||
|
cbTextReflow.setOnCheckedChangeListener(toggleListener);
|
||
|
cbDarkTheme.setOnCheckedChangeListener(toggleListener);
|
||
|
}
|
||
|
|
||
|
private class LayoutClickListener implements OnClickListener {
|
||
|
|
||
|
@Override
|
||
|
public void onClick(View v) {
|
||
|
switch (v.getId()) {
|
||
|
case R.id.rHideStatusBar:
|
||
|
cbHideStatusBar.setChecked(!cbHideStatusBar.isChecked());
|
||
|
break;
|
||
|
case R.id.rFullScreen:
|
||
|
cbFullScreen.setChecked(!cbFullScreen.isChecked());
|
||
|
break;
|
||
|
case R.id.rWideViewPort:
|
||
|
cbWideViewPort.setChecked(!cbWideViewPort.isChecked());
|
||
|
break;
|
||
|
case R.id.rOverView:
|
||
|
cbOverView.setChecked(!cbOverView.isChecked());
|
||
|
break;
|
||
|
case R.id.rTextReflow:
|
||
|
cbTextReflow.setChecked(!cbTextReflow.isChecked());
|
||
|
break;
|
||
|
case R.id.rTextSize:
|
||
|
textSizePicker();
|
||
|
break;
|
||
|
case R.id.rDarkTheme:
|
||
|
cbDarkTheme.setChecked(!cbDarkTheme.isChecked());
|
||
|
break;
|
||
10 years ago
|
}
|
||
9 years ago
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
private class CheckBoxToggleListener implements OnCheckedChangeListener {
|
||
|
|
||
|
@Override
|
||
|
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||
|
switch (buttonView.getId()) {
|
||
|
case R.id.cbHideStatusBar:
|
||
|
mPreferences.setHideStatusBarEnabled(isChecked);
|
||
|
break;
|
||
|
case R.id.cbFullScreen:
|
||
|
mPreferences.setFullScreenEnabled(isChecked);
|
||
|
break;
|
||
|
case R.id.cbWideViewPort:
|
||
|
mPreferences.setUseWideViewportEnabled(isChecked);
|
||
|
break;
|
||
|
case R.id.cbOverView:
|
||
|
mPreferences.setOverviewModeEnabled(isChecked);
|
||
|
break;
|
||
|
case R.id.cbTextReflow:
|
||
|
mPreferences.setTextReflowEnabled(isChecked);
|
||
|
break;
|
||
|
case R.id.cbDarkTheme:
|
||
|
mPreferences.setUseDarkTheme(isChecked);
|
||
|
restart();
|
||
|
break;
|
||
10 years ago
|
}
|
||
9 years ago
|
}
|
||
10 years ago
|
|
||
|
}
|
||
|
|
||
9 years ago
|
private void textSizePicker() {
|
||
|
AlertDialog.Builder picker = new AlertDialog.Builder(DisplaySettingsActivity.this);
|
||
|
picker.setTitle(getResources().getString(R.string.title_text_size));
|
||
10 years ago
|
|
||
9 years ago
|
int n = mPreferences.getTextSize();
|
||
10 years ago
|
|
||
9 years ago
|
picker.setSingleChoiceItems(R.array.text_size, n - 1,
|
||
|
new DialogInterface.OnClickListener() {
|
||
10 years ago
|
|
||
9 years ago
|
@Override
|
||
|
public void onClick(DialogInterface dialog, int which) {
|
||
|
mPreferences.setTextSize(which + 1);
|
||
|
}
|
||
|
});
|
||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok),
|
||
|
new DialogInterface.OnClickListener() {
|
||
10 years ago
|
|
||
9 years ago
|
@Override
|
||
|
public void onClick(DialogInterface dialog, int which) {
|
||
10 years ago
|
|
||
9 years ago
|
}
|
||
|
});
|
||
|
picker.show();
|
||
10 years ago
|
}
|
||
|
}
|