* reword 'QR code' to 'Invite Code'
* reword adding classic email
* remove the 'new contact' things together
* add 'new classic contact' shortcut only for non-chatmail; it is still always available in the three-dot menu of 'new contact'
* use same menu for qr show/scan
* add 'new classic contact'
* remove 'scan' button from 'new classic contact' (ppl usually came from 'scan')
* rename to 'add contact manually'
* stay with 'qr code' for now
* add troubleshooting menu option on the scanner side
* Update src/org/thoughtcrime/securesms/qr/RegistrationQrActivity.java
Co-authored-by: bjoern <r10s@b44t.com>
---------
Co-authored-by: bjoern <r10s@b44t.com>
* copy invite links to clipboard
* rename INVITE_PAGE to INVITE_DOMAIN
* share link together with QR image, improve QR image
* share invite-URL instead of QR image
* 'Load QR code from image' is no longer a recommended workflow
the primary UI works with invite-links now.
'Load QR code from image' is still supported,
but is tuned down as no longer recommended workflow.
---------
Co-authored-by: B. Petersen <r10s@b44t.com>
message list allows multiple messages
being copied to clipboard at the same time;
if these messages as not just text, a summary is added,
sth. as "Voice Messages" or "Forwarded: Image - this is my family" etc.
this is on purpose and the gist of the action,
renaming the action to 'Copy Text' makes that more clear.
* streamline menu
- remove prefix 'Show', we are not using it at most other places,
nor do comparable UI
- move 'All Locations' below 'All Media',
this seems to be more logical
(we were even thinking of making 'Locations' a tap in 'Media')
* add missing plural form for 'Location' (needed for iOS map experiments, maybe also the better title for the in-chat-maps in general)
* 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>
* basic layout of new archive-link, including icon and unread counter
* remove 'archived chats' from main menu
* vertically align elements of new archive-link
* show unread indicator also for archived chats
* show muted unread counter in grey
* use shorter label for the 'Archive' link
* add 'Add to Home Screen' menus for webxdc apps
* make adding shortcut basically work
* avoid starting webxdc from foreign accounts
* recreate back stack, if possible
according to
https://developer.android.com/training/notify-user/navigation :
"When you start an activity from a notification,
you must preserve the user's expected navigation experience.
Tapping Back should take the user
back through the app's normal work flow to the Home screen [...]"
same seems to be true for shortcuts using the same class for constructing
the back stack.
the back stack is reconstructed for API 26 (Oreo, 2017) or newer,
for oder API `requestPinShortcut()`
only uses the top-level activity for the shortcut.
working around that is probably possible, but would be quite some effort in an
already complicated area and would result in bugs that are not so easy to see.
also, on these old androids, users are probably used to the no-back-stack
behaviour.
* show a warning if app was deleted
* add 'Add to Home Screen' also to gallery
beside chat- and webxdc-activity,
this is the third place where the webxdc is listed.
as adding may result in dialogs from the launcher,
we allow the option only for a single selected webxdc,
as otherwise a series of dialogs would pop up.
* show 'Done' toast short, this is what we are doing at all the other places when showing 'Done'
the UI does not check before selection if a message can be resent,
this is subject to change and not worth the effort.
instead, just an error is shown.
for the ID_NEVER_SHOW_AS_ACTION_* - this is a bit ugly,
however, the few alternatives i tried were even more uglier,
Java and Array-primitives are just not great.
as it is not changed often, it is probably not worth the effort to dive deeper.
* allow to copy QR data and to read QR data from clipboard
* add share option
* allow to scan QR from gallery
* use menu_copy_to_clipboard instead of menu_copy_link_to_clipboard
* use AttachmentManager
* reuse Bitmap
* change REQUEST_CODE_IMAGE value
* use getCacheDir()
* replace handleOpenPgp4Fpr with handleQrData
* show error message if scanning QR failed
* use Log.e() instead of Log.w()
* Revert "use getCacheDir()"
This reverts commit 2a2a801b311e7c4929f5063d3340234413528b93.
the impact of this change is eaasily larger than expected,
see comments at https://github.com/deltachat/deltachat-android/pull/2103
if needed, we can discuss and re-add that in a separate, more focused pr.
Co-authored-by: B. Petersen <r10s@b44t.com>
it was removed to have some less menu entries,
however, on recent discussions,
it turns out clearer and clearte that this will break some workflows
(writing text first, then adding attachment).
i just had a look at other "large" messengers -
all of them support "write text, then add attachment" -
as well as our iOS and Desktop apps.
also, this order seems to be pretty normal when it comes to "E-Mail".
all in all,
i think, we should not sacrify this workflow just to save one menu entry.
at some point,
maybe we want to have the "Attach" button always visible left of the input bar
as most other messengers do (as well as iOS and Desktop),
however, this is a larger thing and also has its drawbacks on smaller screens.
so, just leave things as is seems not to be the worse idea here.
the "View Profile" menu entry, however stays, removed,
so, there is some cleanup.
* 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>
* add 'Archived Chats' menu entry
the menu entry is at the place where the 'Contact Requests' were before -
that way, ppl may find existing contact requests easier.
moreover, it is now possible to access 'Archived Chats'
without endless scrolling ;)
* for archived requests, show both tags
* show a hint when 'Archived Chats' is empty
* contact requests do not display unread count; do not retrieve it and do not show text in bold
See deltachat/deltachat-core-rust#2514
Fixes#1963Fixes#1890
Before deleting a chat the user is asked for confirmation. Before blocking not, because blocking is not "destructive" (i.e. can be completely reverted by unblocking the contact). I'm wondering whether we should show a snackbar with an Undo button though, but we can probably wait for user feedback on this.
* Start removing deaddrop chat
* Generally works
* Fix the buttons
(it's not easy to not show one of the buttons in
ConstraintLayout; if problems turn up, we should probably
just not use ConstraintLayout)
* fix more things
* restartLoader() instead of notifyDataSetChanged() because the latter didn't do anything
* Archived badge
* Rename "Contact request" to "Request"
* oops
* Remove setStockTranslation(8, context.getString(R.string.chat_contact_request));
* Remove commented-out code, we probably won't need it
* Don't show "Delete" button for 1:1 chats
* Get rid of short flickering when declining a request
* Set the app's night mode to match the preference
This added 6ms to startup time, but I think that's OK, as
we will also be able to use more `-night` views in the future
* Make "Accept" text a bit brighter and easier to read in dark mode
* Check if the chattype is Group instead of members.length == 1
* add get-mime-original apis
* remove unused control
* add 'Show full message' buttons
* split reusable WebViewActivity from LocalHelpActivity
* add FullMsgActivity
* load html via AsyncTask
* adapt to changed api
* handle mailto:-links in WebView
* block loading remote images by default, add user setting always/once/never
* do not hide 'Once' button in always-mode, playing around a day with hidden 'Once' that looks more like a bug :)
* wording: as 'Always' affects all messages, it is better to speak of multiple senders
* wording: use 'Load remote images'
this makes it easier for the user to find the option
if one sees, images are missing in the document.
* wording: shorten text.
* wording: change 'may' to 'can'. 'may' sounds a bit as if someone allows this.
* Don't use AsyncTask
* check 'once' if appropriate
* use lite-colored checkbox-emoji in dark-theme
* add comment about missing error logging
Co-authored-by: Hocuri <hocuri@gmx.de>
- it forwards media together with the text,
this is unexpected
- if forward is available, reply and reply-privately
should be available as well, however, this seems to be a bit much.
- the function had issues which would need fixing.
instead, we will add a 'Show in chat' function that is more powerful
and fixes all of the things above.
in the long-tap context menu, on smaller screens,
functions go to the overflow menu from right to left.
this pr gives the "delete" a higher priority than the
only sometimes available "export" function
- delete is always available on smaller screen -
before, the icon was sometimes there and sometimes not,
which is a bit irritating
- export gets a similar priority as copy
- on/off icons are now functions that are used
less frequently