Merge remote-tracking branch 'tuskyapp/develop'
This commit is contained in:
commit
eedfd10f30
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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>
|
|
@ -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>
|
|
@ -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>
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
Tusky v11.0
|
||||||
|
|
||||||
|
- Notifications à propos des nouvelles demandes d’abonnement 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.
|
@ -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
|
||||||
|
|
|
@ -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%
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue