Commit Graph

112 Commits

Author SHA1 Message Date
adbenitez 8ea9cfe7a1 remove built-in camera 2023-10-11 13:54:21 +02:00
adbenitez ed1ba1dce9 remove emoji picker 2023-10-11 13:24:24 +02:00
adbenitez 96851c458a Merge remote-tracking branch 'upstream/main' into lite 2023-10-10 18:44:09 +02:00
B. Petersen ecd8558e7f reword 'Built-In Camera' to 'In-App Camera'
built-in may also refer to the camera hardware build into you phone,
esp. on some translations this may get confusing
2023-09-28 22:23:32 +02:00
B. Petersen 30d4febee7 use system camera as default
the system camera has usually more features (flash, physical zoom, filter)
and is less buggy than the mostly unmaintained built-in one.
also, the system camera seems to be more supported
(isDeviceSupported() is not needed) and does not require to ask for permission.

there is still a switch in "advanced settings" to use the old built-in camera,
however, at some point we may remove the old code completely.
2023-09-27 18:22:55 +02:00
adbenitez 3bdd16d224 Merge remote-tracking branch 'upstream/master' into lite 2023-07-26 18:24:39 +02:00
bjoern 3cede346f3 add multi-device-setup (#2493)
* add DcBackupProvider add receiveBackup() wrappers

* add 'Add Another Device' item to settings

* add android-ifaddrs

core-rust uses getifaddrs() which is not available on android ndk.
pull in the code from https://github.com/morristech/android-ifaddrs
that provides an implementation.

* add BackupProviderActivity

* make SVG-hack reusable

* add BackupProviderFragment

* prepare scanning backup codes

* Revert "add android-ifaddrs"

This reverts commit 33b1424427620396f282805d37f8e05c67758546.

* more logging

* call receiveBackup() on scanning DC_QR_BACKUP

* Fixup for recvmmsg fallback

* protect BackupProviderActivity by system secret

* show transfer progress as provided form the core; hide qr-code once scanned

* add a permanent notification for the provider

* clarify what we are waiting for

* add a permanent notification for the receiver

* ask before finishing BackupProviderActivity

* it is fine to cancel the abort question by tapping outside the alert

* remove outdated comment from 'keep screen on'

* add and check TRANSFER_MODE

* rename BackupProviderActivity to BackupTransferActivity

* use our base activity

* start/stop IO in base activity

* use BackupTransferActivity also for scanning

* add BackupReceiverFragment

* show detailed transfer progress

* show details instead of percent during preparation, for now

* launch chatlist and remove welcome when transfer is done

* redirect to chatlist automatically after transfer succeeded

* reword

* make log accessible from send and receive activities

* bump version

* show error if backup provider creation fails

* remove unneeded format()

* show some context in the errors alerts, hide QR code sooner

* calculate transfer percentage as specified

* show a 'close' instead of a 'back' button to make visually clear, things are aborted (there is a quesion anyway)

* add option to copy backup-qr-code to clipboard

* remove vague retry statement, core will show a detailed error soon

* warn about QR codes on clipboard getting invalidated

* make basic strings translatable

* add troubleshooting menu item (once help is evolved, it may be a more visible button, may be localized, may be offline)

* rename to backup_transfer_fragment.xml

* add detailed instructions

* move 1,2,3 layout to the .xml

* fix layout

* use text size used elsewhere

* do best effort to show SSID on sending device

* make SSID code reusable for receiver

* adapt to otherwise used font style

* show ssid also for receiver

* minor refactorings

* make qr code subtitle translatable

* tune down 'same network hint' on scanning device

* add progress bar to provider

* add progress bar to receiver

* bump version

* use 'Add Second Device' wording

this seems slightly catchier as "Add Another Device"
and has less "A" esp. in "Add as Another Device" :)

also at least translation to german seems nicer ("Zweitgerät"),
most ppl will use max. two devices, but even if more,
that should still be fine.

this was also the first intuition also by other devs in their mockups,
so we'll give it a try.

* use "Exporting/Preparing/Prepared Account" wording

let's give that a try - "Account" is also widely used,
so that seems to make some sense.
even if not 100% fitting,
it seems better than introducing the new term "Collection".

* refine abort question

* Update res/layout/backup_provider_fragment.xml

Co-authored-by: Hocuri <hocuri@gmx.de>

* Update src/org/thoughtcrime/securesms/qr/BackupProviderFragment.java

Co-authored-by: Hocuri <hocuri@gmx.de>

* Update src/org/thoughtcrime/securesms/qr/BackupReceiverFragment.java

Co-authored-by: Hocuri <hocuri@gmx.de>

* Update src/org/thoughtcrime/securesms/qr/BackupTransferActivity.java

Co-authored-by: Hocuri <hocuri@gmx.de>

* Update src/org/thoughtcrime/securesms/qr/BackupReceiverFragment.java

Co-authored-by: Hocuri <hocuri@gmx.de>

* remove string duplicate

* refine 1,2,3

* simplify string ids

* focus on what matters

---------

Co-authored-by: link2xt <link2xt@testrun.org>
Co-authored-by: Hocuri <hocuri@gmx.de>
2023-03-24 15:22:26 +01:00
adbenitez 75f3a7c0df tweak main menu and settings 2023-03-13 19:45:09 -04:00
adbenitez ee5ce97779 Merge remote-tracking branch 'upstream/master' into lite 2022-04-07 17:44:28 -04:00
Hocuri 0bc9f4735c Add OnlyFetchMvbox option (#2206)
* [WIP] Add OnlyFetchMvbox option

* Update res/values/strings.xml

* Adapt to the core changes

* Update res/values/strings.xml

Co-authored-by: bjoern <r10s@b44t.com>

* Remove unnecessary startIo() addition

* Update res/values/strings.xml

Co-authored-by: bjoern <r10s@b44t.com>

Co-authored-by: bjoern <r10s@b44t.com>
2022-01-31 17:47:52 +01:00
adbenitez f32b1f3d95 Merge remote-tracking branch 'upstream/master' into lite 2022-01-29 02:07:06 -05:00
Asiel Díaz Benítez eb25a5e78c add "developer mode" preference (#2196)
* add "developer mode" preference

* activate WebContentsDebugging also after restart

as the preference option is persisted,
we should call setWebContentsDebuggingEnabled() not only on flag changes.

* capitalize option name, shorter description

* prefer 'can' over 'may'; the latter is very formal

* add Prefs.isDeveloperModeEnabled()

Co-authored-by: B. Petersen <r10s@b44t.com>
2022-01-22 11:01:48 +01:00
adbenitez 122de0e3ad Merge remote-tracking branch 'upstream/master' into lite 2022-01-18 14:57:26 -05:00
Asiel Díaz Benítez 003ca291ac remove inbox_watch and mvbox_watch options from advanced settings (#2182)
* remove inbox_watch and mvbox_watch options from advanced settings

* don't show warning dialog when SENTBOX_WATCH is disabled
2022-01-09 17:49:39 +01:00
adbenitez c7912a0df7 Merge remote-tracking branch 'upstream/master' into lite 2021-10-15 16:25:12 -04:00
Hocuri d8913cf17e Adapt to new direct share api (#1852)
Fix #1777
2021-10-13 17:33:55 +02:00
adbenitez 459e57f56c Merge remote-tracking branch 'upstream/master' into lite 2021-10-03 02:32:27 -04:00
bjoern e71f5d9bba broadcasts android ui (#2060)
* add broadcasts ffi

* add 'broadcast' options to menu, chat, profile etc.

* generate initial broadcast names

* reword broadcast hint

* make 'Broadcasts Lists' experimental; while on that, also add a confirmation dialog to the location streaming switch (wording taken from ios)

* Update res/values/strings.xml

Co-authored-by: Hocuri <hocuri@gmx.de>

* comment on strings.xml

* tweak 'experimental' appearing, avoid the 'test tube'-emoji that is not supported on many devices

Co-authored-by: Hocuri <hocuri@gmx.de>
2021-09-30 15:44:17 +02:00
adbenitez 9d75045fec Merge remote-tracking branch 'upstream/master' into lite 2021-09-13 21:45:32 -04:00
bjoern beb601bc06 do not download large messages automatically (#2045)
* add download-ffi methods

* add 'Download' button for incomplete messages

* show 'downloading' animation

* make download_limit configurable

* set button to 'disabled' and text to 'Downloading...' on downloading; color does not really reflect that yet, but that can probably be tweaked by xml

* make 'download message body' translatable
2021-09-13 23:07:49 +02:00
adbenitez 377060afe1 Merge remote-tracking branch 'upstream/master' into lite 2021-08-20 16:19:17 -04:00
bjoern 7da9d1026f use translated string for 'Video chat instance' (#1978) 2021-07-19 14:55:57 +02:00
Hocuri b3fea81bed Implement a basic connectivity view
The non-squashed original commits are available at 243bd3a56:

* First, quick and dirty version

* Basic HTML connectivity view

* Codestyle, automatically refresh

* Make it accessible from the settings

* Improve usability

I did some user-testing with my family, these are the results:
- Added an emoji to the html page (red dot for not connected, and so on)
- Adapted error messages for SMTP:
  "Not started" -> "(You did not try to send a message recently)"
  "🟢 Connected" -> "🟢 Your last message was sent successfully"
- "Not connected" is misleading, because they think that this means that there is no internet connection.
  But "Not connected" can have other causes, like, a not responding server or a changed-but-not-updated-in-DC password

  Possible solutions:
  - "Not connected" -> "Not connected with gmx.de" (or whatever comes after the '@' in configured_addr). The problem: some people have an own domain for their emails, but no own servers. "Not connected with <your domain>" and might make them think that the problem is that DC tries to connect to the server <your domain>, while the server is hosted at Strato.com.
  - We can ask the system whether there currently is network and then show another error message. The problem: Sometimes the system is wrong.

* Remove error_network

* Remove server_response string

* Move `getConnectivitySummary()` to `DcHelper`

* Implement the changes we agreed on

* Remove string error_no_network

* small fixes
2021-07-08 22:50:22 +02:00
adbenitez 06800d24ab Merge remote-tracking branch 'upstream/master' into lite 2021-06-25 19:11:16 -04:00
Hocuri 8c0fac43c4 Remove screenlock (#1942)
* Remove screen lock feature, move the two remaining "App access" options into "Advanced"

Locking the app was removed a long time ago, so in "App access" in the
settings, the only two remaining items were "Screen security" and
"Incognito keyboard".

* Remove the now-unused strings

* remove app-access-category from main settings screen

Co-authored-by: B. Petersen <r10s@b44t.com>
2021-06-02 11:21:47 +02:00
adbenitez 4cbf12068b delete maps 2021-03-27 00:01:11 -04:00
B. Petersen 5c034c6e59 add comments in duplicated files 2020-12-22 13:22:05 +01:00
B. Petersen e076ca45ba tune down usage of screen-lock
for various reasons,
screen-lock will be removed completely in one of the next versions.

- if screen-lock was enabled before, add a warning
  and keep the options (user can switch screen-lock on and off
  until it will be finally removed)

- if screen lock was disabled before,
  hide the corresponding options,
  (the user will not be able to enable screen-lock anymore)

reasons for removing are:

- hard maintainability on different android versions, see discussions at
  https://github.com/deltachat/deltachat-android/issues/1208 and
  https://github.com/deltachat/deltachat-android/pull/1279 and
  https://github.com/deltachat/deltachat-android/pull/1319 and offline.
  ftr, also the used api createConfirmDeviceCredentialIntent() is deprectated,
  so another set of api calls would be needed in the soon future.

- compared to the effort, few security is added,
  the function is only available if the system is protected anyway,
  one just have to repeat the system secret.

- might even worsen overall security - if app login secret is peeked,
  and attacker will also have the system secret.

- the functions stands in the way of moving forward to a
  cross-platform solution (however, not sure if this will really come)
2020-09-17 16:26:19 +02:00
cyBerta 27e58cc3e4 Merge pull request #1612 from deltachat/disappearing-not-experimental
make 'disappearing messages' a standard-feature
2020-09-09 15:42:40 +02:00
B. Petersen 615f1b5e7a fix string 2020-09-06 13:50:49 +02:00
B. Petersen 33cd22552f make 'disappearing messages' a standard-feature 2020-09-04 14:28:52 +02:00
B. Petersen 34755f05ff add a switch to 'settings / notifications' to disable battery optimisations 2020-09-01 01:44:43 +02:00
B. Petersen 2f7386c9e0 update strings 2020-07-29 16:50:18 +02:00
B. Petersen a7ca3f43ba add option to enter a WebRTC instance 2020-07-29 14:00:01 +02:00
Alexander Krotov c71aaed79c Rename "Auto-delete messages" into "Delete old messages"
This change makes it clear which messages are deleted, so this setting
can't be confused with Ephemeral-Timer header, configured per chat.
2020-07-09 14:58:39 +03:00
B. Petersen fe2c33a6ba reword 'auto-delete' and 'message deletion' to 'disappearing messages' 2020-07-08 18:24:12 +02:00
Alexander Krotov 07c802c976 Update strings used for ephemeral messages
- For chat menu item, use already translated auto-delete string.
- For experimental setting, use untranslatable hard-coded string.
- Introduce a new translatable string for ephemeral dialog title
2020-07-01 22:53:54 +03:00
cyberta f6599e3ae0 add experimental feature switch for ephemeral messages 2020-06-29 23:56:01 +03:00
cyberta c5c90b36a9 fix localization of experimental location streaming settings entry 2020-06-29 23:56:01 +03:00
B. Petersen 6738b0d477 remove 'Delete emails from server' experiment, the function is superseded by 'Auto-delete messages' 2020-06-10 19:47:07 +02:00
B. Petersen 791b4adff8 move 'Switch account' out of experimental 2020-06-10 00:56:33 +02:00
B. Petersen 050c358859 make in-chat-sounds respect notification- and mute-settings 2020-05-25 13:38:57 +02:00
B. Petersen 1e60eb9c1a just use defaults for led-pattern, it is no longer supported since andoid8; in-chat sounds are independent from global-notification-switch 2020-05-25 13:38:52 +02:00
B. Petersen d1690399cc move permantent-notification switch more prominent, let it depend on notifications-enabled 2020-05-11 01:11:22 +02:00
B. Petersen b0641a49c3 change default for 'reliable background service' to false
reason is that ppl are pretty annoyed by the
permanant notification, that might have been expected and that would be okay.
but, more worse, for whatever reasons, this drains more battery on some systems
than having just "allow consuming battery" enabled,
maybe some system do not go to doze mode because of the permantent-notification.

anyway, to avoid initial annoyances, we switch back to
- asking the user to "allow consuming battery"
- having a 15 mintues or so polling interval (as on iOS)

but, in contrast to 1.3, we now still have the _option_ to
enable a permantent-notification that user can enabled if everything else
described at https://dontkillmyapp.com does not work.

the "smart" permantent notification from 1.3,
that are only shown under some circumstances, however, are gone.
they are not realiable, eg. we did not use them when "consume battery"
was enabled - which is not sufficient on various "modern" systems.
but the main reason is that _if_ the user enables a permantent notification,
this can also be regarded as a hint that things are up and running.
2020-05-11 01:11:22 +02:00
B. Petersen 69d05ae0c7 show permantent-notification unconditionally and add a switch to disable it 2020-04-28 15:16:50 +02:00
B. Petersen ba97236f7d tune down multi-account, move to settings/advanced, quick switch via long-click on fab-icon 2020-04-17 01:34:51 +02:00
B. Petersen bf6607ee4f add menu entry and experimental optinon for account switching 2020-04-16 12:19:46 +02:00
B. Petersen bf314f57bf wording 2020-03-28 22:01:47 +01:00
B. Petersen 9fbad277a6 cleanup strings 2020-03-28 22:01:47 +01:00