├── app ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ ├── colors.xml │ │ │ │ └── styles.xml │ │ │ ├── drawable │ │ │ │ ├── aaaa.gif │ │ │ │ ├── timg.jpg │ │ │ │ ├── image.jpg │ │ │ │ └── weixin.jpg │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.png │ │ │ │ └── ic_launcher_round.png │ │ │ └── layout │ │ │ │ ├── activity_blankj.xml │ │ │ │ ├── activity_volley.xml │ │ │ │ ├── activity_image.xml │ │ │ │ ├── activity_fresco.xml │ │ │ │ ├── activity_blur.xml │ │ │ │ └── activity_main.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── basemodule │ │ │ │ ├── wams │ │ │ │ ├── LayoutEntity.java │ │ │ │ ├── BannerResEntity.java │ │ │ │ ├── WamsParams.java │ │ │ │ ├── HomeController.java │ │ │ │ ├── WamsResponseInterceptor.java │ │ │ │ ├── HomeRequest.java │ │ │ │ ├── WamsResEntity.java │ │ │ │ └── HomeArticlesResEntity.java │ │ │ │ ├── CrashActivity.java │ │ │ │ └── MyApplication.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── basemodule │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── basemodule │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── blur ├── .gitignore ├── src │ ├── main │ │ ├── jni │ │ │ ├── Application.mk │ │ │ └── Android.mk │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── libs │ │ │ └── renderscript-v8.jar │ │ ├── jniLibs │ │ │ ├── armeabi │ │ │ │ └── libblur.so │ │ │ └── armeabi-v7a │ │ │ │ └── libblur.so │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── blur │ │ │ ├── OnBlurListener.java │ │ │ ├── process │ │ │ ├── ThreadManager.java │ │ │ ├── z-package-info │ │ │ ├── BlurProcess.java │ │ │ ├── NativeBlurProcess.java │ │ │ └── RSBlurProcess.java │ │ │ └── DBlur.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── blur │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── blur │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── README.md ├── bintray-config.gradle └── build.gradle ├── crash ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── crash │ │ │ │ └── OnCrashListener.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── crash │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── crash │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── event ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── event │ │ │ ├── EventObserver.java │ │ │ ├── DEventBus.java │ │ │ └── EventHelper.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── event │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── event │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── build.gradle └── bintray-config.gradle ├── fresco ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── fresco │ │ │ ├── FrescoConstValue.java │ │ │ └── DFresco.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── fresco │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── fresco │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── bintray-config.gradle └── proguard-rules.pro ├── ftp ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── ftp │ │ │ ├── OnUploadListener.java │ │ │ └── DFtp.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── ftp │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── ftp │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── build.gradle └── bintray-config.gradle ├── glide ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── glide │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── glide │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── log ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── log │ │ │ │ ├── LogConstValue.java │ │ │ │ ├── OnUploadListener.java │ │ │ │ └── LogcatUtils.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── log │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── log │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── build.gradle └── bintray-config.gradle ├── okhttp ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── okhttp │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── okhttp │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── thread ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── thread │ │ │ └── WorkerThread.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── thread │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── thread │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── tv ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── values │ │ │ │ ├── strings.xml │ │ │ │ └── colors.xml │ │ │ ├── drawable-hdpi │ │ │ │ ├── bg_button_normal.9.png │ │ │ │ ├── bg_card_focused.9.png │ │ │ │ ├── bg_tab_focused.9.png │ │ │ │ ├── bg_tab_selected.9.png │ │ │ │ └── bg_button_focused.9.png │ │ │ └── drawable │ │ │ │ ├── bg_button_selector.xml │ │ │ │ ├── bg_card_selector.xml │ │ │ │ └── bg_main_tab_selector.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── tv │ │ │ │ ├── TvDialog.java │ │ │ │ ├── TvIdleView.java │ │ │ │ ├── TvBannerView.java │ │ │ │ ├── TvKeyboardView.java │ │ │ │ ├── TvTextView.java │ │ │ │ ├── TvRecyclerView.java │ │ │ │ ├── TvTabLayout.java │ │ │ │ ├── TvCardView.java │ │ │ │ ├── TvButton.java │ │ │ │ └── helper │ │ │ │ └── CutNineDrawable.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── tv │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── tv │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro ├── bintray-config.gradle └── upload.gradle ├── ui ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── ui │ │ │ │ └── BannerView.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── ui │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── ui │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── utils ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── utils │ │ │ ├── ToastUtils.java │ │ │ ├── DeviceUtils.java │ │ │ ├── ScaleViewUtils.java │ │ │ └── SpUtils.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── utils │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── utils │ │ └── ExampleInstrumentedTest.java ├── build.gradle ├── proguard-rules.pro └── bintray-config.gradle ├── view ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── view │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── view │ │ └── ExampleInstrumentedTest.java ├── build.gradle └── proguard-rules.pro ├── volley ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── volley │ │ │ ├── DVolleyCode.java │ │ │ ├── VolleyListener.java │ │ │ ├── ICommonResultStruct.java │ │ │ ├── wrapper │ │ │ ├── ParameterizedTypeImpl.java │ │ │ ├── StringRequestWrapper.java │ │ │ ├── VolleyManager.java │ │ │ ├── VolleyQueueSingleton.java │ │ │ ├── ImageFileRequest.java │ │ │ └── HttpsTrustManager.java │ │ │ ├── DVolley.java │ │ │ └── IResponseInterceptor.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── volley │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── volley │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── bintray-config.gradle └── build.gradle ├── database ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── database │ │ │ ├── IDatabaseTable.java │ │ │ ├── z-package-info.md │ │ │ └── DatabaseManager.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── database │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── database │ │ └── ExampleInstrumentedTest.java ├── build.gradle └── proguard-rules.pro ├── localnet ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── localnet │ │ │ │ ├── NetStateListener.java │ │ │ │ ├── LocalNetController.java │ │ │ │ └── NetBroadcastReceiver.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── localnet │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── localnet │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── bintray-config.gradle └── build.gradle ├── retrofit ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── AndroidManifest.xml │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── okhttp │ │ │ ├── RetrofitListener.java │ │ │ └── RetrofitHelper.java │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── okhttp │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── okhttp │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro └── build.gradle ├── update ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ └── values │ │ │ │ └── strings.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── dasu │ │ │ │ └── update │ │ │ │ ├── ConstValue.java │ │ │ │ ├── OnUpdateListener.java │ │ │ │ ├── UpdateController.java │ │ │ │ ├── UpdateHelper.java │ │ │ │ └── UpdateConfig.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── com │ │ │ └── dasu │ │ │ └── update │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── com │ │ └── dasu │ │ └── update │ │ └── ExampleInstrumentedTest.java ├── proguard-rules.pro ├── bintray-config.gradle └── build.gradle ├── .idea ├── copyright │ └── profiles_settings.xml ├── vcs.xml ├── runConfigurations.xml ├── compiler.xml ├── gradle.xml ├── modules.xml └── misc.xml ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .gitignore ├── settings.gradle ├── gradle.properties ├── README.md ├── installv1.gradle └── upload.gradle /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /blur/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /crash/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /event/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /fresco/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ftp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /glide/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /log/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /okhttp/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /thread/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /tv/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ui/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /utils/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /view/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /volley/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /localnet/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /retrofit/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /update/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /blur/src/main/jni/Application.mk: -------------------------------------------------------------------------------- 1 | APP_ABI := armeabi armeabi-v7a -------------------------------------------------------------------------------- /ftp/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ftp 3 | 4 | -------------------------------------------------------------------------------- /ui/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ui 3 | 4 | -------------------------------------------------------------------------------- /blur/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | blur 3 | 4 | -------------------------------------------------------------------------------- /crash/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | crash 3 | 4 | -------------------------------------------------------------------------------- /event/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | event 3 | 4 | -------------------------------------------------------------------------------- /glide/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | glide 3 | 4 | -------------------------------------------------------------------------------- /log/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | crash 3 | 4 | -------------------------------------------------------------------------------- /tv/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tv 3 | 4 | -------------------------------------------------------------------------------- /view/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | view 3 | 4 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | BaseModule 3 | 4 | -------------------------------------------------------------------------------- /fresco/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | fresco 3 | 4 | -------------------------------------------------------------------------------- /okhttp/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | okhttp 3 | 4 | -------------------------------------------------------------------------------- /thread/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | worker 3 | 4 | -------------------------------------------------------------------------------- /update/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | update 3 | 4 | -------------------------------------------------------------------------------- /utils/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | utils 3 | 4 | -------------------------------------------------------------------------------- /volley/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | volley 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/aaaa.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/drawable/aaaa.gif -------------------------------------------------------------------------------- /app/src/main/res/drawable/timg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/drawable/timg.jpg -------------------------------------------------------------------------------- /database/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | database 3 | 4 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /localnet/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | localnet 3 | 4 | -------------------------------------------------------------------------------- /retrofit/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | okhttp 3 | 4 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/drawable/image.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/weixin.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/drawable/weixin.jpg -------------------------------------------------------------------------------- /blur/src/main/libs/renderscript-v8.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/blur/src/main/libs/renderscript-v8.jar -------------------------------------------------------------------------------- /blur/src/main/jniLibs/armeabi/libblur.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/blur/src/main/jniLibs/armeabi/libblur.so -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /blur/src/main/jniLibs/armeabi-v7a/libblur.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/blur/src/main/jniLibs/armeabi-v7a/libblur.so -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable-hdpi/bg_button_normal.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/tv/src/main/res/drawable-hdpi/bg_button_normal.9.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable-hdpi/bg_card_focused.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/tv/src/main/res/drawable-hdpi/bg_card_focused.9.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable-hdpi/bg_tab_focused.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/tv/src/main/res/drawable-hdpi/bg_tab_focused.9.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable-hdpi/bg_tab_selected.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/tv/src/main/res/drawable-hdpi/bg_tab_selected.9.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable-hdpi/bg_button_focused.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/woshidasusu/base-module/HEAD/tv/src/main/res/drawable-hdpi/bg_button_focused.9.png -------------------------------------------------------------------------------- /tv/src/main/res/drawable/bg_button_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | /.idea/* 11 | -------------------------------------------------------------------------------- /tv/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #00000000 4 | #FFFFFFFF 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':utils', ':retrofit', ':tv', ':database', ':view', ':localnet', ':update', ':log', ':crash', ':ftp', ':volley', ':okhttp', ':fresco', ':glide', ':thread', ':blur', ':ui', ':event' 2 | -------------------------------------------------------------------------------- /log/src/main/java/com/dasu/log/LogConstValue.java: -------------------------------------------------------------------------------- 1 | package com.dasu.log; 2 | 3 | /** 4 | * Created by suxq on 2018/9/11. 5 | */ 6 | 7 | class LogConstValue { 8 | static final String LOG_TAG = "LogModule"; 9 | } 10 | -------------------------------------------------------------------------------- /crash/src/main/java/com/dasu/crash/OnCrashListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.crash; 2 | 3 | /** 4 | * Created by suxq on 2018/10/9. 5 | */ 6 | 7 | public interface OnCrashListener { 8 | void onCrash(Throwable e); 9 | } 10 | -------------------------------------------------------------------------------- /update/src/main/java/com/dasu/update/ConstValue.java: -------------------------------------------------------------------------------- 1 | package com.dasu.update; 2 | 3 | /** 4 | * Created by dasu on 2018/7/6. 5 | */ 6 | 7 | class ConstValue { 8 | static final String LOG_TAG = "dasuUpdate"; 9 | } 10 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvDialog.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 弹窗 9 | */ 10 | public class TvDialog { 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvIdleView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 待机图 9 | */ 10 | public class TvIdleView { 11 | } 12 | -------------------------------------------------------------------------------- /ui/src/main/java/com/dasu/ui/BannerView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.ui; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 轮播图 9 | */ 10 | public class BannerView { 11 | } 12 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvBannerView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 轮播图控件 9 | */ 10 | public class TvBannerView { 11 | } 12 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvKeyboardView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 键盘控件 9 | */ 10 | public class TvKeyboardView { 11 | } 12 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvTextView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 文本控件,支持跑马灯手动控制 9 | */ 10 | public class TvTextView { 11 | } 12 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvRecyclerView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/7/10. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 列表控件 9 | */ 10 | 11 | public class TvRecyclerView { 12 | } 13 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sat May 05 12:00:13 CST 2018 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-3.3-all.zip 7 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvTabLayout.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | /** 4 | * Created by dasu on 2018/10/24. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * tabLayout + viewPager 9 | * tab布局容器 10 | */ 11 | public class TvTabLayout { 12 | } 13 | -------------------------------------------------------------------------------- /localnet/src/main/java/com/dasu/localnet/NetStateListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.localnet; 2 | 3 | /** 4 | * Created by dasu on 2017/4/7. 5 | * 6 | * 手机网络状态改变时回调 7 | */ 8 | 9 | public interface NetStateListener { 10 | 11 | void onNetChanged(boolean isConnected); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /tv/src/main/res/drawable/bg_card_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /blur/src/main/jni/Android.mk: -------------------------------------------------------------------------------- 1 | LOCAL_PATH := $(call my-dir) 2 | 3 | include $(CLEAR_VARS) 4 | 5 | LOCAL_LDLIBS := -llog -ljnigraphics 6 | 7 | LOCAL_MODULE := blur 8 | LOCAL_SRC_FILES := blur.c 9 | 10 | LOCAL_CFLAGS = -ffast-math -O3 -funroll-loops 11 | 12 | include $(BUILD_SHARED_LIBRARY) 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/java/com/dasu/basemodule/wams/LayoutEntity.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule.wams; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by dasu on 2018/10/26. 7 | * 微信公众号:dasuAndroidTv 8 | * https://github.com/woshidasusu/DWanAndroid 9 | */ 10 | public class LayoutEntity implements Serializable { 11 | } 12 | -------------------------------------------------------------------------------- /app/src/main/java/com/dasu/basemodule/wams/BannerResEntity.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule.wams; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by dasu on 2018/10/26. 7 | * 微信公众号:dasuAndroidTv 8 | * https://github.com/woshidasusu/DWanAndroid 9 | */ 10 | public class BannerResEntity implements Serializable { 11 | } 12 | -------------------------------------------------------------------------------- /blur/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ftp/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /log/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ui/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /crash/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /event/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /fresco/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /glide/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /okhttp/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /thread/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /tv/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /utils/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /view/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /retrofit/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /database/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /localnet/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /update/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /event/src/main/java/com/dasu/event/EventObserver.java: -------------------------------------------------------------------------------- 1 | package com.dasu.event; 2 | 3 | /** 4 | * Created by dasu on 2018/10/26. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 事件订阅者(观察者) 9 | */ 10 | public interface EventObserver { 11 | 12 | /** 13 | * 事件发生时回调 14 | * @param data 15 | */ 16 | void onEvent(T data); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /tv/src/main/res/drawable/bg_main_tab_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /blur/src/main/java/com/dasu/blur/OnBlurListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.blur; 2 | 3 | import android.graphics.Bitmap; 4 | 5 | /** 6 | * Created by dasu on 2018/10/10. 7 | * 微信公众号:dasuAndroidTv 8 | * blog:https://www.jianshu.com/u/bb52a2918096 9 | * 10 | * 高斯模糊回调 11 | */ 12 | 13 | public interface OnBlurListener { 14 | 15 | void onBlurSuccess(Bitmap bitmap); 16 | 17 | void onBlurFailed(); 18 | } 19 | -------------------------------------------------------------------------------- /volley/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ftp/src/main/java/com/dasu/ftp/OnUploadListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.ftp; 2 | 3 | /** 4 | * Created by suxq on 2018/9/11. 5 | */ 6 | 7 | public interface OnUploadListener { 8 | /** 9 | * 上传成功 10 | */ 11 | void onSuccess(); 12 | 13 | /** 14 | * 上传失败,具体原因见 code 和 description 15 | * @param code 错误码,具体见{@link DFtp} 16 | * @param description 错误信息 17 | */ 18 | void onError(int code, Exception description); 19 | } 20 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /log/src/main/java/com/dasu/log/OnUploadListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.log; 2 | 3 | /** 4 | * Created by suxq on 2018/9/11. 5 | */ 6 | 7 | public interface OnUploadListener { 8 | /** 9 | * 上传成功 10 | */ 11 | void onSuccess(); 12 | 13 | /** 14 | * 上传失败,具体原因见 code 和 description 15 | * @param code 错误码,具体见{@link LogConstValue} 16 | * @param description 错误信息 17 | */ 18 | void onError(int code, Exception description); 19 | } 20 | -------------------------------------------------------------------------------- /blur/src/main/java/com/dasu/blur/process/ThreadManager.java: -------------------------------------------------------------------------------- 1 | package com.dasu.blur.process; 2 | 3 | import java.util.concurrent.ExecutorService; 4 | import java.util.concurrent.Executors; 5 | 6 | /** 7 | * Created by suxq on 2018/10/11. 8 | */ 9 | 10 | public class ThreadManager { 11 | static final ExecutorService EXECUTOR = Executors.newCachedThreadPool(); 12 | 13 | public static void execTask(Runnable task) { 14 | EXECUTOR.execute(task); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /volley/src/main/java/com/dasu/volley/DVolleyCode.java: -------------------------------------------------------------------------------- 1 | package com.dasu.volley; 2 | 3 | /** 4 | * Created by dasu on 2018/10/22. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | */ 8 | public interface DVolleyCode { 9 | /** 10 | * 未知原因 11 | */ 12 | int UNKNOWN_ERROR = -1; 13 | /** 14 | * Json 解析失败 15 | */ 16 | int PARSE_FAIL = -2; 17 | 18 | /** 19 | * 返回数据为 null 20 | */ 21 | int RESPONSE_NULL = -3; 22 | } 23 | -------------------------------------------------------------------------------- /ftp/src/test/java/com/dasu/ftp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.ftp; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /log/src/test/java/com/dasu/log/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.log; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /ui/src/test/java/com/dasu/ui/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.ui; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /blur/src/test/java/com/dasu/blur/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.blur; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /crash/src/test/java/com/dasu/crash/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.crash; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /event/src/test/java/com/dasu/event/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.event; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /glide/src/test/java/com/dasu/glide/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.glide; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_blankj.xml: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /fresco/src/test/java/com/dasu/fresco/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.fresco; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /okhttp/src/test/java/com/dasu/okhttp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.okhttp; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /thread/src/test/java/com/dasu/thread/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.thread; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /volley/src/test/java/com/dasu/volley/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.volley; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /blur/src/main/java/com/dasu/blur/process/z-package-info: -------------------------------------------------------------------------------- 1 | 记录者:dasu 2 | 时间:2018-10-10 3 | 4 | 这个 package 负责不同类型的高斯模糊的实现,包括 javaBlur, RsBlur, NativeBlur, StackBlur 5 | 简单点说就是,Java 层高斯模糊算法实现、Native 层C高斯模糊算法实现、Android系统自带 RS 接口等等。 6 | 7 | 不同类型的高斯模糊性能、适用场景不同。如 Java 层普遍耗时长,C 层需要编译对应平台的 so 文件 8 | 9 | 四种高斯模糊方式耗时排名如下: 10 | RS ~ Native >> stack ~ java 11 | 前两者远快于后两张效率 12 | 13 | 注意:如果你不是直接依赖该项目,而是使用拷贝到你自己工程的方式,那么需要修改 jni 中 blur.c 代码里的包名 14 | 如:JNIEXPORT void JNICALL Java_com_dasu_blur_process_NativeBlurProcess_functionToBlur -------------------------------------------------------------------------------- /tv/src/test/java/com/dasu/tv/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /view/src/test/java/com/dasu/view/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.view; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /update/src/test/java/com/dasu/update/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.update; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /utils/src/test/java/com/dasu/utils/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.utils; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /app/src/main/java/com/dasu/basemodule/CrashActivity.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v7.app.AppCompatActivity; 6 | 7 | /** 8 | * Created by suxq on 2018/10/9. 9 | */ 10 | 11 | public class CrashActivity extends AppCompatActivity { 12 | 13 | @Override 14 | protected void onCreate(@Nullable Bundle savedInstanceState) { 15 | super.onCreate(savedInstanceState); 16 | int i = 1 / 0; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /app/src/test/java/com/dasu/basemodule/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /blur/src/main/java/com/dasu/blur/process/BlurProcess.java: -------------------------------------------------------------------------------- 1 | package com.dasu.blur.process; 2 | 3 | import android.graphics.Bitmap; 4 | 5 | public interface BlurProcess { 6 | /** 7 | * Process the given image, blurring by the supplied radius. 8 | * If radius is 0, this will return original 9 | * @param original the bitmap to be blurred 10 | * @param radius the radius in pixels to blur the image 11 | * @return the blurred version doBlur the image. 12 | */ 13 | public Bitmap blur(Bitmap original, float radius); 14 | } 15 | -------------------------------------------------------------------------------- /database/src/test/java/com/dasu/database/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.database; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /localnet/src/test/java/com/dasu/localnet/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.localnet; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /retrofit/src/test/java/com/dasu/okhttp/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.dasu.okhttp; 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() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /volley/src/main/java/com/dasu/volley/VolleyListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.volley; 2 | 3 | /** 4 | * Created by dasu on 2018/10/22. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | */ 8 | public interface VolleyListener { 9 | 10 | /** 11 | * 请求成功回调 12 | * @param data 13 | */ 14 | void onSuccess(T data); 15 | 16 | /** 17 | * 请求失败的回调 18 | * @param code 19 | * @param description 20 | */ 21 | void onError(int code, String description); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /retrofit/src/main/java/com/dasu/okhttp/RetrofitListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.okhttp; 2 | 3 | /** 4 | * Created by suxq on 2017/4/13. 5 | */ 6 | 7 | public interface RetrofitListener { 8 | 9 | /** 10 | * 请求成功时回调 11 | * 12 | * @param data 网络请求的数据对象 13 | */ 14 | void onSuccess(T data); 15 | 16 | /** 17 | * 请求失败时回调,网络问题造成的连接失败以及服务端返回的code不在200-300内,比如404 18 | * 都会触发该回调 19 | * 20 | * @param description 失败的描述 21 | */ 22 | void onError(String description); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /app/src/main/java/com/dasu/basemodule/wams/WamsParams.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule.wams; 2 | 3 | /** 4 | * Created by dasu on 2018/10/26. 5 | * 微信公众号:dasuAndroidTv 6 | * https://github.com/woshidasusu/DWanAndroid 7 | */ 8 | class WamsParams { 9 | 10 | public static final String HOST = "http://www.wanandroid.com/"; 11 | 12 | public static String apiArticleList(int page) { 13 | return HOST + "article/list/" + page + "/json"; 14 | } 15 | 16 | public static String apiBanner() { 17 | return HOST + "banner/json"; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /volley/src/main/java/com/dasu/volley/ICommonResultStruct.java: -------------------------------------------------------------------------------- 1 | package com.dasu.volley; 2 | 3 | /** 4 | * Created by dasu on 2018/10/26. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 服务端接口返回的数据的外层统一结构抽象,例如 wanandroid 的 api: 9 | * { 10 | * "data": T(泛型), 11 | * "errorCode": 1, 12 | * "errorMsg": "error" 13 | * } 14 | * 15 | * 该接口结合 {@link IResponseInterceptor} 一起使用,可达到统一处理接口的非数据字段的逻辑处理。 16 | */ 17 | public interface ICommonResultStruct { 18 | /** 19 | * 返回统一结构中的代表 content data 的字段 20 | * @return 21 | */ 22 | T getData(); 23 | } 24 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /database/src/main/java/com/dasu/database/IDatabaseTable.java: -------------------------------------------------------------------------------- 1 | package com.dasu.database; 2 | 3 | import android.database.sqlite.SQLiteDatabase; 4 | 5 | /** 6 | * 每张数据库表都必须实现的规范 7 | * {@link AbstractDbTable} 该类提供了默认的表升级操作 8 | * 9 | * Created by suxq on 2018/5/5. 10 | */ 11 | 12 | public interface IDatabaseTable { 13 | 14 | /** 15 | * 数据库表名 16 | */ 17 | String getName(); 18 | 19 | /** 20 | * 数据库创建时被调用,用于创建数据库表 21 | */ 22 | void onCreate(SQLiteDatabase db); 23 | 24 | /** 25 | * 数据库升级时被调用,用于更新数据库表 26 | * 27 | */ 28 | void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion, String tempName); 29 | 30 | } 31 | -------------------------------------------------------------------------------- /app/src/main/java/com/dasu/basemodule/wams/HomeController.java: -------------------------------------------------------------------------------- 1 | package com.dasu.basemodule.wams; 2 | 3 | import com.dasu.volley.VolleyListener; 4 | 5 | /** 6 | * Created by dasu on 2018/10/26. 7 | * 微信公众号:dasuAndroidTv 8 | * https://github.com/woshidasusu/DWanAndroid 9 | * 10 | * 主页模块统一对外的接口 11 | */ 12 | public class HomeController { 13 | public static void getArticleList(int page, Object tag, VolleyListener volleyListener) { 14 | HomeRequest.getArticleList(page, tag, volleyListener); 15 | } 16 | 17 | public static void getBanner(Object tag, VolleyListener volleyListener) { 18 | HomeRequest.getBanner(tag, volleyListener); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /update/src/main/java/com/dasu/update/OnUpdateListener.java: -------------------------------------------------------------------------------- 1 | package com.dasu.update; 2 | 3 | 4 | /** 5 | * Created by dasu on 2017/4/7. 6 | * 微信公众号:dasuAndroidTv 7 | * blog:https://www.jianshu.com/u/bb52a2918096 8 | * 9 | */ 10 | 11 | public interface OnUpdateListener { 12 | 13 | /** 14 | * apk下载的进度 15 | * 16 | * @param progress 取值范围 0--100 17 | */ 18 | void onDownloading(int progress); 19 | 20 | /** 21 | * apk是否成功下载 22 | * 23 | * @param isSucceed ture: 下载成功 24 | */ 25 | void onDownloadFinish(boolean isSucceed, String apkPath); 26 | 27 | /** 28 | * 准备升级,在这阶段做点升级前的准备,比如初始化弹窗等 29 | */ 30 | void onPreUpdate(Object newVersionInfo); 31 | } 32 | -------------------------------------------------------------------------------- /event/src/main/java/com/dasu/event/DEventBus.java: -------------------------------------------------------------------------------- 1 | package com.dasu.event; 2 | 3 | /** 4 | * Created by dasu on 2018/10/26. 5 | * 微信公众号:dasuAndroidTv 6 | * blog:https://www.jianshu.com/u/bb52a2918096 7 | * 8 | * 事件通信入口 9 | */ 10 | public class DEventBus { 11 | private static EventHelper sEventHelper = new EventHelper(); 12 | 13 | public static void register(String event, EventObserver observer) { 14 | sEventHelper.register(event, observer); 15 | } 16 | 17 | public static void unregister(EventObserver observer) { 18 | sEventHelper.unregister(observer); 19 | } 20 | 21 | public static void notifyEvent(String event, Object data) { 22 | sEventHelper.notifyEvent(event); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tv/src/main/java/com/dasu/tv/TvCardView.java: -------------------------------------------------------------------------------- 1 | package com.dasu.tv; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.FrameLayout; 6 | 7 | /** 8 | * Created by dasu on 2018/7/10. 9 | * 微信公众号:dasuAndroidTv 10 | * blog:https://www.jianshu.com/u/bb52a2918096 11 | * 12 | * 卡位控件 13 | */ 14 | 15 | public class TvCardView extends FrameLayout { 16 | 17 | 18 | 19 | public TvCardView(Context context) { 20 | super(context); 21 | } 22 | 23 | public TvCardView(Context context, AttributeSet attrs) { 24 | super(context, attrs); 25 | } 26 | 27 | public TvCardView(Context context, AttributeSet attrs, int defStyleAttr) { 28 | super(context, attrs, defStyleAttr); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_volley.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 13 | 14 |