Recommended Android Studio 2.2 preview 7.
-
v7 appcompat library com.android.support:appcompat-v7 - This library adds support for the Action Bar user interface design pattern. This library includes support for material design user interface implementations.
-
v7 recyclerview library com.android.support:recyclerview-v7 - The recyclerview library adds the RecyclerView class.
-
constraint-layout com.android.support.constraint:constraint-layout - ConstraintLayout type of layout available in the Android Support repository built on top of a flexible constraint system.
-
support-annotations com.android.support:support-annotations The Annotation package provides APIs to support adding annotation metadata to apps.
-
design Support Library com.android.support:design - The Design package provides APIs to support adding material design components and patterns to app.
-
greendao org.greenrobot:greendao - GreenDAO object oriented interface to data stored in the relational database SQLite. One of the fastest ORM DB for Android.
-
retrofit com.squareup.retrofit2:retrofit - A type-safe HTTP client for Android and Java.
-
okhttp3 com.squareup.okhttp3:okhttp - An HTTP & HTTP/2 client for Android and Java applications.
-
picasso com.squareup.picasso:picasso - A powerful image downloading and caching library for Android.
-
junit junit:junit - Unit test framework.
-
robolectric org.robolectric:robolectric - Unit test framework that de-fangs the Android SDK jar. Tests run inside the JVM
Most of the "//" comments in the code are only for clarification why I made specific decision, I don't write so much comments in the code usually. Time spent: 16 hours - all required functionality. + around 3 hours on writing tests/refactoring/optimizations/fixes.
- Nexus 6p (stable API 23).
- Nexus 6 (API 24)
- Nexus 5 (API 21)
- Nexus 4 (API 19) emulator provides strange scrolling behaviour because of ConstraintLayout and/or Data Binding.
- Nexus 9 (API 24)
- Nvidia Shield Portable (API 21 hardware keyboard/d-pad navigation).
- Asus ChromeBook Flip (API 23 chromebook, ARM architecture).
- Chromebook Pixel (API 23 chromebook, Intel x86 architecture).
- More unit test coverage, add Instrumentation tests.
- Implement infinite scroll feature, query only limited amount of messages from DB with use of limit and offset query.
- Try implement Rx support from GreenDao (experimental) and update Adapter to use observable.
- Add animations to show/hide searchview.
- Add ability to enter before/after date for search from DatePicker.
Author: Raphael Gilyazitdinov. Any questions: [email protected] or [email protected].