caarmen / poet-assistant

Android app with rhyming dictionary, thesaurus, and dictionary, with text-to-speech functionality to read your poem.
Other
83 stars 11 forks source link

Kotlin migration next steps #127

Closed caarmen closed 6 years ago

caarmen commented 6 years ago

Current package sizes (in java loc) are below.

We could migrate package by package, but some packages are a bit big and may need to be split further into smaller blocks.

As a reference, Tts.java was 393 loc and took about 1.5 hours to migrate.

dictionaries: 928 dictionaries/dictionary: 228 dictionaries/rt: 925 dictionaires/search: 323

settings: 665 reader: 562 main: 489 root: 378 wotd: 262 about: 150

Another approach could be to migrate file by file, starting with the biggest files, so the migration gets easier.

File                                                                                                        loc        day
app/src/main/java//ca/rmen/android/poetassistant/main/reader/ReaderViewModel.java                           262          1
app/src/main/java//ca/rmen/android/poetassistant/main/MainActivity.java                                     249          2
app/src/main/java//ca/rmen/android/poetassistant/main/reader/ReaderFragment.java                            239          3
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/EmbeddedDb.java                          203          4
app/src/main/java//ca/rmen/android/poetassistant/PoemAudioExport.java                                       185          5
app/src/main/java//ca/rmen/android/poetassistant/settings/SettingsActivity.java                             183          6
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListFragment.java                  177          7
app/src/main/java//ca/rmen/android/poetassistant/main/PagerAdapter.java                                     173          8

app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/Thesaurus.java                        163          9
app/src/main/java//ca/rmen/android/poetassistant/settings/Settings.java                                     151         10
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/RhymerLiveData.java                   148         11
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/dictionary/Dictionary.java               142         12
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/Rhymer.java                           140         13
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListViewModel.java                 119         14
app/src/main/java//ca/rmen/android/poetassistant/settings/Voices.java                                       105         14
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListHeaderFragment.java            104         15
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/Search.java                       102         15
app/src/main/java//ca/rmen/android/poetassistant/Favorites.java                                              95         16
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/ThesaurusLiveData.java                 93         16

app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/PatternLiveData.java                   86         17
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/FilterDialogFragment.java                 85         17
app/src/main/java//ca/rmen/android/poetassistant/settings/SettingsViewModel.java                             79         17
app/src/main/java//ca/rmen/android/poetassistant/about/AboutActivity.java                                    77         18
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/RTListAdapter.java                     76         18
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdLiveData.java                                      75         18
app/src/main/java//ca/rmen/android/poetassistant/about/LicenseActivity.java                                  73         19
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/SuggestionsProvider.java           63         19
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/SuggestionsCursor.java             63         19
app/src/main/java//ca/rmen/android/poetassistant/main/reader/PoemPrefs.java                                  61         19
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdAdapter.java                                       60         20
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListHeaderViewModel.java            57         20
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ConfirmDialogFragment.java                54         20
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/FavoritesLiveData.java                 52         20
app/src/main/java//ca/rmen/android/poetassistant/settings/VoicePreferenceDialogFragment.java                 52         21
app/src/main/java//ca/rmen/android/poetassistant/main/WarningNoSpaceDialogFragment.java                      51         21
app/src/main/java//ca/rmen/android/poetassistant/settings/VoicePreference.java                               50         21
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/RTEntryViewModel.java                  46         21
app/src/main/java//ca/rmen/android/poetassistant/settings/SettingsChangeListener.java                        45         21
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/HelpDialogFragment.java                   42         22
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdJobService.java                                    34         22
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/RhymerListExporter.java                34         22
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/ThesaurusListExporter.java             34         22
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListAdapter.java                    33         22
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/dictionary/DictionaryListAdapter.         32         22
app/src/main/java//ca/rmen/android/poetassistant/UserDb.java                                                 30         22
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListLiveData.java                   30         23
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/dictionary/DictionaryLiveData.jav         30         23
app/src/main/java//ca/rmen/android/poetassistant/FavoriteDao.java                                            26         23
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdEntryViewModel.java                                26         23
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdListExporter.java                                  25         23
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/FavoritesListExporter.java             24         23
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/PatternListExporter.java               24         23
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/dictionary/DictionaryListExporter         24         23
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/Suggestions.java                   22         23
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdBootReceiver.java                                  22         23
app/src/main/java//ca/rmen/android/poetassistant/wotd/WotdBroadcastReceiver.java                             20         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/Suggestion.java                    19         24
app/src/main/java//ca/rmen/android/poetassistant/Favorite.java                                               19         24
app/src/main/java//ca/rmen/android/poetassistant/PoetAssistantApplication.java                               17         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListData.java                       17         24
app/src/main/java//ca/rmen/android/poetassistant/main/Tab.java                                               16         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/SuggestionDao.java                 15         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/ThesaurusRouterActivity.ja         13         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/RhymerRouterActivity.java          13         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/search/DictionaryRouterActivity.j         13         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/ResultListExporter.java                    7         24
app/src/main/java//ca/rmen/android/poetassistant/Constants.java                                               6         24
app/src/main/java//ca/rmen/android/poetassistant/main/dictionaries/rt/OnWordClickListener.java                5         24