From d47a86d9b5b6f9a69ef3a4062cd92ca6442b4f92 Mon Sep 17 00:00:00 2001 From: DF1E Date: Fri, 12 Jun 2015 13:14:29 +0200 Subject: [PATCH] new Settings 1/3 --- app/src/main/AndroidManifest.xml | 22 --- .../activity/AboutSettingsActivity.java | 89 ---------- .../activity/AppCompatPreferenceActivity.java | 112 ++++++++++++ .../lightning/activity/BookmarkActivity.java | 167 ----------------- .../lightning/activity/SettingsActivity.java | 23 ++- .../activity/ThemableSettingsActivity.java | 3 +- .../fragment/AboutSettingsFragment.java | 42 +++++ .../fragment/AdvancedSettingsFragment.java | 24 +++ .../fragment/BookmarkSettingsFragment.java | 168 ++++++++++++++++++ .../fragment/DisplaySettingsFragment.java | 24 +++ ...ment.java => GeneralSettingsFragment.java} | 41 ++--- .../fragment/PrivacySettingsFragment.java | 24 +++ app/src/main/res/layout/about_settings.xml | 137 -------------- app/src/main/res/layout/bookmark_settings.xml | 93 ---------- app/src/main/res/layout/settings.xml | 2 +- app/src/main/res/xml/preference_about.xml | 21 +++ app/src/main/res/xml/preference_advanced.xml | 7 + app/src/main/res/xml/preference_bookmarks.xml | 16 ++ app/src/main/res/xml/preference_display.xml | 7 + ...preferences.xml => preference_general.xml} | 27 +-- app/src/main/res/xml/preference_privacy.xml | 7 + app/src/main/res/xml/preferences_headers.xml | 22 +++ 22 files changed, 506 insertions(+), 572 deletions(-) delete mode 100644 app/src/main/java/acr/browser/lightning/activity/AboutSettingsActivity.java create mode 100644 app/src/main/java/acr/browser/lightning/activity/AppCompatPreferenceActivity.java delete mode 100644 app/src/main/java/acr/browser/lightning/activity/BookmarkActivity.java create mode 100644 app/src/main/java/acr/browser/lightning/fragment/AboutSettingsFragment.java create mode 100644 app/src/main/java/acr/browser/lightning/fragment/AdvancedSettingsFragment.java create mode 100644 app/src/main/java/acr/browser/lightning/fragment/BookmarkSettingsFragment.java create mode 100644 app/src/main/java/acr/browser/lightning/fragment/DisplaySettingsFragment.java rename app/src/main/java/acr/browser/lightning/fragment/{SettingsFragment.java => GeneralSettingsFragment.java} (90%) create mode 100644 app/src/main/java/acr/browser/lightning/fragment/PrivacySettingsFragment.java delete mode 100644 app/src/main/res/layout/about_settings.xml delete mode 100644 app/src/main/res/layout/bookmark_settings.xml create mode 100644 app/src/main/res/xml/preference_about.xml create mode 100644 app/src/main/res/xml/preference_advanced.xml create mode 100644 app/src/main/res/xml/preference_bookmarks.xml create mode 100644 app/src/main/res/xml/preference_display.xml rename app/src/main/res/xml/{main_preferences.xml => preference_general.xml} (63%) create mode 100644 app/src/main/res/xml/preference_privacy.xml create mode 100644 app/src/main/res/xml/preferences_headers.xml 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