gitextract_lyaxu09n/ ├── .github/ │ └── FUNDING.yml ├── .gitignore ├── LICENSE ├── README.md ├── agentweb-core/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ ├── providedLibs/ │ │ └── alipaySdk-20180601.jar │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── just/ │ │ └── agentweb/ │ │ └── ExampleInstrumentedTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── just/ │ │ │ └── agentweb/ │ │ │ ├── AbsAgentWebSettings.java │ │ │ ├── AbsAgentWebUIController.java │ │ │ ├── Action.java │ │ │ ├── AgentActionFragment.java │ │ │ ├── AgentWeb.java │ │ │ ├── AgentWebCompat.java │ │ │ ├── AgentWebConfig.java │ │ │ ├── AgentWebFileProvider.java │ │ │ ├── AgentWebJsInterfaceCompat.java │ │ │ ├── AgentWebPermissions.java │ │ │ ├── AgentWebSettingsImpl.java │ │ │ ├── AgentWebUIControllerImplBase.java │ │ │ ├── AgentWebUtils.java │ │ │ ├── AgentWebView.java │ │ │ ├── BaseIndicatorSpec.java │ │ │ ├── BaseIndicatorView.java │ │ │ ├── BaseJsAccessEntrace.java │ │ │ ├── DefaultChromeClient.java │ │ │ ├── DefaultDesignUIController.java │ │ │ ├── DefaultDownloadImpl.java │ │ │ ├── DefaultUIController.java │ │ │ ├── DefaultWebClient.java │ │ │ ├── DefaultWebCreator.java │ │ │ ├── DefaultWebLifeCycleImpl.java │ │ │ ├── EventHandlerImpl.java │ │ │ ├── EventInterceptor.java │ │ │ ├── HookManager.java │ │ │ ├── HttpHeaders.java │ │ │ ├── IAgentWebSettings.java │ │ │ ├── IEventHandler.java │ │ │ ├── IUrlLoader.java │ │ │ ├── IVideo.java │ │ │ ├── IWebIndicator.java │ │ │ ├── IWebLayout.java │ │ │ ├── IndicatorController.java │ │ │ ├── IndicatorHandler.java │ │ │ ├── JsAccessEntrace.java │ │ │ ├── JsAccessEntraceImpl.java │ │ │ ├── JsBaseInterfaceHolder.java │ │ │ ├── JsCallJava.java │ │ │ ├── JsCallback.java │ │ │ ├── JsInterfaceHolder.java │ │ │ ├── JsInterfaceHolderImpl.java │ │ │ ├── JsInterfaceObjectException.java │ │ │ ├── LayoutParamsOffer.java │ │ │ ├── LogUtils.java │ │ │ ├── LollipopFixedWebView.java │ │ │ ├── MiddlewareWebChromeBase.java │ │ │ ├── MiddlewareWebClientBase.java │ │ │ ├── NestedScrollAgentWebView.java │ │ │ ├── PermissionInterceptor.java │ │ │ ├── ProcessUtils.java │ │ │ ├── Provider.java │ │ │ ├── QuickCallJs.java │ │ │ ├── RomUtils.java │ │ │ ├── UrlCommonException.java │ │ │ ├── UrlLoaderImpl.java │ │ │ ├── VideoImpl.java │ │ │ ├── WebChromeClient.java │ │ │ ├── WebChromeClientDelegate.java │ │ │ ├── WebCreator.java │ │ │ ├── WebIndicator.java │ │ │ ├── WebLifeCycle.java │ │ │ ├── WebListenerManager.java │ │ │ ├── WebParentLayout.java │ │ │ ├── WebSecurityCheckLogic.java │ │ │ ├── WebSecurityController.java │ │ │ ├── WebSecurityControllerImpl.java │ │ │ ├── WebSecurityLogicImpl.java │ │ │ ├── WebViewClient.java │ │ │ └── WebViewClientDelegate.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── agentweb_error_page.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── ids.xml │ │ │ ├── strings.xml │ │ │ └── style.xml │ │ ├── values-zh/ │ │ │ └── strings.xml │ │ └── xml/ │ │ └── web_files_public.xml │ └── test/ │ └── java/ │ └── com/ │ └── just/ │ └── agentweb/ │ └── ExampleUnitTest.java ├── agentweb-filechooser/ │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── just/ │ │ └── agentweb/ │ │ └── filechooser/ │ │ └── ExampleInstrumentedTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── just/ │ │ │ └── agentweb/ │ │ │ └── filechooser/ │ │ │ ├── FileChooser.java │ │ │ ├── FileCompressor.java │ │ │ └── FileParcel.java │ │ └── res/ │ │ └── values/ │ │ └── strings.xml │ └── test/ │ └── java/ │ └── com/ │ └── just/ │ └── agentweb/ │ └── filechooser/ │ └── ExampleUnitTest.java ├── agentweb.apk ├── build.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── jitpack.yml ├── releasenote.md ├── sample/ │ ├── .gitignore │ ├── build.gradle │ ├── keystore/ │ │ └── keystore.jks │ ├── keystore.jks │ ├── libs/ │ │ └── alipaySdk-20180601.jar │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── just/ │ │ └── agentweb/ │ │ └── sample/ │ │ └── ExampleInstrumentedTest.java │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── assets/ │ │ │ ├── js_interaction/ │ │ │ │ ├── button.css │ │ │ │ └── hello.html │ │ │ ├── jsbridge/ │ │ │ │ └── demo.html │ │ │ ├── sms/ │ │ │ │ └── sms.html │ │ │ └── upload_file/ │ │ │ ├── event.js │ │ │ ├── jsuploadfile.html │ │ │ ├── upload.css │ │ │ └── uploadfile.html │ │ ├── java/ │ │ │ └── com/ │ │ │ └── just/ │ │ │ └── agentweb/ │ │ │ └── sample/ │ │ │ ├── activity/ │ │ │ │ ├── AutoHidenToolbarActivity.java │ │ │ │ ├── BaseWebActivity.java │ │ │ │ ├── CommonActivity.java │ │ │ │ ├── ContainerActivity.java │ │ │ │ ├── EasyWebActivity.java │ │ │ │ ├── ExternalActivity.java │ │ │ │ ├── MainActivity.java │ │ │ │ ├── NativeDownloadActivity.java │ │ │ │ ├── RemoteWebViewlActivity.java │ │ │ │ └── WebActivity.java │ │ │ ├── api/ │ │ │ │ └── Api.java │ │ │ ├── app/ │ │ │ │ └── App.java │ │ │ ├── base/ │ │ │ │ ├── BaseAgentWebActivity.java │ │ │ │ ├── BaseAgentWebFragment.java │ │ │ │ └── FragmentKeyDown.java │ │ │ ├── behavior/ │ │ │ │ └── BottomNavigationViewBehavior.java │ │ │ ├── client/ │ │ │ │ ├── MiddlewareChromeClient.java │ │ │ │ ├── MiddlewareWebViewClient.java │ │ │ │ └── SonicWebViewClient.java │ │ │ ├── common/ │ │ │ │ ├── AndroidInterface.java │ │ │ │ ├── CommonWebChromeClient.java │ │ │ │ ├── CustomSettings.java │ │ │ │ ├── FragmentKeyDown.java │ │ │ │ ├── GuideItemEntity.java │ │ │ │ └── UIController.java │ │ │ ├── fragment/ │ │ │ │ ├── AgentWebFragment.java │ │ │ │ ├── BounceWebFragment.java │ │ │ │ ├── CustomIndicatorFragment.java │ │ │ │ ├── CustomSettingsFragment.java │ │ │ │ ├── CustomWebViewFragment.java │ │ │ │ ├── EasyWebFragment.java │ │ │ │ ├── JsAgentWebFragment.java │ │ │ │ ├── JsbridgeWebFragment.java │ │ │ │ ├── SmartRefreshWebFragment.java │ │ │ │ └── VasSonicFragment.java │ │ │ ├── provider/ │ │ │ │ ├── ServiceProvider.java │ │ │ │ └── WebServiceProvider.java │ │ │ ├── service/ │ │ │ │ └── WebService.java │ │ │ ├── sonic/ │ │ │ │ ├── DefaultSonicRuntimeImpl.java │ │ │ │ ├── SonicImpl.java │ │ │ │ ├── SonicJavaScriptInterface.java │ │ │ │ ├── SonicSessionClientImpl.java │ │ │ │ └── SonicWebViewClient.java │ │ │ ├── utils/ │ │ │ │ ├── FileUtils.java │ │ │ │ ├── ProcessUtils.java │ │ │ │ └── WebCompat.java │ │ │ └── widget/ │ │ │ ├── CommonIndicator.java │ │ │ ├── CoolIndicatorLayout.java │ │ │ ├── SmartRefreshWebLayout.java │ │ │ └── WebLayout.java │ │ └── res/ │ │ ├── drawable/ │ │ │ ├── btn_shape.xml │ │ │ ├── btn_shape_s.xml │ │ │ ├── ic_baseline_search_24.xml │ │ │ ├── indicator_shape.xml │ │ │ ├── iv_back_selector.xml │ │ │ └── selector_drawable_for_btn.xml │ │ ├── drawable-v21/ │ │ │ ├── ripple_for_btn.xml │ │ │ └── selector_drawable_for_btn.xml │ │ ├── layout/ │ │ │ ├── activity_auto_hiden_toolbar.xml │ │ │ ├── activity_common.xml │ │ │ ├── activity_main.xml │ │ │ ├── activity_native_download.xml │ │ │ ├── activity_web.xml │ │ │ ├── fragment_agentweb.xml │ │ │ ├── fragment_js.xml │ │ │ ├── fragment_srl_web.xml │ │ │ ├── fragment_twk_web.xml │ │ │ ├── listview_main.xml │ │ │ ├── markdown_view.xml │ │ │ ├── recyclerview_item_download.xml │ │ │ └── toorbar_main.xml │ │ ├── menu/ │ │ │ └── toolbar_menu.xml │ │ ├── values/ │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── xml/ │ │ └── network_security_config.xml │ └── test/ │ └── java/ │ └── com/ │ └── just/ │ └── agentweb/ │ └── sample/ │ └── ExampleUnitTest.java └── settings.gradle