Merge remote-tracking branch 'tuskyapp/develop'

This commit is contained in:
kyori19 2020-06-22 12:59:08 +09:00
commit eedfd10f30
11 changed files with 52 additions and 35 deletions

View File

@ -108,7 +108,7 @@ ext.retrofitVersion = '2.9.0'
ext.okhttpVersion = '4.7.2' ext.okhttpVersion = '4.7.2'
ext.glideVersion = '4.11.0' ext.glideVersion = '4.11.0'
ext.daggerVersion = '2.27' ext.daggerVersion = '2.27'
ext.materialdrawerVersion = '8.0.3' ext.materialdrawerVersion = '8.1.2'
repositories { repositories {
maven { maven {
@ -122,7 +122,7 @@ dependencies {
implementation "androidx.core:core-ktx:1.3.0" implementation "androidx.core:core-ktx:1.3.0"
implementation "androidx.appcompat:appcompat:1.2.0-rc01" implementation "androidx.appcompat:appcompat:1.2.0-rc01"
implementation "androidx.fragment:fragment-ktx:1.2.4" implementation "androidx.fragment:fragment-ktx:1.2.5"
implementation "androidx.browser:browser:1.2.0" implementation "androidx.browser:browser:1.2.0"
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0" implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.1.0" implementation "androidx.recyclerview:recyclerview:1.1.0"
@ -184,7 +184,7 @@ dependencies {
testImplementation "androidx.test.ext:junit:1.1.1" testImplementation "androidx.test.ext:junit:1.1.1"
testImplementation "org.robolectric:robolectric:4.3.1" testImplementation "org.robolectric:robolectric:4.3.1"
testImplementation "org.mockito:mockito-inline:3.2.4" testImplementation "org.mockito:mockito-inline:3.3.3"
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0" testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0" androidTestImplementation "androidx.test.espresso:espresso-core:3.2.0"

View File

@ -660,8 +660,8 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin) val pageMargin = resources.getDimensionPixelSize(R.dimen.tab_page_margin)
viewPager.setPageTransformer(MarginPageTransformer(pageMargin)) viewPager.setPageTransformer(MarginPageTransformer(pageMargin))
val uswSwipeForTabs = preferences.getBoolean("enableSwipeForTabs", true) val enableSwipeForTabs = preferences.getBoolean("enableSwipeForTabs", true)
viewPager.isUserInputEnabled = uswSwipeForTabs viewPager.isUserInputEnabled = enableSwipeForTabs
onTabSelectedListener?.let { onTabSelectedListener?.let {
activeTabLayout.removeOnTabSelectedListener(it) activeTabLayout.removeOnTabSelectedListener(it)
@ -685,7 +685,8 @@ class MainActivity : BottomSheetActivity(), ActionButtonActivity, HasAndroidInje
activeTabLayout.addOnTabSelectedListener(it) activeTabLayout.addOnTabSelectedListener(it)
} }
mainToolbar.title = tabs[0].title(this@MainActivity) val activeTabPosition = if (selectNotificationTab) notificationTabPosition else 0
mainToolbar.title = tabs[activeTabPosition].title(this@MainActivity)
keepScreenOn() keepScreenOn()
return popups return popups

View File

@ -248,20 +248,17 @@ class ComposeActivity : BaseActivity(),
for (uri in uriList) { for (uri in uriList) {
pickMedia(uri) pickMedia(uri)
} }
} else if (type == "text/plain") { } else if (type == "text/plain" && intent.action == Intent.ACTION_SEND) {
val action = intent.action
if (action != null && action == Intent.ACTION_SEND) {
val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT) val subject = intent.getStringExtra(Intent.EXTRA_SUBJECT)
val text = intent.getStringExtra(Intent.EXTRA_TEXT) val text = intent.getStringExtra(Intent.EXTRA_TEXT).orEmpty()
val shareBody = if (subject != null && text != null) { val shareBody = if (!subject.isNullOrBlank() && subject !in text) {
if (subject != text && !text.contains(subject)) { subject + '\n' + text
String.format("%s\n%s", subject, text)
} else { } else {
text text
} }
} else text ?: subject
if (shareBody != null) { if (shareBody.isNotBlank()) {
val start = composeEditField.selectionStart.coerceAtLeast(0) val start = composeEditField.selectionStart.coerceAtLeast(0)
val end = composeEditField.selectionEnd.coerceAtLeast(0) val end = composeEditField.selectionEnd.coerceAtLeast(0)
val left = min(start, end) val left = min(start, end)
@ -272,7 +269,6 @@ class ComposeActivity : BaseActivity(),
} }
} }
} }
}
private fun setupReplyViews(replyingStatusAuthor: String?) { private fun setupReplyViews(replyingStatusAuthor: String?) {
if (replyingStatusAuthor != null) { if (replyingStatusAuthor != null) {

View File

@ -87,7 +87,7 @@ object BlurHashDecoder {
numCompX: Int, numCompY: Int, numCompX: Int, numCompY: Int,
colors: Array<FloatArray> colors: Array<FloatArray>
): Bitmap { ): Bitmap {
val bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888) val imageArray = IntArray(width * height)
for (y in 0 until height) { for (y in 0 until height) {
for (x in 0 until width) { for (x in 0 until width) {
var r = 0f var r = 0f
@ -102,10 +102,10 @@ object BlurHashDecoder {
b += color[2] * basis b += color[2] * basis
} }
} }
bitmap.setPixel(x, y, Color.rgb(linearToSrgb(r), linearToSrgb(g), linearToSrgb(b))) imageArray[x + width * y] = Color.rgb(linearToSrgb(r), linearToSrgb(g), linearToSrgb(b))
} }
} }
return bitmap return Bitmap.createBitmap(imageArray, width, height, Bitmap.Config.ARGB_8888)
} }
private fun linearToSrgb(value: Float): Int { private fun linearToSrgb(value: Float): Int {

View File

@ -493,4 +493,5 @@
<string name="notification_follow_request_format">%s طلبَ متابعتك</string> <string name="notification_follow_request_format">%s طلبَ متابعتك</string>
<string name="hashtags">الوسوم</string> <string name="hashtags">الوسوم</string>
<string name="add_hashtag_title">إضافة وسم</string> <string name="add_hashtag_title">إضافة وسم</string>
<string name="pref_title_gradient_for_media">اظهر ألوانا متدرّجة للوسائط المخفية</string>
</resources> </resources>

View File

@ -455,4 +455,7 @@
<string name="add_hashtag_title">Legg til stikkord</string> <string name="add_hashtag_title">Legg til stikkord</string>
<string name="notification_follow_request_format">%s ønsker å følge deg</string> <string name="notification_follow_request_format">%s ønsker å følge deg</string>
<string name="pref_title_gradient_for_media">Vis fargerike gradienter for skjult media</string> <string name="pref_title_gradient_for_media">Vis fargerike gradienter for skjult media</string>
<string name="pref_main_nav_position_option_bottom">Bunn</string>
<string name="pref_main_nav_position_option_top">Topp</string>
<string name="pref_main_nav_position">Plassering av hovednavigasjon</string>
</resources> </resources>

View File

@ -33,24 +33,24 @@
<string name="title_mutes">Usuários silenciados</string> <string name="title_mutes">Usuários silenciados</string>
<string name="title_blocks">Usuários bloqueados</string> <string name="title_blocks">Usuários bloqueados</string>
<string name="title_follow_requests">Seguidores pendentes</string> <string name="title_follow_requests">Seguidores pendentes</string>
<string name="title_edit_profile">Editar seu perfil</string> <string name="title_edit_profile">Editar perfil</string>
<string name="title_saved_toot">Rascunhos</string> <string name="title_saved_toot">Rascunhos</string>
<string name="title_licenses">Licenças</string> <string name="title_licenses">Licenças</string>
<string name="status_boosted_format">%s deu boost</string> <string name="status_boosted_format">%s deu boost</string>
<string name="status_sensitive_media_title">Mídia sensível</string> <string name="status_sensitive_media_title">Mídia sensível</string>
<string name="status_media_hidden_title">Mídia oculta</string> <string name="status_media_hidden_title">Mídia sensível</string>
<string name="status_sensitive_media_directions">Toque para ver</string> <string name="status_sensitive_media_directions">Toque para ver</string>
<string name="status_content_warning_show_more">Mostrar mais</string> <string name="status_content_warning_show_more">Mostrar mais</string>
<string name="status_content_warning_show_less">Mostrar menos</string> <string name="status_content_warning_show_less">Mostrar menos</string>
<string name="footer_empty">Nada aqui. Arraste para atualizar!</string> <string name="footer_empty">Nada aqui. Arraste para atualizar!</string>
<string name="notification_reblog_format">%s compartilhou o seu toot</string> <string name="notification_reblog_format">%s deu boost no seu toot</string>
<string name="notification_favourite_format">%s favoritou seu toot</string> <string name="notification_favourite_format">%s favoritou seu toot</string>
<string name="notification_follow_format">%s te seguiu</string> <string name="notification_follow_format">%s te seguiu</string>
<string name="report_username_format">Denunciar @%s</string> <string name="report_username_format">Denunciar @%s</string>
<string name="report_comment_hint">Comentários adicionais?</string> <string name="report_comment_hint">Comentários adicionais?</string>
<string name="action_quick_reply">Resposta rápida</string> <string name="action_quick_reply">Resposta rápida</string>
<string name="action_reply">Responder</string> <string name="action_reply">Responder</string>
<string name="action_reblog">Boost</string> <string name="action_reblog">Dar boost</string>
<string name="action_unreblog">Desfazer boost</string> <string name="action_unreblog">Desfazer boost</string>
<string name="action_favourite">Favoritar</string> <string name="action_favourite">Favoritar</string>
<string name="action_unfavourite">Desfavoritar</string> <string name="action_unfavourite">Desfavoritar</string>
@ -83,7 +83,7 @@
<string name="action_photo_take">Tirar foto</string> <string name="action_photo_take">Tirar foto</string>
<string name="action_share">Compartilhar</string> <string name="action_share">Compartilhar</string>
<string name="action_mute">Silenciar</string> <string name="action_mute">Silenciar</string>
<string name="action_unmute">Desativar silêncio</string> <string name="action_unmute">Desfazer silêncio</string>
<string name="action_mention">Mencionar</string> <string name="action_mention">Mencionar</string>
<string name="action_hide_media">Ocultar mídia</string> <string name="action_hide_media">Ocultar mídia</string>
<string name="action_open_drawer">Abrir gaveta</string> <string name="action_open_drawer">Abrir gaveta</string>
@ -109,8 +109,8 @@
<string name="action_copy_link">Copiar link</string> <string name="action_copy_link">Copiar link</string>
<string name="action_open_as">Abrir como %s</string> <string name="action_open_as">Abrir como %s</string>
<string name="action_share_as">Compartilhar como …</string> <string name="action_share_as">Compartilhar como …</string>
<string name="send_status_link_to">Compartilhar link do toot no</string> <string name="send_status_link_to">Compartilhar link do toot em</string>
<string name="send_status_content_to">Compartilhar toot no</string> <string name="send_status_content_to">Compartilhar toot em</string>
<string name="send_media_to">Compartilhar mídia via…</string> <string name="send_media_to">Compartilhar mídia via…</string>
<string name="confirmation_reported">Enviado!</string> <string name="confirmation_reported">Enviado!</string>
<string name="confirmation_unblocked">Usuário desbloqueado</string> <string name="confirmation_unblocked">Usuário desbloqueado</string>
@ -464,4 +464,8 @@
<string name="pref_title_confirm_reblogs">Solicitar confirmação antes de dar boost</string> <string name="pref_title_confirm_reblogs">Solicitar confirmação antes de dar boost</string>
<string name="hashtags">Hashtags</string> <string name="hashtags">Hashtags</string>
<string name="add_hashtag_title">Adicionar hashtag</string> <string name="add_hashtag_title">Adicionar hashtag</string>
<string name="pref_title_gradient_for_media">Mostrar blur em mídia sensível</string>
<string name="pref_main_nav_position_option_bottom">Inferior</string>
<string name="pref_main_nav_position_option_top">Superior</string>
<string name="pref_main_nav_position">Posição do menu</string>
</resources> </resources>

View File

@ -0,0 +1,9 @@
Tusky v11.0
- Notifications à propos des nouvelles demandes dabonnement lorsque votre compte est verrouillé
- Nouvelles fonctionalités activables via lécran Préférences :
- désactiver le pivotement entre onglets
- afficher une boîte de dialogue de confirmation avant de booster un pouet
- afficher les aperçus des liens dans les fils
- Possibilité de mettre en sourdine les conversations
- Les résultats des sondages seront désormais calculés en fonction du nombre des sond·é·s

Binary file not shown.

2
gradlew vendored
View File

@ -82,6 +82,7 @@ esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM. # Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
@ -129,6 +130,7 @@ fi
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"` JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath # We build the pattern for arguments to be converted via cygpath

1
gradlew.bat vendored
View File

@ -84,6 +84,7 @@ set CMD_LINE_ARGS=%*
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle @rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%