3.0.5 - Crash fixes

- added workaround for crash on close due to zoom button error (WebView
bug)
- fixed bug with database not being properly closed
This commit is contained in:
Anthony Restaino 2014-01-21 20:17:26 -05:00
parent 075274014f
commit 10a18373d3
10 changed files with 39 additions and 37 deletions

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="acr.browser.barebones" package="acr.browser.barebones"
android:versionCode="66" android:versionCode="67"
android:versionName="3.0.0" > android:versionName="3.0.5b" >
<uses-sdk <uses-sdk
android:minSdkVersion="8" android:minSdkVersion="8"

Binary file not shown.

BIN
MainActivity.apk Normal file

Binary file not shown.

View File

@ -1,10 +1,12 @@
#Lightning Browser #Lightning Browser
#![](ic_launcher_small.png) #![](ic_launcher_small.png)
####Download ####Download
* [Download APK from here](https://github.com/anthonycr/Lightning-Browser/blob/master/BrowserActivity.apk?raw=true) * [Download APK from here](https://github.com/anthonycr/Lightning-Browser/blob/master/Barebones.apk?raw=true)
* [Download from Google Play](https://play.google.com/store/apps/details?id=acr.browser.barebones) * [Download from Google Play](https://play.google.com/store/apps/details?id=acr.browser.barebones)
* [Download the version with a new interface here](https://github.com/anthonycr/Lightning-Browser/blob/master/Lightning_API_14.apk?raw=true)
####Features ####Features
* Bookmarks * Bookmarks
@ -40,16 +42,3 @@
* Please add translations/translation fixes as you see need * Please add translations/translation fixes as you see need
* Change ````FinalVariables.MAX_TABS```` from 5 to 100 to change the Lightning to the paid version * Change ````FinalVariables.MAX_TABS```` from 5 to 100 to change the Lightning to the paid version
* Beware when using proguard while compiling. Some methods should not be obfuscated. Use the proguard settings file I provided for best results. * Beware when using proguard while compiling. Some methods should not be obfuscated. Use the proguard settings file I provided for best results.
####The License
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -48,7 +48,7 @@
<string name="settings_title">Einstellungen</string> <string name="settings_title">Einstellungen</string>
<string name="download">Download-Verzeichnis</string> <string name="download">Download-Verzeichnis</string>
<string name="advanced">Erweiterte Einstellungen</string> <string name="advanced">Erweiterte Einstellungen</string>
<string name="gestures">'Vor'- und 'Zurück'-Gesten aktivieren</string> <string name="gestures">\'Vor\'- und \'Zurück\'-Gesten aktivieren</string>
<string name="source">Quelltext</string> <string name="source">Quelltext</string>
<string name="license">Lizenz</string> <string name="license">Lizenz</string>
<string name="github">github.com/anthonycr/Lightning-Browser</string> <string name="github">github.com/anthonycr/Lightning-Browser</string>
@ -129,4 +129,4 @@
<string name="download_sdcard_busy_dlg_title">USB-Speicher nicht verfügbar!</string> <string name="download_sdcard_busy_dlg_title">USB-Speicher nicht verfügbar!</string>
<string name="download_sdcard_busy_dlg_msg" >Speicher aktiv. Um ein Herunterladen zu ermöglichen, schalten Sie den USB-Speicher in der Benachrichtigung aus.</string> <string name="download_sdcard_busy_dlg_msg" >Speicher aktiv. Um ein Herunterladen zu ermöglichen, schalten Sie den USB-Speicher in der Benachrichtigung aus.</string>
</resources> </resources>

View File

@ -107,4 +107,4 @@
<string name="download_no_sdcard_dlg_msg">Для загрузки файла необходима карта памяти</string> <string name="download_no_sdcard_dlg_msg">Для загрузки файла необходима карта памяти</string>
<string name="download_sdcard_busy_dlg_title">Карта памяти недоступна</string> <string name="download_sdcard_busy_dlg_title">Карта памяти недоступна</string>
<string name="download_sdcard_busy_dlg_msg">Карта памяти подключена к ПК. Для начала загрузки отключите её от ПК, нажав на уведомление</string> <string name="download_sdcard_busy_dlg_msg">Карта памяти подключена к ПК. Для начала загрузки отключите её от ПК, нажав на уведомление</string>
</resources> </resources>

View File

@ -169,7 +169,7 @@ public class BrowserActivity extends Activity implements OnTouchListener {
public static boolean DEVICE_HAS_GPS = false; public static boolean DEVICE_HAS_GPS = false;
// semi constants // semi constants
public static Context mContext; public static Context mContext;
public static String SEARCH; public static String mSearch;
public static List<Integer> tabList; public static List<Integer> tabList;
// variables // variables
@ -379,7 +379,6 @@ public class BrowserActivity extends Activity implements OnTouchListener {
null, null, null); null, null, null);
handler.sendEmptyMessage(1); handler.sendEmptyMessage(1);
} catch (SQLiteException ignored) { } catch (SQLiteException ignored) {
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {
} catch (IllegalStateException ignored) { } catch (IllegalStateException ignored) {
@ -425,7 +424,7 @@ public class BrowserActivity extends Activity implements OnTouchListener {
e.printStackTrace(); e.printStackTrace();
} }
if (uBar.isShown()) { if (uBar.isShown()) {
currentTabTitle.setText(mContext.getResources().getString(R.string.menu_history)); currentTabTitle.setText(mContext.getResources().getString(R.string.action_history));
setUrlText(""); setUrlText("");
getUrl.setPadding(tenPad, 0, tenPad, 0); getUrl.setPadding(tenPad, 0, tenPad, 0);
} }
@ -972,7 +971,7 @@ public class BrowserActivity extends Activity implements OnTouchListener {
// TODO Auto-generated catch block // TODO Auto-generated catch block
e.printStackTrace(); e.printStackTrace();
} }
currentTab.loadUrl(SEARCH + query); currentTab.loadUrl(mSearch + query);
} else if (!validURL) { } else if (!validURL) {
currentTab.loadUrl("http://" + query); currentTab.loadUrl("http://" + query);
} else { } else {
@ -1079,6 +1078,7 @@ public class BrowserActivity extends Activity implements OnTouchListener {
} }
main[del].stopLoading(); main[del].stopLoading();
main[del].clearHistory(); main[del].clearHistory();
main[del].setVisibility(View.GONE);
tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0);
edit.putString("oldPage", urlToLoad[del][0]); edit.putString("oldPage", urlToLoad[del][0]);
edit.commit(); edit.commit();
@ -1248,7 +1248,6 @@ public class BrowserActivity extends Activity implements OnTouchListener {
null, // Which rows to return (all rows) null, // Which rows to return (all rows)
null, // Selection arguments (none) null, // Selection arguments (none)
null, null, null); null, null, null);
} catch (SQLiteException ignored) { } catch (SQLiteException ignored) {
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {
} catch (IllegalStateException ignored) { } catch (IllegalStateException ignored) {
@ -1565,28 +1564,28 @@ public class BrowserActivity extends Activity implements OnTouchListener {
// agent // agent
switch (settings.getInt("search", 1)) { switch (settings.getInt("search", 1)) {
case 1: case 1:
SEARCH = FinalVariables.GOOGLE_SEARCH; mSearch = FinalVariables.GOOGLE_SEARCH;
break; break;
case 2: case 2:
SEARCH = FinalVariables.BING_SEARCH; mSearch = FinalVariables.BING_SEARCH;
break; break;
case 3: case 3:
SEARCH = FinalVariables.YAHOO_SEARCH; mSearch = FinalVariables.YAHOO_SEARCH;
break; break;
case 4: case 4:
SEARCH = FinalVariables.STARTPAGE_SEARCH; mSearch = FinalVariables.STARTPAGE_SEARCH;
break; break;
case 5: case 5:
SEARCH = FinalVariables.DUCK_SEARCH; mSearch = FinalVariables.DUCK_SEARCH;
break; break;
case 6: case 6:
SEARCH = FinalVariables.BAIDU_SEARCH; mSearch = FinalVariables.BAIDU_SEARCH;
break; break;
case 7: case 7:
SEARCH = FinalVariables.YANDEX_SEARCH; mSearch = FinalVariables.YANDEX_SEARCH;
break; break;
case 8: case 8:
SEARCH = FinalVariables.DUCK_LITE_SEARCH; mSearch = FinalVariables.DUCK_LITE_SEARCH;
break; break;
} }
@ -1986,6 +1985,10 @@ public class BrowserActivity extends Activity implements OnTouchListener {
@Override @Override
protected void onPause() { protected void onPause() {
if(historyHandler != null){
historyHandler.close();
historyHandler = null;
}
if (currentTab != null) { if (currentTab != null) {
if (API >= 11) { if (API >= 11) {
currentTab.onPause(); currentTab.onPause();
@ -2018,6 +2021,9 @@ public class BrowserActivity extends Activity implements OnTouchListener {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if(historyHandler == null){
historyHandler = new DatabaseHandler(this);
}
if (currentTab != null) { if (currentTab != null) {
onProgressChanged(currentId, currentTab.getProgress()); onProgressChanged(currentId, currentTab.getProgress());
if (currentTab.getProgress() == 100) { if (currentTab.getProgress() == 100) {

View File

@ -371,7 +371,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener {
null, null, null); null, null, null);
handler.sendEmptyMessage(1); handler.sendEmptyMessage(1);
} catch (SQLiteException ignored) { } catch (SQLiteException ignored) {
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {
} catch (IllegalStateException ignored) { } catch (IllegalStateException ignored) {
@ -1034,6 +1034,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener {
} }
main[del].stopLoading(); main[del].stopLoading();
main[del].clearHistory(); main[del].clearHistory();
main[del].setVisibility(View.GONE);
tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0); tabScroll.smoothScrollTo(currentTabTitle.getLeft(), 0);
edit.putString("oldPage", urlToLoad[del][0]); edit.putString("oldPage", urlToLoad[del][0]);
edit.commit(); edit.commit();
@ -1226,7 +1227,7 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener {
null, // Which rows to return (all rows) null, // Which rows to return (all rows)
null, // Selection arguments (none) null, // Selection arguments (none)
null, null, null); null, null, null);
} catch (SQLiteException ignored) { } catch (SQLiteException ignored) {
} catch (NullPointerException ignored) { } catch (NullPointerException ignored) {
} catch (IllegalStateException ignored) { } catch (IllegalStateException ignored) {
@ -1920,7 +1921,10 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener {
@Override @Override
protected void onPause() { protected void onPause() {
if(historyHandler == null){
historyHandler = new DatabaseHandler(this);
historyHandler = null;
}
if (currentTab != null) { if (currentTab != null) {
if (API >= 11) { if (API >= 11) {
currentTab.onPause(); currentTab.onPause();
@ -1937,6 +1941,9 @@ public class IncognitoModeActivity extends Activity implements OnTouchListener {
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
if(historyHandler == null){
historyHandler = new DatabaseHandler(this);
}
onProgressChanged(currentId, currentTab.getProgress()); onProgressChanged(currentId, currentTab.getProgress());
if (currentTab.getProgress() == 100) { if (currentTab.getProgress() == 100) {
progressBar.setVisibility(View.GONE); progressBar.setVisibility(View.GONE);

View File

@ -16,7 +16,7 @@ public class FinalVariables {
public static final String BING_SEARCH = "http://www.bing.com/search?q="; public static final String BING_SEARCH = "http://www.bing.com/search?q=";
public static final String DUCK_SEARCH = "https://duckduckgo.com/?t=lightning&q="; public static final String DUCK_SEARCH = "https://duckduckgo.com/?t=lightning&q=";
public static final String DUCK_LITE_SEARCH = "https://duckduckgo.com/lite/?t=lightning&q="; public static final String DUCK_LITE_SEARCH = "https://duckduckgo.com/lite/?t=lightning&q=";
public static final String STARTPAGE_SEARCH = "https://startpage.com/do/metasearch.pl?language=english&cat=web&query="; public static final String STARTPAGE_SEARCH = "https://startpage.com/do/m/mobilesearch?language=english&query=";
public static final String HOMEPAGE = "https://www.google.com"; public static final String HOMEPAGE = "https://www.google.com";
public static final String BAIDU_SEARCH = "http://www.baidu.com/s?wd="; public static final String BAIDU_SEARCH = "http://www.baidu.com/s?wd=";
public static final String YANDEX_SEARCH = "http://yandex.ru/yandsearch?lr=21411&text="; public static final String YANDEX_SEARCH = "http://yandex.ru/yandsearch?lr=21411&text=";

View File

@ -7,7 +7,7 @@ public class HistoryPageVariables {
+ "body{color: gray;text-size: 10px}div.space {height: 0.7em;} div.extra{text-align: center;}div {vertical-align: middle;}" + "body{color: gray;text-size: 10px}div.space {height: 0.7em;} div.extra{text-align: center;}div {vertical-align: middle;}"
+ "div {background-color: #ffffff;}div.clickable {position:relative;}p.black{color: black;font-size: 1em;font-family: \"Lucida Console\"}" + "div {background-color: #ffffff;}div.clickable {position:relative;}p.black{color: black;font-size: 1em;font-family: \"Lucida Console\"}"
+ "p.font{font-size: 1em;font-family: \"Lucida Console\"}p.black{padding-left: 0.5em;padding-right: 0.5em;padding-top: 0.5em;padding-bottom: 0em;}" + "p.font{font-size: 1em;font-family: \"Lucida Console\"}p.black{padding-left: 0.5em;padding-right: 0.5em;padding-top: 0.5em;padding-bottom: 0em;}"
+ "p.font{padding-left: 0.5em;padding-right: 0.5em;padding-top: 0em;padding-bottom: 0.5em;}" + "p.font{padding-left: 0.5em;padding-right: 0.5em;padding-top: 0em;padding-bottom: 0.5em;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}"
+ "div.clickable a {position:absolute; width:100%;height:100%;top:0;left:0;text-decoration:none; z-index:10; background-color:white;opacity: 0;filter: alpha(opacity=1);}" + "div.clickable a {position:absolute; width:100%;height:100%;top:0;left:0;text-decoration:none; z-index:10; background-color:white;opacity: 0;filter: alpha(opacity=1);}"
+ "</style><body bgcolor = #f2f2f2>"; + "</style><body bgcolor = #f2f2f2>";