Anthony Restaino
10 years ago
34 changed files with 1885 additions and 4320 deletions
@ -1,89 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.content.Intent; |
|
||||||
import android.content.pm.PackageInfo; |
|
||||||
import android.content.pm.PackageManager.NameNotFoundException; |
|
||||||
import android.net.Uri; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
import android.view.MenuItem; |
|
||||||
import android.view.View; |
|
||||||
import android.view.View.OnClickListener; |
|
||||||
import android.widget.RelativeLayout; |
|
||||||
import android.widget.TextView; |
|
||||||
|
|
||||||
import acr.browser.lightning.R; |
|
||||||
|
|
||||||
public class AboutSettingsActivity extends ThemableSettingsActivity implements OnClickListener { |
|
||||||
|
|
||||||
private int mEasterEggCounter; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.about_settings); |
|
||||||
|
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
|
|
||||||
initialize(); |
|
||||||
} |
|
||||||
|
|
||||||
private void initialize() { |
|
||||||
String code = "1.0"; |
|
||||||
try { |
|
||||||
PackageInfo p = getPackageManager().getPackageInfo(getPackageName(), 0); |
|
||||||
code = p.versionName; |
|
||||||
} catch (NameNotFoundException e) { |
|
||||||
e.printStackTrace(); |
|
||||||
} |
|
||||||
|
|
||||||
TextView versionCode = (TextView) findViewById(R.id.versionCode); |
|
||||||
versionCode.setText(code); |
|
||||||
|
|
||||||
RelativeLayout licenses = (RelativeLayout) findViewById(R.id.layoutLicense); |
|
||||||
RelativeLayout source = (RelativeLayout) findViewById(R.id.layoutSource); |
|
||||||
RelativeLayout version = (RelativeLayout) findViewById(R.id.layoutVersion); |
|
||||||
licenses.setOnClickListener(this); |
|
||||||
source.setOnClickListener(this); |
|
||||||
version.setOnClickListener(this); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View view) { |
|
||||||
switch (view.getId()) { |
|
||||||
case R.id.layoutLicense: |
|
||||||
// NOTE: In order to comply legally with open source licenses,
|
|
||||||
// it is advised that you leave this code so that the License
|
|
||||||
// Activity may be viewed by the user.
|
|
||||||
startActivity(new Intent(this, LicenseActivity.class)); |
|
||||||
break; |
|
||||||
case R.id.layoutSource: |
|
||||||
startActivity(new Intent(Intent.ACTION_VIEW, |
|
||||||
Uri.parse("http://twitter.com/RestainoAnthony"), this, MainActivity.class)); |
|
||||||
finish(); |
|
||||||
break; |
|
||||||
case R.id.layoutVersion: |
|
||||||
mEasterEggCounter++; |
|
||||||
if (mEasterEggCounter == 10) { |
|
||||||
startActivity(new Intent(Intent.ACTION_VIEW, |
|
||||||
Uri.parse("http://imgs.xkcd.com/comics/compiling.png"), this, |
|
||||||
MainActivity.class)); |
|
||||||
finish(); |
|
||||||
mEasterEggCounter = 0; |
|
||||||
} |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,237 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.app.AlertDialog; |
|
||||||
import android.content.Context; |
|
||||||
import android.content.DialogInterface; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
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.LinearLayout; |
|
||||||
import android.widget.RelativeLayout; |
|
||||||
import android.widget.TextView; |
|
||||||
|
|
||||||
import acr.browser.lightning.preference.PreferenceManager; |
|
||||||
import acr.browser.lightning.R; |
|
||||||
|
|
||||||
public class AdvancedSettingsActivity extends ThemableSettingsActivity { |
|
||||||
|
|
||||||
private CheckBox cbAllowPopups, cbAllowCookies, cbAllowIncognitoCookies, cbRestoreTabs; |
|
||||||
private Context mContext; |
|
||||||
private TextView mRenderText; |
|
||||||
private TextView mUrlText; |
|
||||||
private CharSequence[] mUrlOptions; |
|
||||||
private PreferenceManager mPreferences; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.advanced_settings); |
|
||||||
|
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
|
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
|
|
||||||
mContext = this; |
|
||||||
initialize(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
private void initialize() { |
|
||||||
|
|
||||||
mPreferences = PreferenceManager.getInstance(); |
|
||||||
|
|
||||||
RelativeLayout rAllowPopups, rAllowCookies, rAllowIncognitoCookies, rRestoreTabs; |
|
||||||
LinearLayout lRenderPicker, lUrlContent; |
|
||||||
|
|
||||||
rAllowPopups = (RelativeLayout) findViewById(R.id.rAllowPopups); |
|
||||||
rAllowCookies = (RelativeLayout) findViewById(R.id.rAllowCookies); |
|
||||||
rAllowIncognitoCookies = (RelativeLayout) findViewById(R.id.rAllowIncognitoCookies); |
|
||||||
rRestoreTabs = (RelativeLayout) findViewById(R.id.rRestoreTabs); |
|
||||||
lRenderPicker = (LinearLayout) findViewById(R.id.layoutRendering); |
|
||||||
lUrlContent = (LinearLayout) findViewById(R.id.rUrlBarContents); |
|
||||||
|
|
||||||
cbAllowPopups = (CheckBox) findViewById(R.id.cbAllowPopups); |
|
||||||
cbAllowCookies = (CheckBox) findViewById(R.id.cbAllowCookies); |
|
||||||
cbAllowIncognitoCookies = (CheckBox) findViewById(R.id.cbAllowIncognitoCookies); |
|
||||||
cbRestoreTabs = (CheckBox) findViewById(R.id.cbRestoreTabs); |
|
||||||
|
|
||||||
cbAllowPopups.setChecked(mPreferences.getPopupsEnabled()); |
|
||||||
cbAllowCookies.setChecked(mPreferences.getCookiesEnabled()); |
|
||||||
cbAllowIncognitoCookies.setChecked(mPreferences.getIncognitoCookiesEnabled()); |
|
||||||
cbRestoreTabs.setChecked(mPreferences.getRestoreLostTabsEnabled()); |
|
||||||
|
|
||||||
mRenderText = (TextView) findViewById(R.id.renderText); |
|
||||||
mUrlText = (TextView) findViewById(R.id.urlText); |
|
||||||
|
|
||||||
switch (mPreferences.getRenderingMode()) { |
|
||||||
case 0: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_normal)); |
|
||||||
break; |
|
||||||
case 1: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_inverted)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_grayscale)); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_inverted_grayscale)); |
|
||||||
break; |
|
||||||
} |
|
||||||
|
|
||||||
mUrlOptions = this.getResources().getStringArray(R.array.url_content_array); |
|
||||||
int option = mPreferences.getUrlBoxContentChoice(); |
|
||||||
mUrlText.setText(mUrlOptions[option]); |
|
||||||
|
|
||||||
LayoutClickListener listener = new LayoutClickListener(); |
|
||||||
CheckListener cListener = new CheckListener(); |
|
||||||
|
|
||||||
rAllowPopups.setOnClickListener(listener); |
|
||||||
rAllowCookies.setOnClickListener(listener); |
|
||||||
rAllowIncognitoCookies.setOnClickListener(listener); |
|
||||||
rRestoreTabs.setOnClickListener(listener); |
|
||||||
lRenderPicker.setOnClickListener(listener); |
|
||||||
lUrlContent.setOnClickListener(listener); |
|
||||||
|
|
||||||
cbAllowPopups.setOnCheckedChangeListener(cListener); |
|
||||||
cbAllowCookies.setOnCheckedChangeListener(cListener); |
|
||||||
cbAllowIncognitoCookies.setOnCheckedChangeListener(cListener); |
|
||||||
cbRestoreTabs.setOnCheckedChangeListener(cListener); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private class LayoutClickListener implements OnClickListener { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
switch (v.getId()) { |
|
||||||
case R.id.rAllowPopups: |
|
||||||
cbAllowPopups.setChecked(!cbAllowPopups.isChecked()); |
|
||||||
break; |
|
||||||
case R.id.rAllowIncognitoCookies: |
|
||||||
cbAllowIncognitoCookies.setChecked(!cbAllowIncognitoCookies.isChecked()); |
|
||||||
break; |
|
||||||
case R.id.rAllowCookies: |
|
||||||
cbAllowCookies.setChecked(!cbAllowCookies.isChecked()); |
|
||||||
break; |
|
||||||
case R.id.rRestoreTabs: |
|
||||||
cbRestoreTabs.setChecked(!cbRestoreTabs.isChecked()); |
|
||||||
break; |
|
||||||
case R.id.layoutRendering: |
|
||||||
renderPicker(); |
|
||||||
break; |
|
||||||
case R.id.rUrlBarContents: |
|
||||||
urlBoxPicker(); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private class CheckListener implements OnCheckedChangeListener { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
switch (buttonView.getId()) { |
|
||||||
case R.id.cbAllowPopups: |
|
||||||
mPreferences.setPopupsEnabled(isChecked); |
|
||||||
break; |
|
||||||
case R.id.cbAllowCookies: |
|
||||||
mPreferences.setCookiesEnabled(isChecked); |
|
||||||
break; |
|
||||||
case R.id.cbAllowIncognitoCookies: |
|
||||||
mPreferences.setIncognitoCookiesEnabled(isChecked); |
|
||||||
break; |
|
||||||
case R.id.cbRestoreTabs: |
|
||||||
mPreferences.setRestoreLostTabsEnabled(isChecked); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private void renderPicker() { |
|
||||||
|
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mContext); |
|
||||||
picker.setTitle(getResources().getString(R.string.rendering_mode)); |
|
||||||
CharSequence[] chars = { mContext.getString(R.string.name_normal), |
|
||||||
mContext.getString(R.string.name_inverted), |
|
||||||
mContext.getString(R.string.name_grayscale), |
|
||||||
mContext.getString(R.string.name_inverted_grayscale) }; |
|
||||||
|
|
||||||
int n = mPreferences.getRenderingMode(); |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(chars, n, new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setRenderingMode(which); |
|
||||||
switch (which) { |
|
||||||
case 0: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_normal)); |
|
||||||
break; |
|
||||||
case 1: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_inverted)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_grayscale)); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mRenderText.setText(mContext.getString(R.string.name_inverted_grayscale)); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
private void urlBoxPicker() { |
|
||||||
|
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mContext); |
|
||||||
picker.setTitle(getResources().getString(R.string.url_contents)); |
|
||||||
|
|
||||||
int n = mPreferences.getUrlBoxContentChoice(); |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(mUrlOptions, n, new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setUrlBoxContentChoice(which); |
|
||||||
if (which < mUrlOptions.length) { |
|
||||||
mUrlText.setText(mUrlOptions[which]); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -0,0 +1,112 @@ |
|||||||
|
package acr.browser.lightning.activity; |
||||||
|
|
||||||
|
import android.content.res.Configuration; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.preference.PreferenceActivity; |
||||||
|
import android.support.annotation.LayoutRes; |
||||||
|
import android.support.annotation.Nullable; |
||||||
|
import android.support.v7.app.ActionBar; |
||||||
|
import android.support.v7.app.AppCompatDelegate; |
||||||
|
import android.support.v7.widget.Toolbar; |
||||||
|
import android.view.MenuInflater; |
||||||
|
import android.view.View; |
||||||
|
import android.view.ViewGroup; |
||||||
|
|
||||||
|
/** |
||||||
|
* A {@link android.preference.PreferenceActivity} which implements and proxies the necessary calls |
||||||
|
* to be used with AppCompat. |
||||||
|
* <p/> |
||||||
|
* 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; |
||||||
|
} |
||||||
|
} |
@ -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<File> { |
|
||||||
|
|
||||||
@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; |
|
||||||
} |
|
||||||
} |
|
@ -1,214 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.app.AlertDialog; |
|
||||||
import android.content.DialogInterface; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
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; |
|
||||||
import android.widget.TextView; |
|
||||||
|
|
||||||
import acr.browser.lightning.preference.PreferenceManager; |
|
||||||
import acr.browser.lightning.R; |
|
||||||
|
|
||||||
public class DisplaySettingsActivity extends ThemableSettingsActivity { |
|
||||||
|
|
||||||
// mPreferences variables
|
|
||||||
private PreferenceManager mPreferences; |
|
||||||
private CheckBox cbHideStatusBar, cbFullScreen, cbWideViewPort, cbOverView, cbTextReflow; |
|
||||||
private String[] mThemeOptions; |
|
||||||
private TextView mThemeText; |
|
||||||
private int mCurrentTheme; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.display_settings); |
|
||||||
|
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
|
|
||||||
mPreferences = PreferenceManager.getInstance(); |
|
||||||
mThemeOptions = this.getResources().getStringArray(R.array.themes); |
|
||||||
initialize(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
private void initialize() { |
|
||||||
|
|
||||||
RelativeLayout rHideStatusBar, rFullScreen, rWideViewPort, rOverView, rTextReflow, rTextSize, rDarkTheme; |
|
||||||
LayoutClickListener clickListener = new LayoutClickListener(); |
|
||||||
CheckBoxToggleListener toggleListener = new CheckBoxToggleListener(); |
|
||||||
|
|
||||||
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); |
|
||||||
rDarkTheme = (RelativeLayout) findViewById(R.id.rTheme); |
|
||||||
|
|
||||||
rHideStatusBar.setOnClickListener(clickListener); |
|
||||||
rFullScreen.setOnClickListener(clickListener); |
|
||||||
rWideViewPort.setOnClickListener(clickListener); |
|
||||||
rOverView.setOnClickListener(clickListener); |
|
||||||
rTextReflow.setOnClickListener(clickListener); |
|
||||||
rTextSize.setOnClickListener(clickListener); |
|
||||||
rDarkTheme.setOnClickListener(clickListener); |
|
||||||
|
|
||||||
mThemeText = (TextView) findViewById(R.id.textViewTheme); |
|
||||||
|
|
||||||
mCurrentTheme = mPreferences.getUseTheme(); |
|
||||||
mThemeText.setText(mThemeOptions[mPreferences.getUseTheme()]); |
|
||||||
|
|
||||||
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); |
|
||||||
|
|
||||||
cbHideStatusBar.setChecked(mPreferences.getHideStatusBarEnabled()); |
|
||||||
cbFullScreen.setChecked(mPreferences.getFullScreenEnabled()); |
|
||||||
cbWideViewPort.setChecked(mPreferences.getUseWideViewportEnabled()); |
|
||||||
cbOverView.setChecked(mPreferences.getOverviewModeEnabled()); |
|
||||||
cbTextReflow.setChecked(mPreferences.getTextReflowEnabled()); |
|
||||||
|
|
||||||
cbHideStatusBar.setOnCheckedChangeListener(toggleListener); |
|
||||||
cbFullScreen.setOnCheckedChangeListener(toggleListener); |
|
||||||
cbWideViewPort.setOnCheckedChangeListener(toggleListener); |
|
||||||
cbOverView.setOnCheckedChangeListener(toggleListener); |
|
||||||
cbTextReflow.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.rTheme: |
|
||||||
themePicker(); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
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; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private void textSizePicker() { |
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(DisplaySettingsActivity.this); |
|
||||||
picker.setTitle(getResources().getString(R.string.title_text_size)); |
|
||||||
|
|
||||||
int n = mPreferences.getTextSize(); |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(R.array.text_size, n - 1, |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setTextSize(which + 1); |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
private void themePicker() { |
|
||||||
|
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(DisplaySettingsActivity.this); |
|
||||||
picker.setTitle(getResources().getString(R.string.url_contents)); |
|
||||||
|
|
||||||
int n = mPreferences.getUseTheme(); |
|
||||||
picker.setSingleChoiceItems(mThemeOptions, n, new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setUseTheme(which); |
|
||||||
if (which < mThemeOptions.length) { |
|
||||||
mThemeText.setText(mThemeOptions[which]); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
if (mCurrentTheme != mPreferences.getUseTheme()) { |
|
||||||
restart(); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setOnCancelListener(new DialogInterface.OnCancelListener() { |
|
||||||
@Override |
|
||||||
public void onCancel(DialogInterface dialog) { |
|
||||||
if (mCurrentTheme != mPreferences.getUseTheme()) { |
|
||||||
restart(); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
} |
|
@ -1,536 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.app.Activity; |
|
||||||
import android.app.AlertDialog; |
|
||||||
import android.content.DialogInterface; |
|
||||||
import android.graphics.Color; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.os.Environment; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
import android.util.Log; |
|
||||||
import android.util.TypedValue; |
|
||||||
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.EditText; |
|
||||||
import android.widget.LinearLayout; |
|
||||||
import android.widget.RelativeLayout; |
|
||||||
import android.widget.TextView; |
|
||||||
|
|
||||||
import acr.browser.lightning.constant.Constants; |
|
||||||
import acr.browser.lightning.preference.PreferenceManager; |
|
||||||
import acr.browser.lightning.R; |
|
||||||
import acr.browser.lightning.utils.Utils; |
|
||||||
|
|
||||||
public class GeneralSettingsActivity extends ThemableSettingsActivity { |
|
||||||
|
|
||||||
// mPreferences variables
|
|
||||||
private static final int API = android.os.Build.VERSION.SDK_INT; |
|
||||||
private PreferenceManager mPreferences; |
|
||||||
private int mAgentChoice; |
|
||||||
private String mHomepage; |
|
||||||
private TextView mAgentTextView; |
|
||||||
private TextView mDownloadTextView; |
|
||||||
private String mDownloadLocation; |
|
||||||
private TextView mHomepageText; |
|
||||||
private TextView mSearchText; |
|
||||||
private CheckBox cbSearchSuggestions; |
|
||||||
private Activity mActivity; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.general_settings); |
|
||||||
|
|
||||||
// set up ActionBar
|
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
|
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
|
|
||||||
mPreferences = PreferenceManager.getInstance(); |
|
||||||
|
|
||||||
mActivity = this; |
|
||||||
initialize(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
private void initialize() { |
|
||||||
|
|
||||||
mSearchText = (TextView) findViewById(R.id.searchText); |
|
||||||
|
|
||||||
switch (mPreferences.getSearchChoice()) { |
|
||||||
case 0: |
|
||||||
mSearchText.setText(getResources().getString(R.string.custom_url)); |
|
||||||
break; |
|
||||||
case 1: |
|
||||||
mSearchText.setText("Google"); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mSearchText.setText("Ask"); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mSearchText.setText("Bing"); |
|
||||||
break; |
|
||||||
case 4: |
|
||||||
mSearchText.setText("Yahoo"); |
|
||||||
break; |
|
||||||
case 5: |
|
||||||
mSearchText.setText("StartPage"); |
|
||||||
break; |
|
||||||
case 6: |
|
||||||
mSearchText.setText("StartPage (Mobile)"); |
|
||||||
break; |
|
||||||
case 7: |
|
||||||
mSearchText.setText("DuckDuckGo"); |
|
||||||
break; |
|
||||||
case 8: |
|
||||||
mSearchText.setText("DuckDuckGo Lite"); |
|
||||||
break; |
|
||||||
case 9: |
|
||||||
mSearchText.setText("Baidu"); |
|
||||||
break; |
|
||||||
case 10: |
|
||||||
mSearchText.setText("Yandex"); |
|
||||||
} |
|
||||||
|
|
||||||
mAgentTextView = (TextView) findViewById(R.id.agentText); |
|
||||||
mHomepageText = (TextView) findViewById(R.id.homepageText); |
|
||||||
mDownloadTextView = (TextView) findViewById(R.id.downloadText); |
|
||||||
mAgentChoice = mPreferences.getUserAgentChoice(); |
|
||||||
mHomepage = mPreferences.getHomepage(); |
|
||||||
mDownloadLocation = mPreferences.getDownloadDirectory(); |
|
||||||
|
|
||||||
mDownloadTextView.setText(Constants.EXTERNAL_STORAGE + '/' + mDownloadLocation); |
|
||||||
|
|
||||||
if (mHomepage.contains("about:home")) { |
|
||||||
mHomepageText.setText(getResources().getString(R.string.action_homepage)); |
|
||||||
} else if (mHomepage.contains("about:blank")) { |
|
||||||
mHomepageText.setText(getResources().getString(R.string.action_blank)); |
|
||||||
} else if (mHomepage.contains("about:bookmarks")) { |
|
||||||
mHomepageText.setText(getResources().getString(R.string.action_bookmarks)); |
|
||||||
} else { |
|
||||||
mHomepageText.setText(mHomepage); |
|
||||||
} |
|
||||||
|
|
||||||
switch (mAgentChoice) { |
|
||||||
case 1: |
|
||||||
mAgentTextView.setText(getResources().getString(R.string.agent_default)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mAgentTextView.setText(getResources().getString(R.string.agent_desktop)); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mAgentTextView.setText(getResources().getString(R.string.agent_mobile)); |
|
||||||
break; |
|
||||||
case 4: |
|
||||||
mAgentTextView.setText(getResources().getString(R.string.agent_custom)); |
|
||||||
} |
|
||||||
|
|
||||||
RelativeLayout rSearchSuggestions; |
|
||||||
rSearchSuggestions = (RelativeLayout) findViewById(R.id.rGoogleSuggestions); |
|
||||||
|
|
||||||
cbSearchSuggestions = (CheckBox) findViewById(R.id.cbGoogleSuggestions); |
|
||||||
|
|
||||||
cbSearchSuggestions.setChecked(mPreferences.getGoogleSearchSuggestionsEnabled()); |
|
||||||
|
|
||||||
RelativeLayout agent = (RelativeLayout) findViewById(R.id.layoutUserAgent); |
|
||||||
RelativeLayout download = (RelativeLayout) findViewById(R.id.layoutDownload); |
|
||||||
RelativeLayout homepage = (RelativeLayout) findViewById(R.id.layoutHomepage); |
|
||||||
|
|
||||||
agent(agent); |
|
||||||
download(download); |
|
||||||
homepage(homepage); |
|
||||||
search(); |
|
||||||
|
|
||||||
rSearchSuggestions(rSearchSuggestions); |
|
||||||
cbSearchSuggestions(cbSearchSuggestions); |
|
||||||
} |
|
||||||
|
|
||||||
public void search() { |
|
||||||
RelativeLayout search = (RelativeLayout) findViewById(R.id.layoutSearch); |
|
||||||
search.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
|
||||||
picker.setTitle(getResources().getString(R.string.title_search_engine)); |
|
||||||
CharSequence[] chars = { getResources().getString(R.string.custom_url), "Google", |
|
||||||
"Ask", "Bing", "Yahoo", "StartPage", "StartPage (Mobile)", |
|
||||||
"DuckDuckGo (Privacy)", "DuckDuckGo Lite (Privacy)", "Baidu (Chinese)", |
|
||||||
"Yandex (Russian)" }; |
|
||||||
|
|
||||||
int n = mPreferences.getSearchChoice(); |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(chars, n, new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setSearchChoice(which); |
|
||||||
switch (which) { |
|
||||||
case 0: |
|
||||||
searchUrlPicker(); |
|
||||||
break; |
|
||||||
case 1: |
|
||||||
mSearchText.setText("Google"); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mSearchText.setText("Ask"); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mSearchText.setText("Bing"); |
|
||||||
break; |
|
||||||
case 4: |
|
||||||
mSearchText.setText("Yahoo"); |
|
||||||
break; |
|
||||||
case 5: |
|
||||||
mSearchText.setText("StartPage"); |
|
||||||
break; |
|
||||||
case 6: |
|
||||||
mSearchText.setText("StartPage (Mobile)"); |
|
||||||
break; |
|
||||||
case 7: |
|
||||||
mSearchText.setText("DuckDuckGo"); |
|
||||||
break; |
|
||||||
case 8: |
|
||||||
mSearchText.setText("DuckDuckGo Lite"); |
|
||||||
break; |
|
||||||
case 9: |
|
||||||
mSearchText.setText("Baidu"); |
|
||||||
break; |
|
||||||
case 10: |
|
||||||
mSearchText.setText("Yandex"); |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
public void searchUrlPicker() { |
|
||||||
final AlertDialog.Builder urlPicker = new AlertDialog.Builder(this); |
|
||||||
|
|
||||||
urlPicker.setTitle(getResources().getString(R.string.custom_url)); |
|
||||||
final EditText getSearchUrl = new EditText(this); |
|
||||||
|
|
||||||
String mSearchUrl = mPreferences.getSearchUrl(); |
|
||||||
getSearchUrl.setText(mSearchUrl); |
|
||||||
urlPicker.setView(getSearchUrl); |
|
||||||
urlPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
String text = getSearchUrl.getText().toString(); |
|
||||||
mPreferences.setSearchUrl(text); |
|
||||||
mSearchText.setText(getResources().getString(R.string.custom_url) + ": " |
|
||||||
+ text); |
|
||||||
} |
|
||||||
}); |
|
||||||
urlPicker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
public void agent(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
AlertDialog.Builder agentPicker = new AlertDialog.Builder(mActivity); |
|
||||||
agentPicker.setTitle(getResources().getString(R.string.title_user_agent)); |
|
||||||
mAgentChoice = mPreferences.getUserAgentChoice(); |
|
||||||
agentPicker.setSingleChoiceItems(R.array.user_agent, mAgentChoice - 1, |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
mPreferences.setUserAgentChoice(which + 1); |
|
||||||
switch (which + 1) { |
|
||||||
case 1: |
|
||||||
mAgentTextView.setText(getResources().getString( |
|
||||||
R.string.agent_default)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mAgentTextView.setText(getResources().getString( |
|
||||||
R.string.agent_desktop)); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mAgentTextView.setText(getResources().getString( |
|
||||||
R.string.agent_mobile)); |
|
||||||
break; |
|
||||||
case 4: |
|
||||||
mAgentTextView.setText(getResources().getString( |
|
||||||
R.string.agent_custom)); |
|
||||||
agentPicker(); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
agentPicker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
agentPicker.setOnCancelListener(new DialogInterface.OnCancelListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCancel(DialogInterface dialog) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
Log.i("Cancelled", ""); |
|
||||||
} |
|
||||||
}); |
|
||||||
agentPicker.show(); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
public void agentPicker() { |
|
||||||
final AlertDialog.Builder agentStringPicker = new AlertDialog.Builder(mActivity); |
|
||||||
|
|
||||||
agentStringPicker.setTitle(getResources().getString(R.string.title_user_agent)); |
|
||||||
final EditText getAgent = new EditText(this); |
|
||||||
agentStringPicker.setView(getAgent); |
|
||||||
agentStringPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
String text = getAgent.getText().toString(); |
|
||||||
mPreferences.setUserAgentString(text); |
|
||||||
mAgentTextView.setText(getResources().getString(R.string.agent_custom)); |
|
||||||
} |
|
||||||
}); |
|
||||||
agentStringPicker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
public void download(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
|
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
|
||||||
picker.setTitle(getResources().getString(R.string.title_download_location)); |
|
||||||
mDownloadLocation = mPreferences.getDownloadDirectory(); |
|
||||||
int n; |
|
||||||
if (mDownloadLocation.contains(Environment.DIRECTORY_DOWNLOADS)) { |
|
||||||
n = 1; |
|
||||||
} else { |
|
||||||
n = 2; |
|
||||||
} |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(R.array.download_folder, n - 1, |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
switch (which + 1) { |
|
||||||
case 1: |
|
||||||
mPreferences |
|
||||||
.setDownloadDirectory(Environment.DIRECTORY_DOWNLOADS); |
|
||||||
mDownloadTextView.setText(Constants.EXTERNAL_STORAGE + '/' |
|
||||||
+ Environment.DIRECTORY_DOWNLOADS); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
downPicker(); |
|
||||||
|
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
public void homePicker() { |
|
||||||
final AlertDialog.Builder homePicker = new AlertDialog.Builder(mActivity); |
|
||||||
homePicker.setTitle(getResources().getString(R.string.title_custom_homepage)); |
|
||||||
final EditText getHome = new EditText(this); |
|
||||||
mHomepage = mPreferences.getHomepage(); |
|
||||||
if (!mHomepage.startsWith("about:")) { |
|
||||||
getHome.setText(mHomepage); |
|
||||||
} else { |
|
||||||
getHome.setText("http://www.google.com"); |
|
||||||
} |
|
||||||
homePicker.setView(getHome); |
|
||||||
homePicker.setPositiveButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
String text = getHome.getText().toString(); |
|
||||||
mPreferences.setHomepage(text); |
|
||||||
mHomepageText.setText(text); |
|
||||||
} |
|
||||||
}); |
|
||||||
homePicker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") |
|
||||||
public void downPicker() { |
|
||||||
final AlertDialog.Builder downLocationPicker = new AlertDialog.Builder(mActivity); |
|
||||||
LinearLayout layout = new LinearLayout(this); |
|
||||||
downLocationPicker.setTitle(getResources().getString(R.string.title_download_location)); |
|
||||||
final EditText getDownload = new EditText(this); |
|
||||||
getDownload.setBackgroundResource(0); |
|
||||||
mDownloadLocation = mPreferences.getDownloadDirectory(); |
|
||||||
int padding = Utils.convertDpToPixels(10); |
|
||||||
|
|
||||||
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams( |
|
||||||
LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT); |
|
||||||
|
|
||||||
getDownload.setLayoutParams(lparams); |
|
||||||
getDownload.setTextColor(Color.DKGRAY); |
|
||||||
getDownload.setText(mDownloadLocation); |
|
||||||
getDownload.setPadding(0, padding, padding, padding); |
|
||||||
|
|
||||||
TextView v = new TextView(this); |
|
||||||
v.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); |
|
||||||
v.setTextColor(Color.DKGRAY); |
|
||||||
v.setText(Constants.EXTERNAL_STORAGE + '/'); |
|
||||||
v.setPadding(padding, padding, 0, padding); |
|
||||||
layout.addView(v); |
|
||||||
layout.addView(getDownload); |
|
||||||
if (API < 16) { |
|
||||||
layout.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.edit_text)); |
|
||||||
} else { |
|
||||||
layout.setBackground(getResources().getDrawable(android.R.drawable.edit_text)); |
|
||||||
} |
|
||||||
downLocationPicker.setView(layout); |
|
||||||
downLocationPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
String text = getDownload.getText().toString(); |
|
||||||
mPreferences.setDownloadDirectory(text); |
|
||||||
mDownloadTextView.setText(Constants.EXTERNAL_STORAGE + '/' + text); |
|
||||||
} |
|
||||||
}); |
|
||||||
downLocationPicker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
public void homepage(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
|
||||||
picker.setTitle(getResources().getString(R.string.home)); |
|
||||||
mHomepage = mPreferences.getHomepage(); |
|
||||||
int n; |
|
||||||
if (mHomepage.contains("about:home")) { |
|
||||||
n = 1; |
|
||||||
} else if (mHomepage.contains("about:blank")) { |
|
||||||
n = 2; |
|
||||||
} else if (mHomepage.contains("about:bookmarks")) { |
|
||||||
n = 3; |
|
||||||
} else { |
|
||||||
n = 4; |
|
||||||
} |
|
||||||
|
|
||||||
picker.setSingleChoiceItems(R.array.homepage, n - 1, |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
switch (which + 1) { |
|
||||||
case 1: |
|
||||||
mPreferences.setHomepage("about:home"); |
|
||||||
mHomepageText.setText(getResources().getString( |
|
||||||
R.string.action_homepage)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
mPreferences.setHomepage("about:blank"); |
|
||||||
mHomepageText.setText(getResources().getString( |
|
||||||
R.string.action_blank)); |
|
||||||
break; |
|
||||||
case 3: |
|
||||||
mPreferences.setHomepage("about:bookmarks"); |
|
||||||
mHomepageText.setText(getResources().getString( |
|
||||||
R.string.action_bookmarks)); |
|
||||||
|
|
||||||
break; |
|
||||||
case 4: |
|
||||||
homePicker(); |
|
||||||
|
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
}); |
|
||||||
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface dialog, int which) { |
|
||||||
|
|
||||||
} |
|
||||||
}); |
|
||||||
picker.show(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbSearchSuggestions(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setGoogleSearchSuggestionsEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rSearchSuggestions(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View arg0) { |
|
||||||
cbSearchSuggestions.setChecked(!cbSearchSuggestions.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
@ -1,72 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.content.Intent; |
|
||||||
import android.net.Uri; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
import android.view.MenuItem; |
|
||||||
import android.view.View; |
|
||||||
|
|
||||||
import acr.browser.lightning.R; |
|
||||||
|
|
||||||
/* |
|
||||||
*NOTE: This activity must not be removed in order to comply with the Mozilla Public License v. 2.0 |
|
||||||
*under which this code is licensed. Unless you plan on providing other attribution in the app to |
|
||||||
*the original source in another visible way, it is advised against the removal of this Activity. |
|
||||||
*/ |
|
||||||
public class LicenseActivity extends ThemableSettingsActivity implements View.OnClickListener { |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.license_activity); |
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
|
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
findViewById(R.id.browserLicense).setOnClickListener(this); |
|
||||||
findViewById(R.id.licenseAOSP).setOnClickListener(this); |
|
||||||
findViewById(R.id.licenseHosts).setOnClickListener(this); |
|
||||||
findViewById(R.id.licenseOrbot).setOnClickListener(this); |
|
||||||
findViewById(R.id.licenseSnactory).setOnClickListener(this); |
|
||||||
findViewById(R.id.licenseJsoup).setOnClickListener(this); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
switch (v.getId()) { |
|
||||||
case R.id.browserLicense: |
|
||||||
actionView("http://www.mozilla.org/MPL/2.0/"); |
|
||||||
break; |
|
||||||
case R.id.licenseAOSP: |
|
||||||
actionView("http://www.apache.org/licenses/LICENSE-2.0"); |
|
||||||
break; |
|
||||||
case R.id.licenseHosts: |
|
||||||
actionView("http://hosts-file.net/"); |
|
||||||
break; |
|
||||||
case R.id.licenseOrbot: |
|
||||||
actionView("http://www.gnu.org/licenses/lgpl.html"); |
|
||||||
break; |
|
||||||
case R.id.licenseSnactory: |
|
||||||
actionView("http://www.apache.org/licenses/LICENSE-2.0"); |
|
||||||
break; |
|
||||||
case R.id.licenseJsoup: |
|
||||||
actionView("http://jsoup.org/license"); |
|
||||||
break; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private void actionView(String url) { |
|
||||||
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url), this, MainActivity.class)); |
|
||||||
finish(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return super.onOptionsItemSelected(item); |
|
||||||
} |
|
||||||
} |
|
@ -1,449 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2014 A.C.R. Development |
|
||||||
*/ |
|
||||||
package acr.browser.lightning.activity; |
|
||||||
|
|
||||||
import android.app.AlertDialog; |
|
||||||
import android.content.Context; |
|
||||||
import android.content.DialogInterface; |
|
||||||
import android.os.Build; |
|
||||||
import android.os.Bundle; |
|
||||||
import android.os.Handler; |
|
||||||
import android.os.Message; |
|
||||||
import android.provider.Browser; |
|
||||||
import android.support.v7.widget.Toolbar; |
|
||||||
import android.view.MenuItem; |
|
||||||
import android.view.View; |
|
||||||
import android.view.View.OnClickListener; |
|
||||||
import android.webkit.*; |
|
||||||
import android.widget.CheckBox; |
|
||||||
import android.widget.CompoundButton; |
|
||||||
import android.widget.CompoundButton.OnCheckedChangeListener; |
|
||||||
import android.widget.RelativeLayout; |
|
||||||
import android.widget.TextView; |
|
||||||
|
|
||||||
import acr.browser.lightning.database.HistoryDatabase; |
|
||||||
import acr.browser.lightning.preference.PreferenceManager; |
|
||||||
import acr.browser.lightning.R; |
|
||||||
import acr.browser.lightning.utils.Utils; |
|
||||||
|
|
||||||
public class PrivacySettingsActivity extends ThemableSettingsActivity { |
|
||||||
|
|
||||||
// mPreferences variables
|
|
||||||
private static final int API = android.os.Build.VERSION.SDK_INT; |
|
||||||
private PreferenceManager mPreferences; |
|
||||||
private CheckBox cbLocation, cbSavePasswords, cbClearCacheExit, cbClearHistoryExit, |
|
||||||
cbClearCookiesExit, cbThirdParty; |
|
||||||
private Context mContext; |
|
||||||
private boolean mSystemBrowser; |
|
||||||
private Handler messageHandler; |
|
||||||
|
|
||||||
@Override |
|
||||||
protected void onCreate(Bundle savedInstanceState) { |
|
||||||
super.onCreate(savedInstanceState); |
|
||||||
setContentView(R.layout.privacy_settings); |
|
||||||
|
|
||||||
// set up ActionBar
|
|
||||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); |
|
||||||
setSupportActionBar(toolbar); |
|
||||||
|
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true); |
|
||||||
|
|
||||||
mPreferences = PreferenceManager.getInstance(); |
|
||||||
|
|
||||||
mSystemBrowser = mPreferences.getSystemBrowserPresent(); |
|
||||||
mContext = this; |
|
||||||
initialize(); |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public boolean onOptionsItemSelected(MenuItem item) { |
|
||||||
finish(); |
|
||||||
return true; |
|
||||||
} |
|
||||||
|
|
||||||
private void initialize() { |
|
||||||
|
|
||||||
RelativeLayout rLocation, rSavePasswords, rClearCacheExit, rClearHistoryExit, rClearCookiesExit, rClearCache, rClearHistory, rClearCookies, rThirdParty; |
|
||||||
|
|
||||||
rLocation = (RelativeLayout) findViewById(R.id.rLocation); |
|
||||||
rSavePasswords = (RelativeLayout) findViewById(R.id.rSavePasswords); |
|
||||||
rClearCacheExit = (RelativeLayout) findViewById(R.id.rClearCacheExit); |
|
||||||
rClearHistoryExit = (RelativeLayout) findViewById(R.id.rClearHistoryExit); |
|
||||||
rClearCookiesExit = (RelativeLayout) findViewById(R.id.rClearCookiesExit); |
|
||||||
rClearCache = (RelativeLayout) findViewById(R.id.rClearCache); |
|
||||||
rClearHistory = (RelativeLayout) findViewById(R.id.rClearHistory); |
|
||||||
rClearCookies = (RelativeLayout) findViewById(R.id.rClearCookies); |
|
||||||
rThirdParty = (RelativeLayout) findViewById(R.id.rThirdParty); |
|
||||||
|
|
||||||
cbLocation = (CheckBox) findViewById(R.id.cbLocation); |
|
||||||
cbSavePasswords = (CheckBox) findViewById(R.id.cbSavePasswords); |
|
||||||
cbClearCacheExit = (CheckBox) findViewById(R.id.cbClearCacheExit); |
|
||||||
cbClearHistoryExit = (CheckBox) findViewById(R.id.cbClearHistoryExit); |
|
||||||
cbClearCookiesExit = (CheckBox) findViewById(R.id.cbClearCookiesExit); |
|
||||||
cbThirdParty = (CheckBox) findViewById(R.id.cbThirdParty); |
|
||||||
|
|
||||||
cbLocation.setChecked(mPreferences.getLocationEnabled()); |
|
||||||
cbSavePasswords.setChecked(mPreferences.getSavePasswordsEnabled()); |
|
||||||
cbClearCacheExit.setChecked(mPreferences.getClearCacheExit()); |
|
||||||
cbClearHistoryExit.setChecked(mPreferences.getClearHistoryExitEnabled()); |
|
||||||
cbClearCookiesExit.setChecked(mPreferences.getClearCookiesExitEnabled()); |
|
||||||
cbThirdParty.setChecked(mPreferences.getBlockThirdPartyCookiesEnabled()); |
|
||||||
|
|
||||||
cbThirdParty.setEnabled(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP); |
|
||||||
|
|
||||||
rLocation(rLocation); |
|
||||||
rSavePasswords(rSavePasswords); |
|
||||||
rClearCacheExit(rClearCacheExit); |
|
||||||
rClearHistoryExit(rClearHistoryExit); |
|
||||||
rClearCookiesExit(rClearCookiesExit); |
|
||||||
rClearCache(rClearCache); |
|
||||||
rClearHistory(rClearHistory); |
|
||||||
rClearCookies(rClearCookies); |
|
||||||
rThirdParty(rThirdParty); |
|
||||||
cbLocation(cbLocation); |
|
||||||
cbSavePasswords(cbSavePasswords); |
|
||||||
cbClearCacheExit(cbClearCacheExit); |
|
||||||
cbClearHistoryExit(cbClearHistoryExit); |
|
||||||
cbClearCookiesExit(cbClearCookiesExit); |
|
||||||
cbThirdParty(cbThirdParty); |
|
||||||
|
|
||||||
TextView syncHistory = (TextView) findViewById(R.id.isBrowserAvailable); |
|
||||||
|
|
||||||
RelativeLayout layoutSyncHistory = (RelativeLayout) findViewById(R.id.rBrowserHistory); |
|
||||||
final CheckBox cbSyncHistory = (CheckBox) findViewById(R.id.cbBrowserHistory); |
|
||||||
layoutSyncHistory.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
cbSyncHistory.setChecked(!cbSyncHistory.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
cbSyncHistory.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setSyncHistoryEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
|
|
||||||
if (!mSystemBrowser) { |
|
||||||
cbSyncHistory.setChecked(false); |
|
||||||
cbSyncHistory.setEnabled(false); |
|
||||||
syncHistory.setText(getResources().getString(R.string.stock_browser_unavailable)); |
|
||||||
} else { |
|
||||||
cbSyncHistory.setEnabled(true); |
|
||||||
cbSyncHistory.setChecked(mPreferences.getSyncHistoryEnabled()); |
|
||||||
syncHistory.setText(getResources().getString(R.string.stock_browser_available)); |
|
||||||
} |
|
||||||
|
|
||||||
messageHandler = new MessageHandler(mContext); |
|
||||||
} |
|
||||||
|
|
||||||
private static class MessageHandler extends Handler { |
|
||||||
|
|
||||||
final Context mHandlerContext; |
|
||||||
|
|
||||||
public MessageHandler(Context context) { |
|
||||||
this.mHandlerContext = context; |
|
||||||
} |
|
||||||
|
|
||||||
@Override |
|
||||||
public void handleMessage(Message msg) { |
|
||||||
switch (msg.what) { |
|
||||||
case 1: |
|
||||||
Utils.showToast(mHandlerContext, |
|
||||||
mHandlerContext.getResources() |
|
||||||
.getString(R.string.message_clear_history)); |
|
||||||
break; |
|
||||||
case 2: |
|
||||||
Utils.showToast( |
|
||||||
mHandlerContext, |
|
||||||
mHandlerContext.getResources().getString( |
|
||||||
R.string.message_cookies_cleared)); |
|
||||||
break; |
|
||||||
} |
|
||||||
super.handleMessage(msg); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
private void cbLocation(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setLocationEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbSavePasswords(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setSavePasswordsEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbClearCacheExit(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setClearCacheExit(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbClearHistoryExit(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setClearHistoryExitEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbThirdParty(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setBlockThirdPartyCookiesEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void cbClearCookiesExit(CheckBox view) { |
|
||||||
view.setOnCheckedChangeListener(new OnCheckedChangeListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { |
|
||||||
mPreferences.setClearCookiesExitEnabled(isChecked); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rLocation(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
cbLocation.setChecked(!cbLocation.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rSavePasswords(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
cbSavePasswords.setChecked(!cbSavePasswords.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearCacheExit(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
cbClearCacheExit.setChecked(!cbClearCacheExit.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rThirdParty(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |
|
||||||
cbThirdParty.setChecked(!cbThirdParty.isChecked()); |
|
||||||
} else { |
|
||||||
Utils.showToast(mContext, mContext.getString(R.string.available_lollipop)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearHistoryExit(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
cbClearHistoryExit.setChecked(!cbClearHistoryExit.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearCookiesExit(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
cbClearCookiesExit.setChecked(!cbClearCookiesExit.isChecked()); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearHistory(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(PrivacySettingsActivity.this); // dialog
|
|
||||||
builder.setTitle(getResources().getString(R.string.title_clear_history)); |
|
||||||
builder.setMessage(getResources().getString(R.string.dialog_history)) |
|
||||||
.setPositiveButton(getResources().getString(R.string.action_yes), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface arg0, int arg1) { |
|
||||||
Thread clear = new Thread(new Runnable() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void run() { |
|
||||||
clearHistory(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
clear.start(); |
|
||||||
} |
|
||||||
|
|
||||||
}) |
|
||||||
.setNegativeButton(getResources().getString(R.string.action_no), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface arg0, int arg1) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
}).show(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearCookies(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
AlertDialog.Builder builder = new AlertDialog.Builder(PrivacySettingsActivity.this); // dialog
|
|
||||||
builder.setTitle(getResources().getString(R.string.title_clear_cookies)); |
|
||||||
builder.setMessage(getResources().getString(R.string.dialog_cookies)) |
|
||||||
.setPositiveButton(getResources().getString(R.string.action_yes), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface arg0, int arg1) { |
|
||||||
Thread clear = new Thread(new Runnable() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void run() { |
|
||||||
clearCookies(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
clear.start(); |
|
||||||
} |
|
||||||
|
|
||||||
}) |
|
||||||
.setNegativeButton(getResources().getString(R.string.action_no), |
|
||||||
new DialogInterface.OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(DialogInterface arg0, int arg1) { |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
}).show(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void rClearCache(RelativeLayout view) { |
|
||||||
view.setOnClickListener(new OnClickListener() { |
|
||||||
|
|
||||||
@Override |
|
||||||
public void onClick(View v) { |
|
||||||
// TODO Auto-generated method stub
|
|
||||||
clearCache(); |
|
||||||
} |
|
||||||
|
|
||||||
}); |
|
||||||
|
|
||||||
} |
|
||||||
|
|
||||||
private void clearCache() { |
|
||||||
WebView webView = new WebView(this); |
|
||||||
webView.clearCache(true); |
|
||||||
webView.destroy(); |
|
||||||
Utils.showToast(mContext, getResources().getString(R.string.message_cache_cleared)); |
|
||||||
} |
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") |
|
||||||
private void clearHistory() { |
|
||||||
deleteDatabase(HistoryDatabase.DATABASE_NAME); |
|
||||||
WebViewDatabase m = WebViewDatabase.getInstance(this); |
|
||||||
m.clearFormData(); |
|
||||||
m.clearHttpAuthUsernamePassword(); |
|
||||||
if (API < 18) { |
|
||||||
m.clearUsernamePassword(); |
|
||||||
WebIconDatabase.getInstance().removeAllIcons(); |
|
||||||
} |
|
||||||
if (mSystemBrowser) { |
|
||||||
try { |
|
||||||
Browser.clearHistory(getContentResolver()); |
|
||||||
} catch (Exception ignored) { |
|
||||||
} |
|
||||||
} |
|
||||||
Utils.trimCache(this); |
|
||||||
messageHandler.sendEmptyMessage(1); |
|
||||||
} |
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") |
|
||||||
private void clearCookies() { |
|
||||||
// TODO Break out web storage deletion into its own option/action
|
|
||||||
// TODO clear web storage for all sites that are visited in Incognito mode
|
|
||||||
WebStorage storage = WebStorage.getInstance(); |
|
||||||
storage.deleteAllData(); |
|
||||||
CookieManager c = CookieManager.getInstance(); |
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |
|
||||||
c.removeAllCookies(null); |
|
||||||
} else { |
|
||||||
CookieSyncManager.createInstance(this); |
|
||||||
c.removeAllCookie(); |
|
||||||
} |
|
||||||
messageHandler.sendEmptyMessage(2); |
|
||||||
} |
|
||||||
} |
|
@ -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"; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,189 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2014 A.C.R. Development |
||||||
|
*/ |
||||||
|
package acr.browser.lightning.fragment; |
||||||
|
|
||||||
|
import android.app.Activity; |
||||||
|
import android.app.AlertDialog; |
||||||
|
import android.content.DialogInterface; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.preference.CheckBoxPreference; |
||||||
|
import android.preference.Preference; |
||||||
|
import android.preference.PreferenceFragment; |
||||||
|
|
||||||
|
import acr.browser.lightning.R; |
||||||
|
import acr.browser.lightning.preference.PreferenceManager; |
||||||
|
|
||||||
|
public class AdvancedSettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { |
||||||
|
|
||||||
|
private static final String SETTINGS_NEWWINDOW = "allow_new_window"; |
||||||
|
private static final String SETTINGS_ENABLECOOKIES = "allow_cookies"; |
||||||
|
private static final String SETTINGS_COOKIESINKOGNITO = "incognito_cookies"; |
||||||
|
private static final String SETTINGS_RESTORETABS = "restore_tabs"; |
||||||
|
private static final String SETTINGS_RENDERINGMODE = "rendering_mode"; |
||||||
|
private static final String SETTINGS_URLCONTENT = "url_contents"; |
||||||
|
|
||||||
|
private Activity mActivity; |
||||||
|
private PreferenceManager mPreferences; |
||||||
|
private CheckBoxPreference cbAllowPopups, cbenablecookies, cbcookiesInkognito, cbrestoreTabs; |
||||||
|
private Preference renderingmode, urlcontent; |
||||||
|
private CharSequence[] mUrlOptions; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
// Load the preferences from an XML resource
|
||||||
|
addPreferencesFromResource(R.xml.preference_advanced); |
||||||
|
|
||||||
|
mActivity = getActivity(); |
||||||
|
|
||||||
|
initPrefs(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initPrefs() { |
||||||
|
// mPreferences storage
|
||||||
|
mPreferences = PreferenceManager.getInstance(); |
||||||
|
|
||||||
|
renderingmode = findPreference(SETTINGS_RENDERINGMODE); |
||||||
|
urlcontent = findPreference(SETTINGS_URLCONTENT); |
||||||
|
cbAllowPopups = (CheckBoxPreference) findPreference(SETTINGS_NEWWINDOW); |
||||||
|
cbenablecookies = (CheckBoxPreference) findPreference(SETTINGS_ENABLECOOKIES); |
||||||
|
cbcookiesInkognito = (CheckBoxPreference) findPreference(SETTINGS_COOKIESINKOGNITO); |
||||||
|
cbrestoreTabs = (CheckBoxPreference) findPreference(SETTINGS_RESTORETABS); |
||||||
|
|
||||||
|
renderingmode.setOnPreferenceClickListener(this); |
||||||
|
urlcontent.setOnPreferenceClickListener(this); |
||||||
|
cbAllowPopups.setOnPreferenceChangeListener(this); |
||||||
|
cbenablecookies.setOnPreferenceChangeListener(this); |
||||||
|
cbcookiesInkognito.setOnPreferenceChangeListener(this); |
||||||
|
cbrestoreTabs.setOnPreferenceChangeListener(this); |
||||||
|
|
||||||
|
switch (mPreferences.getRenderingMode()) { |
||||||
|
case 0: |
||||||
|
renderingmode.setSummary(getString(R.string.name_normal)); |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
renderingmode.setSummary(getString(R.string.name_inverted)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
renderingmode.setSummary(getString(R.string.name_grayscale)); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
renderingmode.setSummary(getString(R.string.name_inverted_grayscale)); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
mUrlOptions = getResources().getStringArray(R.array.url_content_array); |
||||||
|
int option = mPreferences.getUrlBoxContentChoice(); |
||||||
|
urlcontent.setSummary(mUrlOptions[option]); |
||||||
|
|
||||||
|
cbAllowPopups.setChecked(mPreferences.getPopupsEnabled()); |
||||||
|
cbenablecookies.setChecked(mPreferences.getCookiesEnabled()); |
||||||
|
cbcookiesInkognito.setChecked(mPreferences.getIncognitoCookiesEnabled()); |
||||||
|
cbrestoreTabs.setChecked(mPreferences.getRestoreLostTabsEnabled()); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceClick(Preference preference) { |
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_RENDERINGMODE: |
||||||
|
renderPicker(); |
||||||
|
return true; |
||||||
|
case SETTINGS_URLCONTENT: |
||||||
|
urlBoxPicker(); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) { |
||||||
|
// switch preferences
|
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_NEWWINDOW: |
||||||
|
mPreferences.setPopupsEnabled((Boolean) newValue); |
||||||
|
cbAllowPopups.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_ENABLECOOKIES: |
||||||
|
mPreferences.setCookiesEnabled((Boolean) newValue); |
||||||
|
cbenablecookies.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_COOKIESINKOGNITO: |
||||||
|
mPreferences.setIncognitoCookiesEnabled((Boolean) newValue); |
||||||
|
cbcookiesInkognito.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_RESTORETABS: |
||||||
|
mPreferences.setRestoreLostTabsEnabled((Boolean) newValue); |
||||||
|
cbrestoreTabs.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void renderPicker() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.rendering_mode)); |
||||||
|
CharSequence[] chars = {mActivity.getString(R.string.name_normal), |
||||||
|
mActivity.getString(R.string.name_inverted), |
||||||
|
mActivity.getString(R.string.name_grayscale), |
||||||
|
mActivity.getString(R.string.name_inverted_grayscale)}; |
||||||
|
|
||||||
|
int n = mPreferences.getRenderingMode(); |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(chars, n, new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setRenderingMode(which); |
||||||
|
switch (which) { |
||||||
|
case 0: |
||||||
|
renderingmode.setSummary(getString(R.string.name_normal)); |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
renderingmode.setSummary(getString(R.string.name_inverted)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
renderingmode.setSummary(getString(R.string.name_grayscale)); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
renderingmode.setSummary(getString(R.string.name_inverted_grayscale)); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
|
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void urlBoxPicker() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.url_contents)); |
||||||
|
|
||||||
|
int n = mPreferences.getUrlBoxContentChoice(); |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(mUrlOptions, n, new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setUrlBoxContentChoice(which); |
||||||
|
if (which < mUrlOptions.length) { |
||||||
|
urlcontent.setSummary(mUrlOptions[which]); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
|
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
} |
@ -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<File> { |
||||||
|
|
||||||
|
@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; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,180 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2014 A.C.R. Development |
||||||
|
*/ |
||||||
|
package acr.browser.lightning.fragment; |
||||||
|
|
||||||
|
import android.app.Activity; |
||||||
|
import android.app.AlertDialog; |
||||||
|
import android.content.DialogInterface; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.preference.CheckBoxPreference; |
||||||
|
import android.preference.Preference; |
||||||
|
import android.preference.PreferenceFragment; |
||||||
|
|
||||||
|
import acr.browser.lightning.R; |
||||||
|
import acr.browser.lightning.activity.SettingsActivity; |
||||||
|
import acr.browser.lightning.preference.PreferenceManager; |
||||||
|
|
||||||
|
public class DisplaySettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { |
||||||
|
|
||||||
|
private static final String SETTINGS_HIDESTATUSBAR = "fullScreenOption"; |
||||||
|
private static final String SETTINGS_FULLSCREEN = "fullscreen"; |
||||||
|
private static final String SETTINGS_VIEWPORT = "wideViewPort"; |
||||||
|
private static final String SETTINGS_OVERVIEWMODE = "overViewMode"; |
||||||
|
private static final String SETTINGS_REFLOW = "text_reflow"; |
||||||
|
private static final String SETTINGS_THEME = "app_theme"; |
||||||
|
private static final String SETTINGS_TEXTSIZE = "text_size"; |
||||||
|
|
||||||
|
private Activity mActivity; |
||||||
|
private PreferenceManager mPreferences; |
||||||
|
private CheckBoxPreference cbstatus, cbfullscreen, cbviewport, cboverview, cbreflow; |
||||||
|
private Preference theme, textsize; |
||||||
|
private String[] mThemeOptions; |
||||||
|
private int mCurrentTheme; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
// Load the preferences from an XML resource
|
||||||
|
addPreferencesFromResource(R.xml.preference_display); |
||||||
|
|
||||||
|
mActivity = getActivity(); |
||||||
|
|
||||||
|
initPrefs(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initPrefs() { |
||||||
|
// mPreferences storage
|
||||||
|
mPreferences = PreferenceManager.getInstance(); |
||||||
|
mThemeOptions = this.getResources().getStringArray(R.array.themes); |
||||||
|
mCurrentTheme = mPreferences.getUseTheme(); |
||||||
|
|
||||||
|
theme = findPreference(SETTINGS_THEME); |
||||||
|
textsize = findPreference(SETTINGS_TEXTSIZE); |
||||||
|
cbstatus = (CheckBoxPreference) findPreference(SETTINGS_HIDESTATUSBAR); |
||||||
|
cbfullscreen = (CheckBoxPreference) findPreference(SETTINGS_FULLSCREEN); |
||||||
|
cbviewport = (CheckBoxPreference) findPreference(SETTINGS_VIEWPORT); |
||||||
|
cboverview = (CheckBoxPreference) findPreference(SETTINGS_OVERVIEWMODE); |
||||||
|
cbreflow = (CheckBoxPreference) findPreference(SETTINGS_REFLOW); |
||||||
|
|
||||||
|
theme.setOnPreferenceClickListener(this); |
||||||
|
textsize.setOnPreferenceClickListener(this); |
||||||
|
cbstatus.setOnPreferenceChangeListener(this); |
||||||
|
cbfullscreen.setOnPreferenceChangeListener(this); |
||||||
|
cbviewport.setOnPreferenceChangeListener(this); |
||||||
|
cboverview.setOnPreferenceChangeListener(this); |
||||||
|
cbreflow.setOnPreferenceChangeListener(this); |
||||||
|
|
||||||
|
cbstatus.setChecked(mPreferences.getHideStatusBarEnabled()); |
||||||
|
cbfullscreen.setChecked(mPreferences.getFullScreenEnabled()); |
||||||
|
cbviewport.setChecked(mPreferences.getUseWideViewportEnabled()); |
||||||
|
cboverview.setChecked(mPreferences.getOverviewModeEnabled()); |
||||||
|
cbreflow.setChecked(mPreferences.getTextReflowEnabled()); |
||||||
|
|
||||||
|
theme.setSummary(mThemeOptions[mPreferences.getUseTheme()]); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceClick(Preference preference) { |
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_THEME: |
||||||
|
themePicker(); |
||||||
|
return true; |
||||||
|
case SETTINGS_TEXTSIZE: |
||||||
|
textSizePicker(); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) { |
||||||
|
// switch preferences
|
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_HIDESTATUSBAR: |
||||||
|
mPreferences.setHideStatusBarEnabled((Boolean) newValue); |
||||||
|
cbstatus.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_FULLSCREEN: |
||||||
|
mPreferences.setFullScreenEnabled((Boolean) newValue); |
||||||
|
cbfullscreen.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_VIEWPORT: |
||||||
|
mPreferences.setUseWideViewportEnabled((Boolean) newValue); |
||||||
|
cbviewport.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_OVERVIEWMODE: |
||||||
|
mPreferences.setOverviewModeEnabled((Boolean) newValue); |
||||||
|
cboverview.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_REFLOW: |
||||||
|
mPreferences.setTextReflowEnabled((Boolean) newValue); |
||||||
|
cbreflow.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void textSizePicker() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.title_text_size)); |
||||||
|
|
||||||
|
int n = mPreferences.getTextSize(); |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(R.array.text_size, n - 1, |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setTextSize(which + 1); |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
|
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void themePicker() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.url_contents)); |
||||||
|
|
||||||
|
int n = mPreferences.getUseTheme(); |
||||||
|
picker.setSingleChoiceItems(mThemeOptions, n, new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setUseTheme(which); |
||||||
|
if (which < mThemeOptions.length) { |
||||||
|
theme.setSummary(mThemeOptions[which]); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
if (mCurrentTheme != mPreferences.getUseTheme()) { |
||||||
|
((SettingsActivity) getActivity()).restart(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setOnCancelListener(new DialogInterface.OnCancelListener() { |
||||||
|
@Override |
||||||
|
public void onCancel(DialogInterface dialog) { |
||||||
|
if (mCurrentTheme != mPreferences.getUseTheme()) { |
||||||
|
((SettingsActivity) getActivity()).restart(); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,592 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2014 A.C.R. Development |
||||||
|
*/ |
||||||
|
package acr.browser.lightning.fragment; |
||||||
|
|
||||||
|
import android.app.Activity; |
||||||
|
import android.app.AlertDialog; |
||||||
|
import android.content.DialogInterface; |
||||||
|
import android.graphics.Color; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.os.Environment; |
||||||
|
import android.preference.CheckBoxPreference; |
||||||
|
import android.preference.Preference; |
||||||
|
import android.preference.PreferenceFragment; |
||||||
|
import android.util.Log; |
||||||
|
import android.util.TypedValue; |
||||||
|
import android.view.View; |
||||||
|
import android.widget.EditText; |
||||||
|
import android.widget.LinearLayout; |
||||||
|
import android.widget.TextView; |
||||||
|
|
||||||
|
import acr.browser.lightning.R; |
||||||
|
import acr.browser.lightning.constant.Constants; |
||||||
|
import acr.browser.lightning.preference.PreferenceManager; |
||||||
|
import acr.browser.lightning.utils.ProxyUtils; |
||||||
|
import acr.browser.lightning.utils.Utils; |
||||||
|
|
||||||
|
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"; |
||||||
|
private static final String SETTINGS_ADS = "cb_ads"; |
||||||
|
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_USERAGENT = "agent"; |
||||||
|
private static final String SETTINGS_DOWNLOAD = "download"; |
||||||
|
private static final String SETTINGS_HOME = "home"; |
||||||
|
private static final String SETTINGS_SEARCHENGINE = "search"; |
||||||
|
private static final String SETTINGS_GOOGLESUGGESTIONS = "google_suggestions"; |
||||||
|
|
||||||
|
private Activity mActivity; |
||||||
|
private static final int API = android.os.Build.VERSION.SDK_INT; |
||||||
|
private PreferenceManager mPreferences; |
||||||
|
private CharSequence[] mProxyChoices; |
||||||
|
private Preference proxy, useragent, downloadloc, home, searchengine; |
||||||
|
private String mDownloadLocation; |
||||||
|
private int mAgentChoice; |
||||||
|
private String mHomepage; |
||||||
|
private CheckBoxPreference cbFlash, cbAds, cbImages, cbJsScript, cbColorMode, cbgooglesuggest; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
// Load the preferences from an XML resource
|
||||||
|
addPreferencesFromResource(R.xml.preference_general); |
||||||
|
|
||||||
|
mActivity = getActivity(); |
||||||
|
|
||||||
|
initPrefs(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initPrefs() { |
||||||
|
// mPreferences storage
|
||||||
|
mPreferences = PreferenceManager.getInstance(); |
||||||
|
|
||||||
|
proxy = findPreference(SETTINGS_PROXY); |
||||||
|
useragent = findPreference(SETTINGS_USERAGENT); |
||||||
|
downloadloc = findPreference(SETTINGS_DOWNLOAD); |
||||||
|
home = findPreference(SETTINGS_HOME); |
||||||
|
searchengine = findPreference(SETTINGS_SEARCHENGINE); |
||||||
|
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); |
||||||
|
cbgooglesuggest = (CheckBoxPreference) findPreference(SETTINGS_GOOGLESUGGESTIONS); |
||||||
|
|
||||||
|
proxy.setOnPreferenceClickListener(this); |
||||||
|
useragent.setOnPreferenceClickListener(this); |
||||||
|
downloadloc.setOnPreferenceClickListener(this); |
||||||
|
home.setOnPreferenceClickListener(this); |
||||||
|
searchengine.setOnPreferenceClickListener(this); |
||||||
|
cbFlash.setOnPreferenceChangeListener(this); |
||||||
|
cbAds.setOnPreferenceChangeListener(this); |
||||||
|
cbImages.setOnPreferenceChangeListener(this); |
||||||
|
cbJsScript.setOnPreferenceChangeListener(this); |
||||||
|
cbColorMode.setOnPreferenceChangeListener(this); |
||||||
|
cbgooglesuggest.setOnPreferenceChangeListener(this); |
||||||
|
|
||||||
|
mAgentChoice = mPreferences.getUserAgentChoice(); |
||||||
|
mHomepage = mPreferences.getHomepage(); |
||||||
|
mDownloadLocation = mPreferences.getDownloadDirectory(); |
||||||
|
mProxyChoices = getResources().getStringArray(R.array.proxy_choices_array); |
||||||
|
|
||||||
|
int choice = mPreferences.getProxyChoice(); |
||||||
|
if (choice == Constants.PROXY_MANUAL) { |
||||||
|
proxy.setSummary(mPreferences.getProxyHost() + ":" + mPreferences.getProxyPort()); |
||||||
|
} else { |
||||||
|
proxy.setSummary(mProxyChoices[choice]); |
||||||
|
} |
||||||
|
|
||||||
|
if (API >= 19) { |
||||||
|
mPreferences.setFlashSupport(0); |
||||||
|
} |
||||||
|
|
||||||
|
setSearchEngineSummary(mPreferences.getSearchChoice()); |
||||||
|
|
||||||
|
downloadloc.setSummary(Constants.EXTERNAL_STORAGE + '/' + mDownloadLocation); |
||||||
|
|
||||||
|
if (mHomepage.contains("about:home")) { |
||||||
|
home.setSummary(getResources().getString(R.string.action_homepage)); |
||||||
|
} else if (mHomepage.contains("about:blank")) { |
||||||
|
home.setSummary(getResources().getString(R.string.action_blank)); |
||||||
|
} else if (mHomepage.contains("about:bookmarks")) { |
||||||
|
home.setSummary(getResources().getString(R.string.action_bookmarks)); |
||||||
|
} else { |
||||||
|
home.setSummary(mHomepage); |
||||||
|
} |
||||||
|
|
||||||
|
switch (mAgentChoice) { |
||||||
|
case 1: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_default)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_desktop)); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_mobile)); |
||||||
|
break; |
||||||
|
case 4: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_custom)); |
||||||
|
} |
||||||
|
|
||||||
|
int flashNum = mPreferences.getFlashSupport(); |
||||||
|
boolean imagesBool = mPreferences.getBlockImagesEnabled(); |
||||||
|
boolean enableJSBool = mPreferences.getJavaScriptEnabled(); |
||||||
|
|
||||||
|
proxy.setEnabled(Constants.FULL_VERSION); |
||||||
|
cbAds.setEnabled(Constants.FULL_VERSION); |
||||||
|
cbFlash.setEnabled(API < 19); |
||||||
|
|
||||||
|
cbImages.setChecked(imagesBool); |
||||||
|
cbJsScript.setChecked(enableJSBool); |
||||||
|
cbFlash.setChecked(flashNum > 0); |
||||||
|
cbAds.setChecked(Constants.FULL_VERSION && mPreferences.getAdBlockEnabled()); |
||||||
|
cbColorMode.setChecked(mPreferences.getColorModeEnabled()); |
||||||
|
cbgooglesuggest.setChecked(mPreferences.getGoogleSearchSuggestionsEnabled()); |
||||||
|
} |
||||||
|
|
||||||
|
public void searchUrlPicker() { |
||||||
|
final AlertDialog.Builder urlPicker = new AlertDialog.Builder(mActivity); |
||||||
|
urlPicker.setTitle(getResources().getString(R.string.custom_url)); |
||||||
|
final EditText getSearchUrl = new EditText(mActivity); |
||||||
|
String mSearchUrl = mPreferences.getSearchUrl(); |
||||||
|
getSearchUrl.setText(mSearchUrl); |
||||||
|
urlPicker.setView(getSearchUrl); |
||||||
|
urlPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
String text = getSearchUrl.getText().toString(); |
||||||
|
mPreferences.setSearchUrl(text); |
||||||
|
searchengine.setSummary(getResources().getString(R.string.custom_url) + ": " |
||||||
|
+ text); |
||||||
|
} |
||||||
|
}); |
||||||
|
urlPicker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void getFlashChoice() { |
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); |
||||||
|
builder.setTitle(mActivity.getResources().getString(R.string.title_flash)); |
||||||
|
builder.setMessage(getResources().getString(R.string.flash)) |
||||||
|
.setCancelable(true) |
||||||
|
.setPositiveButton(getResources().getString(R.string.action_manual), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int id) { |
||||||
|
mPreferences.setFlashSupport(1); |
||||||
|
} |
||||||
|
}) |
||||||
|
.setNegativeButton(getResources().getString(R.string.action_auto), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setFlashSupport(2); |
||||||
|
} |
||||||
|
}).setOnCancelListener(new DialogInterface.OnCancelListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCancel(DialogInterface dialog) { |
||||||
|
mPreferences.setFlashSupport(0); |
||||||
|
} |
||||||
|
|
||||||
|
}); |
||||||
|
AlertDialog alert = builder.create(); |
||||||
|
alert.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void proxyChoicePicker() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.http_proxy)); |
||||||
|
picker.setSingleChoiceItems(mProxyChoices, mPreferences.getProxyChoice(), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
setProxyChoice(which); |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void setProxyChoice(int choice) { |
||||||
|
ProxyUtils utils = ProxyUtils.getInstance(mActivity); |
||||||
|
switch (choice) { |
||||||
|
case Constants.PROXY_ORBOT: |
||||||
|
choice = utils.setProxyChoice(choice, mActivity); |
||||||
|
break; |
||||||
|
case Constants.PROXY_I2P: |
||||||
|
choice = utils.setProxyChoice(choice, mActivity); |
||||||
|
break; |
||||||
|
case Constants.PROXY_MANUAL: |
||||||
|
manualProxyPicker(); |
||||||
|
break; |
||||||
|
} |
||||||
|
|
||||||
|
mPreferences.setProxyChoice(choice); |
||||||
|
if (choice < mProxyChoices.length) |
||||||
|
proxy.setSummary(mProxyChoices[choice]); |
||||||
|
} |
||||||
|
|
||||||
|
public void manualProxyPicker() { |
||||||
|
View v = mActivity.getLayoutInflater().inflate(R.layout.picker_manual_proxy, null); |
||||||
|
final EditText eProxyHost = (EditText) v.findViewById(R.id.proxyHost); |
||||||
|
final EditText eProxyPort = (EditText) v.findViewById(R.id.proxyPort); |
||||||
|
eProxyHost.setText(mPreferences.getProxyHost()); |
||||||
|
eProxyPort.setText(Integer.toString(mPreferences.getProxyPort())); |
||||||
|
|
||||||
|
new AlertDialog.Builder(mActivity) |
||||||
|
.setTitle(R.string.manual_proxy) |
||||||
|
.setView(v) |
||||||
|
.setPositiveButton(R.string.action_ok, new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialogInterface, int i) { |
||||||
|
String proxyHost = eProxyHost.getText().toString(); |
||||||
|
int proxyPort = Integer.parseInt(eProxyPort.getText().toString()); |
||||||
|
mPreferences.setProxyHost(proxyHost); |
||||||
|
mPreferences.setProxyPort(proxyPort); |
||||||
|
proxy.setSummary(proxyHost + ":" + proxyPort); |
||||||
|
} |
||||||
|
}) |
||||||
|
.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void searchDialog() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.title_search_engine)); |
||||||
|
CharSequence[] chars = {getResources().getString(R.string.custom_url), "Google", |
||||||
|
"Ask", "Bing", "Yahoo", "StartPage", "StartPage (Mobile)", |
||||||
|
"DuckDuckGo (Privacy)", "DuckDuckGo Lite (Privacy)", "Baidu (Chinese)", |
||||||
|
"Yandex (Russian)"}; |
||||||
|
|
||||||
|
int n = mPreferences.getSearchChoice(); |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(chars, n, new DialogInterface.OnClickListener() { |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setSearchChoice(which); |
||||||
|
setSearchEngineSummary(which); |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void homepageDialog() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.home)); |
||||||
|
mHomepage = mPreferences.getHomepage(); |
||||||
|
int n; |
||||||
|
if (mHomepage.contains("about:home")) { |
||||||
|
n = 1; |
||||||
|
} else if (mHomepage.contains("about:blank")) { |
||||||
|
n = 2; |
||||||
|
} else if (mHomepage.contains("about:bookmarks")) { |
||||||
|
n = 3; |
||||||
|
} else { |
||||||
|
n = 4; |
||||||
|
} |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(R.array.homepage, n - 1, |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
switch (which + 1) { |
||||||
|
case 1: |
||||||
|
mPreferences.setHomepage("about:home"); |
||||||
|
home.setSummary(getResources().getString(R.string.action_homepage)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
mPreferences.setHomepage("about:blank"); |
||||||
|
home.setSummary(getResources().getString(R.string.action_blank)); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
mPreferences.setHomepage("about:bookmarks"); |
||||||
|
home.setSummary(getResources().getString(R.string.action_bookmarks)); |
||||||
|
break; |
||||||
|
case 4: |
||||||
|
homePicker(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void homePicker() { |
||||||
|
final AlertDialog.Builder homePicker = new AlertDialog.Builder(mActivity); |
||||||
|
homePicker.setTitle(getResources().getString(R.string.title_custom_homepage)); |
||||||
|
final EditText getHome = new EditText(mActivity); |
||||||
|
mHomepage = mPreferences.getHomepage(); |
||||||
|
if (!mHomepage.startsWith("about:")) { |
||||||
|
getHome.setText(mHomepage); |
||||||
|
} else { |
||||||
|
getHome.setText("http://www.google.com"); |
||||||
|
} |
||||||
|
homePicker.setView(getHome); |
||||||
|
homePicker.setPositiveButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
String text = getHome.getText().toString(); |
||||||
|
mPreferences.setHomepage(text); |
||||||
|
home.setSummary(text); |
||||||
|
} |
||||||
|
}); |
||||||
|
homePicker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void downloadLocDialog() { |
||||||
|
AlertDialog.Builder picker = new AlertDialog.Builder(mActivity); |
||||||
|
picker.setTitle(getResources().getString(R.string.title_download_location)); |
||||||
|
mDownloadLocation = mPreferences.getDownloadDirectory(); |
||||||
|
int n; |
||||||
|
if (mDownloadLocation.contains(Environment.DIRECTORY_DOWNLOADS)) { |
||||||
|
n = 1; |
||||||
|
} else { |
||||||
|
n = 2; |
||||||
|
} |
||||||
|
|
||||||
|
picker.setSingleChoiceItems(R.array.download_folder, n - 1, |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
switch (which + 1) { |
||||||
|
case 1: |
||||||
|
mPreferences.setDownloadDirectory(Environment.DIRECTORY_DOWNLOADS); |
||||||
|
downloadloc.setSummary(Constants.EXTERNAL_STORAGE + '/' |
||||||
|
+ Environment.DIRECTORY_DOWNLOADS); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
downPicker(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
} |
||||||
|
}); |
||||||
|
picker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void agentDialog() { |
||||||
|
AlertDialog.Builder agentPicker = new AlertDialog.Builder(mActivity); |
||||||
|
agentPicker.setTitle(getResources().getString(R.string.title_user_agent)); |
||||||
|
mAgentChoice = mPreferences.getUserAgentChoice(); |
||||||
|
agentPicker.setSingleChoiceItems(R.array.user_agent, mAgentChoice - 1, |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
mPreferences.setUserAgentChoice(which + 1); |
||||||
|
switch (which + 1) { |
||||||
|
case 1: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_default)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_desktop)); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_mobile)); |
||||||
|
break; |
||||||
|
case 4: |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_custom)); |
||||||
|
agentPicker(); |
||||||
|
break; |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
agentPicker.setNeutralButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
} |
||||||
|
}); |
||||||
|
agentPicker.setOnCancelListener(new DialogInterface.OnCancelListener() { |
||||||
|
@Override |
||||||
|
public void onCancel(DialogInterface dialog) { |
||||||
|
Log.i("Cancelled", ""); |
||||||
|
} |
||||||
|
}); |
||||||
|
agentPicker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void agentPicker() { |
||||||
|
final AlertDialog.Builder agentStringPicker = new AlertDialog.Builder(mActivity); |
||||||
|
agentStringPicker.setTitle(getResources().getString(R.string.title_user_agent)); |
||||||
|
final EditText getAgent = new EditText(mActivity); |
||||||
|
agentStringPicker.setView(getAgent); |
||||||
|
agentStringPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
String text = getAgent.getText().toString(); |
||||||
|
mPreferences.setUserAgentString(text); |
||||||
|
useragent.setSummary(getResources().getString(R.string.agent_custom)); |
||||||
|
} |
||||||
|
}); |
||||||
|
agentStringPicker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
public void downPicker() { |
||||||
|
final AlertDialog.Builder downLocationPicker = new AlertDialog.Builder(mActivity); |
||||||
|
LinearLayout layout = new LinearLayout(mActivity); |
||||||
|
downLocationPicker.setTitle(getResources().getString(R.string.title_download_location)); |
||||||
|
final EditText getDownload = new EditText(mActivity); |
||||||
|
getDownload.setText(mPreferences.getDownloadDirectory()); |
||||||
|
|
||||||
|
int padding = Utils.convertDpToPixels(10); |
||||||
|
|
||||||
|
TextView v = new TextView(mActivity); |
||||||
|
v.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); |
||||||
|
v.setTextColor(Color.DKGRAY); |
||||||
|
v.setText(Constants.EXTERNAL_STORAGE + '/'); |
||||||
|
v.setPadding(padding, padding, 0, padding); |
||||||
|
layout.addView(v); |
||||||
|
layout.addView(getDownload); |
||||||
|
if (API < 16) { |
||||||
|
layout.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.edit_text)); |
||||||
|
} else { |
||||||
|
layout.setBackground(getResources().getDrawable(android.R.drawable.edit_text)); |
||||||
|
} |
||||||
|
downLocationPicker.setView(layout); |
||||||
|
downLocationPicker.setPositiveButton(getResources().getString(R.string.action_ok), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface dialog, int which) { |
||||||
|
String text = getDownload.getText().toString(); |
||||||
|
mPreferences.setDownloadDirectory(text); |
||||||
|
downloadloc.setSummary(Constants.EXTERNAL_STORAGE + '/' + text); |
||||||
|
} |
||||||
|
}); |
||||||
|
downLocationPicker.show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void setSearchEngineSummary(int which) { |
||||||
|
switch (which) { |
||||||
|
case 0: |
||||||
|
searchUrlPicker(); |
||||||
|
break; |
||||||
|
case 1: |
||||||
|
searchengine.setSummary("Google"); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
searchengine.setSummary("Ask"); |
||||||
|
break; |
||||||
|
case 3: |
||||||
|
searchengine.setSummary("Bing"); |
||||||
|
break; |
||||||
|
case 4: |
||||||
|
searchengine.setSummary("Yahoo"); |
||||||
|
break; |
||||||
|
case 5: |
||||||
|
searchengine.setSummary("StartPage"); |
||||||
|
break; |
||||||
|
case 6: |
||||||
|
searchengine.setSummary("StartPage (Mobile)"); |
||||||
|
break; |
||||||
|
case 7: |
||||||
|
searchengine.setSummary("DuckDuckGo"); |
||||||
|
break; |
||||||
|
case 8: |
||||||
|
searchengine.setSummary("DuckDuckGo Lite"); |
||||||
|
break; |
||||||
|
case 9: |
||||||
|
searchengine.setSummary("Baidu"); |
||||||
|
break; |
||||||
|
case 10: |
||||||
|
searchengine.setSummary("Yandex"); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceClick(Preference preference) { |
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_PROXY: |
||||||
|
proxyChoicePicker(); |
||||||
|
return true; |
||||||
|
case SETTINGS_USERAGENT: |
||||||
|
agentDialog(); |
||||||
|
return true; |
||||||
|
case SETTINGS_DOWNLOAD: |
||||||
|
downloadLocDialog(); |
||||||
|
return true; |
||||||
|
case SETTINGS_HOME: |
||||||
|
homepageDialog(); |
||||||
|
return true; |
||||||
|
case SETTINGS_SEARCHENGINE: |
||||||
|
searchDialog(); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) { |
||||||
|
// switch preferences
|
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_FLASH: |
||||||
|
if (cbFlash.isChecked()) { |
||||||
|
getFlashChoice(); |
||||||
|
} else { |
||||||
|
mPreferences.setFlashSupport(0); |
||||||
|
} |
||||||
|
if (!Utils.isFlashInstalled(mActivity) && cbFlash.isChecked()) { |
||||||
|
Utils.createInformativeDialog(mActivity, |
||||||
|
mActivity.getResources().getString(R.string.title_warning), |
||||||
|
mActivity.getResources().getString(R.string.dialog_adobe_not_installed)); |
||||||
|
cbFlash.setEnabled(false); |
||||||
|
mPreferences.setFlashSupport(0); |
||||||
|
} |
||||||
|
cbFlash.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_ADS: |
||||||
|
mPreferences.setAdBlockEnabled((Boolean) newValue); |
||||||
|
cbAds.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_IMAGES: |
||||||
|
mPreferences.setBlockImagesEnabled((Boolean) newValue); |
||||||
|
cbImages.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_JAVASCRIPT: |
||||||
|
mPreferences.setJavaScriptEnabled((Boolean) newValue); |
||||||
|
cbJsScript.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_COLORMODE: |
||||||
|
mPreferences.setColorModeEnabled((Boolean) newValue); |
||||||
|
cbColorMode.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_GOOGLESUGGESTIONS: |
||||||
|
mPreferences.setGoogleSearchSuggestionsEnabled((Boolean) newValue); |
||||||
|
cbgooglesuggest.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,283 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2014 A.C.R. Development |
||||||
|
*/ |
||||||
|
package acr.browser.lightning.fragment; |
||||||
|
|
||||||
|
import android.app.Activity; |
||||||
|
import android.app.AlertDialog; |
||||||
|
import android.content.Context; |
||||||
|
import android.content.DialogInterface; |
||||||
|
import android.os.Build; |
||||||
|
import android.os.Bundle; |
||||||
|
import android.os.Handler; |
||||||
|
import android.os.Message; |
||||||
|
import android.preference.CheckBoxPreference; |
||||||
|
import android.preference.Preference; |
||||||
|
import android.preference.PreferenceFragment; |
||||||
|
import android.provider.Browser; |
||||||
|
import android.webkit.CookieManager; |
||||||
|
import android.webkit.CookieSyncManager; |
||||||
|
import android.webkit.WebIconDatabase; |
||||||
|
import android.webkit.WebStorage; |
||||||
|
import android.webkit.WebView; |
||||||
|
import android.webkit.WebViewDatabase; |
||||||
|
|
||||||
|
import acr.browser.lightning.R; |
||||||
|
import acr.browser.lightning.database.HistoryDatabase; |
||||||
|
import acr.browser.lightning.preference.PreferenceManager; |
||||||
|
import acr.browser.lightning.utils.Utils; |
||||||
|
|
||||||
|
public class PrivacySettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener { |
||||||
|
|
||||||
|
private static final String SETTINGS_LOCATION = "location"; |
||||||
|
private static final String SETTINGS_THIRDPCOOKIES = "third_party"; |
||||||
|
private static final String SETTINGS_SAVEPASSWORD = "password"; |
||||||
|
private static final String SETTINGS_CACHEEXIT = "clear_cache_exit"; |
||||||
|
private static final String SETTINGS_HISTORYEXIT = "clear_history_exit"; |
||||||
|
private static final String SETTINGS_COOKIEEXIT = "clear_cookies_exit"; |
||||||
|
private static final String SETTINGS_SYNCHISTORY = "sync_history"; |
||||||
|
private static final String SETTINGS_CLEARCACHE = "clear_cache"; |
||||||
|
private static final String SETTINGS_CLEARHISTORY = "clear_history"; |
||||||
|
private static final String SETTINGS_CLEARCOOKIES = "clear_cookies"; |
||||||
|
|
||||||
|
private static final int API = android.os.Build.VERSION.SDK_INT; |
||||||
|
private Activity mActivity; |
||||||
|
private PreferenceManager mPreferences; |
||||||
|
private CheckBoxPreference cblocation, cb3cookies, cbsavepasswords, cbcacheexit, cbhistoryexit, |
||||||
|
cbcookiesexit, cbsynchistory; |
||||||
|
private Preference clearcache, clearhistory, clearcookies; |
||||||
|
private boolean mSystemBrowser; |
||||||
|
private Handler messageHandler; |
||||||
|
|
||||||
|
@Override |
||||||
|
public void onCreate(Bundle savedInstanceState) { |
||||||
|
super.onCreate(savedInstanceState); |
||||||
|
// Load the preferences from an XML resource
|
||||||
|
addPreferencesFromResource(R.xml.preference_privacy); |
||||||
|
|
||||||
|
mActivity = getActivity(); |
||||||
|
|
||||||
|
initPrefs(); |
||||||
|
} |
||||||
|
|
||||||
|
private void initPrefs() { |
||||||
|
// mPreferences storage
|
||||||
|
mPreferences = PreferenceManager.getInstance(); |
||||||
|
mSystemBrowser = mPreferences.getSystemBrowserPresent(); |
||||||
|
|
||||||
|
clearcache = findPreference(SETTINGS_CLEARCACHE); |
||||||
|
clearhistory = findPreference(SETTINGS_CLEARHISTORY); |
||||||
|
clearcookies = findPreference(SETTINGS_CLEARCOOKIES); |
||||||
|
cblocation = (CheckBoxPreference) findPreference(SETTINGS_LOCATION); |
||||||
|
cb3cookies = (CheckBoxPreference) findPreference(SETTINGS_THIRDPCOOKIES); |
||||||
|
cbsavepasswords = (CheckBoxPreference) findPreference(SETTINGS_SAVEPASSWORD); |
||||||
|
cbcacheexit = (CheckBoxPreference) findPreference(SETTINGS_CACHEEXIT); |
||||||
|
cbhistoryexit = (CheckBoxPreference) findPreference(SETTINGS_HISTORYEXIT); |
||||||
|
cbcookiesexit = (CheckBoxPreference) findPreference(SETTINGS_COOKIEEXIT); |
||||||
|
cbsynchistory = (CheckBoxPreference) findPreference(SETTINGS_SYNCHISTORY); |
||||||
|
|
||||||
|
clearcache.setOnPreferenceClickListener(this); |
||||||
|
clearhistory.setOnPreferenceClickListener(this); |
||||||
|
clearcookies.setOnPreferenceClickListener(this); |
||||||
|
cblocation.setOnPreferenceChangeListener(this); |
||||||
|
cb3cookies.setOnPreferenceChangeListener(this); |
||||||
|
cbsavepasswords.setOnPreferenceChangeListener(this); |
||||||
|
cbcacheexit.setOnPreferenceChangeListener(this); |
||||||
|
cbhistoryexit.setOnPreferenceChangeListener(this); |
||||||
|
cbcookiesexit.setOnPreferenceChangeListener(this); |
||||||
|
cbsynchistory.setOnPreferenceChangeListener(this); |
||||||
|
|
||||||
|
cblocation.setChecked(mPreferences.getLocationEnabled()); |
||||||
|
cbsavepasswords.setChecked(mPreferences.getSavePasswordsEnabled()); |
||||||
|
cbcacheexit.setChecked(mPreferences.getClearCacheExit()); |
||||||
|
cbhistoryexit.setChecked(mPreferences.getClearHistoryExitEnabled()); |
||||||
|
cbcookiesexit.setChecked(mPreferences.getClearCookiesExitEnabled()); |
||||||
|
cb3cookies.setChecked(mPreferences.getBlockThirdPartyCookiesEnabled()); |
||||||
|
|
||||||
|
cb3cookies.setEnabled(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP); |
||||||
|
|
||||||
|
if (!mSystemBrowser) { |
||||||
|
cbsynchistory.setChecked(false); |
||||||
|
cbsynchistory.setEnabled(false); |
||||||
|
cbsynchistory.setSummary(getResources().getString(R.string.stock_browser_unavailable)); |
||||||
|
} else { |
||||||
|
cbsynchistory.setEnabled(true); |
||||||
|
cbsynchistory.setChecked(mPreferences.getSyncHistoryEnabled()); |
||||||
|
cbsynchistory.setSummary(getResources().getString(R.string.stock_browser_available)); |
||||||
|
} |
||||||
|
|
||||||
|
messageHandler = new MessageHandler(mActivity); |
||||||
|
} |
||||||
|
|
||||||
|
private static class MessageHandler extends Handler { |
||||||
|
|
||||||
|
final Context mHandlerContext; |
||||||
|
|
||||||
|
public MessageHandler(Context context) { |
||||||
|
this.mHandlerContext = context; |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void handleMessage(Message msg) { |
||||||
|
switch (msg.what) { |
||||||
|
case 1: |
||||||
|
Utils.showToast(mHandlerContext, mHandlerContext.getResources() |
||||||
|
.getString(R.string.message_clear_history)); |
||||||
|
break; |
||||||
|
case 2: |
||||||
|
Utils.showToast(mHandlerContext, mHandlerContext.getResources().getString( |
||||||
|
R.string.message_cookies_cleared)); |
||||||
|
break; |
||||||
|
} |
||||||
|
super.handleMessage(msg); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceClick(Preference preference) { |
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_CLEARCACHE: |
||||||
|
clearCache(); |
||||||
|
return true; |
||||||
|
case SETTINGS_CLEARHISTORY: |
||||||
|
clearHistoryDialog(); |
||||||
|
return true; |
||||||
|
case SETTINGS_CLEARCOOKIES: |
||||||
|
clearCookiesDialog(); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
private void clearHistoryDialog() { |
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); |
||||||
|
builder.setTitle(getResources().getString(R.string.title_clear_history)); |
||||||
|
builder.setMessage(getResources().getString(R.string.dialog_history)) |
||||||
|
.setPositiveButton(getResources().getString(R.string.action_yes), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface arg0, int arg1) { |
||||||
|
Thread clear = new Thread(new Runnable() { |
||||||
|
@Override |
||||||
|
public void run() { |
||||||
|
clearHistory(); |
||||||
|
} |
||||||
|
}); |
||||||
|
clear.start(); |
||||||
|
} |
||||||
|
}) |
||||||
|
.setNegativeButton(getResources().getString(R.string.action_no), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface arg0, int arg1) { |
||||||
|
} |
||||||
|
}).show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void clearCookiesDialog() { |
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(mActivity); |
||||||
|
builder.setTitle(getResources().getString(R.string.title_clear_cookies)); |
||||||
|
builder.setMessage(getResources().getString(R.string.dialog_cookies)) |
||||||
|
.setPositiveButton(getResources().getString(R.string.action_yes), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface arg0, int arg1) { |
||||||
|
Thread clear = new Thread(new Runnable() { |
||||||
|
@Override |
||||||
|
public void run() { |
||||||
|
clearCookies(); |
||||||
|
} |
||||||
|
}); |
||||||
|
clear.start(); |
||||||
|
} |
||||||
|
}) |
||||||
|
.setNegativeButton(getResources().getString(R.string.action_no), |
||||||
|
new DialogInterface.OnClickListener() { |
||||||
|
@Override |
||||||
|
public void onClick(DialogInterface arg0, int arg1) { |
||||||
|
} |
||||||
|
}).show(); |
||||||
|
} |
||||||
|
|
||||||
|
private void clearCache() { |
||||||
|
WebView webView = new WebView(mActivity); |
||||||
|
webView.clearCache(true); |
||||||
|
webView.destroy(); |
||||||
|
Utils.showToast(mActivity, getResources().getString(R.string.message_cache_cleared)); |
||||||
|
} |
||||||
|
|
||||||
|
@SuppressWarnings("deprecation") |
||||||
|
private void clearHistory() { |
||||||
|
mActivity.deleteDatabase(HistoryDatabase.DATABASE_NAME); |
||||||
|
WebViewDatabase m = WebViewDatabase.getInstance(mActivity); |
||||||
|
m.clearFormData(); |
||||||
|
m.clearHttpAuthUsernamePassword(); |
||||||
|
if (API < 18) { |
||||||
|
m.clearUsernamePassword(); |
||||||
|
WebIconDatabase.getInstance().removeAllIcons(); |
||||||
|
} |
||||||
|
if (mSystemBrowser) { |
||||||
|
try { |
||||||
|
Browser.clearHistory(mActivity.getContentResolver()); |
||||||
|
} catch (Exception ignored) { |
||||||
|
} |
||||||
|
} |
||||||
|
Utils.trimCache(mActivity); |
||||||
|
messageHandler.sendEmptyMessage(1); |
||||||
|
} |
||||||
|
|
||||||
|
@SuppressWarnings("deprecation") |
||||||
|
private void clearCookies() { |
||||||
|
// TODO Break out web storage deletion into its own option/action
|
||||||
|
// TODO clear web storage for all sites that are visited in Incognito mode
|
||||||
|
WebStorage storage = WebStorage.getInstance(); |
||||||
|
storage.deleteAllData(); |
||||||
|
CookieManager c = CookieManager.getInstance(); |
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { |
||||||
|
c.removeAllCookies(null); |
||||||
|
} else { |
||||||
|
CookieSyncManager.createInstance(mActivity); |
||||||
|
c.removeAllCookie(); |
||||||
|
} |
||||||
|
messageHandler.sendEmptyMessage(2); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public boolean onPreferenceChange(Preference preference, Object newValue) { |
||||||
|
// switch preferences
|
||||||
|
switch (preference.getKey()) { |
||||||
|
case SETTINGS_LOCATION: |
||||||
|
mPreferences.setLocationEnabled((Boolean) newValue); |
||||||
|
cblocation.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_THIRDPCOOKIES: |
||||||
|
mPreferences.setBlockThirdPartyCookiesEnabled((Boolean) newValue); |
||||||
|
cb3cookies.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_SAVEPASSWORD: |
||||||
|
mPreferences.setSavePasswordsEnabled((Boolean) newValue); |
||||||
|
cbsavepasswords.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_CACHEEXIT: |
||||||
|
mPreferences.setClearCacheExit((Boolean) newValue); |
||||||
|
cbcacheexit.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_HISTORYEXIT: |
||||||
|
mPreferences.setClearHistoryExitEnabled((Boolean) newValue); |
||||||
|
cbhistoryexit.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_COOKIEEXIT: |
||||||
|
mPreferences.setClearCookiesExitEnabled((Boolean) newValue); |
||||||
|
cbcookiesexit.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
case SETTINGS_SYNCHISTORY: |
||||||
|
mPreferences.setSyncHistoryEnabled((Boolean) newValue); |
||||||
|
cbsynchistory.setChecked((Boolean) newValue); |
||||||
|
return true; |
||||||
|
default: |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -1,137 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutSource" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/action_follow_me" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/isImportAvailable" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/url_twitter" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutLicense" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView12" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/licenses" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutVersion" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/version" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/versionCode" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,267 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rAllowPopups" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/window" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbAllowPopups" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rAllowCookies" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView2" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/cookies" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbAllowCookies" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rAllowIncognitoCookies" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/incognito_cookies" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbAllowIncognitoCookies" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rRestoreTabs" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/restore" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbRestoreTabs" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/layoutRendering" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/rendering_mode" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/renderText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/rUrlBarContents" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/url_contents" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/urlText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,93 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/exportBackup" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="60dp" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:gravity="center_vertical" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/export_bookmarks" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/importBackup" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="60dp" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:gravity="center_vertical" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView2" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/import_backup" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/importFromBrowser" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="60dp" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:gravity="center_vertical" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/importbookmarks" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/isImportBrowserAvailable" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,301 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rHideStatusBar" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/fullScreenOption" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbHideStatusBar" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rFullScreen" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/fullscreen" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbFullScreen" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rTheme" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/theme" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textViewTheme" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="CURRENT THEME" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rWideViewPort" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/wideViewPort" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbWideViewPort" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rOverView" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView2" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/overViewMode" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbOverView" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rTextReflow" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView3" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/reflow" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbTextReflow" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rTextSize" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/size" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,238 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutUserAgent" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView4" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/agent" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/agentText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutDownload" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView5" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/download" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/downloadText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutHomepage" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView6" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/home" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/homepageText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutSearch" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/search" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/searchText" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="Small Text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rGoogleSuggestions" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/google_suggestions" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/powered_by_google" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbGoogleSuggestions" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,200 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/browserLicense" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/app_name" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/mpl_license" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/licenseAOSP" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/android_open_source_project" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/apache" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/licenseHosts" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/hphosts_ad_server_list" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/freeware" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/licenseOrbot" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/library_netcipher" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/license_gnu" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/licenseSnactory" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/snacktory" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/apache" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/licenseJsoup" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/jsoup" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/mit_license" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,378 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rLocation" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/location" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbLocation" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rThirdParty" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/third_party" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbThirdParty" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rSavePasswords" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView2" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/password" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView3" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/recommended" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbSavePasswords" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearCacheExit" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView4" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/cache" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbClearCacheExit" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearHistoryExit" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/clear_history_exit" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbClearHistoryExit" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearCookiesExit" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/clear_cookies_exit" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbClearCookiesExit" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rBrowserHistory" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="30dp" |
|
||||||
android:text="@string/sync_history" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/isBrowserAvailable" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="text" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbBrowserHistory" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearCache" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/clear_cache" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearHistory" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/history" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/rClearCookies" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp" > |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/clear_cookies" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -1,411 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
||||||
xmlns:tools="http://schemas.android.com/tools" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<include layout="@layout/toolbar_settings" /> |
|
||||||
|
|
||||||
<ScrollView |
|
||||||
android:id="@+id/scrollView1" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="match_parent"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutFlash" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView1" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="60dp" |
|
||||||
android:text="@string/flash" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbFlash" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutAdBlock" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="60dp" |
|
||||||
android:text="@string/block_ads" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbAdblock" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutImages" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView2" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="60dp" |
|
||||||
android:text="@string/block" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbImageBlock" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutEnableJS" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView3" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="60dp" |
|
||||||
android:text="@string/java" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbJavascript" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutColorMode" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingRight="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:paddingRight="60dp" |
|
||||||
android:text="@string/color_mode" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<CheckBox |
|
||||||
android:id="@+id/cbColorMode" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentRight="true" |
|
||||||
android:layout_centerVertical="true" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:id="@+id/layoutProxyChoice" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:orientation="vertical" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/http_proxy" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/proxyChoiceName" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" |
|
||||||
tools:text="Disabled" /> |
|
||||||
</LinearLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutGeneral" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView7" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_general" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutBookmarks" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/bookmark_settings" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutDisplay" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView8" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_display" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutPrivacy" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView9" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_privacy" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutAdvanced" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView10" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_advanced" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
|
|
||||||
<RelativeLayout |
|
||||||
android:id="@+id/layoutAbout" |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:background="?attr/listChoiceBackgroundIndicator" |
|
||||||
android:minHeight="60dp" |
|
||||||
android:paddingBottom="10dp" |
|
||||||
android:paddingTop="10dp"> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:layout_alignParentLeft="true" |
|
||||||
android:layout_centerVertical="true" |
|
||||||
android:orientation="vertical"> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/textView11" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_about" |
|
||||||
android:textAppearance="?android:attr/textAppearanceMedium" /> |
|
||||||
|
|
||||||
<TextView |
|
||||||
android:id="@+id/isImportAvailable" |
|
||||||
android:layout_width="wrap_content" |
|
||||||
android:layout_height="wrap_content" |
|
||||||
android:paddingLeft="16dp" |
|
||||||
android:text="@string/settings_about_explain" |
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall" |
|
||||||
android:textColor="@color/light" /> |
|
||||||
</LinearLayout> |
|
||||||
</RelativeLayout> |
|
||||||
|
|
||||||
<LinearLayout |
|
||||||
android:layout_width="match_parent" |
|
||||||
android:layout_height="1dp" |
|
||||||
android:layout_marginLeft="10dp" |
|
||||||
android:layout_marginRight="10dp" |
|
||||||
android:background="?attr/dividerColor" /> |
|
||||||
</LinearLayout> |
|
||||||
</ScrollView> |
|
||||||
|
|
||||||
</LinearLayout> |
|
@ -0,0 +1,60 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_about"> |
||||||
|
<Preference |
||||||
|
android:title="@string/action_follow_me" |
||||||
|
android:summary="@string/url_twitter"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://twitter.com/RestainoAnthony" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/version" |
||||||
|
android:key="pref_version" /> |
||||||
|
</PreferenceCategory> |
||||||
|
<PreferenceCategory android:title="@string/licenses"> |
||||||
|
<Preference |
||||||
|
android:title="@string/app_name" |
||||||
|
android:summary="@string/mpl_license"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://www.mozilla.org/MPL/2.0/" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/android_open_source_project" |
||||||
|
android:summary="@string/apache"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://www.apache.org/licenses/LICENSE-2.0" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/hphosts_ad_server_list" |
||||||
|
android:summary="@string/freeware"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://hosts-file.net/" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/library_netcipher" |
||||||
|
android:summary="@string/license_gnu"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://www.gnu.org/licenses/lgpl.html" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/snacktory" |
||||||
|
android:summary="@string/apache"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://www.apache.org/licenses/LICENSE-2.0" /> |
||||||
|
</Preference> |
||||||
|
<Preference |
||||||
|
android:title="@string/jsoup" |
||||||
|
android:summary="@string/mit_license"> |
||||||
|
<intent |
||||||
|
android:action="android.intent.action.VIEW" |
||||||
|
android:data="http://jsoup.org/license" /> |
||||||
|
</Preference> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,30 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_advanced"> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="allow_new_window" |
||||||
|
android:title="@string/window" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="allow_cookies" |
||||||
|
android:title="@string/cookies" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="incognito_cookies" |
||||||
|
android:title="@string/incognito_cookies" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="restore_tabs" |
||||||
|
android:title="@string/restore" /> |
||||||
|
<Preference |
||||||
|
android:key="rendering_mode" |
||||||
|
android:title="@string/rendering_mode" /> |
||||||
|
<Preference |
||||||
|
android:key="url_contents" |
||||||
|
android:title="@string/url_contents" /> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,16 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/bookmark_settings"> |
||||||
|
<Preference |
||||||
|
android:key="export_bookmark" |
||||||
|
android:title="@string/export_bookmarks" /> |
||||||
|
<Preference |
||||||
|
android:key="import_bookmark" |
||||||
|
android:title="@string/import_backup" /> |
||||||
|
<Preference |
||||||
|
android:key="import_browser_bookmark" |
||||||
|
android:title="@string/importbookmarks" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,34 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_display"> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="fullScreenOption" |
||||||
|
android:title="@string/fullScreenOption" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="fullscreen" |
||||||
|
android:title="@string/fullscreen" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="wideViewPort" |
||||||
|
android:title="@string/wideViewPort" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="overViewMode" |
||||||
|
android:title="@string/overViewMode" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="text_reflow" |
||||||
|
android:title="@string/reflow" /> |
||||||
|
<Preference |
||||||
|
android:key="app_theme" |
||||||
|
android:title="@string/theme" /> |
||||||
|
<Preference |
||||||
|
android:key="text_size" |
||||||
|
android:title="@string/title_text_size" /> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,46 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_general"> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="cb_flash" |
||||||
|
android:title="@string/flash" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="cb_ads" |
||||||
|
android:title="@string/block_ads" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="cb_images" |
||||||
|
android:title="@string/block" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="cb_javascript" |
||||||
|
android:title="@string/java" /> |
||||||
|
<Preference |
||||||
|
android:key="proxy" |
||||||
|
android:title="@string/http_proxy" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="cb_colormode" |
||||||
|
android:title="@string/color_mode" /> |
||||||
|
<Preference |
||||||
|
android:key="agent" |
||||||
|
android:title="@string/agent" /> |
||||||
|
<Preference |
||||||
|
android:key="download" |
||||||
|
android:title="@string/download" /> |
||||||
|
<Preference |
||||||
|
android:key="home" |
||||||
|
android:title="@string/home" /> |
||||||
|
<Preference |
||||||
|
android:key="search" |
||||||
|
android:title="@string/search" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="google_suggestions" |
||||||
|
android:title="@string/google_suggestions" |
||||||
|
android:summary="@string/powered_by_google" /> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,44 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
|
||||||
|
<PreferenceCategory android:title="@string/settings_privacy"> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="location" |
||||||
|
android:title="@string/location" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="third_party" |
||||||
|
android:title="@string/third_party" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="true" |
||||||
|
android:key="password" |
||||||
|
android:title="@string/password" |
||||||
|
android:summary="@string/recommended" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="clear_cache_exit" |
||||||
|
android:title="@string/cache" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="clear_history_exit" |
||||||
|
android:title="@string/clear_history_exit" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="clear_cookies_exit" |
||||||
|
android:title="@string/clear_cookies_exit" /> |
||||||
|
<CheckBoxPreference |
||||||
|
android:defaultValue="false" |
||||||
|
android:key="sync_history" |
||||||
|
android:title="@string/sync_history" /> |
||||||
|
<Preference |
||||||
|
android:key="clear_cache" |
||||||
|
android:title="@string/clear_cache" /> |
||||||
|
<Preference |
||||||
|
android:key="clear_history" |
||||||
|
android:title="@string/title_clear_history" /> |
||||||
|
<Preference |
||||||
|
android:key="clear_cookies" |
||||||
|
android:title="@string/clear_cookies" /> |
||||||
|
</PreferenceCategory> |
||||||
|
</PreferenceScreen> |
@ -0,0 +1,22 @@ |
|||||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||||
|
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android"> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.GeneralSettingsFragment" |
||||||
|
android:title="@string/settings_general" /> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.BookmarkSettingsFragment" |
||||||
|
android:title="@string/bookmark_settings" /> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.DisplaySettingsFragment" |
||||||
|
android:title="@string/settings_display" /> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.PrivacySettingsFragment" |
||||||
|
android:title="@string/settings_privacy" /> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.AdvancedSettingsFragment" |
||||||
|
android:title="@string/settings_advanced" /> |
||||||
|
<header |
||||||
|
android:fragment="acr.browser.lightning.fragment.AboutSettingsFragment" |
||||||
|
android:title="@string/settings_about" |
||||||
|
android:summary="@string/settings_about_explain" /> |
||||||
|
</preference-headers> |
Loading…
Reference in new issue