├── sample ├── .gitignore ├── libs │ └── org.apache.http.legacy.jar └── src │ └── main │ ├── assets │ ├── ic_launcher.png │ ├── HttpRequestCallbackString.md │ ├── css-themes │ │ ├── FactoryFragment.md │ │ └── alt.css │ └── TemplateFragment.md │ ├── res │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ ├── catalogue_normal.png │ │ ├── ic_launcher_round.png │ │ └── catalogue_selected.png │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ ├── xml │ │ └── network_security_config.xml │ ├── anim │ │ ├── anim_in.xml │ │ └── anim_out.xml │ ├── drawable │ │ ├── controller_text_color.xml │ │ ├── catalogue_bg.xml │ │ └── item_selector_corner.xml │ ├── values │ │ ├── dimens.xml │ │ └── strings.xml │ └── layout │ │ ├── fragment_bottom.xml │ │ ├── activity_webviewjavascript.xml │ │ ├── item_multiviewtype_img.xml │ │ ├── fragment_example3.xml │ │ ├── fragment_network2.xml │ │ ├── activity_function_ui_refresh_smartrefreshlayout_item.xml │ │ ├── item_multiviewtype_text.xml │ │ ├── fragment_banner.xml │ │ ├── activity_host.xml │ │ ├── fragment_other_lambda.xml │ │ ├── fragment_function_reflection.xml │ │ ├── activity_architecture_mvp_activity.xml │ │ ├── activity_architecture_mvp_fragment.xml │ │ ├── activity_immersion.xml │ │ ├── fragment_commontoolbar.xml │ │ ├── item_adapter_expandable_child.xml │ │ ├── fragment_ioc_dagger2.xml │ │ ├── fragment_bus_rxbus.xml │ │ ├── fragment_ioc_butterknife.xml │ │ ├── fragment_bus_eventbus.xml │ │ ├── item_headerview.xml │ │ ├── fragment_example2.xml │ │ ├── item_footerview.xml │ │ ├── fragment_sp.xml │ │ ├── item_adapter_expandable_parent.xml │ │ ├── item_multiviewtype_text_img.xml │ │ ├── activity_module_image.xml │ │ ├── activity_module_bus.xml │ │ ├── activity_module_database.xml │ │ ├── activity_toolbar.xml │ │ ├── activity_network.xml │ │ ├── activity_frame.xml │ │ ├── fragment_image_glide.xml │ │ ├── fragment_other_rxlifecycle.xml │ │ ├── view_stub_page2.xml │ │ ├── activity_webview.xml │ │ ├── view_stub_page1.xml │ │ ├── fragment_tab_tablayout.xml │ │ ├── fragment_other_code.xml │ │ ├── fragment_bottombar.xml │ │ ├── fragment_network1.xml │ │ ├── fragment_function_annotation.xml │ │ ├── activity_function_ui_refresh_swiperefreshlayout.xml │ │ ├── fragment_example1.xml │ │ ├── fragment_task_rxjava.xml │ │ ├── activity_dialog.xml │ │ ├── activity_module_ioc.xml │ │ ├── activity_permission.xml │ │ ├── activity_tab.xml │ │ ├── fragment_dialogfragment.xml │ │ ├── fragment_databinding.xml │ │ ├── fragment_json.xml │ │ ├── fragment_example4.xml │ │ ├── layout_tab_customized.xml │ │ ├── fragment_resolutionadaption.xml │ │ ├── fragment_solution_aop.xml │ │ ├── activity_function_ui_refresh_smartrefreshlayout.xml │ │ ├── activity_fragmentation.xml │ │ ├── item_common_adapter_1.xml │ │ ├── item_search_result.xml │ │ ├── fragment_permission.xml │ │ ├── fragment_tab_stl.xml │ │ ├── fragment_task_tiny.xml │ │ ├── activity_adapter.xml │ │ ├── fragment_network3.xml │ │ ├── fragment_adapter.xml │ │ ├── activity_architecture.xml │ │ ├── fragment_tab_ftl.xml │ │ └── include_description.xml │ └── java │ └── com │ └── androidwind │ └── androidquick │ └── demo │ ├── features │ ├── architecture │ │ ├── segment │ │ │ ├── type2 │ │ │ │ ├── IModuleCallback.java │ │ │ │ ├── mvp │ │ │ │ │ ├── BaseContract.java │ │ │ │ │ ├── BasePresenter.java │ │ │ │ │ └── BaseTModule.java │ │ │ │ ├── module3 │ │ │ │ │ ├── Module3Contract.java │ │ │ │ │ ├── Module3Presenter.java │ │ │ │ │ └── Module3.java │ │ │ │ ├── Module1.java │ │ │ │ └── Module2.java │ │ │ ├── type1 │ │ │ │ ├── Page2.java │ │ │ │ └── Page1.java │ │ │ └── type3 │ │ │ │ ├── LoadJsCallback.java │ │ │ │ ├── JsInterface.java │ │ │ │ ├── JsApiHandler.java │ │ │ │ └── GetAppInfoHandler.java │ │ ├── mvp │ │ │ ├── activity │ │ │ │ ├── MVPContract.java │ │ │ │ └── MVPPresenter.java │ │ │ ├── activity_dagger │ │ │ │ ├── MVPDaggerContract.java │ │ │ │ └── MVPDaggerPresenter.java │ │ │ └── fragment_dagger │ │ │ │ ├── MVPDaggerContract.java │ │ │ │ └── MVPDaggerPresenter.java │ │ └── mvvm │ │ │ ├── activity │ │ │ ├── MVVMViewModel2.java │ │ │ ├── MVVMFactory2.java │ │ │ └── MVVMFactory1.java │ │ │ └── fragment │ │ │ └── TomViewModel.java │ ├── design_patterns │ │ ├── factory │ │ │ ├── ICar.java │ │ │ └── CarFactory.java │ │ ├── adapter │ │ │ ├── IChineseCharger.java │ │ │ ├── IAmericanCharger.java │ │ │ ├── ChineseCharger.java │ │ │ ├── AmericanCharger.java │ │ │ ├── Adapter.java │ │ │ ├── AmericanDevice.java │ │ │ └── AdapterFragment.java │ │ ├── template │ │ │ ├── BMW.java │ │ │ ├── Benz.java │ │ │ ├── Car.java │ │ │ └── TemplateFragment.java │ │ ├── single │ │ │ ├── StaticDemo.java │ │ │ ├── SingletonEnumDemo.java │ │ │ ├── SingletonDemo.java │ │ │ └── SingleFragment.java │ │ ├── strategy │ │ │ ├── ILogProcessor.java │ │ │ ├── TinyLogProcessor.java │ │ │ ├── DefaultLogProcessor.java │ │ │ ├── LogLoader2.java │ │ │ └── LogLoader.java │ │ ├── responsibilitychain │ │ │ ├── DateFilter.java │ │ │ ├── WeightFilter.java │ │ │ ├── ShapeFilter.java │ │ │ └── BaseFilter.java │ │ ├── observer │ │ │ ├── Server.java │ │ │ ├── Client.java │ │ │ └── MyObservable.java │ │ └── proxy │ │ │ └── IRequestAPI.java │ ├── module │ │ ├── network │ │ │ ├── common │ │ │ │ └── http │ │ │ │ │ ├── HttpCallback.java │ │ │ │ │ ├── HTTPResponse.java │ │ │ │ │ ├── HttpTask.java │ │ │ │ │ └── WeakReferenceAsyncTask.java │ │ │ └── retrofit │ │ │ │ ├── download │ │ │ │ ├── DownloadProgressListener.java │ │ │ │ └── DownloadProgressInterceptor.java │ │ │ │ ├── exception │ │ │ │ └── CustomizeException.java │ │ │ │ ├── Gank2Apis.java │ │ │ │ ├── GankApis.java │ │ │ │ ├── DownloadApis.java │ │ │ │ ├── network3 │ │ │ │ ├── TSSCResult.java │ │ │ │ ├── XHYResult.java │ │ │ │ ├── XHYRes.java │ │ │ │ └── TSSCRes.java │ │ │ │ ├── GankRes.java │ │ │ │ └── network1 │ │ │ │ └── Network1Contract.java │ │ ├── ioc │ │ │ ├── dagger2 │ │ │ │ ├── Test1Component.java │ │ │ │ ├── Test2Component.java │ │ │ │ ├── TestModule.java │ │ │ │ ├── Dagger2Test1Bean.java │ │ │ │ └── Dagger2Test2Bean.java │ │ │ └── butterknife │ │ │ │ └── ButterKnifeFragment.java │ │ └── db │ │ │ ├── ormlite │ │ │ ├── BaseOrmLiteDao.java │ │ │ └── User.java │ │ │ └── greendao │ │ │ ├── User.java │ │ │ ├── DBManager.java │ │ │ └── DaoSession.java │ ├── function │ │ ├── annotation │ │ │ ├── QuickCheck.java │ │ │ ├── ByColor.java │ │ │ ├── ByView.java │ │ │ ├── ByString.java │ │ │ ├── aspect │ │ │ │ ├── CheckNetwork.java │ │ │ │ └── AspectUtils.java │ │ │ ├── ByContentView.java │ │ │ └── manager │ │ │ │ └── InjectManager.java │ │ ├── permission │ │ │ └── AfterPermissionGranted.java │ │ ├── ui │ │ │ ├── adapter │ │ │ │ └── HomeAdapter.java │ │ │ ├── fragment │ │ │ │ ├── Example2Fragment.java │ │ │ │ └── Example3Fragment.java │ │ │ ├── bartop │ │ │ │ └── CommonToolBarFragment.java │ │ │ ├── databinding │ │ │ │ └── DataBindingFragment.java │ │ │ └── constraintlayout │ │ │ │ └── ConstraintLayoutFragment.java │ │ └── reflection │ │ │ └── ReflectionFragment.java │ ├── other │ │ └── rxlifecycle │ │ │ └── RxJavaLifecycleContract.java │ └── solution │ │ └── aop │ │ └── AOPFragment.java │ ├── view │ └── expandablelistview │ │ └── GroupItem.java │ ├── injector │ ├── ActivityScope.java │ ├── FragmentScope.java │ ├── module │ │ ├── ActivityModule.java │ │ ├── ApplicationModule.java │ │ └── FragmentModule.java │ └── component │ │ ├── ApplicationComponent.java │ │ ├── ActivityComponent.java │ │ └── FragmentComponent.java │ ├── base │ ├── mvp │ │ ├── BaseContract.java │ │ ├── BaseTFragment.java │ │ └── BaseTActivity.java │ ├── databinding │ │ ├── BaseTActivity.java │ │ └── BaseTFragment.java │ └── mvvm │ │ ├── BaseRepository.java │ │ ├── BaseMVVMActivity.java │ │ ├── BaseMVVMFragment.java │ │ └── BaseViewModel.java │ ├── bean │ ├── HomeBean.java │ ├── MenuBean.java │ ├── ABean.java │ ├── NameBean.java │ ├── BBean.java │ ├── TestBean.java │ └── CBean.java │ ├── tool │ ├── BitmapUtil.java │ ├── GlideImageLoader.java │ ├── AssetsUtil.java │ ├── RxUtil.java │ └── TUtil.java │ ├── constant │ └── Constants.java │ ├── ui │ └── activity │ │ └── HostActivity.java │ └── crash │ └── CrashHandler.java ├── aop-core ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── androidwind │ │ │ └── annotation │ │ │ └── core │ │ │ ├── ILoad.java │ │ │ └── SearchHouse.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── androidwind │ │ │ └── demo │ │ │ └── mylibrary │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── androidwind │ │ └── demo │ │ └── mylibrary │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── aop-annotation ├── .gitignore ├── build.gradle └── src │ └── main │ └── java │ └── com │ └── androidwind │ └── annotation │ └── annotation │ └── BindTag.java ├── aop-compiler ├── .gitignore └── build.gradle ├── logo.png ├── art ├── icon.png └── screenshot.jpg ├── thirdparty └── treeview │ ├── src │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ │ └── fonts │ │ │ │ └── material-icon-font.ttf │ │ ├── res │ │ │ └── values │ │ │ │ ├── styles.xml │ │ │ │ ├── ids.xml │ │ │ │ └── strings.xml │ │ └── java │ │ │ └── com │ │ │ └── unnamed │ │ │ └── b │ │ │ └── atv │ │ │ └── holder │ │ │ └── SimpleViewHolder.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── androidwind │ │ │ └── mylibrary │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── androidwind │ │ └── mylibrary │ │ └── ExampleInstrumentedTest.java │ ├── .gitignore │ ├── proguard-rules.pro │ ├── gradle.properties │ └── build.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── settings.gradle ├── config.gradle ├── gradle.properties ├── LICENSE └── .gitignore /sample/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /aop-core/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /aop-annotation/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /aop-compiler/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/logo.png -------------------------------------------------------------------------------- /art/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/art/icon.png -------------------------------------------------------------------------------- /art/screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/art/screenshot.jpg -------------------------------------------------------------------------------- /thirdparty/treeview/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /aop-core/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | aop-core 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /sample/libs/org.apache.http.legacy.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/libs/org.apache.http.legacy.jar -------------------------------------------------------------------------------- /sample/src/main/assets/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/assets/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /aop-core/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/catalogue_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xhdpi/catalogue_normal.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xhdpi/catalogue_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xhdpi/catalogue_selected.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/sample/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':sample', ':aop-compiler', ':aop-annotation', ':treeview', ':aop-core' 2 | project(":treeview").projectDir = new File("thirdparty/treeview") 3 | -------------------------------------------------------------------------------- /thirdparty/treeview/src/main/assets/fonts/material-icon-font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ddnosh/AndroidQuick/HEAD/thirdparty/treeview/src/main/assets/fonts/material-icon-font.ttf -------------------------------------------------------------------------------- /sample/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /aop-annotation/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | 3 | dependencies { 4 | implementation fileTree(dir: 'libs', include: ['*.jar']) 5 | } 6 | 7 | sourceCompatibility = "8" 8 | targetCompatibility = "8" 9 | -------------------------------------------------------------------------------- /thirdparty/treeview/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | -------------------------------------------------------------------------------- /sample/src/main/res/anim/anim_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /sample/src/main/res/anim/anim_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | -------------------------------------------------------------------------------- /thirdparty/treeview/src/main/res/values/ids.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/architecture/segment/type2/IModuleCallback.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.architecture.segment.type2; 2 | 3 | public interface IModuleCallback { 4 | 5 | void doModify(String content); 6 | } 7 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Jan 23 16:01:42 CST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip 7 | -------------------------------------------------------------------------------- /sample/src/main/res/drawable/controller_text_color.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/factory/ICar.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.factory; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface ICar { 8 | void move(); 9 | } 10 | -------------------------------------------------------------------------------- /sample/src/main/res/drawable/catalogue_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/adapter/IChineseCharger.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.adapter; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface IChineseCharger { 8 | 9 | void charge4Chinese(); 10 | } 11 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/adapter/IAmericanCharger.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.adapter; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface IAmericanCharger { 8 | 9 | void charge4American(); 10 | } 11 | -------------------------------------------------------------------------------- /aop-core/src/main/java/com/androidwind/annotation/core/ILoad.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.annotation.core; 2 | 3 | import com.androidwind.annotation.annotation.TagInfo; 4 | 5 | import java.util.Map; 6 | 7 | /** 8 | * @author ddnosh 9 | * @website http://blog.csdn.net/ddnosh 10 | */ 11 | public interface ILoad { 12 | void load(Map params); 13 | } -------------------------------------------------------------------------------- /sample/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 12dp 5 | 8dp 6 | 4dp 7 | 16dp 8 | -------------------------------------------------------------------------------- /thirdparty/treeview/.gitignore: -------------------------------------------------------------------------------- 1 | # Built application files 2 | *.apk 3 | *.ap_ 4 | 5 | # Files for the dex VM 6 | *.dex 7 | 8 | # Java class files 9 | *.class 10 | 11 | # Generated files 12 | bin/ 13 | gen/ 14 | 15 | # Local configuration file (sdk path, etc) 16 | local.properties 17 | 18 | # IntelliJ IDEA 19 | .idea/ 20 | *.iml 21 | *.iws 22 | *.ipr 23 | 24 | # Gradle 25 | .gradle 26 | build/ -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/template/BMW.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.template; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public class BMW extends Car { 8 | @Override 9 | void move() { 10 | System.out.println("BMW烧汽油动起来了"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/template/Benz.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.template; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public class Benz extends Car { 8 | @Override 9 | void move() { 10 | System.out.println("Benz靠电动起来了"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/network/common/http/HttpCallback.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.network.common.http; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface HttpCallback { 8 | void onSuccess(String response); 9 | 10 | void onFail(String response); 11 | } 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/single/StaticDemo.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.single; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public class StaticDemo { 8 | 9 | public static void printSomething() { 10 | System.out.println("this is a static"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/network/retrofit/download/DownloadProgressListener.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.network.retrofit.download; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface DownloadProgressListener { 8 | void update(long bytesRead, long contentLength, boolean done); 9 | } 10 | -------------------------------------------------------------------------------- /aop-core/src/main/java/com/androidwind/annotation/core/SearchHouse.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.annotation.core; 2 | 3 | import com.androidwind.annotation.annotation.TagInfo; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | /** 9 | * @author ddnosh 10 | * @website http://blog.csdn.net/ddnosh 11 | */ 12 | public class SearchHouse { 13 | 14 | public static Map tags = new HashMap<>(); 15 | } 16 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/view/expandablelistview/GroupItem.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.view.expandablelistview; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * @author ddnosh 8 | * @website http://blog.csdn.net/ddnosh 9 | */ 10 | public class GroupItem { 11 | public String title; 12 | public List childList = new ArrayList<>(); 13 | } 14 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/single/SingletonEnumDemo.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.single; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public enum SingletonEnumDemo { 8 | 9 | INSTANCE; 10 | 11 | public void printSomething() { 12 | System.out.println("this is a singleton"); 13 | } 14 | } -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/QuickCheck.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * @author ddnosh 8 | * @website http://blog.csdn.net/ddnosh 9 | */ 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface QuickCheck { 13 | } 14 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/fragment_bottom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 9 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/strategy/ILogProcessor.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.strategy; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface ILogProcessor { 8 | void v(String vLog); 9 | 10 | void d(String dLog); 11 | 12 | void i(String iLog); 13 | 14 | void e(String eLog); 15 | } 16 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/network/retrofit/exception/CustomizeException.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.network.retrofit.exception; 2 | 3 | /** 4 | * Created by JokAr on 16/7/5. 5 | */ 6 | public class CustomizeException extends RuntimeException { 7 | 8 | public CustomizeException(String message, Throwable cause) { 9 | super(message, cause); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /thirdparty/treeview/src/test/java/com/androidwind/mylibrary/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.mylibrary; 2 | 3 | /** 4 | * Example local unit test, which will execute on the development machine (host). 5 | * 6 | * @see Testing documentation 7 | */ 8 | public class ExampleUnitTest { 9 | // @Test 10 | // public void addition_isCorrect() { 11 | // assertEquals(4, 2 + 2); 12 | // } 13 | } -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/architecture/segment/type2/mvp/BaseContract.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.architecture.segment.type2.mvp; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface BaseContract { 8 | 9 | interface BasePresenter { 10 | 11 | } 12 | 13 | interface BaseView { 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_webviewjavascript.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /sample/src/main/assets/HttpRequestCallbackString.md: -------------------------------------------------------------------------------- 1 | ##StringHttpRequestCallback 2 |
 3 | RequestParams params = new RequestParams(this);
 4 | params.addFormDataPart("page", 1);
 5 | params.addFormDataPart("limit", 12);
 6 | HttpRequest.post(Api.NEW_GAME, params, new StringHttpRequestCallback() {
 7 |     @Override
 8 |     protected void onSuccess(String s) {
 9 |         super.onSuccess(s);
10 |         mTvResult.setText(JsonFormatUtils.formatJson(s));
11 |     }
12 | });
13 | 
-------------------------------------------------------------------------------- /sample/src/main/assets/css-themes/FactoryFragment.md: -------------------------------------------------------------------------------- 1 | ##StringHttpRequestCallback 2 |
 3 | RequestParams params = new RequestParams(this);
 4 | params.addFormDataPart("page", 1);
 5 | params.addFormDataPart("limit", 12);
 6 | HttpRequest.post(Api.NEW_GAME, params, new StringHttpRequestCallback() {
 7 |     @Override
 8 |     protected void onSuccess(String s) {
 9 |         super.onSuccess(s);
10 |         mTvResult.setText(JsonFormatUtils.formatJson(s));
11 |     }
12 | });
13 | 
-------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/ByColor.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ByColor { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/ByView.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ByView { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/ByString.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.FIELD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ByString { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/aspect/CheckNetwork.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation.aspect; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.METHOD) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface CheckNetwork { 11 | } 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/architecture/segment/type1/Page2.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.architecture.segment.type1; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | 8 | public class Page2 extends PageController { 9 | public Page2(BasePageFragment fragment) { 10 | super(fragment); 11 | } 12 | 13 | @Override 14 | protected void initView() { 15 | 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/function/annotation/ByContentView.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.function.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target(ElementType.TYPE) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ByContentView { 11 | int value(); 12 | } 13 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/network/retrofit/Gank2Apis.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.network.retrofit; 2 | 3 | import java.util.List; 4 | 5 | import retrofit2.Call; 6 | import retrofit2.http.GET; 7 | 8 | /** 9 | * @author ddnosh 10 | * @website http://blog.csdn.net/ddnosh 11 | */ 12 | public interface Gank2Apis { 13 | 14 | @GET("day/history") 15 | Call>> getHistoryDate(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/item_multiviewtype_img.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/ioc/dagger2/Test1Component.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.ioc.dagger2; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | 8 | import dagger.Component; 9 | import com.androidwind.androidquick.demo.injector.FragmentScope; 10 | 11 | @FragmentScope 12 | @Component 13 | public interface Test1Component { 14 | 15 | // void inject(Dagger2Fragment dagger2Fragment); 16 | } 17 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/network/retrofit/GankApis.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.network.retrofit; 2 | 3 | import java.util.List; 4 | 5 | import io.reactivex.Observable; 6 | import retrofit2.http.GET; 7 | 8 | /** 9 | * @author ddnosh 10 | * @website http://blog.csdn.net/ddnosh 11 | */ 12 | public interface GankApis { 13 | 14 | @GET("day/history") 15 | Observable>> getHistoryDate(); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/fragment_example3.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /thirdparty/treeview/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Library 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/injector/ActivityScope.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.injector; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.Retention; 5 | 6 | import javax.inject.Scope; 7 | 8 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 9 | 10 | /** 11 | * @author ddnosh 12 | * @website http://blog.csdn.net/ddnosh 13 | */ 14 | @Scope 15 | @Documented 16 | @Retention(RUNTIME) 17 | public @interface ActivityScope { 18 | } 19 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/injector/FragmentScope.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.injector; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.Retention; 5 | 6 | import javax.inject.Scope; 7 | 8 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 9 | 10 | /** 11 | * @author ddnosh 12 | * @website http://blog.csdn.net/ddnosh 13 | */ 14 | @Scope 15 | @Documented 16 | @Retention(RUNTIME) 17 | public @interface FragmentScope { 18 | } 19 | -------------------------------------------------------------------------------- /sample/src/main/res/drawable/item_selector_corner.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 11 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/fragment_network2.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/base/mvp/BaseContract.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.base.mvp; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public interface BaseContract { 8 | 9 | interface BasePresenter { 10 | 11 | void attachView(T view); 12 | 13 | void detachView(); 14 | } 15 | 16 | 17 | interface BaseView { 18 | 19 | } 20 | 21 | interface BaseModel { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/architecture/segment/type3/LoadJsCallback.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.architecture.segment.type3; 2 | 3 | import android.content.Context; 4 | import android.webkit.WebView; 5 | 6 | /** 7 | * @author ddnosh 8 | * @website http://blog.csdn.net/ddnosh 9 | */ 10 | public interface LoadJsCallback { 11 | 12 | void loadJavaScript(String js); 13 | 14 | Context getContext(); 15 | 16 | WebView getCurrentWebView(); 17 | } 18 | -------------------------------------------------------------------------------- /aop-core/src/test/java/com/androidwind/demo/mylibrary/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.demo.mylibrary; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/adapter/ChineseCharger.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.adapter; 2 | 3 | import com.androidwind.androidquick.util.LogUtil; 4 | 5 | /** 6 | * @author ddnosh 7 | * @website http://blog.csdn.net/ddnosh 8 | */ 9 | public class ChineseCharger implements IChineseCharger { 10 | @Override 11 | public void charge4Chinese() { 12 | LogUtil.i("AmericanCharger", "do Chinese charge"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_function_ui_refresh_smartrefreshlayout_item.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/adapter/AmericanCharger.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.adapter; 2 | 3 | import com.androidwind.androidquick.util.LogUtil; 4 | 5 | /** 6 | * @author ddnosh 7 | * @website http://blog.csdn.net/ddnosh 8 | */ 9 | public class AmericanCharger implements IAmericanCharger { 10 | @Override 11 | public void charge4American() { 12 | LogUtil.i("AmericanCharger", "do American charge"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/item_multiviewtype_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/module/ioc/dagger2/Test2Component.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.module.ioc.dagger2; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | 8 | import dagger.Component; 9 | import com.androidwind.androidquick.demo.injector.FragmentScope; 10 | 11 | @FragmentScope 12 | @Component(modules = TestModule.class) 13 | public interface Test2Component { 14 | 15 | void inject(Dagger2Fragment dagger2Fragment); 16 | } 17 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/fragment_banner.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/architecture/segment/type3/JsInterface.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.architecture.segment.type3; 2 | 3 | import com.alibaba.fastjson.JSONObject; 4 | 5 | /** 6 | * @author ddnosh 7 | * @website http://blog.csdn.net/ddnosh 8 | */ 9 | public interface JsInterface { 10 | 11 | /** 12 | * js调用native的接口 13 | * 14 | * @param name 15 | * @param request 16 | */ 17 | void invoke(String name, JSONObject request); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /aop-compiler/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'java-library' 2 | 3 | dependencies { 4 | implementation fileTree(dir: 'libs', include: ['*.jar']) 5 | 6 | annotationProcessor 'com.google.auto.service:auto-service:1.0-rc6' 7 | implementation 'com.google.auto.service:auto-service:1.0-rc6' 8 | implementation 'com.squareup:javapoet:1.10.0' 9 | 10 | implementation project(':aop-annotation') 11 | } 12 | 13 | sourceCompatibility = "8" 14 | targetCompatibility = "8" 15 | 16 | tasks.withType(JavaCompile) { 17 | options.encoding = "UTF-8" 18 | } 19 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/activity_host.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /sample/src/main/java/com/androidwind/androidquick/demo/features/design_patterns/factory/CarFactory.java: -------------------------------------------------------------------------------- 1 | package com.androidwind.androidquick.demo.features.design_patterns.factory; 2 | 3 | /** 4 | * @author ddnosh 5 | * @website http://blog.csdn.net/ddnosh 6 | */ 7 | public class CarFactory { 8 | public static ICar createCar(Class c) { 9 | try { 10 | return (ICar) c.newInstance(); 11 | } catch (Exception e) { 12 | System.out.println("初始化失败"); 13 | } 14 | return null; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /sample/src/main/res/layout/fragment_other_lambda.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 |