Merge branch 'adb/webxdc-tts' of https://github.com/deltachat/deltachat-android into adb/webxdc-tts

This commit is contained in:
adbenitez 2025-05-26 17:40:44 +02:00
commit 90350729d5
13 changed files with 28 additions and 35 deletions

View file

@ -3,6 +3,9 @@
## Unreleased
* Clearer app lists by removing redundant "App" subtitle
* New button for quick access to the apps sent in current chat
* New icon for the in-chat apps button
* Improve hint for app drafts
* Add Text-To-Speech (TTS) support for in-chat apps
## v1.58.4

View file

@ -245,6 +245,8 @@ Android metadata and changelogs are translated using [Weblate](https://hosted.we
<img src="https://hosted.weblate.org/widget/deltachat/android-metadata/svg-badge.svg" alt="Translation status" />
</a>
App strings and website are translated using [Transifex](https://app.transifex.com/delta-chat/).
# Credits
Many of the user interface classes were based on the Android Signal messenger when we ported it from the former Telegram-UI base in 2019.

View file

@ -1 +0,0 @@
Schreibe Nachrichten mit E-Mails. Retro, Offen. Privatsphäre im Design.

View file

@ -1,7 +0,0 @@
- nuovo inserimento: puoi creare un nuovo profilo con un tocco su "Crea Nuovo Profilo" - oppure utilizzare un accesso esistente o la configurazione del secondo dispositivo come al solito
i contatti possono essere allegati come "Schede" in "Allega/Contatto"; quando il destinatario tocca le carte, è possibile stabilire la crittografia end-to-end garantita
- aggiungi contatti manualmente in "Nuova Chat / Nuovo Contatto / Aggiungi Contatto Manualmente"
- invia qualsiasi emoji come reazione
- mostrare le reazioni nei riepiloghi
- blocca/archivia/ecc. le chat direttamente dai risultati di ricerca
- Risolti bug e altro ancora

View file

@ -1,4 +0,0 @@
- aggiungi un'opzione per contrassegnare tutte le chat selezionate come "Lette" (tocca a lungo una chat per avviare la modalità di selezione)
- i nuovi profili chatmail per dispositivo singolo hanno come impostazione predefinita "Elimina Messaggi Dopo il Download"
- quando si utilizza un profilo chatmail su più dispositivi, la cancellazione viene modificata in "Automatica" (la strategia di cancellazione dipende quindi dal server)
- Risolti bug e altro ancora

View file

@ -1,12 +0,0 @@
Delta Chat é um aplicativo de mensagens que é completamente compatível com a infraestrutura de email já existente.
Assim, com o Delta Chat você tem a facilidade de muitos aplicativos de mensagens com o alcance de email. Além disso, você é independente de outras companhias e sercviços -- já que suas informações e dados não estão relacionadas com o Delta Chat, você não vai nem adicionar novas permissões aqui.
Resumo de alguns recursos:
* Seguro com criptografia de ponta a ponta, com suporte ao novo padrão <a href="https://autocrypt.org">Autocrypt</a>
* Rápido usando Push-IMAP
* Maior base de usuários -- destinatários que não estiverem usando Delta Chat podem ser alcançados também
* Compatívle -- não apenas consigo mesmo
* Interface de usuário elegante e simples
* Sistema distribuído
* Sem spam -- apenas mensages de usuários conhecidos são mostradas por padrão
* Confiável -- pode até ser usado para mensagens comerciais
* Completamente OpenSource e baseado em padrões

View file

@ -526,6 +526,9 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
} else if (itemId == R.id.menu_show_map) {
WebxdcActivity.openMaps(this, chatId);
return true;
} else if (itemId == R.id.menu_show_apps) {
handleProfile(true);
return true;
} else if (itemId == R.id.menu_search_up) {
handleMenuSearchNext(false);
return true;
@ -606,10 +609,13 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
}
private void handleProfile() {
private void handleProfile(boolean showApps) {
Intent intent = new Intent(this, ProfileActivity.class);
intent.putExtra(ProfileActivity.CHAT_ID_EXTRA, chatId);
intent.putExtra(ProfileActivity.FROM_CHAT, true);
if (showApps) {
intent.putExtra(ProfileActivity.FORCE_TAB_EXTRA, ProfileActivity.TAB_WEBXDC);
}
startActivity(intent);
overridePendingTransition(0, 0);
}
@ -863,7 +869,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
buttonToggle.getBackground().invalidateSelf();
});
titleView.setOnClickListener(v -> handleProfile());
titleView.setOnClickListener(v -> handleProfile(false));
titleView.setOnBackClickedListener(view -> handleReturnToConversationList());
composeText.setOnKeyListener(composeKeyPressedListener);

View file

@ -312,7 +312,7 @@ public class AttachmentManager {
} else if (slide.hasDocument()) {
if (slide.isWebxdcDocument()) {
DcMsg instance = msg != null ? msg : DcHelper.getContext(context).getMsg(slide.dcMsgId);
webxdcView.setWebxdc(instance, context.getString(R.string.videochat_tap_to_open));
webxdcView.setWebxdc(instance, context.getString(R.string.webxdc_draft_hint));
webxdcView.setWebxdcClickListener((v, s) -> {
WebxdcActivity.openWebxdcActivity(context, instance);
});
@ -409,7 +409,7 @@ public class AttachmentManager {
if (slide.isPresent()) {
if (slide.get().isWebxdcDocument()) {
if (webxdcView != null) {
webxdcView.setWebxdc(DcHelper.getContext(context).getMsg(slide.get().dcMsgId), context.getString(R.string.videochat_tap_to_open));
webxdcView.setWebxdc(DcHelper.getContext(context).getMsg(slide.get().dcMsgId), context.getString(R.string.webxdc_draft_hint));
}
}
}

View file

@ -1,3 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M4,8h4L8,4L4,4v4zM10,20h4v-4h-4v4zM4,20h4v-4L4,16v4zM4,14h4v-4L4,10v4zM10,14h4v-4h-4v4zM16,4v4h4L20,4h-4zM10,8h4L14,4h-4v4zM16,14h4v-4h-4v4zM16,20h4v-4h-4v4z"/>
</vector>

View file

@ -0,0 +1,3 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#FFFFFF" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
<path android:fillColor="@android:color/white" android:pathData="M120,440L120,120L440,120L440,440L120,440ZM120,840L120,520L440,520L440,840L120,840ZM520,440L520,120L840,120L840,440L520,440ZM520,840L520,520L840,520L840,840L520,840ZM200,360L360,360L360,200L200,200L200,360ZM600,360L760,360L760,200L600,200L600,360ZM600,760L760,760L760,600L600,600L600,760ZM200,760L360,760L360,600L200,600L200,760ZM600,360L600,360L600,360L600,360ZM600,600L600,600L600,600L600,600ZM360,600L360,600L360,600L360,600ZM360,360L360,360L360,360L360,360Z"/>
</vector>

View file

@ -195,9 +195,9 @@
android:id="@+id/webxdc_button"
android:layout_width="53dp"
android:layout_height="53dp"
android:src="@drawable/baseline_apps_24"
android:src="@drawable/ic_apps_24"
android:scaleType="center"
android:contentDescription="@string/webxdc_apps"
android:contentDescription="@string/webxdc_app"
app:circleColor="@color/apps_icon"
/>
@ -205,7 +205,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AttachmentTypeLabel"
android:text="@string/webxdc_apps"/>
android:text="@string/webxdc_app"/>
</LinearLayout>

View file

@ -25,6 +25,11 @@
android:visible="false"
app:showAsAction="always"/>
<item android:id="@+id/menu_show_apps"
android:title="@string/webxdc_apps"
android:icon="@drawable/ic_apps_24"
app:showAsAction="ifRoom" />
<item android:id="@+id/menu_ephemeral_messages"
android:title="@string/ephemeral_messages" />
@ -34,7 +39,7 @@
<item android:id="@+id/menu_show_map"
android:title="@string/tab_map"
android:icon="@drawable/ic_map_white_24dp"
app:showAsAction="ifRoom" />
app:showAsAction="never" />
<item android:title="@string/menu_archive_chat"
android:id="@+id/menu_archive_chat"/>

View file

@ -195,6 +195,7 @@
<string name="webxdc_apps">Apps</string>
<string name="webxdc_store_url">App Picker URL</string>
<string name="webxdc_store_url_explain">If set, the URL will be used as the App Picker instead of the default one</string>
<string name="webxdc_draft_hint">Tap \"Send\" to share</string>
<string name="home">Home</string>
<string name="games">Games</string>
<string name="tools">Tools</string>