Add language dropdown to compose view (#2651)
* Add UI for selecting post language * Apply selected language when sending status * Save/restore post language with drafts * Fall back to english if the configured language isn't found in the locale list (no-NB) * Remove comment about no_NB * Move language dropdown to top of compose view * Preserve language when redrafting * Set default language to target post's language when replying * Add Tusky license header to new source file * Tweak language dropdown button width
This commit is contained in:
parent
c638ad7e6b
commit
0041acf2d4
28 changed files with 1140 additions and 28 deletions
|
@ -88,7 +88,8 @@ class BottomSheetActivityTest {
|
|||
pinned = false,
|
||||
muted = false,
|
||||
poll = null,
|
||||
card = null
|
||||
card = null,
|
||||
language = null,
|
||||
)
|
||||
private val statusSingle = Single.just(SearchResult(emptyList(), listOf(status), emptyList()))
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ import org.robolectric.Robolectric
|
|||
import org.robolectric.Shadows.shadowOf
|
||||
import org.robolectric.annotation.Config
|
||||
import org.robolectric.fakes.RoboMenuItem
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* Created by charlag on 3/7/18.
|
||||
|
@ -444,6 +445,19 @@ class ComposeActivityTest {
|
|||
assertEquals(selectionEnd + insertText.length, editor.selectionEnd)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun whenNoLanguageIsGiven_defaultLanguageIsSelected() {
|
||||
assertEquals(Locale.getDefault().language, activity.selectedLanguage)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun languageGivenInComposeOptionsIsRespected() {
|
||||
val language = "no"
|
||||
composeOptions = ComposeActivity.ComposeOptions(language = language)
|
||||
setupActivity()
|
||||
assertEquals(language, activity.selectedLanguage)
|
||||
}
|
||||
|
||||
private fun clickUp() {
|
||||
val menuItem = RoboMenuItem(android.R.id.home)
|
||||
activity.onOptionsItemSelected(menuItem)
|
||||
|
|
|
@ -260,7 +260,8 @@ class FilterTest {
|
|||
ownVotes = null
|
||||
)
|
||||
} else null,
|
||||
card = null
|
||||
card = null,
|
||||
language = null,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -51,7 +51,8 @@ fun mockStatus(
|
|||
pinned = false,
|
||||
muted = false,
|
||||
poll = null,
|
||||
card = null
|
||||
card = null,
|
||||
language = null,
|
||||
)
|
||||
|
||||
fun mockStatusViewData(
|
||||
|
|
|
@ -463,6 +463,7 @@ class TimelineDaoTest {
|
|||
contentShowing = true,
|
||||
pinned = false,
|
||||
card = card,
|
||||
language = null,
|
||||
)
|
||||
return Triple(status, author, reblogAuthor)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue