├── Lesson 1 └── FirebaseChat │ ├── app │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── menu_contactlist.xml │ │ │ ├── values-v21 │ │ │ │ └── styles.xml │ │ │ └── values-w820dp │ │ │ │ └── dimens.xml │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── androidchat │ │ │ ├── addcontact │ │ │ ├── AddContactInteractor.java │ │ │ ├── AddContactRepository.java │ │ │ ├── ui │ │ │ │ └── AddContactView.java │ │ │ ├── events │ │ │ │ └── AddContactEvent.java │ │ │ ├── AddContactPresenter.java │ │ │ └── AddContactInteractorImpl.java │ │ │ ├── chat │ │ │ ├── ChatSessionInteractor.java │ │ │ ├── ui │ │ │ │ └── ChatView.java │ │ │ ├── ChatInteractor.java │ │ │ ├── ChatRepository.java │ │ │ ├── events │ │ │ │ └── ChatEvent.java │ │ │ ├── ChatPresenter.java │ │ │ └── ChatSessionInteractorImpl.java │ │ │ ├── lib │ │ │ ├── ImageLoader.java │ │ │ └── EventBus.java │ │ │ ├── contactlist │ │ │ ├── ContactListSessionInteractor.java │ │ │ ├── ui │ │ │ │ ├── OnItemClickListener.java │ │ │ │ └── ContactListView.java │ │ │ ├── ContactListInteractor.java │ │ │ ├── ContactListRepository.java │ │ │ └── ContactListPresenter.java │ │ │ └── login │ │ │ ├── LoginInteractor.java │ │ │ ├── LoginRepository.java │ │ │ ├── LoginPresenter.java │ │ │ └── ui │ │ │ └── LoginView.java │ │ ├── test │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── androidchat │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ └── java │ │ └── edu │ │ └── galileo │ │ └── android │ │ └── androidchat │ │ └── ApplicationTest.java │ ├── settings.gradle │ ├── .gitignore │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ └── README.md ├── Lesson 2 ├── Tutorials │ ├── FCM │ │ ├── app │ │ │ ├── .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 │ │ │ │ │ ├── dimens.xml │ │ │ │ │ ├── styles.xml │ │ │ │ │ └── strings.xml │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── fcm │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle │ ├── DartHenson │ │ ├── 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 │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── darthenson │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle │ └── TwitterKit │ │ ├── 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 │ │ │ └── test │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── twitterkit │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── .gitignore ├── Activities │ ├── DIedx │ │ ├── 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 │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── diedx │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle │ ├── DIedx - Solution │ │ ├── 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 │ │ │ │ └── java │ │ │ │ │ └── edu │ │ │ │ │ └── galileo │ │ │ │ │ └── diedx │ │ │ │ │ └── MainComponent.java │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── diedx │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── .gitignore │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ └── build.gradle │ ├── NestedRecycler │ │ ├── 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 │ │ │ │ │ └── layout │ │ │ │ │ │ └── activity_main.xml │ │ │ │ └── java │ │ │ │ │ └── edu │ │ │ │ │ └── galileo │ │ │ │ │ └── nestedrecycler │ │ │ │ │ └── model │ │ │ │ │ ├── Actor.java │ │ │ │ │ └── Movie.java │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── nestedrecycler │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle │ └── NestedRecycler - Solution │ │ ├── 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 │ │ │ │ └── layout │ │ │ │ │ └── activity_main.xml │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── nestedrecycler │ │ │ │ └── model │ │ │ │ ├── Actor.java │ │ │ │ └── Movie.java │ │ │ └── test │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── nestedrecycler │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── .gitignore │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ └── build.gradle └── TwitterClientApp │ ├── app │ ├── .gitignore │ └── src │ │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── strings.xml │ │ │ ├── values-w820dp │ │ │ │ └── dimens.xml │ │ │ ├── menu │ │ │ │ └── menu_main.xml │ │ │ └── layout │ │ │ │ └── row_hashtag_text.xml │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── twitterclient │ │ │ ├── images │ │ │ ├── ImagesInteractor.java │ │ │ ├── ImagesRepository.java │ │ │ ├── ui │ │ │ │ ├── adapters │ │ │ │ │ └── OnItemClickListener.java │ │ │ │ └── ImagesView.java │ │ │ ├── ImagesPresenter.java │ │ │ ├── ImagesInteractorImpl.java │ │ │ └── di │ │ │ │ └── ImagesComponent.java │ │ │ ├── hashtags │ │ │ ├── HashtagsInteractor.java │ │ │ ├── HashtagsRepository.java │ │ │ ├── ui │ │ │ │ ├── adapters │ │ │ │ │ └── OnItemClickListener.java │ │ │ │ └── HashtagsView.java │ │ │ ├── HashtagsPresenter.java │ │ │ ├── HashtagsInteractorImpl.java │ │ │ └── di │ │ │ │ └── HashtagsComponent.java │ │ │ ├── lib │ │ │ └── base │ │ │ │ ├── ImageLoader.java │ │ │ │ └── EventBus.java │ │ │ └── api │ │ │ └── CustomTwitterApiClient.java │ │ ├── test │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── twitterclient │ │ │ └── ExampleUnitTest.java │ │ └── androidTest │ │ └── java │ │ └── edu │ │ └── galileo │ │ └── android │ │ └── twitterclient │ │ └── ApplicationTest.java │ ├── settings.gradle │ ├── .gitignore │ └── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── Lesson 4 ├── PhotoFeed │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ ├── main │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── dimens.xml │ │ │ │ ├── menu │ │ │ │ │ └── menu_main.xml │ │ │ │ ├── values-v21 │ │ │ │ │ └── styles.xml │ │ │ │ └── values-w820dp │ │ │ │ │ └── dimens.xml │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── android │ │ │ │ └── photofeed │ │ │ │ ├── main │ │ │ │ ├── SessionInteractor.java │ │ │ │ ├── ui │ │ │ │ │ └── MainView.java │ │ │ │ ├── UploadInteractor.java │ │ │ │ ├── MainRepository.java │ │ │ │ ├── SessionInteractorImpl.java │ │ │ │ ├── MainPresenter.java │ │ │ │ ├── UploadInteractorImpl.java │ │ │ │ └── di │ │ │ │ │ └── MainComponent.java │ │ │ │ ├── login │ │ │ │ ├── LoginInteractor.java │ │ │ │ ├── SignupInteractor.java │ │ │ │ ├── LoginRepository.java │ │ │ │ ├── LoginPresenter.java │ │ │ │ ├── LoginInteractorImpl.java │ │ │ │ ├── SignupInteractorImpl.java │ │ │ │ ├── ui │ │ │ │ │ └── LoginView.java │ │ │ │ └── di │ │ │ │ │ └── LoginComponent.java │ │ │ │ ├── photomap │ │ │ │ ├── PhotoMapRepository.java │ │ │ │ ├── PhotoMapInteractor.java │ │ │ │ ├── ui │ │ │ │ │ └── PhotoMapView.java │ │ │ │ ├── PhotoMapPresenter.java │ │ │ │ └── PhotoMapInteractorImpl.java │ │ │ │ ├── lib │ │ │ │ ├── base │ │ │ │ │ ├── ImageLoader.java │ │ │ │ │ ├── ImageStorageFinishedListener.java │ │ │ │ │ ├── EventBus.java │ │ │ │ │ └── ImageStorage.java │ │ │ │ └── di │ │ │ │ │ └── LibsComponent.java │ │ │ │ ├── domain │ │ │ │ ├── FirebaseActionListenerCallback.java │ │ │ │ ├── di │ │ │ │ │ └── DomainComponent.java │ │ │ │ └── FirebaseEventListenerCallback.java │ │ │ │ └── photolist │ │ │ │ ├── PhotoListRepository.java │ │ │ │ ├── PhotoListInteractor.java │ │ │ │ ├── ui │ │ │ │ ├── adapters │ │ │ │ │ └── OnItemClickListener.java │ │ │ │ └── PhotoListView.java │ │ │ │ └── PhotoListPresenter.java │ │ │ ├── test │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── android │ │ │ │ └── photofeed │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── photofeed │ │ │ └── ApplicationTest.java │ ├── settings.gradle │ ├── .gitignore │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ └── .idea │ │ ├── caches │ │ └── build_file_checksums.ser │ │ ├── modules.xml │ │ └── runConfigurations.xml ├── Activities │ └── CameraGPS │ │ ├── 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 │ │ │ └── test │ │ │ └── java │ │ │ └── org │ │ │ └── galileo │ │ │ └── cameragps │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── .idea │ │ ├── copyright │ │ │ └── profiles_settings.xml │ │ ├── encodings.xml │ │ ├── modules.xml │ │ └── runConfigurations.xml │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle └── Tutorials │ └── FirebaseDBRules │ ├── 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 │ │ └── test │ │ └── java │ │ └── org │ │ └── galileo │ │ └── firebasedbrules │ │ └── ExampleUnitTest.java │ ├── settings.gradle │ ├── .idea │ ├── copyright │ │ └── profiles_settings.xml │ ├── encodings.xml │ ├── modules.xml │ └── runConfigurations.xml │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── .gitignore │ └── build.gradle ├── Lesson 3 ├── FacebookRecipes │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ ├── main │ │ │ ├── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values │ │ │ │ │ ├── colors.xml │ │ │ │ │ └── dimens.xml │ │ │ │ ├── anim │ │ │ │ │ ├── save_animation.xml │ │ │ │ │ └── dismiss_animation.xml │ │ │ │ └── values-w820dp │ │ │ │ │ └── dimens.xml │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── android │ │ │ │ └── facebookrecipes │ │ │ │ ├── recipelist │ │ │ │ ├── RecipeListInteractor.java │ │ │ │ ├── StoredRecipesInteractor.java │ │ │ │ ├── RecipeListRepository.java │ │ │ │ ├── ui │ │ │ │ │ ├── RecipeListView.java │ │ │ │ │ └── adapters │ │ │ │ │ │ └── OnItemClickListener.java │ │ │ │ └── RecipeListInteractorImpl.java │ │ │ │ ├── recipemain │ │ │ │ ├── GetNextRecipeInteractor.java │ │ │ │ ├── ui │ │ │ │ │ ├── SwipeGestureListener.java │ │ │ │ │ └── RecipeMainView.java │ │ │ │ ├── SaveRecipeInteractor.java │ │ │ │ ├── RecipeMainRepository.java │ │ │ │ └── SaveRecipeInteractorImpl.java │ │ │ │ ├── libs │ │ │ │ └── base │ │ │ │ │ ├── EventBus.java │ │ │ │ │ └── ImageLoader.java │ │ │ │ ├── db │ │ │ │ └── RecipesDatabase.java │ │ │ │ └── api │ │ │ │ └── RecipeService.java │ │ │ ├── test │ │ │ └── java │ │ │ │ └── edu │ │ │ │ └── galileo │ │ │ │ └── android │ │ │ │ └── facebookrecipes │ │ │ │ └── ExampleUnitTest.java │ │ │ └── androidTest │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── facebookrecipes │ │ │ └── ApplicationTest.java │ ├── settings.gradle │ ├── .gitignore │ └── gradle │ │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── Tutorials │ └── GridViewRealm │ │ ├── app │ │ ├── .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 │ │ │ │ ├── strings.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── colors.xml │ │ │ │ └── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── test │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── gridviewrealm │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle └── Activities │ └── Flickr - Solution │ └── FlickrLike │ ├── 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 │ │ │ └── layout │ │ │ │ ├── activity_my_photos.xml │ │ │ │ └── item_photo.xml │ │ └── java │ │ │ └── org │ │ │ └── galileo │ │ │ └── flickrlike │ │ │ ├── PhotosResponse.java │ │ │ ├── Photos.java │ │ │ ├── database │ │ │ └── MyDatabase.java │ │ │ ├── FlickrService.java │ │ │ ├── Photo.java │ │ │ └── MyApplication.java │ │ └── test │ │ └── java │ │ └── org │ │ └── galileo │ │ └── flickrlike │ │ └── ExampleUnitTest.java │ ├── settings.gradle │ ├── .gitignore │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ └── build.gradle ├── Lesson 5 ├── AndroidTesting │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ └── main │ │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ └── strings.xml │ │ │ ├── anim │ │ │ │ ├── dismiss_animation.xml │ │ │ │ └── save_animation.xml │ │ │ └── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── java │ │ │ └── edu │ │ │ └── galileo │ │ │ └── android │ │ │ └── facebookrecipes │ │ │ ├── recipelist │ │ │ ├── RecipeListInteractor.java │ │ │ ├── StoredRecipesInteractor.java │ │ │ ├── RecipeListRepository.java │ │ │ ├── ui │ │ │ │ ├── RecipeListView.java │ │ │ │ └── adapters │ │ │ │ │ └── OnItemClickListener.java │ │ │ └── RecipeListInteractorImpl.java │ │ │ ├── recipemain │ │ │ ├── GetNextRecipeInteractor.java │ │ │ ├── ui │ │ │ │ ├── SwipeGestureListener.java │ │ │ │ └── RecipeMainView.java │ │ │ ├── SaveRecipeInteractor.java │ │ │ ├── RecipeMainRepository.java │ │ │ └── SaveRecipeInteractorImpl.java │ │ │ ├── libs │ │ │ └── base │ │ │ │ ├── EventBus.java │ │ │ │ └── ImageLoader.java │ │ │ ├── db │ │ │ └── RecipesDatabase.java │ │ │ └── api │ │ │ └── RecipeService.java │ ├── settings.gradle │ ├── .gitignore │ └── gradle │ │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── Tutorials │ ├── TipCalculator-Espresso │ │ ├── app │ │ │ ├── .gitignore │ │ │ └── src │ │ │ │ ├── main │ │ │ │ ├── res │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values │ │ │ │ │ │ ├── colors.xml │ │ │ │ │ │ ├── dimens.xml │ │ │ │ │ │ ├── strings.xml │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values-w820dp │ │ │ │ │ │ └── dimens.xml │ │ │ │ └── java │ │ │ │ │ └── micromaster │ │ │ │ │ └── beginner │ │ │ │ │ └── com │ │ │ │ │ └── tipcalculator │ │ │ │ │ └── TotalActivity.java │ │ │ │ └── test │ │ │ │ └── java │ │ │ │ └── micromaster │ │ │ │ └── beginner │ │ │ │ └── com │ │ │ │ └── tipcalculator │ │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle │ └── TipCalculator-FirebaseTestlab │ │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ ├── main │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── test │ │ │ └── java │ │ │ └── micromaster │ │ │ └── beginner │ │ │ └── com │ │ │ └── tipcalculator │ │ │ └── ExampleUnitTest.java │ │ ├── settings.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── .gitignore │ │ └── build.gradle └── Activites │ ├── TipCalculator-espresso-solution │ ├── app │ │ ├── .gitignore │ │ └── src │ │ │ ├── main │ │ │ └── res │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values │ │ │ │ ├── colors.xml │ │ │ │ ├── dimens.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ │ └── values-w820dp │ │ │ │ └── dimens.xml │ │ │ └── test │ │ │ └── java │ │ │ └── micromaster │ │ │ └── beginner │ │ │ └── com │ │ │ └── tipcalculator │ │ │ └── ExampleUnitTest.java │ ├── settings.gradle │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── .gitignore │ └── build.gradle │ └── Theories │ └── EmailUtil.java └── README.md /Lesson 1/FirebaseChat/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## License 2 | 3 | See the [LICENSE](LICENSE.md) file for license rights and limitations (MIT). -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.iml 3 | .gradle 4 | local.properties 5 | .idea/ 6 | build/ 7 | captures/ 8 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.iml 3 | .gradle 4 | local.properties 5 | .idea/ 6 | build/ 7 | captures/ 8 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.iml 3 | .gradle 4 | local.properties 5 | .idea/ 6 | build/ 7 | captures/ 8 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.iml 3 | .gradle 4 | local.properties 5 | .idea/ 6 | build/ 7 | captures/ 8 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DIedx 3 | 4 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DIedx 3 | 4 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | DartHenson 3 | 4 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TwitterKit 3 | 4 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | CameraGPS 3 | 4 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NestedRecycler 3 | 4 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FirebaseDBRules 3 | 4 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | NestedRecycler 3 | 4 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FlickrLike 3 | 4 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | gradle.properties -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/.idea/caches/build_file_checksums.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/.idea/caches/build_file_checksums.ser -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/README.md: -------------------------------------------------------------------------------- 1 | # android-chat-firebase 2 | 3 | More information how to add Firebase to your App: https://firebase.google.com/docs/android/setup#add_firebase_to_your_app -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/PhotoFeed/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 1/FirebaseChat/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/AndroidTesting/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/TwitterClientApp/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/FacebookRecipes/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/SessionInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | public interface SessionInteractor { 4 | void logout(); 5 | } 6 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/FCM/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/DartHenson/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Tutorials/TwitterKit/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Activities/CameraGPS/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | .idea/vcs.xml 11 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/PhotosResponse.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 2 | 3 | public class PhotosResponse { 4 | 5 | Photos photos; 6 | String stat; 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Tutorials/GridViewRealm/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | .idea/vcs.xml 11 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/LoginInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | public interface LoginInteractor { 4 | void execute(String email, String password); 5 | } 6 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/SignupInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | public interface SignupInteractor { 4 | void execute(String email, String password); 5 | } 6 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | .idea/vcs.xml 11 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/DIedx - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/AddContactInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact; 2 | 3 | 4 | public interface AddContactInteractor { 5 | void addContact(String email); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photomap/PhotoMapRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photomap; 2 | 3 | public interface PhotoMapRepository { 4 | void subscribe(); 5 | void unsubscribe(); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ChatSessionInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat; 2 | 3 | 4 | public interface ChatSessionInteractor { 5 | void changeConnectionStatus(boolean online); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/AddContactRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact; 2 | 3 | 4 | public interface AddContactRepository { 5 | void addContact(final String email); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ImagesInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface ImagesInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ImagesRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface ImagesRepository { 7 | void getImages(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/micromasterandroid/androidadvanced/HEAD/Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/HashtagsInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface HashtagsInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/lib/ImageLoader.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.lib; 2 | 3 | import android.widget.ImageView; 4 | 5 | 6 | public interface ImageLoader { 7 | void load(ImageView imageView, String URL); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/HashtagsRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface HashtagsRepository { 7 | void getHashtags(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Gridview example 3 | My Favorite City 4 | Click to Add A Vote 5 | 6 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/lib/base/ImageLoader.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.lib.base; 2 | 3 | import android.widget.ImageView; 4 | 5 | public interface ImageLoader { 6 | void load(ImageView imageView, String URL); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/lib/base/ImageStorageFinishedListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.lib.base; 2 | 3 | public interface ImageStorageFinishedListener { 4 | void onSuccess(); 5 | void onError(String error); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/ui/MainView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main.ui; 2 | 3 | public interface MainView { 4 | void onUploadInit(); 5 | void onUploadComplete(); 6 | void onUploadError(String error); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/UploadInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | import android.location.Location; 4 | 5 | public interface UploadInteractor { 6 | void execute(Location location, String path); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface RecipeListInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface RecipeListInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #ff4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/GetNextRecipeInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface GetNextRecipeInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/GetNextRecipeInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface GetNextRecipeInteractor { 7 | void execute(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/lib/base/EventBus.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.lib.base; 2 | 3 | public interface EventBus { 4 | void register(Object subscriber); 5 | void unregister(Object subscriber); 6 | void post(Object event); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/LoginRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | public interface LoginRepository { 4 | void signUp(final String email, final String password); 5 | void signIn(String email, String password); 6 | } 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/MainRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | import android.location.Location; 4 | 5 | public interface MainRepository { 6 | void logout(); 7 | void uploadPhoto(Location location, String path); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Feb 27 20:17:36 CST 2019 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 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Mar 04 16:33:07 CST 2019 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 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Apr 26 16:42:06 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 6 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/lib/EventBus.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.lib; 2 | 3 | 4 | public interface EventBus { 5 | void register(Object subscriber); 6 | void unregister(Object subscriber); 7 | void post(Object event); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Apr 30 19:31:29 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 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 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/libs/base/EventBus.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.libs.base; 2 | 3 | public interface EventBus { 4 | void register(Object subscriber); 5 | void unregister(Object subscriber); 6 | void post(Object event); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Feb 13 11:15:19 CST 2019 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 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photomap/PhotoMapInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photomap; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public interface PhotoMapInteractor { 6 | void subscribe(); 7 | void unsubscribe(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/libs/base/EventBus.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.libs.base; 2 | 3 | public interface EventBus { 4 | void register(Object subscriber); 5 | void unregister(Object subscriber); 6 | void post(Object event); 7 | } 8 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 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.10.1-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Apr 27 11:55:19 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Thu Apr 27 16:00:33 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed May 03 16:36:53 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun May 14 12:43:28 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Apr 30 19:31:29 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Apr 30 20:42:47 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed May 10 22:28:38 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/menu/menu_contactlist.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/ui/SwipeGestureListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain.ui; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface SwipeGestureListener { 7 | void onKeep(); 8 | void onDismiss(); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/ui/SwipeGestureListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain.ui; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface SwipeGestureListener { 7 | void onKeep(); 8 | void onDismiss(); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Apr 30 20:42:47 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri May 05 14:17:55 CST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 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-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 8dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/domain/FirebaseActionListenerCallback.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.domain; 2 | 3 | import com.firebase.client.FirebaseError; 4 | 5 | public interface FirebaseActionListenerCallback { 6 | void onSuccess(); 7 | void onError(FirebaseError error); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/lib/base/ImageStorage.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.lib.base; 2 | 3 | import java.io.File; 4 | 5 | public interface ImageStorage { 6 | String getImageUrl(String id); 7 | void upload(File file, String id, ImageStorageFinishedListener listener); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 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-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Mon Dec 28 10:00:20 PST 2015 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-2.14.1-all.zip 7 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/java/edu/galileo/diedx/MainComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.diedx; 2 | 3 | import dagger.Component; 4 | 5 | @Component( 6 | modules = { 7 | MainModule.class 8 | } 9 | ) 10 | public interface MainComponent { 11 | 12 | void inject(MainActivity mainActivity); 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/lib/base/ImageLoader.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.lib.base; 2 | 3 | import android.widget.ImageView; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface ImageLoader { 9 | void load(ImageView imageView, String URL); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ui/ChatView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat.ui; 2 | 3 | import edu.galileo.android.androidchat.chat.entities.ChatMessage; 4 | 5 | 6 | public interface ChatView { 7 | void sendMessage(); 8 | void onMessageReceived(ChatMessage msg); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ContactListSessionInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist; 2 | 3 | 4 | public interface ContactListSessionInteractor { 5 | void signOff(); 6 | String getCurrentUserEmail(); 7 | void changeConnectionStatus(boolean online); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/login/LoginInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.login; 2 | 3 | 4 | public interface LoginInteractor { 5 | void checkAlreadyAuthenticated(); 6 | void doSignUp(String email, String password); 7 | void doSignIn(String email, String password); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/login/LoginRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.login; 2 | 3 | 4 | public interface LoginRepository { 5 | void signUp(final String email, final String password); 6 | void signIn(String email, String password); 7 | void checkAlreadyAuthenticated(); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/libs/base/ImageLoader.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.libs.base; 2 | 3 | import android.widget.ImageView; 4 | 5 | public interface ImageLoader { 6 | void load(ImageView imageView, String URL); 7 | void setOnFinishedImageLoadingListener(Object listener); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/lib/base/EventBus.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.lib.base; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public interface EventBus { 7 | void register(Object subscriber); 8 | void unregister(Object subscriber); 9 | void post(Object event); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/libs/base/ImageLoader.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.libs.base; 2 | 3 | import android.widget.ImageView; 4 | 5 | public interface ImageLoader { 6 | void load(ImageView imageView, String URL); 7 | void setOnFinishedImageLoadingListener(Object listener); 8 | } 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photolist/PhotoListRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photolist; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public interface PhotoListRepository { 6 | void subscribe(); 7 | void unSubscribe(); 8 | void remove(Photo photo); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photolist/PhotoListInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photolist; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public interface PhotoListInteractor { 6 | void subscribe(); 7 | void unsubscribe(); 8 | void removePhoto(Photo photo); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/Photos.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | public class Photos { 7 | 8 | int page; 9 | int pages; 10 | int perPage; 11 | long total; 12 | List photo = new ArrayList<>(); 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16dp 5 | 16dp 6 | 7 | 200dp 8 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/SaveRecipeInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface SaveRecipeInteractor { 9 | void execute(Recipe recipe); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photomap/ui/PhotoMapView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photomap.ui; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public interface PhotoMapView { 6 | void addPhoto(Photo photo); 7 | void removePhoto(Photo photo); 8 | void onPhotosError(String error); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/SaveRecipeInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface SaveRecipeInteractor { 9 | void execute(Recipe recipe); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ui/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist.ui; 2 | 3 | import edu.galileo.android.androidchat.contactlist.entities.User; 4 | 5 | 6 | public interface OnItemClickListener { 7 | void onItemClick(User user); 8 | void onItemLongClick(User user); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ui/adapters/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images.ui.adapters; 2 | 3 | import edu.galileo.android.twitterclient.entities.Image; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface OnItemClickListener { 9 | void onItemClick(Image image); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/ui/AddContactView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact.ui; 2 | 3 | 4 | public interface AddContactView { 5 | void showInput(); 6 | void hideInput(); 7 | void showProgress(); 8 | void hideProgress(); 9 | 10 | void contactAdded(); 11 | void contactNotAdded(); 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/ui/adapters/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags.ui.adapters; 2 | 3 | import edu.galileo.android.twitterclient.entities.Hashtag; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface OnItemClickListener { 9 | void onItemClick(Hashtag hashtag); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/anim/save_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/anim/dismiss_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/anim/save_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ContactListInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist; 2 | 3 | 4 | public interface ContactListInteractor { 5 | void subscribeForContactEvents(); 6 | void unSubscribeForContactEvents(); 7 | void destroyContactListListener(); 8 | void removeContact(String email); 9 | } 10 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/anim/dismiss_animation.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ChatInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat; 2 | 3 | 4 | public interface ChatInteractor { 5 | void sendMessage(String msg); 6 | void setRecipient(String recipient); 7 | 8 | void destroyChatListener(); 9 | void subscribeForChatUpates(); 10 | void unSubscribeForChatUpates(); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/lib/di/LibsComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.lib.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.photofeed.PhotoFeedAppModule; 7 | 8 | @Singleton 9 | @Component(modules = {LibsModule.class, PhotoFeedAppModule.class}) 10 | public interface LibsComponent { 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Tip Calculator 3 | Total Amount: 4 | 15% Tip 5 | 20% Tip 6 | Bill Amount 7 | View Total: 8 | 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ui/ContactListView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist.ui; 2 | 3 | import edu.galileo.android.androidchat.contactlist.entities.User; 4 | 5 | 6 | public interface ContactListView { 7 | void onContactAdded(User user); 8 | void onContactChanged(User user); 9 | void onContactRemoved(User user); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/values-v21/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/domain/di/DomainComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.domain.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.photofeed.PhotoFeedAppModule; 7 | 8 | @Singleton 9 | @Component(modules = {DomainModule.class, PhotoFeedAppModule.class}) 10 | public interface DomainComponent { 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Tip Calculator 3 | Total Amount: 4 | 15% Tip 5 | 20% Tip 6 | Bill Amount 7 | View Total: 8 | 9 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/events/AddContactEvent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact.events; 2 | 3 | 4 | public class AddContactEvent { 5 | boolean error = false; 6 | 7 | public boolean isError() { 8 | return error; 9 | } 10 | 11 | public void setError(boolean error) { 12 | this.error = error; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/StoredRecipesInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface StoredRecipesInteractor { 9 | void executeUpdate(Recipe recipe); 10 | void executeDelete(Recipe recipe); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/StoredRecipesInteractor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface StoredRecipesInteractor { 9 | void executeUpdate(Recipe recipe); 10 | void executeDelete(Recipe recipe); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/database/MyDatabase.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike.database; 2 | 3 | import com.raizlabs.android.dbflow.annotation.Database; 4 | 5 | @Database(name = MyDatabase.NAME, version = MyDatabase.VERSION) 6 | public class MyDatabase { 7 | 8 | public static final String NAME = "MyDataBase"; 9 | public static final int VERSION = 1; 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/FlickrService.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 2 | 3 | import retrofit2.Call; 4 | import retrofit2.http.GET; 5 | import retrofit2.http.Query; 6 | 7 | interface FlickrService { 8 | 9 | @GET("/services/rest/?method=flickr.photos.search") 10 | Call search(@Query("tags") String tags, @Query("per_page") int perPage); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photomap/PhotoMapPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photomap; 2 | 3 | import edu.galileo.android.photofeed.photomap.events.PhotoMapEvent; 4 | 5 | public interface PhotoMapPresenter { 6 | void onCreate(); 7 | void onDestroy(); 8 | 9 | void subscribe(); 10 | void unsubscribe(); 11 | 12 | void onEventMainThread(PhotoMapEvent event); 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/java/edu/galileo/nestedrecycler/model/Actor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler.model; 2 | 3 | public class Actor { 4 | 5 | String name; 6 | 7 | public Actor(String name) { 8 | this.name = name; 9 | } 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeListRepository { 9 | void getSavedRecipes(); 10 | void updateRecipe(Recipe recipe); 11 | void removeRecipe(Recipe recipe); 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeListRepository { 9 | void getSavedRecipes(); 10 | void updateRecipe(Recipe recipe); 11 | void removeRecipe(Recipe recipe); 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/AddContactPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact; 2 | 3 | import edu.galileo.android.androidchat.addcontact.events.AddContactEvent; 4 | 5 | 6 | public interface AddContactPresenter { 7 | void onShow(); 8 | void onDestroy(); 9 | 10 | void addContact(String email); 11 | void onEventMainThread(AddContactEvent event); 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ChatRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat; 2 | 3 | 4 | public interface ChatRepository { 5 | void sendMessage(String msg); 6 | void setReceiver(String receiver); 7 | 8 | void destroyChatListener(); 9 | void subscribeForChatUpates(); 10 | void unSubscribeForChatUpates(); 11 | 12 | void changeUserConnectionStatus(boolean online); 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/java/edu/galileo/nestedrecycler/model/Actor.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler.model; 2 | 3 | public class Actor { 4 | 5 | String name; 6 | 7 | public Actor(String name) { 8 | this.name = name; 9 | } 10 | 11 | public String getName() { 12 | return name; 13 | } 14 | 15 | public void setName(String name) { 16 | this.name = name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 64dp 6 | 7 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/test/java/edu/galileo/android/photofeed/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Tip Calculator 3 | Total Amount: 4 | 15% Tip 5 | 20% Tip 6 | 30% Tip 7 | 40% Tip 8 | Bill Amount 9 | 10 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/events/ChatEvent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat.events; 2 | 3 | import edu.galileo.android.androidchat.chat.entities.ChatMessage; 4 | 5 | 6 | public class ChatEvent { 7 | ChatMessage msg; 8 | 9 | public ChatEvent(ChatMessage msg) { 10 | this.msg = msg; 11 | } 12 | 13 | public ChatMessage getMessage() { 14 | return msg; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/test/java/edu/galileo/android/androidchat/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/LoginPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | import edu.galileo.android.photofeed.login.events.LoginEvent; 4 | 5 | public interface LoginPresenter { 6 | void onCreate(); 7 | void onDestroy(); 8 | void onEventMainThread(LoginEvent event); 9 | void login(String email, String password); 10 | void registerNewUser(String email, String password); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photolist/ui/adapters/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photolist.ui.adapters; 2 | 3 | import android.widget.ImageView; 4 | 5 | import edu.galileo.android.photofeed.entities.Photo; 6 | 7 | public interface OnItemClickListener { 8 | void onPlaceClick(Photo photo); 9 | void onShareClick(Photo photo, ImageView img); 10 | void onDeleteClick(Photo photo); 11 | } 12 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/db/RecipesDatabase.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.db; 2 | 3 | import com.raizlabs.android.dbflow.annotation.Database; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | @Database(name = RecipesDatabase.NAME, version = RecipesDatabase.VERSION) 9 | public class RecipesDatabase { 10 | public static final int VERSION = 1; 11 | public static final String NAME = "Recipes"; 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ImagesPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images; 2 | 3 | import edu.galileo.android.twitterclient.images.events.ImagesEvent; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface ImagesPresenter { 9 | void onResume(); 10 | void onPause(); 11 | void onDestroy(); 12 | void getImageTweets(); 13 | void onEventMainThread(ImagesEvent event); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/test/java/edu/galileo/android/twitterclient/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/db/RecipesDatabase.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.db; 2 | 3 | import com.raizlabs.android.dbflow.annotation.Database; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | @Database(name = RecipesDatabase.NAME, version = RecipesDatabase.VERSION) 9 | public class RecipesDatabase { 10 | public static final int VERSION = 1; 11 | public static final String NAME = "Recipes"; 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/ui/RecipeListView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist.ui; 2 | 3 | import java.util.List; 4 | 5 | import edu.galileo.android.facebookrecipes.entities.Recipe; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface RecipeListView { 11 | void setRecipes(List data); 12 | void recipeUpdated(); 13 | void recipeDeleted(Recipe recipe); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/ui/adapters/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist.ui.adapters; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface OnItemClickListener { 9 | void onFavClick(Recipe recipe); 10 | void onItemClick(Recipe recipe); 11 | void onDeleteClick(Recipe recipe); 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/test/java/edu/galileo/android/facebookrecipes/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * To work on unit tests, switch the Test Artifact in the Build Variants view. 9 | */ 10 | public class ExampleUnitTest { 11 | @Test 12 | public void addition_isCorrect() throws Exception { 13 | assertEquals(4, 2 + 2); 14 | } 15 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/SessionInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | public class SessionInteractorImpl implements SessionInteractor { 4 | MainRepository repository; 5 | 6 | public SessionInteractorImpl(MainRepository repository) { 7 | this.repository = repository; 8 | } 9 | 10 | @Override 11 | public void logout() { 12 | repository.logout(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/ui/RecipeListView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist.ui; 2 | 3 | import java.util.List; 4 | 5 | import edu.galileo.android.facebookrecipes.entities.Recipe; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface RecipeListView { 11 | void setRecipes(List data); 12 | void recipeUpdated(); 13 | void recipeDeleted(Recipe recipe); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/ui/adapters/OnItemClickListener.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist.ui.adapters; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface OnItemClickListener { 9 | void onFavClick(Recipe recipe); 10 | void onItemClick(Recipe recipe); 11 | void onDeleteClick(Recipe recipe); 12 | } 13 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/MainPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | import android.location.Location; 4 | 5 | import edu.galileo.android.photofeed.main.events.MainEvent; 6 | 7 | public interface MainPresenter { 8 | void onCreate(); 9 | void onDestroy(); 10 | 11 | void logout(); 12 | void uploadPhoto(Location location, String path); 13 | void onEventMainThread(MainEvent event); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 16dp 6 | 8dp 7 | 36dp 8 | 24dp 9 | 10 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/domain/FirebaseEventListenerCallback.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.domain; 2 | 3 | import com.google.firebase.database.DataSnapshot; 4 | import com.google.firebase.database.DatabaseError; 5 | 6 | public interface FirebaseEventListenerCallback { 7 | void onChildAdded(DataSnapshot dataSnapshot); 8 | void onChildRemoved(DataSnapshot dataSnapshot); 9 | void onCancelled(DatabaseError error); 10 | } 11 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photolist/ui/PhotoListView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photolist.ui; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public interface PhotoListView { 6 | void showList(); 7 | void hideList(); 8 | void showProgress(); 9 | void hideProgress(); 10 | 11 | void addPhoto(Photo photo); 12 | void removePhoto(Photo photo); 13 | void onPhotosError(String error); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 5/Activites/Theories/EmailUtil.java: -------------------------------------------------------------------------------- 1 | public class EmailUtil { 2 | 3 | private Pattern formatPattern = Pattern.compile(".+@.+\\..+"); 4 | private Pattern invalidCharsPattern = Pattern.compile("[\"'\\s()<>]+"); 5 | 6 | EmailUtil() { 7 | // no-op 8 | } 9 | 10 | public boolean isValidEmailAddress(CharSequence emailAddress) { 11 | return !invalidCharsPattern.matcher(emailAddress).find() && formatPattern.matcher(emailAddress).matches(); 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/HashtagsPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags; 2 | 3 | import edu.galileo.android.twitterclient.hashtags.events.HashtagsEvent; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface HashtagsPresenter { 9 | void onResume(); 10 | void onPause(); 11 | void onDestroy(); 12 | void getHashtagTweets(); 13 | void onEventMainThread(HashtagsEvent event); 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/androidTest/java/edu/galileo/android/photofeed/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/androidTest/java/edu/galileo/android/androidchat/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/androidTest/java/edu/galileo/android/twitterclient/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/androidTest/java/edu/galileo/android/facebookrecipes/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/layout/activity_my_photos.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/main/java/micromaster/beginner/com/tipcalculator/TotalActivity.java: -------------------------------------------------------------------------------- 1 | package micromaster.beginner.com.tipcalculator; 2 | 3 | import android.support.v7.app.AppCompatActivity; 4 | import android.os.Bundle; 5 | 6 | public class TotalActivity extends AppCompatActivity { 7 | 8 | @Override 9 | protected void onCreate(Bundle savedInstanceState) { 10 | super.onCreate(savedInstanceState); 11 | setContentView(R.layout.activity_total); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ContactListRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist; 2 | 3 | 4 | public interface ContactListRepository { 5 | void signOff(); 6 | String getCurrentEmail(); 7 | void removeContact(String email); 8 | void destroyContactListListener(); 9 | void subscribeForContactListUpdates(); 10 | void unSubscribeForContactListUpdates(); 11 | void changeUserConnectionStatus(boolean online); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ChatPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat; 2 | 3 | import edu.galileo.android.androidchat.chat.events.ChatEvent; 4 | 5 | 6 | public interface ChatPresenter { 7 | void onPause(); 8 | void onResume(); 9 | void onCreate(); 10 | void onDestroy(); 11 | 12 | void setChatRecipient(String recipient); 13 | 14 | void sendMessage(String msg); 15 | void onEventMainThread(ChatEvent event); 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/login/LoginPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.login; 2 | 3 | import edu.galileo.android.androidchat.login.events.LoginEvent; 4 | 5 | 6 | public interface LoginPresenter { 7 | void onCreate(); 8 | void onDestroy(); 9 | void checkForAuthenticatedUser(); 10 | void onEventMainThread(LoginEvent event); 11 | void validateLogin(String email, String password); 12 | void registerNewUser(String email, String password); 13 | } 14 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/login/ui/LoginView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.login.ui; 2 | 3 | 4 | public interface LoginView { 5 | void enableInputs(); 6 | void disableInputs(); 7 | void showProgress(); 8 | void hideProgress(); 9 | 10 | void handleSignUp(); 11 | void handleSignIn(); 12 | 13 | void navigateToMainScreen(); 14 | void loginError(String error); 15 | 16 | void newUserSuccess(); 17 | void newUserError(String error); 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/test/java/edu/galileo/fcm/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.fcm; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ui/ImagesView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images.ui; 2 | 3 | import java.util.List; 4 | 5 | import edu.galileo.android.twitterclient.entities.Image; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface ImagesView { 11 | void showImages(); 12 | void hideImages(); 13 | void showProgress(); 14 | void hideProgress(); 15 | 16 | void onError(String error); 17 | void setContent(List items); 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/menu/menu_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/app/src/test/java/edu/galileo/diedx/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.diedx; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photolist/PhotoListPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photolist; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | import edu.galileo.android.photofeed.photolist.events.PhotoListEvent; 5 | 6 | public interface PhotoListPresenter { 7 | void onCreate(); 8 | void onDestroy(); 9 | 10 | void subscribe(); 11 | void unsubscribe(); 12 | 13 | void removePhoto(Photo photo); 14 | void onEventMainThread(PhotoListEvent event); 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/ui/HashtagsView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags.ui; 2 | 3 | import java.util.List; 4 | 5 | import edu.galileo.android.twitterclient.entities.Hashtag; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface HashtagsView { 11 | void showImages(); 12 | void hideImages(); 13 | void showProgress(); 14 | void hideProgress(); 15 | 16 | void onError(String error); 17 | void setContent(List items); 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/ImagesInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public class ImagesInteractorImpl implements ImagesInteractor { 7 | private ImagesRepository repository; 8 | 9 | public ImagesInteractorImpl(ImagesRepository repository) { 10 | this.repository = repository; 11 | } 12 | 13 | @Override 14 | public void execute() { 15 | repository.getImages(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | TwitterClient 3 | Imposible iniciar sesión %s 4 | Imágenes 5 | Hashtags 6 | Cerrar sesión 7 | 8 | 9 | Hello blank fragment 10 | 11 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/app/src/test/java/edu/galileo/diedx/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.diedx; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/app/src/test/java/edu/galileo/darthenson/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.darthenson; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 2/Tutorials/TwitterKit/app/src/test/java/edu/galileo/twitterkit/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.twitterkit; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/Photo.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 2 | 3 | public class Photo { 4 | 5 | public String id; 6 | public String title; 7 | public String server; 8 | public String secret; 9 | public int farm; 10 | 11 | //https://farm{farm-id}.staticflickr.com/{server-id}/{id}_{secret}.jpg 12 | public String getFlickrUrl() { 13 | return "https://farm" + farm + ".staticflickr.com/" + server + "/" + id + "_" + secret + "_b.jpg"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/app/src/test/java/org/galileo/cameragps/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.galileo.cameragps; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/LoginInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | 4 | public class LoginInteractorImpl implements LoginInteractor { 5 | private LoginRepository loginRepository; 6 | 7 | public LoginInteractorImpl(LoginRepository loginRepository) { 8 | this.loginRepository = loginRepository; 9 | } 10 | 11 | @Override 12 | public void execute(String email, String password) { 13 | loginRepository.signIn(email, password); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/SignupInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login; 2 | 3 | public class SignupInteractorImpl implements SignupInteractor { 4 | private LoginRepository loginRepository; 5 | 6 | public SignupInteractorImpl(LoginRepository loginRepository) { 7 | this.loginRepository = loginRepository; 8 | } 9 | 10 | @Override 11 | public void execute(String email, String password) { 12 | loginRepository.signUp(email, password); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 86dp 6 | 300dp 7 | 8dp 8 | 150dp 9 | 8dp 10 | 11 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 16dp 4 | 16dp 5 | 86dp 6 | 300dp 7 | 8dp 8 | 150dp 9 | 8dp 10 | 11 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/app/src/test/java/edu/galileo/gridviewrealm/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.gridviewrealm; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/ui/LoginView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login.ui; 2 | 3 | public interface LoginView { 4 | void enableInputs(); 5 | void disableInputs(); 6 | void showProgress(); 7 | void hideProgress(); 8 | 9 | void handleSignUp(); 10 | void handleSignIn(); 11 | 12 | void newUserSuccess(); 13 | void navigateToMainScreen(); 14 | void setUserEmail(String email); 15 | 16 | void loginError(String error); 17 | void newUserError(String error); 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/chat/ChatSessionInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.chat; 2 | 3 | 4 | 5 | public class ChatSessionInteractorImpl implements ChatSessionInteractor { 6 | ChatRepository chatRepository; 7 | 8 | public ChatSessionInteractorImpl() { 9 | this.chatRepository = new ChatRepositoryImpl(); 10 | } 11 | 12 | @Override 13 | public void changeConnectionStatus(boolean online) { 14 | chatRepository.changeUserConnectionStatus(online); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/contactlist/ContactListPresenter.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.contactlist; 2 | 3 | import edu.galileo.android.androidchat.contactlist.events.ContactListEvent; 4 | 5 | 6 | public interface ContactListPresenter { 7 | void onPause(); 8 | void onResume(); 9 | void onCreate(); 10 | void onDestroy(); 11 | 12 | void signOff(); 13 | String getCurrentUserEmail(); 14 | void removeContact(String email); 15 | void onEventMainThread(ContactListEvent event); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/test/java/edu/galileo/nestedrecycler/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/HashtagsInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public class HashtagsInteractorImpl implements HashtagsInteractor { 7 | private HashtagsRepository repository; 8 | 9 | public HashtagsInteractorImpl(HashtagsRepository repository) { 10 | this.repository = repository; 11 | } 12 | 13 | @Override 14 | public void execute() { 15 | repository.getHashtags(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/app/src/test/java/org/galileo/firebasedbrules/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.galileo.firebasedbrules; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/test/java/org/galileo/flickrlike/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/test/java/edu/galileo/nestedrecycler/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler; 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 | 14 | @Test 15 | public void addition_isCorrect() throws Exception { 16 | assertEquals(4, 2 + 2); 17 | } 18 | } -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/UploadInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main; 2 | 3 | import android.location.Location; 4 | 5 | public class UploadInteractorImpl implements UploadInteractor { 6 | private MainRepository repository; 7 | 8 | public UploadInteractorImpl(MainRepository repository) { 9 | this.repository = repository; 10 | } 11 | 12 | @Override 13 | public void execute(Location location, String path) { 14 | repository.uploadPhoto(location, path); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public class RecipeListInteractorImpl implements RecipeListInteractor { 7 | private RecipeListRepository repository; 8 | 9 | public RecipeListInteractorImpl(RecipeListRepository repository) { 10 | this.repository = repository; 11 | } 12 | 13 | @Override 14 | public void execute() { 15 | repository.getSavedRecipes(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipelist/RecipeListInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipelist; 2 | 3 | /** 4 | * Created by ykro. 5 | */ 6 | public class RecipeListInteractorImpl implements RecipeListInteractor { 7 | private RecipeListRepository repository; 8 | 9 | public RecipeListInteractorImpl(RecipeListRepository repository) { 10 | this.repository = repository; 11 | } 12 | 13 | @Override 14 | public void execute() { 15 | repository.getSavedRecipes(); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/app/src/test/java/micromaster/beginner/com/tipcalculator/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package micromaster.beginner.com.tipcalculator; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/hashtags/di/HashtagsComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.hashtags.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.twitterclient.hashtags.ui.HashtagsFragment; 7 | import edu.galileo.android.twitterclient.lib.di.LibsModule; 8 | 9 | /** 10 | * Created by ykro. 11 | */ 12 | @Singleton 13 | @Component(modules = {LibsModule.class, HashtagsModule.class}) 14 | public interface HashtagsComponent { 15 | void inject(HashtagsFragment fragment); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/app/src/test/java/micromaster/beginner/com/tipcalculator/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package micromaster.beginner.com.tipcalculator; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/RecipeMainRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeMainRepository { 9 | public final static int COUNT = 1; 10 | public final static String RECENT_SORT = "r"; 11 | public final static int RECIPE_RANGE = 100000; 12 | 13 | void getNextRecipe(); 14 | void saveRecipe(Recipe recipe); 15 | void setRecipePage(int recipePage); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/app/src/test/java/micromaster/beginner/com/tipcalculator/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package micromaster.beginner.com.tipcalculator; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() throws Exception { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/RecipeMainRepository.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeMainRepository { 9 | public final static int COUNT = 1; 10 | public final static String RECENT_SORT = "r"; 11 | public final static int RECIPE_RANGE = 100000; 12 | 13 | void getNextRecipe(); 14 | void saveRecipe(Recipe recipe); 15 | void setRecipePage(int recipePage); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 1/FirebaseChat/app/src/main/java/edu/galileo/android/androidchat/addcontact/AddContactInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.androidchat.addcontact; 2 | 3 | 4 | public class AddContactInteractorImpl implements AddContactInteractor { 5 | AddContactRepositoryImpl addContactRepository; 6 | 7 | public AddContactInteractorImpl(AddContactRepositoryImpl addContactRepository) { 8 | this.addContactRepository = addContactRepository; 9 | } 10 | 11 | @Override 12 | public void addContact(String email) { 13 | addContactRepository.addContact(email); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/app/src/main/java/edu/galileo/nestedrecycler/model/Movie.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler.model; 2 | 3 | import java.util.List; 4 | 5 | public class Movie { 6 | 7 | String name; 8 | 9 | List actors; 10 | 11 | public Movie(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | 19 | public List getActors() { 20 | return actors; 21 | } 22 | 23 | public void setActors(List actors) { 24 | this.actors = actors; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/app/src/main/java/edu/galileo/nestedrecycler/model/Movie.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.nestedrecycler.model; 2 | 3 | import java.util.List; 4 | 5 | public class Movie { 6 | 7 | String name; 8 | 9 | List actors; 10 | 11 | public Movie(String name) { 12 | this.name = name; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | 19 | public List getActors() { 20 | return actors; 21 | } 22 | 23 | public void setActors(List actors) { 24 | this.actors = actors; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/api/RecipeService.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.api; 2 | 3 | import retrofit2.Call; 4 | import retrofit2.http.GET; 5 | import retrofit2.http.Query; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface RecipeService { 11 | @GET("search") 12 | Call search(@Query("key") String key, 13 | @Query("sort") String sort, 14 | @Query("count") int count, 15 | @Query("page") int page); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/api/RecipeService.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.api; 2 | 3 | import retrofit2.Call; 4 | import retrofit2.http.GET; 5 | import retrofit2.http.Query; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public interface RecipeService { 11 | @GET("search") 12 | Call search(@Query("key") String key, 13 | @Query("sort") String sort, 14 | @Query("count") int count, 15 | @Query("page") int page); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/DartHenson/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 2/Activities/DIedx - Solution/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/ui/RecipeMainView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain.ui; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeMainView { 9 | void showProgress(); 10 | void hideProgress(); 11 | void showUIElements(); 12 | void hideUIElements(); 13 | void saveAnimation(); 14 | void dismissAnimation(); 15 | 16 | void onRecipeSaved(); 17 | 18 | void setRecipe(Recipe recipe); 19 | void onGetRecipeError(String error); 20 | } 21 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/ui/RecipeMainView.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain.ui; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public interface RecipeMainView { 9 | void showProgress(); 10 | void hideProgress(); 11 | void showUIElements(); 12 | void hideUIElements(); 13 | void saveAnimation(); 14 | void dismissAnimation(); 15 | 16 | void onRecipeSaved(); 17 | 18 | void setRecipe(Recipe recipe); 19 | void onGetRecipeError(String error); 20 | } 21 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-Espresso/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.3' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 2/Activities/NestedRecycler - Solution/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/images/di/ImagesComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.images.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.twitterclient.images.ImagesPresenter; 7 | import edu.galileo.android.twitterclient.images.ui.ImagesFragment; 8 | import edu.galileo.android.twitterclient.lib.di.LibsModule; 9 | 10 | /** 11 | * Created by ykro. 12 | */ 13 | @Singleton @Component(modules = {LibsModule.class, ImagesModule.class}) 14 | public interface ImagesComponent { 15 | void inject(ImagesFragment fragment); 16 | } 17 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/res/layout/item_photo.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 15 | 16 | -------------------------------------------------------------------------------- /Lesson 4/Activities/CameraGPS/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/Activites/TipCalculator-espresso-solution/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.3' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 5/Tutorials/TipCalculator-FirebaseTestlab/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.3' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | } 19 | } 20 | 21 | task clean(type: Delete) { 22 | delete rootProject.buildDir 23 | } 24 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/SaveRecipeInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public class SaveRecipeInteractorImpl implements SaveRecipeInteractor { 9 | RecipeMainRepository repository; 10 | 11 | public SaveRecipeInteractorImpl(RecipeMainRepository repository) { 12 | this.repository = repository; 13 | } 14 | 15 | @Override 16 | public void execute(Recipe recipe) { 17 | repository.saveRecipe(recipe); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FCM 3 | Click the SUBSCRIBE TO NEWS button below to subscribe to the 4 | news topic. Messages sent to the news topic will be received. The LOG TOKEN button logs the 5 | InstanceID token to logcat. 6 | Subscribe To News 7 | Log Token 8 | 9 | Subscribed to news topic 10 | InstanceID Token: %s 11 | 12 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/java/edu/galileo/android/twitterclient/api/CustomTwitterApiClient.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.twitterclient.api; 2 | 3 | import com.twitter.sdk.android.core.Session; 4 | import com.twitter.sdk.android.core.TwitterApiClient; 5 | import com.twitter.sdk.android.core.TwitterSession; 6 | 7 | /** 8 | * Created by ykro. 9 | */ 10 | public class CustomTwitterApiClient extends TwitterApiClient { 11 | public CustomTwitterApiClient(TwitterSession session) { 12 | super(session); 13 | } 14 | 15 | public TimelineService getTimelineService() { 16 | return getService(TimelineService.class); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 3/FacebookRecipes/app/src/main/java/edu/galileo/android/facebookrecipes/recipemain/SaveRecipeInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.facebookrecipes.recipemain; 2 | 3 | import edu.galileo.android.facebookrecipes.entities.Recipe; 4 | 5 | /** 6 | * Created by ykro. 7 | */ 8 | public class SaveRecipeInteractorImpl implements SaveRecipeInteractor { 9 | RecipeMainRepository repository; 10 | 11 | public SaveRecipeInteractorImpl(RecipeMainRepository repository) { 12 | this.repository = repository; 13 | } 14 | 15 | @Override 16 | public void execute(Recipe recipe) { 17 | repository.saveRecipe(recipe); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/app/src/main/java/org/galileo/flickrlike/MyApplication.java: -------------------------------------------------------------------------------- 1 | package org.galileo.flickrlike; 2 | 3 | import android.app.Application; 4 | 5 | import com.raizlabs.android.dbflow.config.FlowConfig; 6 | import com.raizlabs.android.dbflow.config.FlowManager; 7 | 8 | public class MyApplication extends Application { 9 | 10 | @Override 11 | public void onCreate() { 12 | super.onCreate(); 13 | // This instantiates DBFlow 14 | FlowManager.init(new FlowConfig.Builder(this).build()); 15 | // add for verbose logging 16 | // FlowLog.setMinimumLoggingLevel(FlowLog.Level.V); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/main/di/MainComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.main.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.photofeed.PhotoFeedAppModule; 7 | import edu.galileo.android.photofeed.domain.di.DomainModule; 8 | import edu.galileo.android.photofeed.lib.di.LibsModule; 9 | import edu.galileo.android.photofeed.main.ui.MainActivity; 10 | 11 | @Singleton 12 | @Component(modules = {MainModule.class, DomainModule.class, LibsModule.class, PhotoFeedAppModule.class}) 13 | public interface MainComponent { 14 | void inject(MainActivity activity); 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/login/di/LoginComponent.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.login.di; 2 | 3 | import javax.inject.Singleton; 4 | 5 | import dagger.Component; 6 | import edu.galileo.android.photofeed.PhotoFeedAppModule; 7 | import edu.galileo.android.photofeed.domain.di.DomainModule; 8 | import edu.galileo.android.photofeed.lib.di.LibsModule; 9 | import edu.galileo.android.photofeed.login.ui.LoginActivity; 10 | 11 | @Singleton 12 | @Component(modules = {LoginModule.class, DomainModule.class, LibsModule.class, PhotoFeedAppModule.class}) 13 | public interface LoginComponent { 14 | void inject(LoginActivity activity); 15 | } 16 | -------------------------------------------------------------------------------- /Lesson 4/PhotoFeed/app/src/main/java/edu/galileo/android/photofeed/photomap/PhotoMapInteractorImpl.java: -------------------------------------------------------------------------------- 1 | package edu.galileo.android.photofeed.photomap; 2 | 3 | import edu.galileo.android.photofeed.entities.Photo; 4 | 5 | public class PhotoMapInteractorImpl implements PhotoMapInteractor { 6 | 7 | PhotoMapRepository repository; 8 | 9 | public PhotoMapInteractorImpl(PhotoMapRepository repository) { 10 | this.repository = repository; 11 | } 12 | 13 | @Override 14 | public void subscribe() { 15 | repository.subscribe(); 16 | } 17 | 18 | @Override 19 | public void unsubscribe() { 20 | repository.unsubscribe(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Lesson 5/AndroidTesting/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | FacebookRecipes 3 | Imposible iniciar sesión %s 4 | Inicio de sesión cancelado 5 | Imposible obtener información %s 6 | Guardado exitosamente 7 | Recetas guardadas 8 | 9 | Cerrar sesión 10 | Elegir receta 11 | 12 | 13 | -------------------------------------------------------------------------------- /Lesson 2/Tutorials/FCM/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | classpath 'com.google.gms:google-services:3.0.0' 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } 25 | -------------------------------------------------------------------------------- /Lesson 2/TwitterClientApp/app/src/main/res/layout/row_hashtag_text.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 14 | -------------------------------------------------------------------------------- /Lesson 3/Tutorials/GridViewRealm/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | classpath "io.realm:realm-gradle-plugin:3.1.3" 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } 25 | -------------------------------------------------------------------------------- /Lesson 4/Tutorials/FirebaseDBRules/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | classpath 'com.google.gms:google-services:3.0.0' 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } 25 | -------------------------------------------------------------------------------- /Lesson 3/Activities/Flickr - Solution/FlickrLike/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.3.0' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | jcenter() 18 | maven { url "https://www.jitpack.io" } 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } 25 | --------------------------------------------------------------------------------