├── 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 |
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 |
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 |
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 |
5 |
6 |
7 |
8 |
9 |
10 |
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 |
5 |
6 |
7 |
8 |
9 |
10 |
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 |
--------------------------------------------------------------------------------