Browse Source

Fixed bug where the homepage file url was showing

master
Anthony Restaino 9 years ago
parent
commit
80ac1928c1
  1. 4
      app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java
  2. 11
      app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java
  3. 5
      app/src/main/java/acr/browser/lightning/constant/Constants.java
  4. 2
      app/src/main/java/acr/browser/lightning/constant/StartPage.java
  5. 5
      app/src/main/java/acr/browser/lightning/dialog/LightningDialogBuilder.java
  6. 8
      app/src/main/java/acr/browser/lightning/utils/UrlUtils.java
  7. 5
      app/src/main/java/acr/browser/lightning/view/LightningView.java

4
app/src/main/java/acr/browser/lightning/activity/BrowserActivity.java

@ -2032,7 +2032,7 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
public void bookmarkChanged(final BookmarkEvents.BookmarkChanged event) { public void bookmarkChanged(final BookmarkEvents.BookmarkChanged event) {
final LightningView currentTab = tabsManager.getCurrentTab(); final LightningView currentTab = tabsManager.getCurrentTab();
if (currentTab != null && currentTab.getUrl().startsWith(Constants.FILE) if (currentTab != null && currentTab.getUrl().startsWith(Constants.FILE)
&& currentTab.getUrl().endsWith(Constants.BOOKMARKS_FILENAME)) { && currentTab.getUrl().endsWith(BookmarkPage.FILENAME)) {
currentTab.loadBookmarkpage(); currentTab.loadBookmarkpage();
} }
if (currentTab != null) { if (currentTab != null) {
@ -2049,7 +2049,7 @@ public abstract class BrowserActivity extends ThemableBrowserActivity implements
public void bookmarkDeleted(final BookmarkEvents.Deleted event) { public void bookmarkDeleted(final BookmarkEvents.Deleted event) {
final LightningView currentTab = tabsManager.getCurrentTab(); final LightningView currentTab = tabsManager.getCurrentTab();
if (currentTab != null && currentTab.getUrl().startsWith(Constants.FILE) if (currentTab != null && currentTab.getUrl().startsWith(Constants.FILE)
&& currentTab.getUrl().endsWith(Constants.BOOKMARKS_FILENAME)) { && currentTab.getUrl().endsWith(BookmarkPage.FILENAME)) {
currentTab.loadBookmarkpage(); currentTab.loadBookmarkpage();
} }
if (currentTab != null) { if (currentTab != null) {

11
app/src/main/java/acr/browser/lightning/constant/BookmarkPage.java

@ -20,6 +20,11 @@ import acr.browser.lightning.utils.Utils;
public final class BookmarkPage { public final class BookmarkPage {
/**
* The bookmark page standard suffix
*/
public static final String FILENAME = "bookmarks.html";
private static final String HEADING = "<!DOCTYPE html><html xmlns=http://www.w3.org/1999/xhtml>\n" + private static final String HEADING = "<!DOCTYPE html><html xmlns=http://www.w3.org/1999/xhtml>\n" +
"<head>\n" + "<head>\n" +
"<meta content=en-us http-equiv=Content-Language />\n" + "<meta content=en-us http-equiv=Content-Language />\n" +
@ -66,9 +71,9 @@ public final class BookmarkPage {
final List<HistoryItem> list = manager.getBookmarksFromFolder(folder, true); final List<HistoryItem> list = manager.getBookmarksFromFolder(folder, true);
final File bookmarkWebPage; final File bookmarkWebPage;
if (folder == null || folder.isEmpty()) { if (folder == null || folder.isEmpty()) {
bookmarkWebPage = new File(FILES_DIR, Constants.BOOKMARKS_FILENAME); bookmarkWebPage = new File(FILES_DIR, FILENAME);
} else { } else {
bookmarkWebPage = new File(FILES_DIR, folder + '-' + Constants.BOOKMARKS_FILENAME); bookmarkWebPage = new File(FILES_DIR, folder + '-' + FILENAME);
} }
final StringBuilder bookmarkBuilder = new StringBuilder(BookmarkPage.HEADING); final StringBuilder bookmarkBuilder = new StringBuilder(BookmarkPage.HEADING);
@ -77,7 +82,7 @@ public final class BookmarkPage {
final HistoryItem item = list.get(n); final HistoryItem item = list.get(n);
bookmarkBuilder.append(BookmarkPage.PART1); bookmarkBuilder.append(BookmarkPage.PART1);
if (item.isFolder()) { if (item.isFolder()) {
final File folderPage = new File(FILES_DIR, item.getTitle() + '-' + Constants.BOOKMARKS_FILENAME); final File folderPage = new File(FILES_DIR, item.getTitle() + '-' + FILENAME);
bookmarkBuilder.append(Constants.FILE).append(folderPage); bookmarkBuilder.append(Constants.FILE).append(folderPage);
bookmarkBuilder.append(BookmarkPage.PART2); bookmarkBuilder.append(BookmarkPage.PART2);
bookmarkBuilder.append(folderIconPath); bookmarkBuilder.append(folderIconPath);

5
app/src/main/java/acr/browser/lightning/constant/Constants.java

@ -43,11 +43,6 @@ public final class Constants {
public static final int PROXY_I2P = 2; public static final int PROXY_I2P = 2;
public static final int PROXY_MANUAL = 3; public static final int PROXY_MANUAL = 3;
/**
* The bookmark page standard suffix
*/
public static final String BOOKMARKS_FILENAME = "bookmarks.html";
public static final String DEFAULT_ENCODING = "UTF-8"; public static final String DEFAULT_ENCODING = "UTF-8";
public static final String[] TEXT_ENCODINGS = {"ISO-8859-1", "UTF-8", "GBK", "Big5", "ISO-2022-JP", "SHIFT_JS", "EUC-JP", "EUC-KR"}; public static final String[] TEXT_ENCODINGS = {"ISO-8859-1", "UTF-8", "GBK", "Big5", "ISO-2022-JP", "SHIFT_JS", "EUC-JP", "EUC-KR"};

2
app/src/main/java/acr/browser/lightning/constant/StartPage.java

@ -16,7 +16,7 @@ import acr.browser.lightning.utils.Utils;
public class StartPage { public class StartPage {
private static final String FILENAME = "homepage.html"; public static final String FILENAME = "homepage.html";
private static final String HEAD = "<!DOCTYPE html><html xmlns=\"http://www.w3.org/1999/xhtml\">" private static final String HEAD = "<!DOCTYPE html><html xmlns=\"http://www.w3.org/1999/xhtml\">"
+ "<head>" + "<head>"

5
app/src/main/java/acr/browser/lightning/dialog/LightningDialogBuilder.java

@ -24,6 +24,7 @@ import acr.browser.lightning.R;
import acr.browser.lightning.app.BrowserApp; import acr.browser.lightning.app.BrowserApp;
import acr.browser.lightning.bus.BookmarkEvents; import acr.browser.lightning.bus.BookmarkEvents;
import acr.browser.lightning.bus.BrowserEvents; import acr.browser.lightning.bus.BrowserEvents;
import acr.browser.lightning.constant.BookmarkPage;
import acr.browser.lightning.constant.Constants; import acr.browser.lightning.constant.Constants;
import acr.browser.lightning.constant.HistoryPage; import acr.browser.lightning.constant.HistoryPage;
import acr.browser.lightning.database.BookmarkManager; import acr.browser.lightning.database.BookmarkManager;
@ -60,11 +61,11 @@ public class LightningDialogBuilder {
*/ */
public void showLongPressedDialogForBookmarkUrl(final Context context, final String url) { public void showLongPressedDialogForBookmarkUrl(final Context context, final String url) {
final HistoryItem item; final HistoryItem item;
if (url.startsWith(Constants.FILE) && url.endsWith(Constants.BOOKMARKS_FILENAME)) { if (url.startsWith(Constants.FILE) && url.endsWith(BookmarkPage.FILENAME)) {
// TODO hacky, make a better bookmark mechanism in the future // TODO hacky, make a better bookmark mechanism in the future
final Uri uri = Uri.parse(url); final Uri uri = Uri.parse(url);
final String filename = uri.getLastPathSegment(); final String filename = uri.getLastPathSegment();
final String folderTitle = filename.substring(0, filename.length() - Constants.BOOKMARKS_FILENAME.length() - 1); final String folderTitle = filename.substring(0, filename.length() - BookmarkPage.FILENAME.length() - 1);
item = new HistoryItem(); item = new HistoryItem();
item.setIsFolder(true); item.setIsFolder(true);
item.setTitle(folderTitle); item.setTitle(folderTitle);

8
app/src/main/java/acr/browser/lightning/utils/UrlUtils.java

@ -21,8 +21,10 @@ import android.webkit.URLUtil;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import acr.browser.lightning.constant.BookmarkPage;
import acr.browser.lightning.constant.Constants; import acr.browser.lightning.constant.Constants;
import acr.browser.lightning.constant.HistoryPage; import acr.browser.lightning.constant.HistoryPage;
import acr.browser.lightning.constant.StartPage;
/** /**
* Utility methods for Url manipulation * Utility methods for Url manipulation
@ -153,7 +155,9 @@ public class UrlUtils {
* Returns whether the given url is the bookmarks/history page or a normal website * Returns whether the given url is the bookmarks/history page or a normal website
*/ */
public static boolean isSpecialUrl(String url) { public static boolean isSpecialUrl(String url) {
return url != null && url.startsWith(Constants.FILE) return url != null && url.startsWith(Constants.FILE) &&
&& (url.endsWith(Constants.BOOKMARKS_FILENAME) || url.endsWith(HistoryPage.FILENAME)); (url.endsWith(BookmarkPage.FILENAME) ||
url.endsWith(HistoryPage.FILENAME) ||
url.endsWith(StartPage.FILENAME));
} }
} }

5
app/src/main/java/acr/browser/lightning/view/LightningView.java

@ -43,6 +43,7 @@ import javax.inject.Inject;
import acr.browser.lightning.R; import acr.browser.lightning.R;
import acr.browser.lightning.app.BrowserApp; import acr.browser.lightning.app.BrowserApp;
import acr.browser.lightning.bus.BrowserEvents; import acr.browser.lightning.bus.BrowserEvents;
import acr.browser.lightning.constant.BookmarkPage;
import acr.browser.lightning.constant.Constants; import acr.browser.lightning.constant.Constants;
import acr.browser.lightning.constant.HistoryPage; import acr.browser.lightning.constant.HistoryPage;
import acr.browser.lightning.constant.StartPage; import acr.browser.lightning.constant.StartPage;
@ -167,7 +168,7 @@ public class LightningView {
} finally { } finally {
Utils.close(outputStream); Utils.close(outputStream);
} }
File bookmarkWebPage = new File(mActivity.getFilesDir(), Constants.BOOKMARKS_FILENAME); File bookmarkWebPage = new File(mActivity.getFilesDir(), BookmarkPage.FILENAME);
BrowserApp.getAppComponent().getBookmarkPage().buildBookmarkPage(null); BrowserApp.getAppComponent().getBookmarkPage().buildBookmarkPage(null);
mWebView.loadUrl(Constants.FILE + bookmarkWebPage); mWebView.loadUrl(Constants.FILE + bookmarkWebPage);
@ -624,7 +625,7 @@ public class LightningView {
final String newUrl = result.getExtra(); final String newUrl = result.getExtra();
mBookmarksDialogBuilder.showLongPressedHistoryLinkDialog(mActivity, newUrl); mBookmarksDialogBuilder.showLongPressedHistoryLinkDialog(mActivity, newUrl);
} }
} else if (currentUrl.endsWith(Constants.BOOKMARKS_FILENAME)) { } else if (currentUrl.endsWith(BookmarkPage.FILENAME)) {
if (url != null) { if (url != null) {
mBookmarksDialogBuilder.showLongPressedDialogForBookmarkUrl(mActivity, url); mBookmarksDialogBuilder.showLongPressedDialogForBookmarkUrl(mActivity, url);
} else if (result != null && result.getExtra() != null) { } else if (result != null && result.getExtra() != null) {

Loading…
Cancel
Save