├── PatternsDemo ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── layout │ │ │ │ │ └── activity_main.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── patterns │ │ │ │ │ └── MainActivity.kt │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── patterns │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── patterns │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitignore ├── build.gradle └── gradle.properties ├── SimpleCalces ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ └── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── simplecalces │ │ │ │ │ ├── aaa.java │ │ │ │ │ └── MainActivity.kt │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── simplecalces │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── simplecalces │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── library1 │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── layout │ │ │ │ │ └── activity_library1.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── library1 │ │ │ │ │ └── Library1Activity.kt │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── library1 │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── library1 │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── library2 │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── layout │ │ │ │ │ └── activity_library2.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── library2 │ │ │ │ │ └── Library2Activity.kt │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── library2 │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── library2 │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .idea │ ├── caches │ │ └── build_file_checksums.ser │ ├── vcs.xml │ ├── runConfigurations.xml │ └── gradle.xml ├── .gitignore └── gradle.properties ├── Dagger2Simple ├── order │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ │ └── fragment_dishes.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── menu │ │ │ │ │ ├── menu_dishes.xml │ │ │ │ │ └── menu_dishes_item.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── order │ │ │ │ │ ├── TestModule.java │ │ │ │ │ ├── TestComponent.java │ │ │ │ │ ├── di │ │ │ │ │ ├── DishesScoped.java │ │ │ │ │ ├── FragmentScoped.java │ │ │ │ │ ├── ActivityScoped.java │ │ │ │ │ ├── OrderAppComponent.java │ │ │ │ │ ├── LayoutManagerModules.java │ │ │ │ │ └── ActivityModules.java │ │ │ │ │ ├── OrderApp.java │ │ │ │ │ ├── ui │ │ │ │ │ ├── addedit │ │ │ │ │ │ ├── AddEditDishContract.java │ │ │ │ │ │ └── AddEditModules.java │ │ │ │ │ └── dishes │ │ │ │ │ │ ├── DishesContract.java │ │ │ │ │ │ └── DishesModules.java │ │ │ │ │ ├── BaseView.java │ │ │ │ │ └── ActivityUtils.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── order │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── order │ │ │ └── ExampleInstrumentedTest.java │ └── proguard-rules.pro ├── simple │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ └── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── dagger2simple │ │ │ │ │ ├── cook │ │ │ │ │ ├── Cooking.java │ │ │ │ │ ├── Menu.java │ │ │ │ │ └── Chef.java │ │ │ │ │ ├── di │ │ │ │ │ ├── ActivityModules.java │ │ │ │ │ ├── CookModules.java │ │ │ │ │ └── CookAppComponent.java │ │ │ │ │ ├── MyApplication.java │ │ │ │ │ └── MainActivity.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── dagger2simple │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── dagger2simple │ │ │ └── ExampleInstrumentedTest.java │ └── proguard-rules.pro ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .gitignore ├── build.gradle └── gradle.properties ├── ScreenAdaptation ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── styles.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── dimens.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ ├── values-sw375dp │ │ │ │ │ └── dimens.xml │ │ │ │ ├── values-sw900dp │ │ │ │ │ └── dimens.xml │ │ │ │ ├── values-sw411dp │ │ │ │ │ └── dimens.xml │ │ │ │ └── values-sw320dp │ │ │ │ │ └── dimens.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── screenadaptation │ │ │ │ │ └── MainActivity.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── screenadaptation │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── screenadaptation │ │ │ └── ExampleInstrumentedTest.java │ └── proguard-rules.pro ├── settings.gradle ├── .gitignore ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .idea │ └── vcs.xml ├── build.gradle └── gradle.properties ├── TodoCalces ├── app │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── menu │ │ │ │ │ └── menu_main.xml │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── todocalces │ │ │ │ │ └── ada.java │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── todocalces │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── todocalces │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── lib │ ├── datalib │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ └── values │ │ │ │ │ │ └── strings.xml │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── datalib │ │ │ │ │ ├── RequestCode.java │ │ │ │ │ └── ExtraKey.java │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── datalib │ │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── datalib │ │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro │ └── superlib │ │ ├── .gitignore │ │ ├── src │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ ├── logo.png │ │ │ │ │ ├── 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 │ │ │ │ ├── drawable │ │ │ │ │ ├── touch_feedback.xml │ │ │ │ │ ├── list_completed_touch_feedback.xml │ │ │ │ │ ├── ic_add.xml │ │ │ │ │ ├── ic_done.xml │ │ │ │ │ ├── ic_menu.xml │ │ │ │ │ ├── ic_filter_list.xml │ │ │ │ │ ├── ic_list.xml │ │ │ │ │ ├── ic_statistics.xml │ │ │ │ │ ├── ic_statistics_24dp.xml │ │ │ │ │ ├── ic_check_circle_24dp.xml │ │ │ │ │ ├── ic_verified_user_24dp.xml │ │ │ │ │ ├── ic_statistics_100dp.xml │ │ │ │ │ └── ic_assignment_turned_in_24dp.xml │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── values │ │ │ │ │ └── colors.xml │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── superlib │ │ │ │ ├── App1.java │ │ │ │ ├── App2.java │ │ │ │ ├── util │ │ │ │ └── DiskIOThreadExecutor.java │ │ │ │ ├── BasePresenter.java │ │ │ │ └── BaseView.java │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── superlib │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── superlib │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro ├── modules │ ├── tasks │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ └── strings.xml │ │ │ │ │ └── menu │ │ │ │ │ │ └── filter_tasks.xml │ │ │ │ ├── AndroidManifest.xml │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── tasks │ │ │ │ │ └── TasksFilterType.java │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── tasks │ │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── tasks │ │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro │ ├── addtask │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── values │ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── menu │ │ │ │ │ │ └── menu_main.xml │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── addtask │ │ │ │ │ └── ExampleUnitTest.kt │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── addtask │ │ │ │ └── ExampleInstrumentedTest.kt │ │ └── proguard-rules.pro │ ├── statistics │ │ ├── .gitignore │ │ ├── src │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ └── values │ │ │ │ │ │ └── strings.xml │ │ │ │ └── AndroidManifest.xml │ │ │ ├── test │ │ │ │ └── java │ │ │ │ │ └── com │ │ │ │ │ └── tangpj │ │ │ │ │ └── statistics │ │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── statistics │ │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro │ └── taskdetail │ │ ├── .gitignore │ │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ └── strings.xml │ │ │ │ └── menu │ │ │ │ │ └── taskdetail_fragment_menu.xml │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── taskdetail │ │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── taskdetail │ │ │ └── ExampleInstrumentedTest.java │ │ └── proguard-rules.pro ├── nostatistic │ ├── .gitignore │ ├── src │ │ ├── main │ │ │ ├── res │ │ │ │ ├── values │ │ │ │ │ ├── strings.xml │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── styles.xml │ │ │ │ ├── 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 │ │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ │ ├── ic_launcher.xml │ │ │ │ │ └── ic_launcher_round.xml │ │ │ │ └── menu │ │ │ │ │ └── drawer_actions.xml │ │ │ └── AndroidManifest.xml │ │ ├── test │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── nostatistic │ │ │ │ └── ExampleUnitTest.kt │ │ └── androidTest │ │ │ └── java │ │ │ └── com │ │ │ └── tangpj │ │ │ └── nostatistic │ │ │ └── ExampleInstrumentedTest.kt │ └── proguard-rules.pro ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── .idea │ ├── caches │ │ └── build_file_checksums.ser │ ├── markdown-navigator │ │ └── profiles_settings.xml │ ├── vcs.xml │ └── runConfigurations.xml ├── settings.gradle ├── .gitignore └── gradle.properties ├── KotlinFp ├── gradle.properties ├── settings.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── src │ └── main │ │ └── kotlin │ │ ├── Currying.kt │ │ ├── CreateCard.kt │ │ ├── Book.kt │ │ ├── sotre │ │ ├── Charge.kt │ │ └── ChargeMonoid.kt │ │ └── sample │ │ ├── MonoidSample.kt │ │ ├── OptionSample.kt │ │ └── Foo.kt ├── local.properties └── build.gradle └── todoDatabinding ├── databindingcompilerv1 ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── 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 │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ └── layout │ │ │ │ └── activity_main.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── tangpj │ │ │ │ └── databindingcompilerv1 │ │ │ │ ├── utils │ │ │ │ └── BindingAdapters.java │ │ │ │ ├── MainActivity.java │ │ │ │ └── login │ │ │ │ ├── Account.java │ │ │ │ └── LoginActivity.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── tang │ │ │ └── com │ │ │ └── databindingcompilerv1 │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── tang │ │ └── com │ │ └── databindingcompilerv1 │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── databindingcompilerv2 ├── .gitignore ├── src │ ├── main │ │ ├── res │ │ │ ├── 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 │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ └── layout │ │ │ │ └── activity_main.xml │ │ ├── java │ │ │ └── tang │ │ │ │ └── com │ │ │ │ └── databindingcompilerv2 │ │ │ │ ├── utils │ │ │ │ └── BindingAdapters.java │ │ │ │ ├── login │ │ │ │ ├── Account.java │ │ │ │ └── LoginActivity.java │ │ │ │ └── MainActivity.java │ │ └── AndroidManifest.xml │ ├── test │ │ └── java │ │ │ └── tang │ │ │ └── com │ │ │ └── databindingcompilerv2 │ │ │ └── ExampleUnitTest.java │ └── androidTest │ │ └── java │ │ └── tang │ │ └── com │ │ └── databindingcompilerv2 │ │ └── ExampleInstrumentedTest.java └── proguard-rules.pro ├── settings.gradle ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── .idea ├── caches │ └── build_file_checksums.ser ├── vcs.xml ├── runConfigurations.xml └── gradle.xml ├── .gitignore ├── build.gradle └── gradle.properties /PatternsDemo/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /SimpleCalces/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Dagger2Simple/order/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /SimpleCalces/library1/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /SimpleCalces/library2/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /TodoCalces/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /PatternsDemo/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /KotlinFp/gradle.properties: -------------------------------------------------------------------------------- 1 | kotlin.code.style=official -------------------------------------------------------------------------------- /ScreenAdaptation/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /TodoCalces/modules/tasks/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /TodoCalces/nostatistic/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /TodoCalces/modules/statistics/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /TodoCalces/modules/taskdetail/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | /calces -------------------------------------------------------------------------------- /Dagger2Simple/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':simple', ':order' 2 | -------------------------------------------------------------------------------- /KotlinFp/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'KotlinFp' 2 | 3 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /SimpleCalces/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':library1', ':library2' 2 | -------------------------------------------------------------------------------- /todoDatabinding/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':databindingcompilerv1', ':databindingcompilerv2' 2 | -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Patterns 3 | 4 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/TestModule.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order; 2 | 3 | public class TestModule { 4 | } 5 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | SimpleCalces 3 | 4 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Library1 3 | 4 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Library2 3 | 4 | -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DataLib 3 | 4 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 16dp 3 | 4 | -------------------------------------------------------------------------------- /TodoCalces/modules/tasks/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | tasks 3 | 4 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/TestComponent.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order; 2 | 3 | public class TestComponent { 4 | } 5 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Dagger2Simple 3 | 4 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | ScreenAdaptation 3 | 4 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | nostatistic 3 | 4 | -------------------------------------------------------------------------------- /ScreenAdaptation/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | 5 | .DS_Store 6 | /build 7 | /captures 8 | .externalNativeBuild 9 | /.idea -------------------------------------------------------------------------------- /TodoCalces/modules/statistics/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | statistics 3 | 4 | -------------------------------------------------------------------------------- /TodoCalces/modules/taskdetail/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TaskDetail 3 | 4 | -------------------------------------------------------------------------------- /KotlinFp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/KotlinFp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /TodoCalces/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Dagger2Simple/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /PatternsDemo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /SimpleCalces/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /TodoCalces/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /todoDatabinding/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /ScreenAdaptation/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /SimpleCalces/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /TodoCalces/.idea/markdown-navigator/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /todoDatabinding/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/logo.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TodoCalces 3 | Settings 4 | 5 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/cook/Cooking.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.cook; 2 | 3 | public interface Cooking{ 4 | 5 | String cook(); 6 | } 7 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app', ':modules:addtask', ':lib:datalib', ':lib:superlib', ':modules:taskdetail', ':nostatistic', 2 | ':modules:tasks', ':modules:statistics' 3 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/src/main/java/com/tangpj/datalib/RequestCode.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.datalib; 2 | 3 | public class RequestCode { 4 | public static final int EDIT_TASK = 1; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | AddTask 3 | Settings 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | .DS_Store 5 | /build 6 | /captures 7 | .externalNativeBuild 8 | app/libs/ 9 | /.idea 10 | app/build 11 | gradlew.bat 12 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/PatternsDemo/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/order/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/app/src/main/java/com/tangpj/todocalces/ada.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.todocalces; 2 | 3 | import java.text.SimpleDateFormat; 4 | 5 | public class ada { 6 | public void aa(){ 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/Dagger2Simple/simple/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/ScreenAdaptation/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library1/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/SimpleCalces/library2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/lib/superlib/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/TodoCalces/nostatistic/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/java/com/tangpj/simplecalces/aaa.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.simplecalces; 2 | 3 | public class aaa { 4 | 5 | public void test(){ 6 | String a = "sdfasdf"; 7 | 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /TodoCalces/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /ScreenAdaptation/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /SimpleCalces/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /todoDatabinding/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv1/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tangpj/Android-advanced-blueprint/HEAD/todoDatabinding/databindingcompilerv2/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/Currying.kt: -------------------------------------------------------------------------------- 1 | package com.demo.learnKt 2 | 3 | fun sum(x: Int) : (Int) -> Int{ 4 | return { y: Int -> 5 | x + y 6 | } 7 | } 8 | 9 | fun sum1(x: Int, y: Int) : Int{ 10 | return x + y 11 | } 12 | -------------------------------------------------------------------------------- /TodoCalces/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/libraries 5 | /.idea/modules.xml 6 | /.idea/workspace.xml 7 | .DS_Store 8 | /build 9 | /captures 10 | .externalNativeBuild 11 | libs/ 12 | src/main/res/layout/ 13 | -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/src/main/java/com/tangpj/datalib/ExtraKey.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.datalib; 2 | 3 | public class ExtraKey { 4 | public static final String TASK_ID = "TASK_ID"; 5 | public static final String EDIT_TASK_ID = "EDIT_TASK_ID"; 6 | } 7 | -------------------------------------------------------------------------------- /PatternsDemo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #008577 4 | #00574B 5 | #D81B60 6 | 7 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/touch_feedback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #607D8B 4 | #455A64 5 | #03A9F4 6 | 7 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /PatternsDemo/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches/build_file_checksums.ser 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | .DS_Store 9 | /build 10 | /captures 11 | .externalNativeBuild 12 | .idea/caches/ 13 | app/libs/ 14 | .idea/ 15 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Dagger2Simple/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Oct 17 16:52:06 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-4.6-all.zip 7 | -------------------------------------------------------------------------------- /KotlinFp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Nov 15 15:38:11 CST 2019 2 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip 3 | distributionBase=GRADLE_USER_HOME 4 | distributionPath=wrapper/dists 5 | zipStorePath=wrapper/dists 6 | zipStoreBase=GRADLE_USER_HOME 7 | -------------------------------------------------------------------------------- /SimpleCalces/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Jul 18 17:49:36 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-4.4-all.zip 7 | -------------------------------------------------------------------------------- /TodoCalces/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 29 15:43:53 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-4.4-all.zip 7 | -------------------------------------------------------------------------------- /ScreenAdaptation/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Dec 09 10:50:18 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-4.9-all.zip 7 | -------------------------------------------------------------------------------- /todoDatabinding/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri May 11 13:42:12 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-4.4-all.zip 7 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Data Binding Compiler V1 3 | 请输入账号 4 | 请输入密码 5 | 登陆 6 | 7 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Data Binding Compiler V2 3 | 请输入账号 4 | 请输入密码 5 | 登陆 6 | 7 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/layout/fragment_dishes.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/CreateCard.kt: -------------------------------------------------------------------------------- 1 | package com.demo.learnKt 2 | 3 | /** 4 | * [amount] 剩余额度,懒,总额度不写了 5 | */ 6 | data class CreateCard(val id: Int,val amount: Int = 500){ 7 | 8 | fun charge(price: Int) : CreateCard{ 9 | println("pay $price yuan") 10 | return copy(amount = amount - price) 11 | } 12 | } -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/list_completed_touch_feedback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /KotlinFp/local.properties: -------------------------------------------------------------------------------- 1 | ## This file must *NOT* be checked into Version Control Systems, 2 | # as it contains information specific to your local configuration. 3 | # 4 | # Location of the SDK. This is only used by Gradle. 5 | # For customization when using a Version Control System, please read the 6 | # header note. 7 | #Fri Nov 15 15:36:02 CST 2019 8 | sdk.dir=/Users/tangpj/Library/Android/sdk 9 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/DishesScoped.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | import javax.inject.Scope; 8 | 9 | @Documented 10 | @Scope 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface DishesScoped { 13 | } 14 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_add.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/java/com/tangpj/superlib/App1.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.superlib; 2 | 3 | import android.app.Application; 4 | import android.util.Log; 5 | 6 | public class App1 extends Application{ 7 | private static final String TAG = "App1"; 8 | 9 | @Override 10 | public void onCreate() { 11 | super.onCreate(); 12 | Log.d(TAG, "onCreate App1"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_done.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_menu.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/di/ActivityModules.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.di; 2 | 3 | import com.tangpj.dagger2simple.MainActivity; 4 | 5 | import dagger.Module; 6 | import dagger.android.ContributesAndroidInjector; 7 | 8 | @Module 9 | abstract class ActivityModules { 10 | 11 | @ContributesAndroidInjector 12 | abstract MainActivity contributeMainActivity(); 13 | } -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/java/com/tangpj/patterns/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.patterns 2 | 3 | import android.support.v7.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class MainActivity : AppCompatActivity() { 7 | 8 | override fun onCreate(savedInstanceState: Bundle?) { 9 | super.onCreate(savedInstanceState) 10 | setContentView(R.layout.activity_main) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/java/com/tangpj/superlib/App2.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.superlib; 2 | 3 | import android.app.Application; 4 | import android.util.Log; 5 | 6 | public class App2 extends Application{ 7 | 8 | private static final String TAG = "App2"; 9 | 10 | @Override 11 | public void onCreate() { 12 | super.onCreate(); 13 | Log.d(TAG, "onCreate App2"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_filter_list.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/Book.kt: -------------------------------------------------------------------------------- 1 | package com.demo.learnKt 2 | 3 | data class Book( 4 | val name: String, 5 | val author: String, 6 | //单位元,假设只能标价整数 7 | val price: Int, 8 | val group: Group?) 9 | 10 | 11 | enum class Group{ 12 | //科技 13 | Technology, 14 | //人文 15 | Humanities, 16 | //杂志 17 | Magazine, 18 | //政治 19 | Political, 20 | //小说 21 | Fiction 22 | } 23 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/java/com/tangpj/library1/Library1Activity.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library1 2 | 3 | import android.support.v7.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class Library1Activity : AppCompatActivity() { 7 | 8 | override fun onCreate(savedInstanceState: Bundle?) { 9 | super.onCreate(savedInstanceState) 10 | setContentView(R.layout.activity_library1) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/java/com/tangpj/library2/Library2Activity.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library2 2 | 3 | import android.support.v7.app.AppCompatActivity 4 | import android.os.Bundle 5 | 6 | class Library2Activity : AppCompatActivity() { 7 | 8 | override fun onCreate(savedInstanceState: Bundle?) { 9 | super.onCreate(savedInstanceState) 10 | setContentView(R.layout.activity_library2) 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_list.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/sotre/Charge.kt: -------------------------------------------------------------------------------- 1 | package com.demo.learnKt.sotre 2 | 3 | import com.demo.learnKt.CreateCard 4 | import kotlin.random.Random 5 | 6 | /** 7 | * 费用 8 | * [id] 唯一标识符,太懒了,用随机数表示 9 | */ 10 | data class Charge( 11 | val createCard: CreateCard, 12 | val price: Int, 13 | val id: Int = Random.nextInt()){ 14 | companion object 15 | } 16 | 17 | 18 | fun Charge.Companion.monoid(createCard: CreateCard) = ChargeMonoid(createCard) -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/java/com/tangpj/databindingcompilerv1/utils/BindingAdapters.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv1.utils; 2 | 3 | import android.databinding.BindingAdapter; 4 | import android.view.View; 5 | 6 | public class BindingAdapters { 7 | 8 | @BindingAdapter("isVisible") 9 | public static void showHide(View view,boolean show) { 10 | view.setVisibility(show ? View.VISIBLE : View.GONE); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/java/tang/com/databindingcompilerv2/utils/BindingAdapters.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv2.utils; 2 | 3 | import android.databinding.BindingAdapter; 4 | import android.view.View; 5 | 6 | public class BindingAdapters { 7 | 8 | @BindingAdapter("isVisible") 9 | public static void showHide(View view,boolean show) { 10 | view.setVisibility(show ? View.VISIBLE : View.GONE); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/FragmentScoped.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 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 | import javax.inject.Scope; 9 | 10 | @Scope 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target({ElementType.TYPE, ElementType.METHOD}) 13 | public @interface FragmentScoped {} 14 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/test/java/com/tangpj/patterns/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.patterns 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TodoCalces/app/src/test/java/com/tangpj/todocalces/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.todocalces 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/menu/menu_dishes.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/test/java/com/tangpj/simplecalces/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.simplecalces 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/test/java/com/tangpj/library1/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library1 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/test/java/com/tangpj/library2/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library2 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TodoCalces/app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/test/java/com/tangpj/addtask/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.addtask 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /KotlinFp/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'org.jetbrains.kotlin.jvm' version '1.3.41' 3 | } 4 | 5 | group 'com.demo' 6 | version '1.0-SNAPSHOT' 7 | 8 | repositories { 9 | mavenCentral() 10 | } 11 | 12 | dependencies { 13 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" 14 | implementation "io.arrow-kt:arrow-core:0.10.2" 15 | } 16 | 17 | compileKotlin { 18 | kotlinOptions.jvmTarget = "1.8" 19 | } 20 | compileTestKotlin { 21 | kotlinOptions.jvmTarget = "1.8" 22 | } -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/test/java/com/tangpj/nostatistic/ExampleUnitTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.nostatistic 2 | 3 | import org.junit.Test 4 | 5 | import org.junit.Assert.* 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * See [testing documentation](http://d.android.com/tools/testing). 11 | */ 12 | class ExampleUnitTest { 13 | @Test 14 | fun addition_isCorrect() { 15 | assertEquals(4, 2 + 2) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_statistics.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/cook/Menu.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.cook; 2 | 3 | import java.util.Map; 4 | 5 | import javax.inject.Inject; 6 | import javax.inject.Singleton; 7 | 8 | 9 | public class Menu { 10 | 11 | public Map menus; 12 | 13 | @Inject 14 | public Menu( Map menus){ 15 | this.menus = menus; 16 | } 17 | 18 | Map getMenus(){ 19 | return menus; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/sample/MonoidSample.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | import arrow.core.extensions.IntMonoid 4 | import arrow.core.extensions.list.foldable.foldMap 5 | import arrow.core.extensions.monoid 6 | import arrow.core.identity 7 | import arrow.core.k 8 | 9 | fun main() { 10 | val monoid = Int.monoid() 11 | val sum = listOf(1, 2, 3, 4, 5).foldMap(monoid, ::identity) 12 | println("sum = $sum") 13 | 14 | listOf(1, 2, 3, 4, 5).fold(0){acc, i -> 15 | acc + i 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_statistics_24dp.xml: -------------------------------------------------------------------------------- 1 | 6 | 9 | 10 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/test/java/com/tangpj/order/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order; 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 | } -------------------------------------------------------------------------------- /TodoCalces/lib/datalib/src/test/java/com/tangpj/datalib/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.datalib; 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 | } -------------------------------------------------------------------------------- /TodoCalces/modules/tasks/src/test/java/com/tangpj/tasks/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.tasks; 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 | } -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_check_circle_24dp.xml: -------------------------------------------------------------------------------- 1 | 7 | 10 | 11 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/test/java/com/tangpj/superlib/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.superlib; 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 | } -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/test/java/com/tangpj/dagger2simple/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple; 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 | } -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/test/java/com/tangpj/screenadaptation/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.screenadaptation; 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 | } -------------------------------------------------------------------------------- /TodoCalces/modules/statistics/src/test/java/com/tangpj/statistics/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.statistics; 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 | } -------------------------------------------------------------------------------- /TodoCalces/modules/taskdetail/src/test/java/com/tangpj/taskdetail/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.taskdetail; 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 | } -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/test/java/tang/com/databindingcompilerv1/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv1; 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 | } -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/test/java/tang/com/databindingcompilerv2/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv2; 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 | } -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_verified_user_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_statistics_100dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /TodoCalces/modules/tasks/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/di/CookModules.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.di; 2 | 3 | import java.util.LinkedHashMap; 4 | import java.util.Map; 5 | 6 | 7 | import dagger.Module; 8 | import dagger.Provides; 9 | 10 | @Module 11 | public class CookModules { 12 | 13 | @Provides 14 | public Map providerMenus(){ 15 | Map menus = new LinkedHashMap<>(); 16 | menus.put("酸菜鱼", true); 17 | menus.put("土豆丝", true); 18 | menus.put("铁板牛肉", true); 19 | return menus; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/sample/OptionSample.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | import arrow.core.Option 4 | import arrow.core.getOrElse 5 | 6 | 7 | fun main(args: Array) { 8 | fooOption("hello word!!!") 9 | println("——————————————————————") 10 | fooOption(null) 11 | } 12 | 13 | fun fooOption(str: String?){ 14 | val optionStr = Option.fromNullable(str) 15 | val printStr = optionStr.getOrElse { "str is null" } 16 | println(printStr) 17 | optionStr.exists { 18 | println("str is not null! str = $it") 19 | true 20 | } 21 | 22 | } 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /TodoCalces/modules/statistics/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/OrderApp.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order; 2 | 3 | import com.tangpj.order.di.DaggerOrderAppComponent; 4 | 5 | import dagger.android.AndroidInjector; 6 | import dagger.android.support.DaggerApplication; 7 | 8 | public class OrderApp extends DaggerApplication { 9 | 10 | 11 | @Override 12 | public void onCreate() { 13 | super.onCreate(); 14 | 15 | } 16 | 17 | @Override 18 | protected AndroidInjector applicationInjector() { 19 | return DaggerOrderAppComponent.builder().create(this); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /TodoCalces/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /SimpleCalces/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /todoDatabinding/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/ui/addedit/AddEditDishContract.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.ui.addedit; 2 | 3 | import com.tangpj.order.BasePresenter; 4 | import com.tangpj.order.BaseView; 5 | import com.tangpj.order.pojo.Dish; 6 | 7 | public interface AddEditDishContract { 8 | 9 | interface View extends BaseView{ 10 | void showDish(Dish dish); 11 | void showEmptyDishError(); 12 | void saveSucceed(Dish dish); 13 | } 14 | 15 | interface Presenter extends BasePresenter{ 16 | void saveDish(String name, String description); 17 | void loadDish(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Order 3 | Settings 4 | 5 | 保存 6 | 请输入菜式名字,10个字以内 7 | 请输入菜式描述 8 | 找不到指定菜式 9 | 菜单 10 | 添加菜式 11 | 编辑菜式 12 | 新增 13 | 编辑 14 | 删除 15 | 16 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values-sw375dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0.5dp 4 | 48.8dp 5 | 75.0dp 6 | 100.0dp 7 | 125.0dp 8 | 150.0dp 9 | 200.0dp 10 | 250.0dp 11 | 300.0dp 12 | 375.0dp 13 | 28.0sp 14 | 32.0sp 15 | 40.0sp 16 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values-sw900dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 1.2dp 4 | 117.12dp 5 | 180.0dp 6 | 240.0dp 7 | 300.0dp 8 | 360.0dp 9 | 480.0dp 10 | 600.0dp 11 | 720.0dp 12 | 900.0dp 13 | 67.2sp 14 | 76.8sp 15 | 96.0sp 16 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values-sw411dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0.548dp 4 | 53.485dp 5 | 82.2dp 6 | 109.6dp 7 | 137.0dp 8 | 164.4dp 9 | 219.2dp 10 | 274.0dp 11 | 328.8dp 12 | 411.0dp 13 | 30.688sp 14 | 35.072sp 15 | 43.84sp 16 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | #000 7 | 8 | #651FFF 9 | #00BCD4 10 | #009688 11 | #607D8B 12 | #E91E63 13 | #2E7D32 14 | #795548 15 | #FFF 16 | 17 | -------------------------------------------------------------------------------- /Dagger2Simple/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.2.1' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values-sw320dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0.427dp 4 | 41.643dp 5 | 64.0dp 6 | 85.333dp 7 | 106.667dp 8 | 128.0dp 9 | 170.667dp 10 | 213.333dp 11 | 256.0dp 12 | 320.0dp 13 | 23.893sp 14 | 27.307sp 15 | 34.133sp 16 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/ui/dishes/DishesContract.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.ui.dishes; 2 | 3 | import com.tangpj.order.BasePresenter; 4 | import com.tangpj.order.BaseView; 5 | import com.tangpj.order.pojo.Dish; 6 | 7 | import java.util.List; 8 | import java.util.Map; 9 | 10 | public interface DishesContract { 11 | 12 | interface View extends BaseView{ 13 | void showDishes(List dishes); 14 | } 15 | 16 | interface Presenter extends BasePresenter{ 17 | 18 | void loadDishes(); 19 | 20 | String order(Map selectMap); 21 | 22 | boolean deleteDish(String id); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/res/menu/menu_dishes_item.xml: -------------------------------------------------------------------------------- 1 | 5 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /todoDatabinding/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.1.2' 11 | 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/java/com/tangpj/screenadaptation/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.screenadaptation; 2 | 3 | import android.support.v7.app.AppCompatActivity; 4 | import android.os.Bundle; 5 | import android.widget.TextView; 6 | 7 | public class MainActivity extends AppCompatActivity { 8 | 9 | TextView tvSw; 10 | 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | setContentView(R.layout.activity_main); 15 | int sw = getResources().getConfiguration().smallestScreenWidthDp; 16 | tvSw = findViewById(R.id.tv_sw); 17 | tvSw.setText("sw = " + sw + "dp"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/java/com/tangpj/superlib/util/DiskIOThreadExecutor.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.superlib.util; 2 | 3 | import android.support.annotation.NonNull; 4 | 5 | import java.util.concurrent.Executor; 6 | import java.util.concurrent.Executors; 7 | 8 | /** 9 | * Executor that runs a task on a new background thread. 10 | */ 11 | public class DiskIOThreadExecutor implements Executor { 12 | 13 | private final Executor mDiskIO; 14 | 15 | public DiskIOThreadExecutor() { 16 | mDiskIO = Executors.newSingleThreadExecutor(); 17 | } 18 | 19 | @Override 20 | public void execute(@NonNull Runnable command) { 21 | mDiskIO.execute(command); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /TodoCalces/lib/superlib/src/main/res/drawable/ic_assignment_turned_in_24dp.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/di/CookAppComponent.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.di; 2 | 3 | import com.tangpj.dagger2simple.MyApplication; 4 | 5 | import javax.inject.Singleton; 6 | 7 | import dagger.Component; 8 | import dagger.android.AndroidInjector; 9 | import dagger.android.support.AndroidSupportInjectionModule; 10 | 11 | @Singleton 12 | @Component(modules = { 13 | AndroidSupportInjectionModule.class, 14 | ActivityModules.class, 15 | CookModules.class}) 16 | public interface CookAppComponent extends AndroidInjector { 17 | 18 | @Component.Builder 19 | abstract class Builder extends AndroidInjector.Builder{} 20 | 21 | } 22 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/ActivityScoped.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 2 | 3 | import java.lang.annotation.Documented; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | import javax.inject.Scope; 8 | 9 | /** 10 | * In Dagger, an unscoped component cannot depend on a scoped component. As 11 | * {@link OrderAppComponent} is a scoped component ({@code @Singleton}, we create a custom 12 | * scope to be used by all fragment components. Additionally, a component with a specific scope 13 | * cannot have a sub component with the same scope. 14 | */ 15 | @Documented 16 | @Scope 17 | @Retention(RetentionPolicy.RUNTIME) 18 | public @interface ActivityScoped { 19 | } 20 | -------------------------------------------------------------------------------- /ScreenAdaptation/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 0.5dp 5 | 48.8dp 6 | 75dp 7 | 100dp 8 | 125dp 9 | 150dp 10 | 200dp 11 | 250dp 12 | 300dp 13 | 375dp 14 | 15 | 16 | 28sp 17 | 32sp 18 | 40sp 19 | -------------------------------------------------------------------------------- /ScreenAdaptation/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.1.4' 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | plugins { 17 | id "calces.screen" version "1.2.52" 18 | } 19 | 20 | allprojects { 21 | repositories { 22 | google() 23 | jcenter() 24 | 25 | } 26 | } 27 | 28 | task clean(type: Delete) { 29 | delete rootProject.buildDir 30 | } 31 | -------------------------------------------------------------------------------- /KotlinFp/src/main/kotlin/sample/Foo.kt: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | import com.demo.learnKt.Book 4 | 5 | fun foo(books: List?) : Book?{ 6 | val size = books?.size ?: 0 7 | return if (size > 5){ 8 | books?.get(5) 9 | }else { 10 | books?.firstOrNull() 11 | } 12 | } 13 | 14 | fun foo1(books: List?) : Book?{ 15 | return if (books != null){ 16 | if (books.size > 5){ 17 | books[5] 18 | }else{ 19 | books.firstOrNull() 20 | } 21 | }else{ 22 | null 23 | } 24 | } 25 | 26 | fun foo2(books: List?) : Book?{ 27 | books ?: return null 28 | return if (books.size > 5){ 29 | books[5] 30 | }else{ 31 | books.firstOrNull() 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/java/com/tangpj/databindingcompilerv1/MainActivity.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv1; 2 | 3 | import android.databinding.DataBindingUtil; 4 | import android.support.v7.app.AppCompatActivity; 5 | import android.os.Bundle; 6 | 7 | import tang.com.databindingcompilerv1.databinding.ActivityMainBinding; 8 | 9 | public class MainActivity extends AppCompatActivity { 10 | 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); 15 | binding.setHello(getIntent().getStringExtra("hello") + "\n hello word !"); 16 | 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/java/tang/com/databindingcompilerv2/login/Account.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv2.login; 2 | 3 | import android.arch.lifecycle.MutableLiveData; 4 | 5 | public class Account { 6 | private MutableLiveData accountNum = new MutableLiveData<>(); 7 | private MutableLiveData password = new MutableLiveData<>(); 8 | 9 | Account(String accountNum, String password){ 10 | this.accountNum.setValue(accountNum); 11 | this.password.setValue(password); 12 | } 13 | 14 | public MutableLiveData getAccountNum(){ 15 | return accountNum; 16 | } 17 | 18 | public MutableLiveData getPassword(){ 19 | return password; 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/MyApplication.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple; 2 | 3 | 4 | 5 | 6 | import com.tangpj.dagger2simple.cook.Chef; 7 | import com.tangpj.dagger2simple.di.DaggerCookAppComponent; 8 | 9 | import javax.inject.Inject; 10 | 11 | import dagger.android.AndroidInjector; 12 | import dagger.android.DaggerApplication; 13 | 14 | public class MyApplication extends DaggerApplication{ 15 | 16 | @Inject 17 | Chef chef; 18 | 19 | @Override 20 | public void onCreate() { 21 | super.onCreate(); 22 | } 23 | 24 | @Override 25 | protected AndroidInjector applicationInjector() { 26 | return DaggerCookAppComponent.builder().create(this); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /TodoCalces/modules/taskdetail/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /PatternsDemo/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | ext.kotlin_version = '1.2.71' 5 | repositories { 6 | google() 7 | jcenter() 8 | } 9 | dependencies { 10 | classpath 'com.android.tools.build:gradle:3.2.1' 11 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 12 | 13 | // NOTE: Do not place your application dependencies here; they belong 14 | // in the individual module build.gradle files 15 | } 16 | } 17 | 18 | allprojects { 19 | repositories { 20 | google() 21 | jcenter() 22 | } 23 | } 24 | 25 | task clean(type: Delete) { 26 | delete rootProject.buildDir 27 | } 28 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv1/src/main/java/com/tangpj/databindingcompilerv1/login/Account.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv1.login; 2 | 3 | import android.databinding.ObservableField; 4 | import android.text.TextWatcher; 5 | 6 | public class Account { 7 | private ObservableField accountNum = new ObservableField<>(); 8 | private ObservableField password = new ObservableField<>(); 9 | 10 | Account(String accountNum, String password){ 11 | this.accountNum.set(accountNum); 12 | this.password.set(password); 13 | } 14 | 15 | public ObservableField getAccountNum(){ 16 | return accountNum; 17 | } 18 | 19 | public ObservableField getPassword(){ 20 | return password; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /Dagger2Simple/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/OrderAppComponent.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 2 | 3 | import com.tangpj.order.OrderApp; 4 | import com.tangpj.order.ui.dishes.DishesModules; 5 | 6 | import javax.inject.Singleton; 7 | 8 | import dagger.Component; 9 | import dagger.android.AndroidInjector; 10 | import dagger.android.support.AndroidSupportInjectionModule; 11 | 12 | @Singleton 13 | @Component(modules = { 14 | AndroidSupportInjectionModule.class, 15 | LayoutManagerModules.class, 16 | CookAppModules.class, 17 | ActivityModules.class}) 18 | public interface OrderAppComponent extends AndroidInjector{ 19 | 20 | @Component.Builder 21 | abstract class Builder extends AndroidInjector.Builder{ 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /SimpleCalces/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /TodoCalces/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /ScreenAdaptation/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /todoDatabinding/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx1536m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | -------------------------------------------------------------------------------- /todoDatabinding/databindingcompilerv2/src/main/java/tang/com/databindingcompilerv2/MainActivity.java: -------------------------------------------------------------------------------- 1 | package tang.com.databindingcompilerv2; 2 | 3 | import android.databinding.DataBindingUtil; 4 | import android.os.Bundle; 5 | import android.support.v7.app.AppCompatActivity; 6 | 7 | import tang.com.databindingcompilerv2.databinding.ActivityMainBinding; 8 | 9 | public class MainActivity extends AppCompatActivity { 10 | 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | ActivityMainBinding binding = DataBindingUtil.setContentView(this, R.layout.activity_main); 15 | binding.setHello(getIntent().getStringExtra("hello") + "\n hello word !"); 16 | binding.setLifecycleOwner(this); 17 | 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /todoDatabinding/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 19 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/BaseView.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2016, The Android Open Source Project 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.tangpj.order; 18 | 19 | public interface BaseView { 20 | } 21 | -------------------------------------------------------------------------------- /Dagger2Simple/simple/src/main/java/com/tangpj/dagger2simple/cook/Chef.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.dagger2simple.cook; 2 | 3 | 4 | import java.util.Map; 5 | 6 | import javax.inject.Inject; 7 | import javax.inject.Singleton; 8 | 9 | public class Chef implements Cooking{ 10 | 11 | Menu menu; 12 | 13 | @Inject 14 | public Chef(Menu menu){ 15 | this.menu = menu; 16 | } 17 | 18 | @Override 19 | public String cook(){ 20 | Map menuList = menu.getMenus(); 21 | StringBuilder sb = new StringBuilder(); 22 | for (Map.Entry entry : menuList.entrySet()){ 23 | if (entry.getValue()){ 24 | sb.append(entry.getKey()).append(","); 25 | } 26 | } 27 | 28 | return sb.toString(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/LayoutManagerModules.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 2 | 3 | import android.content.Context; 4 | import android.support.v7.widget.LinearLayoutManager; 5 | 6 | import javax.inject.Named; 7 | 8 | import dagger.Module; 9 | import dagger.Provides; 10 | 11 | @Module 12 | public class LayoutManagerModules { 13 | 14 | @Named("vertical") 15 | @Provides 16 | public LinearLayoutManager providesLinearLayoutManager(Context context){ 17 | return new LinearLayoutManager(context); 18 | } 19 | 20 | @Named("horizontal") 21 | @Provides 22 | public LinearLayoutManager providesHorizontalLinearLayoutManager(Context context){ 23 | return new LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false); 24 | } 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /PatternsDemo/app/src/androidTest/java/com/tangpj/patterns/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.patterns 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.patterns", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Dagger2Simple/order/src/main/java/com/tangpj/order/di/ActivityModules.java: -------------------------------------------------------------------------------- 1 | package com.tangpj.order.di; 2 | 3 | import com.tangpj.order.ui.addedit.AddEditDishActivity; 4 | import com.tangpj.order.ui.addedit.AddEditModules; 5 | import com.tangpj.order.ui.dishes.DishesActivity; 6 | import com.tangpj.order.ui.dishes.DishesModules; 7 | 8 | import dagger.Module; 9 | import dagger.android.ContributesAndroidInjector; 10 | 11 | @Module 12 | public abstract class ActivityModules { 13 | 14 | @DishesScoped 15 | @ContributesAndroidInjector(modules = DishesModules.class) 16 | abstract public DishesActivity contributesDishActivity(); 17 | 18 | @ActivityScoped 19 | @ContributesAndroidInjector(modules = AddEditModules.class) 20 | abstract public AddEditDishActivity contributesAddEditDishActivity(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /SimpleCalces/library1/src/androidTest/java/com/tangpj/library1/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library1 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.library1", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SimpleCalces/library2/src/androidTest/java/com/tangpj/library2/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.library2 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.library2", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TodoCalces/app/src/androidTest/java/com/tangpj/todocalces/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.todocalces 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.todocalces", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/androidTest/java/com/tangpj/addtask/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.addtask 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.addtask", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SimpleCalces/app/src/androidTest/java/com/tangpj/simplecalces/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.simplecalces 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.simplecalces", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /SimpleCalces/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | -------------------------------------------------------------------------------- /TodoCalces/nostatistic/src/androidTest/java/com/tangpj/nostatistic/ExampleInstrumentedTest.kt: -------------------------------------------------------------------------------- 1 | package com.tangpj.nostatistic 2 | 3 | import android.support.test.InstrumentationRegistry 4 | import android.support.test.runner.AndroidJUnit4 5 | 6 | import org.junit.Test 7 | import org.junit.runner.RunWith 8 | 9 | import org.junit.Assert.* 10 | 11 | /** 12 | * Instrumented test, which will execute on an Android device. 13 | * 14 | * See [testing documentation](http://d.android.com/tools/testing). 15 | */ 16 | @RunWith(AndroidJUnit4::class) 17 | class ExampleInstrumentedTest { 18 | @Test 19 | fun useAppContext() { 20 | // Context of the app under test. 21 | val appContext = InstrumentationRegistry.getTargetContext() 22 | assertEquals("com.tangpj.nostatistic", appContext.packageName) 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /TodoCalces/modules/addtask/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 15 | 16 | 12 | 13 | 17 | 18 | 12 | 13 | 17 | 18 |