diff --git a/README.md b/README.md
index ec170d8..cf58bc6 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
-# Lightning Browser
+# Lightning Browser I2P
#### Speed, Simplicity, Security
![](ic_launcher_small.png)
#### About fork
-That fork of Lightning Browser aims on native support of I2P without ability go clearnet sites.
+That fork of Lightning Browser aims on native support of I2P without ability go clearnet sites (if not used outproxy).
#### Features
* Bookmarks
@@ -29,8 +29,6 @@ That fork of Lightning Browser aims on native support of I2P without ability go
* ````READ_EXTERNAL_STORAGE````: For downloading files from the browser
-* ````ACCESS_FINE_LOCATION````: For sites like Google Maps, it is disabled by default in settings and displays a pop-up asking if a site may use your location when it is enabled
-
* ````ACCESS_NETWORK_STATE````: Required for the WebView to function by some OEM versions of WebKit
#### The Code
@@ -49,7 +47,7 @@ Lightning Browser
http://mozilla.org/MPL/2.0/
-Coryright 2018 PurpleI2P
+Copyright 2018 PurpleI2P
Fork of Lightning Browser with same license
```
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 5856ecb..767539c 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,18 +8,11 @@
-
-
-
diff --git a/app/src/main/assets/lightning.png b/app/src/main/assets/lightning.png
index 0489e75..96b780e 100644
Binary files a/app/src/main/assets/lightning.png and b/app/src/main/assets/lightning.png differ
diff --git a/app/src/main/java/org/purplei2p/lightning/preference/PreferenceManager.java b/app/src/main/java/org/purplei2p/lightning/preference/PreferenceManager.java
index d0be0ac..e5ebd03 100644
--- a/app/src/main/java/org/purplei2p/lightning/preference/PreferenceManager.java
+++ b/app/src/main/java/org/purplei2p/lightning/preference/PreferenceManager.java
@@ -24,7 +24,6 @@ public class PreferenceManager {
static final String HOMEPAGE = "home";
static final String INCOGNITO_COOKIES = "incognitocookies";
static final String JAVASCRIPT = "java";
- static final String LOCATION = "location";
static final String OVERVIEW_MODE = "overviewmode";
static final String POPUPS = "newwindows";
static final String RESTORE_LOST_TABS = "restoreclosed";
@@ -161,10 +160,6 @@ public class PreferenceManager {
return mPrefs.getBoolean(Name.JAVASCRIPT, true);
}
- public boolean getLocationEnabled() {
- return mPrefs.getBoolean(Name.LOCATION, false);
- }
-
public boolean getOverviewModeEnabled() {
return mPrefs.getBoolean(Name.OVERVIEW_MODE, true);
}
@@ -372,10 +367,6 @@ public class PreferenceManager {
putBoolean(Name.JAVASCRIPT, enable);
}
- public void setLocationEnabled(boolean enable) {
- putBoolean(Name.LOCATION, enable);
- }
-
public void setOverviewModeEnabled(boolean enable) {
putBoolean(Name.OVERVIEW_MODE, enable);
}
diff --git a/app/src/main/java/org/purplei2p/lightning/settings/fragment/PrivacySettingsFragment.java b/app/src/main/java/org/purplei2p/lightning/settings/fragment/PrivacySettingsFragment.java
index 7d275de..706078f 100644
--- a/app/src/main/java/org/purplei2p/lightning/settings/fragment/PrivacySettingsFragment.java
+++ b/app/src/main/java/org/purplei2p/lightning/settings/fragment/PrivacySettingsFragment.java
@@ -32,7 +32,6 @@ import org.purplei2p.lightning.view.LightningView;
public class PrivacySettingsFragment extends LightningPreferenceFragment 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";
@@ -68,7 +67,6 @@ public class PrivacySettingsFragment extends LightningPreferenceFragment impleme
Preference clearcookies = findPreference(SETTINGS_CLEARCOOKIES);
Preference clearwebstorage = findPreference(SETTINGS_CLEARWEBSTORAGE);
- CheckBoxPreference cblocation = (CheckBoxPreference) findPreference(SETTINGS_LOCATION);
CheckBoxPreference cb3cookies = (CheckBoxPreference) findPreference(SETTINGS_THIRDPCOOKIES);
CheckBoxPreference cbsavepasswords = (CheckBoxPreference) findPreference(SETTINGS_SAVEPASSWORD);
CheckBoxPreference cbcacheexit = (CheckBoxPreference) findPreference(SETTINGS_CACHEEXIT);
@@ -83,7 +81,6 @@ public class PrivacySettingsFragment extends LightningPreferenceFragment impleme
clearcookies.setOnPreferenceClickListener(this);
clearwebstorage.setOnPreferenceClickListener(this);
- cblocation.setOnPreferenceChangeListener(this);
cb3cookies.setOnPreferenceChangeListener(this);
cbsavepasswords.setOnPreferenceChangeListener(this);
cbcacheexit.setOnPreferenceChangeListener(this);
@@ -93,7 +90,6 @@ public class PrivacySettingsFragment extends LightningPreferenceFragment impleme
cbDoNotTrack.setOnPreferenceChangeListener(this);
cbIdentifyingHeaders.setOnPreferenceChangeListener(this);
- cblocation.setChecked(mPreferenceManager.getLocationEnabled());
cbsavepasswords.setChecked(mPreferenceManager.getSavePasswordsEnabled());
cbcacheexit.setChecked(mPreferenceManager.getClearCacheExit());
cbhistoryexit.setChecked(mPreferenceManager.getClearHistoryExitEnabled());
@@ -224,9 +220,6 @@ public class PrivacySettingsFragment extends LightningPreferenceFragment impleme
@Override
public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
switch (preference.getKey()) {
- case SETTINGS_LOCATION:
- mPreferenceManager.setLocationEnabled((Boolean) newValue);
- return true;
case SETTINGS_THIRDPCOOKIES:
mPreferenceManager.setBlockThirdPartyCookiesEnabled((Boolean) newValue);
return true;
diff --git a/app/src/main/java/org/purplei2p/lightning/view/LightningChromeClient.java b/app/src/main/java/org/purplei2p/lightning/view/LightningChromeClient.java
index 3006847..35e6105 100644
--- a/app/src/main/java/org/purplei2p/lightning/view/LightningChromeClient.java
+++ b/app/src/main/java/org/purplei2p/lightning/view/LightningChromeClient.java
@@ -13,14 +13,11 @@ import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
-import android.webkit.GeolocationPermissions;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import com.anthonycr.bonsai.Schedulers;
-import com.anthonycr.grant.PermissionsManager;
-import com.anthonycr.grant.PermissionsResultAction;
import javax.inject.Inject;
@@ -33,8 +30,6 @@ import org.purplei2p.lightning.utils.Preconditions;
public class LightningChromeClient extends WebChromeClient {
- private static final String[] PERMISSIONS = new String[]{Manifest.permission.ACCESS_FINE_LOCATION};
-
@NonNull private final Activity mActivity;
@NonNull private final LightningView mLightningView;
@NonNull private final UIController mUIController;
@@ -92,49 +87,6 @@ public class LightningChromeClient extends WebChromeClient {
}
}
- @Override
- public void onGeolocationPermissionsShowPrompt(@NonNull final String origin,
- @NonNull final GeolocationPermissions.Callback callback) {
- PermissionsManager.getInstance().requestPermissionsIfNecessaryForResult(mActivity, PERMISSIONS, new PermissionsResultAction() {
- @Override
- public void onGranted() {
- final boolean remember = true;
- AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
- builder.setTitle(mActivity.getString(R.string.location));
- String org;
- if (origin.length() > 50) {
- org = origin.subSequence(0, 50) + "...";
- } else {
- org = origin;
- }
- builder.setMessage(org + mActivity.getString(R.string.message_location))
- .setCancelable(true)
- .setPositiveButton(mActivity.getString(R.string.action_allow),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- callback.invoke(origin, true, remember);
- }
- })
- .setNegativeButton(mActivity.getString(R.string.action_dont_allow),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int id) {
- callback.invoke(origin, false, remember);
- }
- });
- AlertDialog alert = builder.create();
- alert.show();
- BrowserDialog.setDialogSize(mActivity, alert);
- }
-
- @Override
- public void onDenied(String permission) {
- //TODO show message and/or turn off setting
- }
- });
- }
-
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture,
Message resultMsg) {
diff --git a/app/src/main/java/org/purplei2p/lightning/view/LightningView.java b/app/src/main/java/org/purplei2p/lightning/view/LightningView.java
index 4ad053c..01eb2b4 100644
--- a/app/src/main/java/org/purplei2p/lightning/view/LightningView.java
+++ b/app/src/main/java/org/purplei2p/lightning/view/LightningView.java
@@ -292,12 +292,6 @@ public class LightningView {
sHomepage = mPreferences.getHomepage();
setColorMode(mPreferences.getRenderingMode());
- if (!mIsIncognitoTab) {
- settings.setGeolocationEnabled(mPreferences.getLocationEnabled());
- } else {
- settings.setGeolocationEnabled(false);
- }
-
setUserAgent(context, mPreferences.getUserAgentChoice());
if (mPreferences.getSavePasswordsEnabled() && !mIsIncognitoTab) {
@@ -429,19 +423,6 @@ public class LightningView {
}
});
- if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
- getPathObservable("geolocation").subscribeOn(Schedulers.io())
- .observeOn(Schedulers.main())
- .subscribe(new SingleOnSubscribe() {
- @Override
- public void onItem(@Nullable File item) {
- Preconditions.checkNonNull(item);
- //noinspection deprecation
- settings.setGeolocationDatabasePath(item.getPath());
- }
- });
- }
-
getPathObservable("databases").subscribeOn(Schedulers.io())
.observeOn(Schedulers.main())
.subscribe(new SingleOnSubscribe() {
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 58c9a9b..693520b 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -1,5 +1,5 @@
-
+
Молния I2P
Создать вкладку
Отправить ссылку
@@ -10,7 +10,6 @@
Копировать ссылку
Вперёд
Настройки
- Местоположение
Сохранять пароли
User Agent
Новая вкладка
@@ -56,6 +55,7 @@
Поисковая система
OK
Загрузить файл? (%1$s)
+ Размер неизвестен
Отмена
Внимание
User Agent
@@ -93,8 +93,6 @@
Карта памяти недоступна
Карта памяти подключена к ПК. Для начала загрузки отключите её от ПК, нажав на уведомление.
Включить куки в режиме инкогнито
- Вручную
- Автоматически
Связаться с разработчиками
twitter.com/RestainoAnthony
Очистить кэш
@@ -102,10 +100,8 @@
Закладки импортированы
История очищена
Куки очищены
- Достигнуто максимальное число вкладок
Текст скопирован в буфер обмена
Ссылка скопирована в буфер обмена
- Пользовательский URL
Локальный файл недоступен для загрузки
Open Source Licenses
Искать
@@ -119,10 +115,8 @@
сертификат не является доверенным
Отправка формы
Вы действительно хотите повторно отправить данные?
- \nХотите использовать своё местоположение?
- Разрешить
- Не разрешать
Вход
+ Сообщение сервера: %s
Имя пользователя
Пароль
Подсказки поиска
@@ -139,9 +133,6 @@
Прокси
Хост:
Порт:
- Похоже, установлен Orbot. Вы хотите использовать Tor?
- Похоже, установлен I2P. Вы хотите использовать I2P?
- Пожалуйста, установите Orbot для проксирования через Tor.
Да
Нет
Очищать куки при выходе
@@ -152,7 +143,6 @@
Mozilla Public License v. 2.0
Freeware
Android Open Source Project
- hpHosts Ad Server List
Восстановить закрытую вкладку
Режим отображения страниц
Инвертированный
@@ -167,6 +157,7 @@
Сделать резервную копию закладок
Восстановить закладки из резервной копии
Экспортировать закладки в
+ Извините! Закладки не могут быть экспортированы!
Настройки закладок
Не удалось импортировать закладки из файла
Выберите файл
@@ -209,12 +200,13 @@
Очищать интернет-хранилище при выходе
Интернет-хранилище очищено
Показывать владки в боковом меню
- Перевернуть закладки и вкладки
+ Перевернуть закладки и вкладки
Запрашивать \'Do Not Track\'
Удалять идентифиц. заголовки
Добавить на дом. экран
Ярлык добавлен на домашний экран
Удалить все закладки
+ Не удалось открыть файл
FAQ
Часто задаваемые вопросы
@@ -223,4 +215,25 @@
Настройки отладки
LeakCanary
Чтобы изменения вступили в силу, необходимо перезапустить приложение.
+
+
+ Открыть в новой вкладке
+ Открыть в фоновой вкладке
+ Открыть в приватной вкладке
+ Удалить закладку
+ Редактировать закладку
+ Удалить из истории
+ Сохранить изображение
+ Скопировать ссылку
+ Переименовать папку
+ Удалить папку
+ Закрыть браузер
+ Удалить загрузку
+ Удалить все загрузки
+
+
+ Пользовательский URL
+ Legwork
+ DuckDuckGo
+ DuckDuckGo Lite
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5c5dfdb..1a1bdb6 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,6 +1,5 @@
-
Lightning I2P
New tab
Share
@@ -11,7 +10,6 @@
Copy link
Forward
Settings
- Location access
Save your passwords
User agent
Homepage
@@ -95,8 +93,6 @@
USB storage unavailable
The storage is busy. To allow downloads, touch \'Turn Off USB Storage\' in the notification.
Enable cookies in incognito mode
- Manual
- Auto
Contact me
twitter.com/RestainoAnthony
Clear cache
@@ -104,7 +100,6 @@
Bookmarks were imported
History cleared
Cookies cleared
- Max tabs reached
Text copied to clipboard
Link copied to clipboard
Local file has been blocked from loading
@@ -120,9 +115,6 @@
Certificate is not trusted
Form resubmission
Would you like to resend the data?
- \nWould like to use your location
- Allow
- Don\'t allow
Sign in
Server message: %s
Username
@@ -141,9 +133,6 @@
Manual proxy
Host:
Port:
- It looks like you have Orbot installed. Do you want to use Tor?
- It looks like you have I2P installed. Do you want to use I2P?
- Please install Orbot in order to proxy with Tor.
Yes
No
Clear cookies on exit
@@ -154,7 +143,6 @@
Mozilla Public License v. 2.0
Freeware
Android Open Source Project
- hpHosts Ad Server List
Reopened old tab
Rendering mode
Inverted
@@ -211,7 +199,6 @@
Clear web storage
Clear web storage on exit
Web storage cleared
- Hosts file ad blocking source
Show tabs in navigation drawer
Swap bookmark and tab drawers
Request \'Do Not Track\'
@@ -219,7 +206,6 @@
Add to home screen
Shortcut added to home screen
Delete all bookmarks
- Upgrade to Lightning Plus to block ads
This file doesn\'t exist anymore
FAQ
diff --git a/app/src/main/res/xml/preference_about.xml b/app/src/main/res/xml/preference_about.xml
index 0de6fb9..9c243d0 100644
--- a/app/src/main/res/xml/preference_about.xml
+++ b/app/src/main/res/xml/preference_about.xml
@@ -41,17 +41,6 @@
android:value="SELF" />
-
-
-
-
-
diff --git a/app/src/main/res/xml/preference_privacy.xml b/app/src/main/res/xml/preference_privacy.xml
index b0a5e4a..728dcfa 100644
--- a/app/src/main/res/xml/preference_privacy.xml
+++ b/app/src/main/res/xml/preference_privacy.xml
@@ -2,10 +2,6 @@
-