Initial conversion of todo-mvvm-live to kotlin. #388
Conversation
| InstrumentationRegistry.getInstrumentation().runOnMainSync { | ||
| val resumedActivities = ActivityLifecycleMonitorRegistry.getInstance() | ||
| .getActivitiesInStage(Stage.RESUMED) | ||
| if (resumedActivities.iterator().hasNext()) { |
piotrek1543
Aug 23, 2017
what about extracting resumedActivities.iterator() to local variable? Actually, you're calling function iterator twice. I don't think it's necessary
| hamcrestVersion = '1.3' | ||
| runnerVersion = '0.5' | ||
| rulesVersion = '0.5' | ||
| espressoVersion = '2.2.2' |
piotrek1543
Aug 23, 2017
there are newer version of android testing library: https://developer.android.com/topic/libraries/testing-support-library/release-notes.html
florina-muntenescu
Aug 23, 2017
Collaborator
Increasing the version of the Android Testing Library is not a mandatory requirement in order to use Architecture Components with Kotlin. We prefer to keep the changes to a minimum to ease the branch comparison.
|
Really awesome work :-) |
de055a1
into
android:dev-todo-mvvm-live-kotlin
* Adds Doug and Ben to the contributors list In both chronological and alphabetical order. How cool is that. * Fixed Firebase Test Lab script * Update versions for ATSL 1.0.0 release * Deprecates loaders, CPs and todo-databinding * fix typo in androidTest * Correction in build.gradle * Fix Markdown for links in CONTRIBUTING.md (android#385) Fix Markdown for links to show properly in Github Markdown. * Initial conversion of todo-mvvm-live to kotlin. * Fix supportLibraryVersion * Initial conversion of todo-mvvm-live to kotlin. (android#388) * Fixing gcloud test command. * Fixing gcloud test command. * Adding todo-mvvm-live-kotlin sample to README. * Capitalized Kotlin in README. * Fixes circle and race condition in UI tests * Fixing travis, again... * Upgrade to Espresso 3 and fix race condition. * Minor formatting. * Removes ViewModelItem and small fixes * Removes ViewModelItem and dependent files. * Corrected title in readme. * Remove ViewModelItem and fix title in readme. (android#410) * Removes ViewModelItem and dependent files. * Corrected title in readme. * Fix typo (android#415) - Change "compliment" to "complement" * Updates README Rx -> Rx2 * Updates contributors list * Fixed the typo (android#425) * Fixed Firebase Test Lab script (android#440) * Updates and bumps versions on the dev-todo-mvvm-live branch (android#438) * Update todo-mvp README.md Refactored the content around a new structure, with new standard titles used for each sample Fixed various grammar issues Applied formatting Additional explanations and links where appropriate Introduced pre-requisite topics * Update README.md Removed a redundant sentence. * copies Firebase Test Lab results to CIRCLE_TEST_REPORTS * Replaced deprecated attribute * Bumps versions and fixes annotation imports * Fixes toolbar title not being persisted after rotation * Fixes navigation issue android#287 * Bumps circle CI Android dependencies * Fixes comment in test * Bumps versions in travis.yml * Moving the setting of the AddEditTaskPresenter in the constructor. Tests added to check that the presenter is set to the view. * Removing the `_id` column and making `entryid` primary key. Moved the `TasksLocalDataSourceTest` to correct package. * Fixed Firebase Test Lab script * Tries to fix circle adding google repo * Buildtools 26 is mandatory now, apparently * More CI fixes * CI caught some merge errors + circle fix * Bumps versions to RC1, etc * Updates room branch to API 26, Espresso, Arch Components * Adds google m2 repository * Adding google() to repositories * Reverts to todo-mvp's README * Added syntax format to first snippet inside README (android#451) * Removes Room branch (It was added to todo-mvp) * Updating travis, circle, gradle files, and stats. * Fix nullability for viewmodels. * Add room to todo-mvvm-live-kotlin. * Upgrade arch components to 1.0.0. * Fixed prod TasksRepo injection. * Remove references to deprecated LifecycleACA and LifecycleFragment. * Addressed kotlin styling issues. * Fixed more kotlin styling issues. * Made constant for new task in test. * Fixed runtime Kotlin errors. - Added kapt plugin instead of using annotationProcessor. - Added arch components classes to proguard. - Added default for param in data class. * Adds Room to todo-mvvm-live and updates versions (android#459) * Update todo-mvp README.md Refactored the content around a new structure, with new standard titles used for each sample Fixed various grammar issues Applied formatting Additional explanations and links where appropriate Introduced pre-requisite topics * Update README.md Removed a redundant sentence. * copies Firebase Test Lab results to CIRCLE_TEST_REPORTS * Replaced deprecated attribute * Bumps versions and fixes annotation imports * Fixes toolbar title not being persisted after rotation * Fixes navigation issue android#287 * Bumps circle CI Android dependencies * Fixes comment in test * Bumps versions in travis.yml * Moving the setting of the AddEditTaskPresenter in the constructor. Tests added to check that the presenter is set to the view. * Removing the `_id` column and making `entryid` primary key. Moved the `TasksLocalDataSourceTest` to correct package. * First commit: MPV with Room * Readme updated * Readme updated * Fixing CI * Fixing tests for local repository * Using Idling resources for tests, for commands that are executed on the background thread * comments updated * Fixed Firebase Test Lab script * fix typo in androidTest * Fix typo (android#415) - Change "compliment" to "complement" * Fixed the typo (android#425) * Tries to fix circle adding google repo * Buildtools 26 is mandatory now, apparently * More CI fixes * CI caught some merge errors + circle fix * Updates todo-mvvm-databinding with changes from todo-mvp (android#437) * Update todo-mvp README.md Refactored the content around a new structure, with new standard titles used for each sample Fixed various grammar issues Applied formatting Additional explanations and links where appropriate Introduced pre-requisite topics * Update README.md Removed a redundant sentence. * copies Firebase Test Lab results to CIRCLE_TEST_REPORTS * Replaced deprecated attribute * Bumps versions and fixes annotation imports * Fixes toolbar title not being persisted after rotation * Fixes navigation issue android#287 * Bumps circle CI Android dependencies * Fixes comment in test * Bumps versions in travis.yml * Moving the setting of the AddEditTaskPresenter in the constructor. Tests added to check that the presenter is set to the view. * Removing the `_id` column and making `entryid` primary key. Moved the `TasksLocalDataSourceTest` to correct package. * Fixed Firebase Test Lab script * Tries to fix circle adding google repo * Buildtools 26 is mandatory now, apparently * More CI fixes * CI caught some merge errors + circle fix * Fixed Firebase Test Lab script (android#440) * Updates room branch to API 26, Espresso, Arch Components * Adds google m2 repository * Adding google() to repositories * Reverts to todo-mvp's README * No need for LicecycleActivities now * Promotes todo-mvvm-live to stable * Adds todo-mvi-rxjava to External samples * As per the Gradle recommendation speed up the build * Add flavor dimension * Remove transitive dep cleaning We no longer need to remove AAR deps from test APK as version issue was fixed with gradle version 2.0 and up * Upgrade the code lab to use the latest version of ATSL and Gradle runnerVersion = '1.0.1' rulesVersion = '1.0.1' espressoVersion = '3.0.1' Gradle Plugin = '3.0.1' Gradle = '4.1' * Adds todo mvp-kotlin-coroutines sample (android#527) * Adds todo-mvp-coroutines to external samples * Update ISSUE_TEMPLATE.md * Update LICENSE * Adds coroutines sample, promotes kotlin branches to stable * Update versions for ATSL/Gradle/Plugin * Bumps versions (SDK 28) * Migrates to androidx and to the new androidx.test classes * Trying to fix proguard, currently crashing * Updates circle CI to 2.0 * Removes configuration debugging from proguard which was causing a crash * Reformatting circleCI, no idea why it's not being picked up * Adds a cd * Fixes a bad import * Adds missing gradle task to build test apk * Moves back to stable libraries and fixes hardcoded versions * Formatting, consistent quotes, cleaning up gradle files * Bumps versions to 28 before jetifier * Jetifier applied * Fixes SingleLiveEvent error * Fixes UI tests * Fixes race condition in UI tests * WIP: Migrated to LiveData and Event TODO: Unit tests are going to be fun Remove SingleLiveEvent and Snackbar files * More LiveData migration and encapsulation * Done with unit tests * Adds SingleLiveEvent note and removes SnackbarMessage class * Showcases a simple LiveData Transformation * Code style nit * Androidx migration WIP * New Kotlin conversions from todo-mvvm-live. UI tests pass * Fixes UI tests and bugs that the UI tests caught. VICTORY. * Deletes temp files and fixes bad R import * Addressed comments in android#630 * Moves contributors to wiki, adds license * Adds copyright header and minor null check change * Forces FTL to use walleye * Fixes circle syntax * Fixes missing description value when task is added * Kotlin branch - Fixing config change bug android#574 - no more AndroidViewModels * Forces device on FTL * Adds IR to the snackbar and sets flagNoExtractUi to the edittexts * Removes empty line * Update unit test. Verify that both the title and the description of a task are correctly passed to the repository when saved by ViewModel. * Replaces codelab code with todo-mvvm-live-kotlin Change-Id: I0517a7c3ca87c8c4a04cad05267998a2f83f2787 * Refactors TasksRepository and unit tests Change-Id: I79d763812b21b6d4d246cdfcf51713447eb2837f * Replaces Injection class with Service Locator + some format improvements Change-Id: I01909e34055899f73e2a223a90191e013d51b595 * move androidTestMock tests to Robolectric Change-Id: I87c9962f9a1c1146f1ad7c97db83dff8e4d51799 * ActivityTestRule -> ActivityScenario Change-Id: Ife300863a3e6baeba57c8f447b64cd0c2fdf4d23 * Migrated to AAC Navigation. Change-Id: If16d43253901e15d664a77a60111909ea9030068 * Address code review comments Change-Id: I23d6abbaa97823357dd504f69759116ef4524481 * Adds unit tests to viewmodels with coroutines Change-Id: Ia52946a31f0c6ddc7a97e817689c2c517c3265e0 * move to use robolectric snapshots Change-Id: Ifca11272193a7b36b73b14a33631ee9a83aeffc0 * Removes BaseViewModel Change-Id: I841d09bcf60389847050a90864e1686357df9964 * Switch TasksDaoTest to JVM (Robolectric) test. In general we prefer to run unit tests on the JVM for scalability. Must explicitly request .allowMainThreadQueries() since JVM tests run on the main thread. Instrumentation tests run on the Instrumentation thread. Change-Id: I0bfd366b08f71c13931f2e477c4ea23ec65b2b93 * 1) FakeTasksRemoteDataSource.addTasks -> ServiceLocator.provideTasksRepository + TasksRepository.saveTask 2) Add isCompleted to Task constructor instead of apply{}ing everywhere Change-Id: I49fc04b0ab99460bcbecce9a49771dee548a143e * 1) use Navigation to handle toolbar instead of casting to AppCompatActivity 2) update AppNavigationTest Change-Id: I6e2fa9a0afd38454b50e1ca821b8af6f34183905 * Updated the "Delete Task" menu item with a trash icon on the task detail page. Change-Id: I3657b49c9a8bf06644033b2a364d1514a2d75db2 * Used Open Sans as the default font family for the entire app. Change-Id: I0d1f9b447e3fcd977817c0e49e619a7ff6709d4c * clean up tests and pick out the ones for the codelab Change-Id: I73f9e6d6d45f55f51e6d959421715e84e9543d64 * Included a few style changes. Major ones: 1) Updated color of icons to be green; 2) Removed the "Add a TODO item +" link on the first screen. Screenshots: 1) First screen with no TO-DO notes: https://screenshot.googleplex.com/UbRRKxOJCzs.png 2) First screen with TO-DOs: https://screenshot.googleplex.com/eV34Ndfd6Kt.png 3) Add a new TO-DO: https://screenshot.googleplex.com/9eJtFYmNbg4.png 4) TO-DO details page: https://screenshot.googleplex.com/gdw0D2XXpOq.png. Change-Id: I6417a72b91b632bd6bec694cbd3ad966c90bca64 * Fixes StatisticcsViewModelTest Change-Id: I6f19950b7a57eacffcf6ff18a2097e39aab39fff * Bumps AGP and Kotlin versions Change-Id: I3673b25019f0381856f1dcd680fa565daf92b73c * 1) Fixing "Error loading tasks" on startup 2) Handling scenario found in emulator testing where a snackbar's onDismiss callback would be fired without the onShown callback ever being fired 3) Updating androidx.test and espresso versions to match robolectric dependencies Change-Id: I559ad446ef50cab28c66dcf636c747e014955328 * Rename tests + cleanup. Rename TasksScreenTest -> TasksActivityTest This is out end-to-end test, annotated @LargeTest Rename: TasksSingleScreenTest -> TasksFragmentTest AddEditTaskScreenTest -> AddEditTaskFragmentTest StatisticsScreenTest -> StatisticsFragmentTest TaskDetailScreenTest -> TaskDetailFragmentTest These are our integration tests, annotated @MediumTest Cleaned up Javadoc to reflect this. Removed unnecessary onFragment() calls wrapping Espresso. Change-Id: I5eae2c721f60ddd1380927eb6c65565c2e13c9f7 * Updated the app with the new logo. Screenshots: Logo: https://screenshot.googleplex.com/MyhPhfqqeV3.png Navigation page: https://screenshot.googleplex.com/EyTAsBzdQTG.png TODO list: https://screenshot.googleplex.com/cq8W63WeTTf.png Change-Id: I801333b8e0bd3f62080ac4e9f1bea115af89f720 * Move fragment tests to sharedTests where possible. StatisticsFragmentTest + TaskDetailFragmentTest run on both Robolectric and Instrumentation. Change-Id: I0670ada9d02ec2970be56d9addb129829c76d8d8 * Cleanup TasksFragmentTest 1) Remove @ignore since this bug is now fixed 2) Remove custom ViewMatcher - we don't want to promote these 3) Fix failing tests by using doesNotExist() for items that are not present. 4) Inline all the String constants, makes text entry read more clearly. 5) Inline helper methods to make tests read more clear Change-Id: I0ee742b2f7620adfde510243622c35a689a4a636 * move over all TasksFragment related tests affected by robolectric/4862 to TasksFragmentTest Change-Id: Id238b46da928401f82e25c4b999efdd396a9d968 * Enable TaskLocalDataSourceTest Moved to Java Tests source root (can be moved to sharedTests in future) Fixed bug in LocalDataSource Inlined SingleExecutors class Change-Id: Iee80640f95bd6e8d45ff53f3f7ec3c45a9da2f46 * Migrate tests/ folder to Truth Change-Id: Ib28bd89eff8a0ce1131e04bdc96c5214aa63355c * Remove now obsolete ActivityTestExt Change-Id: I183d62074c47cb5c12e82e254ba050a05c035940 * Use DrawerActions on AppNavigationTest. Change-Id: I456369558df49453a5a1d0f31ba0c82d4254b083 * Roll back to build tools 3.3.2 Due to: https://issuetracker.google.com/122936785 (Fixed in 3.4.1 that is not stable yet) Change-Id: I7f4064f62f1203b80ce4de33d449a4e65880327f * Remove workaround for databinding in tests. Its no longer required. Change-Id: I28ab36b47412047d428b9ba182e2389053464f9e * Addressing coroutines review - Switching dispatcher in data source, not repository. - Using launch instead of async - Removes app executors class - DAO methods now suspend - Uses Fake repository from medium tests - Reset ServiceProvider between tests. Change-Id: Ief842aa1c2c812695d8da8a6fa74117f84999839 * Cleanup TasksFragmentTest - Removed local variable shadowing field - Removed redundant ActivityScenario vars. Change-Id: I40d7326f30737f5c812da699d0d0575778d73c7e * Migrate more tests to truth Also remove unused Kotlin extension file. Change-Id: I4df5f1007866459df53962dbc1c622ef482f0644 * Add missing resetForTests() to prod. * cleanups Also removing google truths from androidTest for now due to diamond dependency concerns Change-Id: I367d679efed711b8f805429a2a29f502dd4eb2b8 * Splits Add/Edit fragment test tests Change-Id: I825006f6139ce563d96445c092f7fb3c4a97a56a * Adds pure unit tests to a Stats utils class Change-Id: I9f75a2f8247e711be9d1003f42f8a9fa6afcae92 * Bump build tools to latest version. com.android.tools.build:gradle:3.4.0 Change-Id: I2830deeb5538cb4dd1b588a1df115446ea76df95 * Addresses codelab content comments Change-Id: Iaf199e22e887143c6d4f27c03856767ebbd88a6d * Move remaining Fragment tests to sharedTest. Change-Id: I57b1d51453e296f3a3bf7134470bae6c3d7e6219 * Renamed the app to "Todo" and updated "TO-DO" to "task" in the app. Also, adjusted the size of "finished" icons from 24dp -> 96dp. https: //github.com/googlecodelabs/android-testing/issues/124 Change-Id: Ia55bee8e43cd5df271202f3470fab34a152efdb0 * 1) move AddEditTaskFragmentTest, TasksFragmentTest, and TasksLocalDataSourceTest to sharedTest 2) move *FragmentTest to use FakeRepository 3) Adds data binding idling resource to make prod work move more stuff to sharedTest Change-Id: I452838557628bc512d077fe4a74b8eae3598c072 * Fixes comments in StatisticsUtilsTest Change-Id: I26141e4d3c127d122f97a395019d47882aa8902f * quick compile fix Change-Id: Ie448d92cd580e4350058520c7d58325ad94ac180 * Enables snackbar again Change-Id: I57b4291dbf7064d17b5b3a559d20fbb85003aa4d * Updates circleci config Change-Id: I6f4408d0bcefad083a5bf09b906dbab8ffcd7e5d * Fixes lint error Change-Id: I079bc40269096746dea6d0a55d5e3079cbb9efd5 * Updates README Change-Id: Ief1eb7f367834ca02f0d6844b13b2b13d0c8836b * Updates README Change-Id: Ief1eb7f367834ca02f0d6844b13b2b13d0c8836b * Modifies code for interactive sections Change-Id: I4235bece8923f9310dbf5963a8cdbddf6c628c0c * more codelab polishing Change-Id: I4558582175cd2590152191fc51832cae4b858a09 * switching to beta versions of AndroidX Test and Robolectric Change-Id: Ie38fcfe289154b976bebaa91f27e2b56da941992 * Modify the exception thrown on decrementing idling resource * Fixes flaky tests and tests running in landscape Change-Id: I0dfed8d97e58e35a570e8763754590d553dadefd * Removes unused class Change-Id: I3510d0299dbc68b8b57c3d33d1b4e03ed85a0455 * Migrates to coroutines-test Change-Id: I383435b64edf8b3ee9bc16e3c00dfce58a16deac * Fixes DAO tests that use runBlockingTest Change-Id: I0878cfc77685eeb9b96eee6ee1bfda2096d98a2b * Circle is OOM. Borrowing Gradle config from Tivi Change-Id: I1986b331c8c56850d05a17df3e7549c5a9270a61 * Changes codelab exercise to use the new test dispatcher Change-Id: I651bf8f66dbe7a63bbe727b3967ac8e3b7717a50 * Some small fixes and imports Change-Id: I3f1a73ee480b9bbe3c67cdddd9fad3db4745a7f3 * Uses fragment-ktx to obtain VMs in fragments * Removes codelab TODOs and solutions in tests * Removes guava * Removes old directory * Adds wrapEspressoIdlingResource * Fixes lifecycle and refresh layout issues * Removed all initial calls to start() from fragments to viewmodels * Moves to by navArgs and reverts unrelated change * Updates docs and code style for ViewModelFactory * Reverts changes in TasksFragment because navigating back from details was breaking tests * ListView -> RecyclerView * Moves TasksFragment to navArgs and small code refactorings * Solves sync problem with Espresso using pressBack * Removes ignore annotations from the testing codelab * New Blueprints v2 README * Removes obsolete javadoc Change-Id: I11ccec845590d5a471dce46eecdde53aeaa2384f * Fixes comments, some code style Change-Id: I5c8d7ea2528f0b30d6994e2ea6e25a5e9dda8f6b * Updates copyrights Change-Id: Ib16006bb5ff315da2efd94c5999a95ad83a2b4db * Removed unused listeners Change-Id: If75d485a28c76c345332c481dc6e6711cf581047 * Changes applicationId in master Change-Id: Idddb79107600ce6160deb62dd79955c240a13906 * Update README.md * Fixes travis CI config Change-Id: I4b0124762db9260ef3bcf705613c3075e0c2f545 * Bumps versions Change-Id: Ibfb7d05a0beec1b85278076fe6952c87ea79e10c * Fixes flaky test related to RecyclerView and animations Change-Id: Icbf4f3a8de2cb68cd16fe5ce26b89498056601b0 * Auto-format run Change-Id: I3ce50dc5e1ce51f1d3c73fbcee07e6f1f207c9be * Another auto-format run Change-Id: I9dddce3e997a1b8c60a5e58b08fa37b51777d886 * Update README.md * Update README.md Co-Authored-By: Ben Weiss <keyboardsurfer@users.noreply.github.com> * Update README.md * Update README.md * Update README.md * Changes style of completed tasks (strike-through) * Reverts navigation graph unnecessary pops * Fixes database creation and some minor unit test fixes * Cleanup variable and function names * Cleanup resource ids * Update strings. Add content descriptions and dimensions * Adds illustration credits * Changes bucket in CircleCI config * Removes all files in master branch in preparation for new master * Adds "compare" links * Address comments. * Cleanup variable and function names * Fixes some lint errors * Moves TasksRemoteDataSource to the prod variant Co-authored-by: Jose Alcérreca <JoseAlcerreca@users.noreply.github.com> Co-authored-by: Stephan Linzner <slinzner@users.noreply.github.com> Co-authored-by: Frank Kwok <ghlfrankkwok@gmail.com> Co-authored-by: Mohit Ajwani <mohitajwani@users.noreply.github.com> Co-authored-by: Florina Muntenescu <2998890+florina-muntenescu@users.noreply.github.com> Co-authored-by: Trent <devtrentoh@gmail.com> Co-authored-by: Nick K <nickkor@gmail.com> Co-authored-by: Doug Sigelbaum <doug@lyft.com> Co-authored-by: Maher Malaeb <m.n.malaeb@gmail.com> Co-authored-by: Jan Hudzik <jahudzik@users.noreply.github.com> Co-authored-by: Pablo Andrés Dorado Suárez <hola@pablodorado.com> Co-authored-by: yankuu <47288897+yankuu@users.noreply.github.com> Co-authored-by: dmeng <dennismeng90@gmail.com> Co-authored-by: Jonathan Gerrish <jonathan@indiekid.org> Co-authored-by: adazh <46544665+adazh@users.noreply.github.com> Co-authored-by: Islam Salah <islamsalah007@gmail.com> Co-authored-by: Lyla Fujiwara <lyla.fujiwara@gmail.com> Co-authored-by: Ben Weiss <keyboardsurfer@users.noreply.github.com>

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

No description provided.