├── bookmarks.png ├── homepage.png ├── navigation.png ├── app ├── src │ └── main │ │ ├── res │ │ ├── drawable │ │ │ ├── mouse.png │ │ │ ├── next.png │ │ │ ├── right.png │ │ │ ├── star.png │ │ │ ├── cancel.png │ │ │ ├── history.png │ │ │ ├── previous.png │ │ │ ├── search.png │ │ │ ├── squares.png │ │ │ ├── tab_add.png │ │ │ ├── tab_rem.png │ │ │ ├── tab_undo.png │ │ │ ├── checkmark.png │ │ │ ├── smartphone.png │ │ │ ├── tab_undo2.png │ │ │ ├── ic_launcher.png │ │ │ ├── menu_settings.png │ │ │ ├── ic_settings_web.png │ │ │ ├── google_logo_small.png │ │ │ ├── notification_edit.png │ │ │ ├── ic_add_black_24dp.xml │ │ │ ├── ic_check_black_24dp.xml │ │ │ ├── ic_keyboard_arrow_left_black_24dp.xml │ │ │ ├── ic_keyboard_arrow_right_black_24dp.xml │ │ │ ├── ic_view_carousel_black_24dp.xml │ │ │ ├── ic_bookmark_black_24dp.xml │ │ │ ├── ic_clear.xml │ │ │ ├── ic_delete_black_24dp.xml │ │ │ ├── circle_bkg_add.xml │ │ │ ├── circle_bkg_clear.xml │ │ │ ├── circle_bkg_undo.xml │ │ │ ├── ic_clear_black_24dp.xml │ │ │ ├── ic_bookmark_border_black_24dp.xml │ │ │ ├── search_bar.xml │ │ │ ├── search_bar_dark.xml │ │ │ ├── ic_undo_black_24dp.xml │ │ │ ├── ic_aspect_ratio_black_24dp.xml │ │ │ ├── ic_search_black_24dp.xml │ │ │ ├── ic_history_black_24dp.xml │ │ │ └── ic_settings_black_24dp.xml │ │ ├── values │ │ │ ├── attrs.xml │ │ │ ├── colors.xml │ │ │ ├── styles.xml │ │ │ └── strings.xml │ │ ├── xml │ │ │ ├── provider_paths.xml │ │ │ └── preferences.xml │ │ ├── anim │ │ │ ├── nothing.xml │ │ │ ├── zoom_in.xml │ │ │ ├── enter_from_left.xml │ │ │ ├── exit_to_left.xml │ │ │ ├── exit_to_right.xml │ │ │ ├── enter_from_right.xml │ │ │ └── zoom_out.xml │ │ └── layout │ │ │ ├── row_bookmark.xml │ │ │ ├── fragment_history.xml │ │ │ ├── row_bookmarksort.xml │ │ │ ├── row_bookmarkcard.xml │ │ │ ├── row_tabmanager.xml │ │ │ ├── row_thumbnail.xml │ │ │ ├── activity_bookmark_sort.xml │ │ │ ├── row_historyitem.xml │ │ │ ├── activity_bookmark.xml │ │ │ ├── activity_main.xml │ │ │ ├── fragment_tabcards.xml │ │ │ └── fragment_webview.xml │ │ ├── java │ │ └── com │ │ │ └── gueg │ │ │ └── browser │ │ │ ├── thumbnails │ │ │ ├── ItemTouchHelperListener.java │ │ │ ├── Thumbnail.java │ │ │ ├── ThumbnailFragmentsAdapter.java │ │ │ ├── ThumbnailsSaver.java │ │ │ └── ThumbnailsFragment.java │ │ │ ├── update │ │ │ ├── GenericFileProvider.java │ │ │ └── UpdateTask.java │ │ │ ├── web │ │ │ ├── bookmarks │ │ │ │ ├── BookmarkInterface.java │ │ │ │ ├── DbBitmapUtility.java │ │ │ │ ├── Bookmark.java │ │ │ │ ├── utilities │ │ │ │ │ ├── VerticalSpaceItemDecoration.java │ │ │ │ │ └── RecyclerItemClickListener.java │ │ │ │ ├── BookmarkSortAdapter.java │ │ │ │ ├── BookmarksCardsAdapter.java │ │ │ │ ├── BookmarkSortActivity.java │ │ │ │ └── BookmarkDialog.java │ │ │ ├── history │ │ │ │ ├── sql │ │ │ │ │ ├── SQLReaderContract.java │ │ │ │ │ ├── SQLReader.java │ │ │ │ │ └── SQLUtility.java │ │ │ │ ├── HistoryItem.java │ │ │ │ └── HistoryAdapter.java │ │ │ ├── AdBlocker.java │ │ │ └── WebFragment.java │ │ │ ├── OnMainActivityCallListener.java │ │ │ ├── ShortcutHandler.java │ │ │ └── SettingsActivity.java │ │ └── AndroidManifest.xml ├── proguard-rules.pro ├── build.gradle └── app.iml ├── .idea ├── dictionaries │ └── jackb.xml ├── vcs.xml ├── inspectionProfiles │ ├── profiles_settings.xml │ └── Project_Default.xml └── codeStyles │ └── Project.xml └── README.md /bookmarks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/bookmarks.png -------------------------------------------------------------------------------- /homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/homepage.png -------------------------------------------------------------------------------- /navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/navigation.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/mouse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/mouse.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/next.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/right.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/star.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/cancel.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/history.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/history.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/previous.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/previous.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/search.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/squares.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/squares.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/tab_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_rem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/tab_rem.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/tab_undo.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/checkmark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/checkmark.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/smartphone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/smartphone.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/tab_undo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/tab_undo2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/menu_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/menu_settings.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_settings_web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/ic_settings_web.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/google_logo_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/google_logo_small.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/notification_edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eviallet/AdBlockingBrowser/HEAD/app/src/main/res/drawable/notification_edit.png -------------------------------------------------------------------------------- /app/src/main/res/values/attrs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/dictionaries/jackb.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | favs 5 | 6 | 7 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/thumbnails/ItemTouchHelperListener.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.thumbnails; 2 | 3 | public interface ItemTouchHelperListener { 4 | void onItemMove(int fromPosition, int toPosition); 5 | } 6 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/update/GenericFileProvider.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.update; 2 | 3 | import android.support.v4.content.FileProvider; 4 | 5 | 6 | public class GenericFileProvider extends FileProvider { 7 | } 8 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/web/bookmarks/BookmarkInterface.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.web.bookmarks; 2 | 3 | public interface BookmarkInterface { 4 | void onBookmarkAdded(Bookmark b); 5 | void onCancel(); 6 | void onBookmarkRemoved(); 7 | } 8 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_add_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/thumbnails/Thumbnail.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.thumbnails; 2 | 3 | import android.graphics.Bitmap; 4 | 5 | public class Thumbnail { 6 | public String title; 7 | public String url; 8 | public Bitmap image; 9 | 10 | public Thumbnail(String t, String u, Bitmap b) { 11 | title = t; 12 | url = u; 13 | image = b; 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_check_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_left_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_keyboard_arrow_right_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_view_carousel_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmark_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_delete_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle_bkg_add.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 10 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle_bkg_clear.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 10 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/circle_bkg_undo.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 7 | 10 | 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_clear_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_bookmark_border_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/search_bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/OnMainActivityCallListener.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser; 2 | 3 | 4 | import com.gueg.browser.web.WebFragment; 5 | 6 | public interface OnMainActivityCallListener { 7 | void onRefresh(); 8 | void onPageLoaded(String title, String url); 9 | void onSetCurrentFragment(int posFrag, int posLastFrag); 10 | void onNewTab(String url,int pos); 11 | void showManager(); 12 | void onTabSwipe(boolean direction); 13 | void addToErrors(WebFragment frag); 14 | } 15 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/search_bar_dark.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_undo_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/anim/nothing.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/anim/zoom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_aspect_ratio_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_search_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_history_black_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Browser 2 | 3 | 4 | 5 | To be superseded by [GoldfishBrowser](https://github.com/eviallet/GoldfishBrowser) 6 | 7 | # Working 8 | * Global navigation 9 | * Ads are hidden 10 | * Changing header bar color 11 | * Bookmarks & history (databases) 12 | * Smooth animations 13 | 14 | # TODO 15 | * Code cleanup (my first android/java project ever, so many complications/repetitions/errors) 16 | * Translations 17 | * Remove ads containers in page (requires some javascript) 18 | * Previews from webpages sometimes not updated 19 | -------------------------------------------------------------------------------- /app/src/main/res/anim/enter_from_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/anim/exit_to_left.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/anim/exit_to_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/anim/enter_from_right.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 8 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #616161 4 | #455a64 5 | #2C434E 6 | #2e7d32 7 | #D8D8D8 8 | #C9C0BE 9 | #FFFFFF 10 | #545252 11 | #FFFFFF 12 | #FFFFFF 13 | 14 | #FFB71C1C 15 | #FF8BC34A 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/web/bookmarks/DbBitmapUtility.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.web.bookmarks; 2 | 3 | 4 | import android.graphics.Bitmap; 5 | import android.graphics.BitmapFactory; 6 | import java.io.ByteArrayOutputStream; 7 | 8 | public class DbBitmapUtility { 9 | 10 | // convert from bitmap to byte array 11 | public static byte[] getBytes(Bitmap bitmap) { 12 | ByteArrayOutputStream stream = new ByteArrayOutputStream(); 13 | bitmap.compress(Bitmap.CompressFormat.PNG, 0, stream); 14 | return stream.toByteArray(); 15 | } 16 | 17 | // convert from byte array to bitmap 18 | public static Bitmap getImage(byte[] image) { 19 | return BitmapFactory.decodeByteArray(image, 0, image.length); 20 | } 21 | } -------------------------------------------------------------------------------- /app/src/main/res/anim/zoom_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 19 | 25 | 26 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/web/history/sql/SQLReaderContract.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.web.history.sql; 2 | 3 | 4 | import android.provider.BaseColumns; 5 | 6 | final class SQLReaderContract { 7 | // To prevent someone from accidentally instantiating the contract class, 8 | // make the constructor private. 9 | private SQLReaderContract() { 10 | } 11 | 12 | /* Inner class that defines the table contents */ 13 | class SQLEntry implements BaseColumns { 14 | static final String _ID = "id"; 15 | static final String DB_TABLE_NAME = "history"; 16 | static final String DB_COLUMN_TITLE = "title"; 17 | static final String DB_COLUMN_URL = "url"; 18 | static final String DB_COLUMN_DATE = "date"; 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/row_bookmark.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /app/src/main/java/com/gueg/browser/web/bookmarks/Bookmark.java: -------------------------------------------------------------------------------- 1 | package com.gueg.browser.web.bookmarks; 2 | 3 | 4 | import android.graphics.Bitmap; 5 | 6 | public class Bookmark implements java.io.Serializable{ 7 | 8 | public Bookmark(String name, String url, Bitmap pic) { 9 | mName = name; 10 | mUrl = url; 11 | mPic = pic; 12 | } 13 | 14 | 15 | private String mName; 16 | private String mUrl; 17 | private Bitmap mPic; 18 | 19 | public String getName() { 20 | return mName; 21 | } 22 | 23 | public String getUrl() { 24 | return mUrl; 25 | } 26 | 27 | public Bitmap getPic() { 28 | return mPic; 29 | } 30 | 31 | @Override 32 | public String toString() { 33 | return mName; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_history.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 16 | 17 |