├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── debug │ ├── ic_launcher-playstore.png │ ├── ic_launcher_test-playstore.png │ ├── logo-playstore.png │ └── res │ │ └── values │ │ └── logo_background.xml │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mahmoud │ │ └── albums │ │ ├── application │ │ └── ApplicationMain.kt │ │ ├── base │ │ ├── BaseActivity.kt │ │ └── BaseFragment.kt │ │ ├── di │ │ ├── DataModule.kt │ │ ├── DomainModule.kt │ │ ├── LocalPersistenceModule.kt │ │ ├── PresentationModule.kt │ │ ├── RemoteModule.kt │ │ └── ViewModelKey.kt │ │ ├── ui │ │ ├── HostActivity.kt │ │ ├── albumDetails │ │ │ ├── AlbumDetailsFragment.kt │ │ │ └── AlbumDetailsScreen.kt │ │ └── homepage │ │ │ ├── HomePageFragment.kt │ │ │ └── HomePageScreen.kt │ │ └── util │ │ ├── LoadingScreen.kt │ │ ├── general │ │ └── Utils.kt │ │ ├── network │ │ ├── NetworkMonitoringUtil.java │ │ └── NetworkStateManager.java │ │ └── spinnerdialog │ │ ├── CustomSpinnerAdapter.kt │ │ └── SpinnerDialog.kt │ └── res │ ├── anim │ ├── slide_in_left.xml │ ├── slide_in_right.xml │ ├── slide_out_left.xml │ └── slide_out_right.xml │ ├── drawable │ └── logo.xml │ ├── layout │ ├── activity_host.xml │ ├── item_spinner.xml │ └── layout_loading_screen.xml │ ├── navigation │ └── nav_graph.xml │ ├── raw │ └── loading.json │ ├── values │ ├── colors.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ ├── network_security_config.xml │ └── provider_paths.xml ├── common ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mahmoud │ └── common │ ├── CommonConstants.kt │ ├── ErrorModel.kt │ ├── Outcome.kt │ ├── PreferencesKeys.kt │ └── model │ ├── AlbumObject.kt │ └── AlbumsResponse.kt ├── data ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mahmoud │ └── data │ ├── model │ └── BaseApiResponse.kt │ └── repository │ ├── DatabaseDataSource.kt │ ├── PreferenceDataSource.kt │ ├── RemoteDataSource.kt │ └── landingpage │ └── HomePageRepositoryImpl.kt ├── domain ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mahmoud │ └── domain │ ├── repository │ └── HomePageRepository.kt │ └── usecases │ ├── base │ ├── CompletableDeleteUseCase.kt │ ├── CompletableUseCase.kt │ └── FlowableUseCase.kt │ └── homepage │ ├── GetAllAlbumsLocallyTask.kt │ ├── GetAllAlbumsRemoteTask.kt │ ├── HasCachedAlbumsLocallyTask.kt │ ├── SaveAllAlbumsLocallyTask.kt │ └── UpdateAllAlbumsLocallyTask.kt ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── local.properties ├── local ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mahmoud │ └── local │ ├── model │ └── AlbumRealmObject.kt │ └── source │ ├── DatabaseDataSourceImpl.kt │ └── PreferenceDataSourcempl.kt ├── machinelearning └── build │ └── kotlin │ └── compileDebugKotlin │ └── cacheable │ └── caches-jvm │ ├── jvm │ └── kotlin │ │ ├── constants.tab.keystream │ │ ├── subtypes.tab.keystream │ │ └── supertypes.tab.keystream │ └── lookups │ └── id-to-file.tab.keystream ├── presentation ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ └── main │ ├── AndroidManifest.xml │ ├── java │ └── com │ │ └── mahmoud │ │ └── presentation │ │ ├── base │ │ └── BaseViewModel.kt │ │ ├── factory │ │ └── ViewModelFactory.kt │ │ └── viewmodel │ │ └── HomePageViewModel.kt │ └── res │ └── values │ └── strings.xml ├── remote ├── .gitignore ├── build.gradle └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── mahmoud │ └── remote │ ├── api │ └── HomePageService.kt │ └── source │ └── RemoteDataSourceImpl.kt ├── settings.gradle └── versions.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/debug/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/debug/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/src/debug/ic_launcher_test-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/debug/ic_launcher_test-playstore.png -------------------------------------------------------------------------------- /app/src/debug/logo-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/debug/logo-playstore.png -------------------------------------------------------------------------------- /app/src/debug/res/values/logo_background.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/debug/res/values/logo_background.xml -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/application/ApplicationMain.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/application/ApplicationMain.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/base/BaseActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/base/BaseActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/base/BaseFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/base/BaseFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/DataModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/DataModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/DomainModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/DomainModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/LocalPersistenceModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/LocalPersistenceModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/PresentationModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/PresentationModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/RemoteModule.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/RemoteModule.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/di/ViewModelKey.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/di/ViewModelKey.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/ui/HostActivity.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/ui/HostActivity.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/ui/albumDetails/AlbumDetailsFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/ui/albumDetails/AlbumDetailsFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/ui/albumDetails/AlbumDetailsScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/ui/albumDetails/AlbumDetailsScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/ui/homepage/HomePageFragment.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/ui/homepage/HomePageFragment.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/ui/homepage/HomePageScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/ui/homepage/HomePageScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/LoadingScreen.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/LoadingScreen.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/general/Utils.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/general/Utils.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/network/NetworkMonitoringUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/network/NetworkMonitoringUtil.java -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/network/NetworkStateManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/network/NetworkStateManager.java -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/spinnerdialog/CustomSpinnerAdapter.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/spinnerdialog/CustomSpinnerAdapter.kt -------------------------------------------------------------------------------- /app/src/main/java/com/mahmoud/albums/util/spinnerdialog/SpinnerDialog.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/java/com/mahmoud/albums/util/spinnerdialog/SpinnerDialog.kt -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/anim/slide_in_left.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_in_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/anim/slide_in_right.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out_left.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/anim/slide_out_left.xml -------------------------------------------------------------------------------- /app/src/main/res/anim/slide_out_right.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/anim/slide_out_right.xml -------------------------------------------------------------------------------- /app/src/main/res/drawable/logo.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/drawable/logo.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_host.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/layout/activity_host.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/item_spinner.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/layout/item_spinner.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/layout_loading_screen.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/layout/layout_loading_screen.xml -------------------------------------------------------------------------------- /app/src/main/res/navigation/nav_graph.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/navigation/nav_graph.xml -------------------------------------------------------------------------------- /app/src/main/res/raw/loading.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/raw/loading.json -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/values/themes.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/network_security_config.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/xml/network_security_config.xml -------------------------------------------------------------------------------- /app/src/main/res/xml/provider_paths.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/app/src/main/res/xml/provider_paths.xml -------------------------------------------------------------------------------- /common/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /common/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/build.gradle -------------------------------------------------------------------------------- /common/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/CommonConstants.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/java/com/mahmoud/common/CommonConstants.kt -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/ErrorModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/java/com/mahmoud/common/ErrorModel.kt -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/Outcome.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/java/com/mahmoud/common/Outcome.kt -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/PreferencesKeys.kt: -------------------------------------------------------------------------------- 1 | package com.mahmoud.common 2 | 3 | object PreferencesKeys { 4 | 5 | } -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/model/AlbumObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/java/com/mahmoud/common/model/AlbumObject.kt -------------------------------------------------------------------------------- /common/src/main/java/com/mahmoud/common/model/AlbumsResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/common/src/main/java/com/mahmoud/common/model/AlbumsResponse.kt -------------------------------------------------------------------------------- /data/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /data/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/build.gradle -------------------------------------------------------------------------------- /data/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /data/src/main/java/com/mahmoud/data/model/BaseApiResponse.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/java/com/mahmoud/data/model/BaseApiResponse.kt -------------------------------------------------------------------------------- /data/src/main/java/com/mahmoud/data/repository/DatabaseDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/java/com/mahmoud/data/repository/DatabaseDataSource.kt -------------------------------------------------------------------------------- /data/src/main/java/com/mahmoud/data/repository/PreferenceDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/java/com/mahmoud/data/repository/PreferenceDataSource.kt -------------------------------------------------------------------------------- /data/src/main/java/com/mahmoud/data/repository/RemoteDataSource.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/java/com/mahmoud/data/repository/RemoteDataSource.kt -------------------------------------------------------------------------------- /data/src/main/java/com/mahmoud/data/repository/landingpage/HomePageRepositoryImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/data/src/main/java/com/mahmoud/data/repository/landingpage/HomePageRepositoryImpl.kt -------------------------------------------------------------------------------- /domain/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /domain/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/build.gradle -------------------------------------------------------------------------------- /domain/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/repository/HomePageRepository.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/repository/HomePageRepository.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/base/CompletableDeleteUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/base/CompletableDeleteUseCase.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/base/CompletableUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/base/CompletableUseCase.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/base/FlowableUseCase.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/base/FlowableUseCase.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/homepage/GetAllAlbumsLocallyTask.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/homepage/GetAllAlbumsLocallyTask.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/homepage/GetAllAlbumsRemoteTask.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/homepage/GetAllAlbumsRemoteTask.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/homepage/HasCachedAlbumsLocallyTask.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/homepage/HasCachedAlbumsLocallyTask.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/homepage/SaveAllAlbumsLocallyTask.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/homepage/SaveAllAlbumsLocallyTask.kt -------------------------------------------------------------------------------- /domain/src/main/java/com/mahmoud/domain/usecases/homepage/UpdateAllAlbumsLocallyTask.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/domain/src/main/java/com/mahmoud/domain/usecases/homepage/UpdateAllAlbumsLocallyTask.kt -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/gradlew.bat -------------------------------------------------------------------------------- /local.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local.properties -------------------------------------------------------------------------------- /local/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /local/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/build.gradle -------------------------------------------------------------------------------- /local/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /local/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/proguard-rules.pro -------------------------------------------------------------------------------- /local/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /local/src/main/java/com/mahmoud/local/model/AlbumRealmObject.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/src/main/java/com/mahmoud/local/model/AlbumRealmObject.kt -------------------------------------------------------------------------------- /local/src/main/java/com/mahmoud/local/source/DatabaseDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/src/main/java/com/mahmoud/local/source/DatabaseDataSourceImpl.kt -------------------------------------------------------------------------------- /local/src/main/java/com/mahmoud/local/source/PreferenceDataSourcempl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/local/src/main/java/com/mahmoud/local/source/PreferenceDataSourcempl.kt -------------------------------------------------------------------------------- /machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream -------------------------------------------------------------------------------- /machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream -------------------------------------------------------------------------------- /machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream -------------------------------------------------------------------------------- /machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/machinelearning/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream -------------------------------------------------------------------------------- /presentation/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /presentation/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/build.gradle -------------------------------------------------------------------------------- /presentation/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /presentation/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/proguard-rules.pro -------------------------------------------------------------------------------- /presentation/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /presentation/src/main/java/com/mahmoud/presentation/base/BaseViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/src/main/java/com/mahmoud/presentation/base/BaseViewModel.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/mahmoud/presentation/factory/ViewModelFactory.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/src/main/java/com/mahmoud/presentation/factory/ViewModelFactory.kt -------------------------------------------------------------------------------- /presentation/src/main/java/com/mahmoud/presentation/viewmodel/HomePageViewModel.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/src/main/java/com/mahmoud/presentation/viewmodel/HomePageViewModel.kt -------------------------------------------------------------------------------- /presentation/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/presentation/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /remote/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /remote/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/remote/build.gradle -------------------------------------------------------------------------------- /remote/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/remote/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /remote/src/main/java/com/mahmoud/remote/api/HomePageService.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/remote/src/main/java/com/mahmoud/remote/api/HomePageService.kt -------------------------------------------------------------------------------- /remote/src/main/java/com/mahmoud/remote/source/RemoteDataSourceImpl.kt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/remote/src/main/java/com/mahmoud/remote/source/RemoteDataSourceImpl.kt -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/settings.gradle -------------------------------------------------------------------------------- /versions.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahmoud-elsadany/Albums_Example/HEAD/versions.gradle --------------------------------------------------------------------------------