diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a8a20a3..bff2b95 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -151,17 +151,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ * This technique can be used with an {@link android.app.Activity} class, not just
+ * {@link android.preference.PreferenceActivity}.
+ */
+public abstract class AppCompatPreferenceActivity extends PreferenceActivity {
+
+ private AppCompatDelegate mDelegate;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ getDelegate().installViewFactory();
+ getDelegate().onCreate(savedInstanceState);
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ getDelegate().onPostCreate(savedInstanceState);
+ }
+
+ public ActionBar getSupportActionBar() {
+ return getDelegate().getSupportActionBar();
+ }
+
+ public void setSupportActionBar(@Nullable Toolbar toolbar) {
+ getDelegate().setSupportActionBar(toolbar);
+ }
+
+ @Override
+ public MenuInflater getMenuInflater() {
+ return getDelegate().getMenuInflater();
+ }
+
+ @Override
+ public void setContentView(@LayoutRes int layoutResID) {
+ getDelegate().setContentView(layoutResID);
+ }
+
+ @Override
+ public void setContentView(View view) {
+ getDelegate().setContentView(view);
+ }
+
+ @Override
+ public void setContentView(View view, ViewGroup.LayoutParams params) {
+ getDelegate().setContentView(view, params);
+ }
+
+ @Override
+ public void addContentView(View view, ViewGroup.LayoutParams params) {
+ getDelegate().addContentView(view, params);
+ }
+
+ @Override
+ protected void onPostResume() {
+ super.onPostResume();
+ getDelegate().onPostResume();
+ }
+
+ @Override
+ protected void onTitleChanged(CharSequence title, int color) {
+ super.onTitleChanged(title, color);
+ getDelegate().setTitle(title);
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ getDelegate().onConfigurationChanged(newConfig);
+ }
+
+ @Override
+ protected void onStop() {
+ super.onStop();
+ getDelegate().onStop();
+ }
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ getDelegate().onDestroy();
+ }
+
+ public void invalidateOptionsMenu() {
+ getDelegate().invalidateOptionsMenu();
+ }
+
+ private AppCompatDelegate getDelegate() {
+ if (mDelegate == null) {
+ mDelegate = AppCompatDelegate.create(this, null);
+ }
+ return mDelegate;
+ }
+}
diff --git a/app/src/main/java/acr/browser/lightning/activity/BookmarkActivity.java b/app/src/main/java/acr/browser/lightning/activity/BookmarkActivity.java
deleted file mode 100644
index 3e012c2..0000000
--- a/app/src/main/java/acr/browser/lightning/activity/BookmarkActivity.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package acr.browser.lightning.activity;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Comparator;
-
-import android.app.AlertDialog;
-import android.app.AlertDialog.Builder;
-import android.app.Dialog;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.os.Environment;
-import android.support.v7.widget.Toolbar;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.widget.LinearLayout;
-import android.widget.TextView;
-
-import acr.browser.lightning.database.BookmarkManager;
-import acr.browser.lightning.preference.PreferenceManager;
-import acr.browser.lightning.R;
-
-public class BookmarkActivity extends ThemableSettingsActivity implements OnClickListener {
-
- private BookmarkManager mBookmarkManager;
- private File[] mFileList;
- private String[] mFileNameList;
- private static final File mPath = new File(Environment.getExternalStorageDirectory().toString());
- private static final int DIALOG_LOAD_FILE = 1000;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.bookmark_settings);
-
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
-
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- LinearLayout exportBackup = (LinearLayout) findViewById(R.id.exportBackup);
- LinearLayout importBackup = (LinearLayout) findViewById(R.id.importBackup);
- LinearLayout importFromBrowser = (LinearLayout) findViewById(R.id.importFromBrowser);
-
- TextView importBookmarks = (TextView) findViewById(R.id.isImportBrowserAvailable);
-
- mBookmarkManager = BookmarkManager.getInstance(getApplicationContext());
- PreferenceManager mPreferences = PreferenceManager.getInstance();
-
- boolean systemBrowser = mPreferences.getSystemBrowserPresent();
-
- exportBackup.setOnClickListener(this);
- importBackup.setOnClickListener(this);
- importFromBrowser.setOnClickListener(this);
-
- if (systemBrowser) {
- importBookmarks.setText(getResources().getString(R.string.stock_browser_available));
- } else {
- importBookmarks.setText(getResources().getString(R.string.stock_browser_unavailable));
- }
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.importBackup:
- loadFileList(null);
- onCreateDialog(DIALOG_LOAD_FILE);
- break;
- case R.id.importFromBrowser:
- mBookmarkManager.importBookmarksFromBrowser(BookmarkActivity.this);
- break;
- case R.id.exportBackup:
- mBookmarkManager.exportBookmarks();
- break;
- }
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- finish();
- return true;
- }
-
- private void loadFileList(File path) {
- File file;
- if (path != null) {
- file = path;
- } else {
- file = mPath;
- }
- try {
- file.mkdirs();
- } catch (SecurityException e) {
- e.printStackTrace();
- }
- if (file.exists()) {
- mFileList = file.listFiles();
- } else {
- mFileList = new File[0];
- }
-
- Arrays.sort(mFileList, new SortName());
-
- if (mFileList == null) {
- mFileNameList = new String[0];
- mFileList = new File[0];
- } else {
- mFileNameList = new String[mFileList.length];
- }
- for (int n = 0; n < mFileList.length; n++) {
- mFileNameList[n] = mFileList[n].getName();
- }
- }
-
- private class SortName implements Comparator {
-
- @Override
- public int compare(File a, File b) {
- if (a.isDirectory() && b.isDirectory())
- return a.getName().compareTo(b.getName());
-
- if (a.isDirectory())
- return -1;
-
- if (b.isDirectory())
- return 1;
-
- if (a.isFile() && b.isFile())
- return a.getName().compareTo(b.getName());
- else
- return 1;
- }
- }
-
- protected Dialog onCreateDialog(int id) {
- Dialog dialog;
- final AlertDialog.Builder builder = new Builder(this);
-
- switch (id) {
- case DIALOG_LOAD_FILE:
- builder.setTitle(R.string.title_chooser);
- if (mFileList == null) {
- dialog = builder.create();
- return dialog;
- }
- builder.setItems(mFileNameList, new DialogInterface.OnClickListener() {
-
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (mFileList[which].isDirectory()) {
- loadFileList(mFileList[which]);
- builder.setItems(mFileNameList, this);
- builder.show();
- } else {
- mBookmarkManager.importBookmarksFromFile(mFileList[which], BookmarkActivity.this);
- }
- }
-
- });
- break;
- }
- dialog = builder.show();
- return dialog;
- }
-}
diff --git a/app/src/main/java/acr/browser/lightning/activity/SettingsActivity.java b/app/src/main/java/acr/browser/lightning/activity/SettingsActivity.java
index d4e094f..8a90352 100644
--- a/app/src/main/java/acr/browser/lightning/activity/SettingsActivity.java
+++ b/app/src/main/java/acr/browser/lightning/activity/SettingsActivity.java
@@ -4,22 +4,35 @@
package acr.browser.lightning.activity;
import android.os.Bundle;
-import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
+import java.util.ArrayList;
+import java.util.List;
+
import acr.browser.lightning.R;
public class SettingsActivity extends ThemableSettingsActivity {
+ private static List fragments = new ArrayList<>();
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.settings);
+ // TODO: set up ToolBar
+ }
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
+ @Override
+ public void onBuildHeaders(List target) {
+ loadHeadersFromResource(R.xml.preferences_headers, target);
+ fragments.clear();
+ for (Header header : target) {
+ fragments.add(header.fragment);
+ }
+ }
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ @Override
+ protected boolean isValidFragment(String fragmentName) {
+ return fragments.contains(fragmentName);
}
@Override
diff --git a/app/src/main/java/acr/browser/lightning/activity/ThemableSettingsActivity.java b/app/src/main/java/acr/browser/lightning/activity/ThemableSettingsActivity.java
index e43e1e2..1246c53 100644
--- a/app/src/main/java/acr/browser/lightning/activity/ThemableSettingsActivity.java
+++ b/app/src/main/java/acr/browser/lightning/activity/ThemableSettingsActivity.java
@@ -3,12 +3,11 @@ package acr.browser.lightning.activity;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
import acr.browser.lightning.R;
import acr.browser.lightning.preference.PreferenceManager;
-public abstract class ThemableSettingsActivity extends AppCompatActivity {
+public abstract class ThemableSettingsActivity extends AppCompatPreferenceActivity {
private int mTheme;
diff --git a/app/src/main/java/acr/browser/lightning/fragment/AboutSettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/AboutSettingsFragment.java
new file mode 100644
index 0000000..ce4c4be
--- /dev/null
+++ b/app/src/main/java/acr/browser/lightning/fragment/AboutSettingsFragment.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2014 A.C.R. Development
+ */
+package acr.browser.lightning.fragment;
+
+import android.app.Activity;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Bundle;
+import android.preference.Preference;
+import android.preference.PreferenceFragment;
+
+import acr.browser.lightning.R;
+
+public class AboutSettingsFragment extends PreferenceFragment {
+
+ private Activity mActivity;
+
+ private static final String SETTINGS_VERSION = "pref_version";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preference_about);
+
+ mActivity = getActivity();
+
+ Preference version = findPreference(SETTINGS_VERSION);
+ version.setSummary(getVersion());
+ }
+
+ private String getVersion() {
+ try {
+ PackageInfo p = mActivity.getPackageManager().getPackageInfo(mActivity.getPackageName(), 0);
+ return p.versionName;
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ return "1.0";
+ }
+ }
+}
diff --git a/app/src/main/java/acr/browser/lightning/fragment/AdvancedSettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/AdvancedSettingsFragment.java
new file mode 100644
index 0000000..a36902b
--- /dev/null
+++ b/app/src/main/java/acr/browser/lightning/fragment/AdvancedSettingsFragment.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2014 A.C.R. Development
+ */
+package acr.browser.lightning.fragment;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+import acr.browser.lightning.R;
+
+public class AdvancedSettingsFragment extends PreferenceFragment {
+
+ private Activity mActivity;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preference_advanced);
+
+ mActivity = getActivity();
+ }
+}
diff --git a/app/src/main/java/acr/browser/lightning/fragment/BookmarkSettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/BookmarkSettingsFragment.java
new file mode 100644
index 0000000..99f10a0
--- /dev/null
+++ b/app/src/main/java/acr/browser/lightning/fragment/BookmarkSettingsFragment.java
@@ -0,0 +1,168 @@
+/*
+ * Copyright 2014 A.C.R. Development
+ */
+package acr.browser.lightning.fragment;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.os.Environment;
+import android.preference.Preference;
+import android.preference.PreferenceFragment;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.Comparator;
+
+import acr.browser.lightning.R;
+import acr.browser.lightning.database.BookmarkManager;
+import acr.browser.lightning.preference.PreferenceManager;
+
+public class BookmarkSettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener {
+
+ private static final String SETTINGS_EXPORT = "export_bookmark";
+ private static final String SETTINGS_IMPORT = "import_bookmark";
+ private static final String SETTINGS_BROWSER_IMPORT = "import_browser_bookmark";
+
+ private Activity mActivity;
+ private PreferenceManager mPreferences;
+ private BookmarkManager mBookmarkManager;
+ private File[] mFileList;
+ private String[] mFileNameList;
+ private static final File mPath = new File(Environment.getExternalStorageDirectory().toString());
+ private static final int DIALOG_LOAD_FILE = 1000;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preference_bookmarks);
+
+ mActivity = getActivity();
+
+ mBookmarkManager = BookmarkManager.getInstance(mActivity);
+
+ initPrefs();
+ }
+
+ private void initPrefs() {
+ // mPreferences storage
+ mPreferences = PreferenceManager.getInstance();
+
+ Preference exportpref = findPreference(SETTINGS_EXPORT);
+ Preference importpref = findPreference(SETTINGS_IMPORT);
+ Preference importBrowserpref = findPreference(SETTINGS_BROWSER_IMPORT);
+
+ exportpref.setOnPreferenceClickListener(this);
+ importpref.setOnPreferenceClickListener(this);
+ importBrowserpref.setOnPreferenceClickListener(this);
+
+ if (mPreferences.getSystemBrowserPresent()) {
+ importBrowserpref.setSummary(getResources().getString(R.string.stock_browser_available));
+ } else {
+ importBrowserpref.setSummary(getResources().getString(R.string.stock_browser_unavailable));
+ }
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+ switch (preference.getKey()) {
+ case SETTINGS_EXPORT:
+ mBookmarkManager.exportBookmarks();
+ return true;
+ case SETTINGS_IMPORT:
+ loadFileList(null);
+ onCreateDialog(DIALOG_LOAD_FILE);
+ return true;
+ case SETTINGS_BROWSER_IMPORT:
+ mBookmarkManager.importBookmarksFromBrowser(mActivity);
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ private void loadFileList(File path) {
+ File file;
+ if (path != null) {
+ file = path;
+ } else {
+ file = mPath;
+ }
+ try {
+ file.mkdirs();
+ } catch (SecurityException e) {
+ e.printStackTrace();
+ }
+ if (file.exists()) {
+ mFileList = file.listFiles();
+ } else {
+ mFileList = new File[0];
+ }
+
+ Arrays.sort(mFileList, new SortName());
+
+ if (mFileList == null) {
+ mFileNameList = new String[0];
+ mFileList = new File[0];
+ } else {
+ mFileNameList = new String[mFileList.length];
+ }
+ for (int n = 0; n < mFileList.length; n++) {
+ mFileNameList[n] = mFileList[n].getName();
+ }
+ }
+
+ private class SortName implements Comparator {
+
+ @Override
+ public int compare(File a, File b) {
+ if (a.isDirectory() && b.isDirectory())
+ return a.getName().compareTo(b.getName());
+
+ if (a.isDirectory())
+ return -1;
+
+ if (b.isDirectory())
+ return 1;
+
+ if (a.isFile() && b.isFile())
+ return a.getName().compareTo(b.getName());
+ else
+ return 1;
+ }
+ }
+
+ protected Dialog onCreateDialog(int id) {
+ Dialog dialog;
+ final AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
+
+ switch (id) {
+ case DIALOG_LOAD_FILE:
+ builder.setTitle(R.string.title_chooser);
+ if (mFileList == null) {
+ dialog = builder.create();
+ return dialog;
+ }
+ builder.setItems(mFileNameList, new DialogInterface.OnClickListener() {
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (mFileList[which].isDirectory()) {
+ loadFileList(mFileList[which]);
+ builder.setItems(mFileNameList, this);
+ builder.show();
+ } else {
+ mBookmarkManager.importBookmarksFromFile(mFileList[which], mActivity);
+ }
+ }
+
+ });
+ break;
+ }
+ dialog = builder.show();
+ return dialog;
+ }
+}
diff --git a/app/src/main/java/acr/browser/lightning/fragment/DisplaySettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/DisplaySettingsFragment.java
new file mode 100644
index 0000000..6b68f04
--- /dev/null
+++ b/app/src/main/java/acr/browser/lightning/fragment/DisplaySettingsFragment.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2014 A.C.R. Development
+ */
+package acr.browser.lightning.fragment;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+import acr.browser.lightning.R;
+
+public class DisplaySettingsFragment extends PreferenceFragment {
+
+ private Activity mActivity;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preference_display);
+
+ mActivity = getActivity();
+ }
+}
diff --git a/app/src/main/java/acr/browser/lightning/fragment/SettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/GeneralSettingsFragment.java
similarity index 90%
rename from app/src/main/java/acr/browser/lightning/fragment/SettingsFragment.java
rename to app/src/main/java/acr/browser/lightning/fragment/GeneralSettingsFragment.java
index f5b59c8..d968c43 100644
--- a/app/src/main/java/acr/browser/lightning/fragment/SettingsFragment.java
+++ b/app/src/main/java/acr/browser/lightning/fragment/GeneralSettingsFragment.java
@@ -6,8 +6,6 @@ package acr.browser.lightning.fragment;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
-import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
@@ -21,18 +19,7 @@ import acr.browser.lightning.preference.PreferenceManager;
import acr.browser.lightning.utils.ProxyUtils;
import acr.browser.lightning.utils.Utils;
-public class SettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener {
-
- // TODO: - fix toast on flash cb click
- // - test proxy settings
- // - test flash settings
-
- private Activity mActivity;
- private static final int API = android.os.Build.VERSION.SDK_INT;
- private PreferenceManager mPreferences;
- private CharSequence[] mProxyChoices;
- private Preference proxy, version;
- private CheckBoxPreference cbFlash, cbAds, cbImages, cbJsScript, cbColorMode;
+public class GeneralSettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener {
private static final String SETTINGS_PROXY = "proxy";
private static final String SETTINGS_FLASH = "cb_flash";
@@ -40,13 +27,19 @@ public class SettingsFragment extends PreferenceFragment implements Preference.O
private static final String SETTINGS_IMAGES = "cb_images";
private static final String SETTINGS_JAVASCRIPT = "cb_javascript";
private static final String SETTINGS_COLORMODE = "cb_colormode";
- private static final String SETTINGS_VERSION = "pref_version";
+
+ private Activity mActivity;
+ private static final int API = android.os.Build.VERSION.SDK_INT;
+ private PreferenceManager mPreferences;
+ private CharSequence[] mProxyChoices;
+ private Preference proxy;
+ private CheckBoxPreference cbFlash, cbAds, cbImages, cbJsScript, cbColorMode;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
- addPreferencesFromResource(R.xml.main_preferences);
+ addPreferencesFromResource(R.xml.preference_general);
mActivity = getActivity();
@@ -58,22 +51,19 @@ public class SettingsFragment extends PreferenceFragment implements Preference.O
mPreferences = PreferenceManager.getInstance();
proxy = findPreference(SETTINGS_PROXY);
- version = findPreference(SETTINGS_VERSION);
cbFlash = (CheckBoxPreference) findPreference(SETTINGS_FLASH);
cbAds = (CheckBoxPreference) findPreference(SETTINGS_ADS);
cbImages = (CheckBoxPreference) findPreference(SETTINGS_IMAGES);
cbJsScript = (CheckBoxPreference) findPreference(SETTINGS_JAVASCRIPT);
cbColorMode = (CheckBoxPreference) findPreference(SETTINGS_COLORMODE);
- proxy.setOnPreferenceChangeListener(this);
+ proxy.setOnPreferenceClickListener(this);
cbFlash.setOnPreferenceChangeListener(this);
cbAds.setOnPreferenceChangeListener(this);
cbImages.setOnPreferenceChangeListener(this);
cbJsScript.setOnPreferenceChangeListener(this);
cbColorMode.setOnPreferenceChangeListener(this);
- version.setSummary(getVersion());
-
mProxyChoices = getResources().getStringArray(R.array.proxy_choices_array);
int choice = mPreferences.getProxyChoice();
if (choice == Constants.PROXY_MANUAL) {
@@ -194,16 +184,6 @@ public class SettingsFragment extends PreferenceFragment implements Preference.O
.show();
}
- private String getVersion() {
- try {
- PackageInfo p = mActivity.getPackageManager().getPackageInfo(mActivity.getPackageName(), 0);
- return p.versionName;
- } catch (PackageManager.NameNotFoundException e) {
- e.printStackTrace();
- }
- return "1.0";
- }
-
@Override
public boolean onPreferenceClick(Preference preference) {
switch (preference.getKey()) {
@@ -226,6 +206,7 @@ public class SettingsFragment extends PreferenceFragment implements Preference.O
mPreferences.setFlashSupport(0);
}
+ // TODO: fix toast on flash cb click
if (!Utils.isFlashInstalled(mActivity) && cbFlash.isChecked()) {
Utils.createInformativeDialog(mActivity,
mActivity.getResources().getString(R.string.title_warning),
diff --git a/app/src/main/java/acr/browser/lightning/fragment/PrivacySettingsFragment.java b/app/src/main/java/acr/browser/lightning/fragment/PrivacySettingsFragment.java
new file mode 100644
index 0000000..2756221
--- /dev/null
+++ b/app/src/main/java/acr/browser/lightning/fragment/PrivacySettingsFragment.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2014 A.C.R. Development
+ */
+package acr.browser.lightning.fragment;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+import acr.browser.lightning.R;
+
+public class PrivacySettingsFragment extends PreferenceFragment {
+
+ private Activity mActivity;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.preference_privacy);
+
+ mActivity = getActivity();
+ }
+}
diff --git a/app/src/main/res/layout/about_settings.xml b/app/src/main/res/layout/about_settings.xml
deleted file mode 100644
index 4a1da29..0000000
--- a/app/src/main/res/layout/about_settings.xml
+++ /dev/null
@@ -1,137 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/bookmark_settings.xml b/app/src/main/res/layout/bookmark_settings.xml
deleted file mode 100644
index f172e82..0000000
--- a/app/src/main/res/layout/bookmark_settings.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/settings.xml b/app/src/main/res/layout/settings.xml
index cefe459..2d2454f 100644
--- a/app/src/main/res/layout/settings.xml
+++ b/app/src/main/res/layout/settings.xml
@@ -7,7 +7,7 @@
diff --git a/app/src/main/res/xml/preference_about.xml b/app/src/main/res/xml/preference_about.xml
new file mode 100644
index 0000000..a8a11af
--- /dev/null
+++ b/app/src/main/res/xml/preference_about.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preference_advanced.xml b/app/src/main/res/xml/preference_advanced.xml
new file mode 100644
index 0000000..599754a
--- /dev/null
+++ b/app/src/main/res/xml/preference_advanced.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preference_bookmarks.xml b/app/src/main/res/xml/preference_bookmarks.xml
new file mode 100644
index 0000000..692ff25
--- /dev/null
+++ b/app/src/main/res/xml/preference_bookmarks.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preference_display.xml b/app/src/main/res/xml/preference_display.xml
new file mode 100644
index 0000000..5a4f8d4
--- /dev/null
+++ b/app/src/main/res/xml/preference_display.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/main_preferences.xml b/app/src/main/res/xml/preference_general.xml
similarity index 63%
rename from app/src/main/res/xml/main_preferences.xml
rename to app/src/main/res/xml/preference_general.xml
index 163398a..285adb5 100644
--- a/app/src/main/res/xml/main_preferences.xml
+++ b/app/src/main/res/xml/preference_general.xml
@@ -1,7 +1,7 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/preference_privacy.xml b/app/src/main/res/xml/preference_privacy.xml
new file mode 100644
index 0000000..52ae12e
--- /dev/null
+++ b/app/src/main/res/xml/preference_privacy.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences_headers.xml b/app/src/main/res/xml/preferences_headers.xml
new file mode 100644
index 0000000..339554d
--- /dev/null
+++ b/app/src/main/res/xml/preferences_headers.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file