├── app
├── .gitignore
├── src
│ ├── main
│ │ ├── assets
│ │ │ └── fonts
│ │ │ │ ├── IRANSansMobile.ttf
│ │ │ │ └── FontLicense.txt
│ │ ├── res
│ │ │ ├── mipmap-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ ├── values
│ │ │ │ ├── dimens.xml
│ │ │ │ ├── colors.xml
│ │ │ │ ├── styles.xml
│ │ │ │ └── strings.xml
│ │ │ ├── values-w820dp
│ │ │ │ └── dimens.xml
│ │ │ ├── menu
│ │ │ │ └── menu_main.xml
│ │ │ └── layout
│ │ │ │ ├── item_theme.xml
│ │ │ │ ├── content_main.xml
│ │ │ │ ├── activity_main.xml
│ │ │ │ └── activity_about.xml
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── github
│ │ │ │ └── bkhezry
│ │ │ │ └── demo
│ │ │ │ ├── MyApplication.java
│ │ │ │ ├── model
│ │ │ │ ├── SampleData.java
│ │ │ │ └── DataGenerator.java
│ │ │ │ ├── adapter
│ │ │ │ ├── RecyclerItemClickListener.java
│ │ │ │ └── ThemesAdapter.java
│ │ │ │ ├── AboutActivity.java
│ │ │ │ └── MainActivity.java
│ │ └── AndroidManifest.xml
│ ├── test
│ │ └── java
│ │ │ └── com
│ │ │ └── github
│ │ │ └── bkhezry
│ │ │ └── demo
│ │ │ └── ExampleUnitTest.java
│ └── androidTest
│ │ └── java
│ │ └── com
│ │ └── github
│ │ └── bkhezry
│ │ └── demo
│ │ └── ExampleInstrumentedTest.java
├── proguard-rules.pro
└── build.gradle
├── library
├── .gitignore
├── src
│ └── main
│ │ ├── res
│ │ ├── drawable-hdpi
│ │ │ ├── bg_drawer_dark.png
│ │ │ └── bg_drawer_light.png
│ │ ├── drawable-mdpi
│ │ │ ├── bg_drawer_dark.png
│ │ │ └── bg_drawer_light.png
│ │ ├── drawable-xhdpi
│ │ │ ├── bg_drawer_dark.png
│ │ │ └── bg_drawer_light.png
│ │ ├── drawable-xxhdpi
│ │ │ ├── bg_drawer_dark.png
│ │ │ └── bg_drawer_light.png
│ │ ├── drawable-xxxhdpi
│ │ │ ├── bg_drawer_dark.png
│ │ │ └── bg_drawer_light.png
│ │ ├── values-v14
│ │ │ └── dimens.xml
│ │ ├── values-w820dp
│ │ │ └── dimens.xml
│ │ ├── values
│ │ │ ├── bools.xml
│ │ │ ├── integers.xml
│ │ │ ├── arrays.xml
│ │ │ ├── non_translatable.xml
│ │ │ ├── preference_keys.xml
│ │ │ ├── attrs.xml
│ │ │ ├── strings.xml
│ │ │ ├── dimens.xml
│ │ │ ├── colors.xml
│ │ │ ├── styles.xml
│ │ │ └── themes.xml
│ │ ├── values-w820dp-land
│ │ │ ├── bools.xml
│ │ │ └── dimens.xml
│ │ ├── drawable
│ │ │ ├── ic_expand_more_white_24dp.xml
│ │ │ ├── ic_reply_white_24dp.xml
│ │ │ ├── ic_arrow_back_white_24dp.xml
│ │ │ ├── ic_arrow_forward_white_24dp.xml
│ │ │ ├── ic_save_white_48dp.xml
│ │ │ ├── ic_clear_white_24dp.xml
│ │ │ ├── ic_local_library_white_48dp.xml
│ │ │ ├── ic_bookmark_white_24dp.xml
│ │ │ ├── ic_open_in_browser_white_24dp.xml
│ │ │ ├── ic_more_vert_white_24dp.xml
│ │ │ ├── ic_bookmark_border_white_24dp.xml
│ │ │ ├── progress.xml
│ │ │ ├── ic_refresh_white_24dp.xml
│ │ │ ├── ic_zoom_out_map_white_24dp.xml
│ │ │ ├── ic_search_white_24dp.xml
│ │ │ ├── ic_thumb_up_border_white_24dp.xml
│ │ │ ├── ic_thumb_up_white_24dp.xml
│ │ │ └── ic_share_white_24dp.xml
│ │ ├── layout
│ │ │ ├── button_reply.xml
│ │ │ ├── button_more.xml
│ │ │ ├── activity_item.xml
│ │ │ ├── fragment_web.xml
│ │ │ ├── item_header.xml
│ │ │ └── toolbar_web.xml
│ │ ├── menu
│ │ │ ├── menu_search.xml
│ │ │ └── menu_item.xml
│ │ └── anim
│ │ │ ├── slide_in_up.xml
│ │ │ └── slide_out_down.xml
│ │ ├── AndroidManifest.xml
│ │ └── java
│ │ └── com
│ │ └── github
│ │ └── bkhezry
│ │ └── extrawebview
│ │ ├── widget
│ │ ├── ViewPager.java
│ │ ├── IconButton.java
│ │ ├── CacheableWebView.java
│ │ ├── ItemPagerAdapter.java
│ │ └── PopupMenu.java
│ │ ├── Injectable.java
│ │ ├── Scrollable.java
│ │ ├── UiModule.java
│ │ ├── WebFragment.java
│ │ ├── Application.java
│ │ ├── InjectableActivity.java
│ │ ├── MenuTintDelegate.java
│ │ ├── data
│ │ ├── IntentServiceResult.java
│ │ ├── ThemePreference.java
│ │ ├── ViewOption.java
│ │ ├── DataModel.java
│ │ └── DataModelBuilder.java
│ │ ├── ScrollAwareFABBehavior.java
│ │ ├── BaseFragment.java
│ │ ├── LazyLoadFragment.java
│ │ ├── Preferences.java
│ │ ├── ExtraWebViewCreator.java
│ │ └── CustomTabsDelegate.java
├── proguard-support.pro
├── proguard-rules.pro
└── build.gradle
├── settings.gradle
├── assets
├── screenshot_1.png
├── screenshot_2.png
├── screenshot_3.png
└── DemoExtraWebView-last.apk
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── .idea
├── encodings.xml
├── vcs.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
└── checkstyle-idea.xml
├── .travis.yml
├── gradle.properties
├── .gitignore
├── gradlew.bat
├── gradlew
└── README.md
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/library/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':library'
2 |
--------------------------------------------------------------------------------
/assets/screenshot_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/assets/screenshot_1.png
--------------------------------------------------------------------------------
/assets/screenshot_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/assets/screenshot_2.png
--------------------------------------------------------------------------------
/assets/screenshot_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/assets/screenshot_3.png
--------------------------------------------------------------------------------
/assets/DemoExtraWebView-last.apk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/assets/DemoExtraWebView-last.apk
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/app/src/main/assets/fonts/IRANSansMobile.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/assets/fonts/IRANSansMobile.ttf
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/library/src/main/res/drawable-hdpi/bg_drawer_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/library/src/main/res/drawable-hdpi/bg_drawer_dark.png
--------------------------------------------------------------------------------
/library/src/main/res/drawable-mdpi/bg_drawer_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bkhezry/ExtraWebView/HEAD/library/src/main/res/drawable-mdpi/bg_drawer_dark.png
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
ExtraWebView library
12 |This application is open source at https://github.com/bkhezry/ExtraWebView
13 |Font IRANSans from Font Iran with license code: QND3Y
14 | ]]> 15 |Licensed under the Apache License, Version 2.0 (the "License"); 27 | you may not use this file except in compliance with the License. 28 | You may obtain a copy of the License at
29 |http://www.apache.org/licenses/LICENSE-2.0
30 |Unless required by applicable law or agreed to in writing, software 31 | distributed under the License is distributed on an "AS IS" BASIS, 32 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 33 | See the License for the specific language governing permissions and 34 | limitations under the License.
35 | ]]> 36 |Square Dagger - Apache License v2.0
41 |Calligraphy - Apache License v2.0
42 |Android Support Library - Apache License v2.0
43 |Material design icons - Creative Common Attribution 4.0 International License
44 | ]]> 45 |true if the event was handled, false otherwise.
78 | */
79 | boolean onMenuItemClick(MenuItem item);
80 | }
81 |
82 | class Impl implements PopupMenu {
83 | private androidx.appcompat.widget.PopupMenu mSupportPopupMenu;
84 |
85 | @Override
86 | public PopupMenu create(Context context, View anchor, int gravity) {
87 | mSupportPopupMenu = new androidx.appcompat.widget.PopupMenu(context, anchor, gravity);
88 | return this;
89 | }
90 |
91 | @Override
92 | public PopupMenu inflate(@MenuRes int menuRes) {
93 | mSupportPopupMenu.inflate(menuRes);
94 | return this;
95 | }
96 |
97 | @Override
98 | public PopupMenu setMenuItemVisible(@IdRes int itemResId, boolean visible) {
99 | mSupportPopupMenu.getMenu().findItem(itemResId).setVisible(visible);
100 | return this;
101 | }
102 |
103 | @Override
104 | public PopupMenu setMenuItemTitle(@IdRes int itemResId, @StringRes int title) {
105 | mSupportPopupMenu.getMenu().findItem(itemResId).setTitle(title);
106 | return this;
107 | }
108 |
109 | @Override
110 | public PopupMenu setOnMenuItemClickListener(final OnMenuItemClickListener listener) {
111 | mSupportPopupMenu.setOnMenuItemClickListener(new androidx.appcompat.widget.PopupMenu.OnMenuItemClickListener() {
112 | @Override
113 | public boolean onMenuItemClick(MenuItem item) {
114 | return false;
115 | }
116 | });
117 | return this;
118 | }
119 |
120 | @Override
121 | public void show() {
122 | mSupportPopupMenu.show();
123 | }
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/library/src/main/res/layout/item_header.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
21 |
22 | ### full screen mode
23 |
24 |
25 | # Setup
26 | ## 1. Provide the gradle dependency
27 | Add it in your root build.gradle at the end of repositories:
28 | ```gradle
29 | allprojects {
30 | repositories {
31 | ...
32 | maven { url "https://jitpack.io" }
33 | }
34 | }
35 | ```
36 | Add the dependency:
37 | ```gradle
38 | dependencies {
39 | implementation 'com.github.bkhezry:ExtraWebView:1.2.۵'
40 | }
41 | ```
42 |
43 | ## 2. Add your code
44 | add ItemActivity to AndroidManifest.xml
45 | ```xml
46 |