* Revert "create adaptive shortcuts"
This reverts commit 35dd8c905b.
The cut out is not the largets possible circle inside the square icon
(as for group images or avatars, diameter==height)
but a much smaller circle (diameter==~0.6*height),
resulting in too many information being left out.
Therefore, it is better to leave icon layout to the OS.
(to get an idea about the amount of cut out, see a circular logo,
eg. the hextris one)
* add comment why not to use createWithAdaptiveBitmap()
* 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'
show the chat name in front of the webxdc name to
- prevent phishing (the window will not show just the name of your bank)
- give the user an idea about where the webxdc sends messages to
(important eg. when using the same webxdc from different chats)
* enable Window.sessionStorage, Window.localStorage and IndexedDB APIs
* scope localStorage per message
when using a custom scheme as `webxdc`,
different messages will share the same localStorage,
even though different domains are in use.
not sure if that is an Android bug, however,
using `https` as the scheme scopes messages correctly,
so we are just using that.
* 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>
* add new w30 APIs
* create the webview,
disable internet access,
inject deltachat.js
* connect deltachat to the webview
* promisify api
* use msgActionButton to start the w30 apps
* cleanup
- create observers in onCreate() to avoid memory leak,
- derive from WebViewActivity to easier deal with particularities
and to saves >100 loc
- reorder some methods to reflect lifetimes
* make it more clear, which uri-part is 'domain' and which one is 'path'
* unify logging
* it is 'statusUpdate' not 'stateUpdate'; not sure if promise is needed at the end, we can readd that as needed, simple code for now
* use core implementation for status updates
* disable debugging enabled by default, streamline code
* use same name for InternalJSApi for both, js and java
* getStatusUpdates() always return an array
* call JSON.stringify() on payload
* fix typo, fix equal operator
* use shorter function names in js land
* adapt to new zipped w30 format
* load any file from w30 archives
* add fallback if getMimeTypeFromExtension() fails
* rename w30 to webxdc
* add selfName()
* return selfAddr() if selfName() is empty
* rename deltachat.js to webxdc.js
* observer correct event
* rename getBlobFromArchive() to getWebxdcBlob()
* show webxdc app name in title bar
* swap payload and descr in sendUpdate() (adapt to new core api)
* allow user-defined-texts for webxdc apps, make room for icon+name
* show webxdc icon and name in chats
* render webxdc drafts accordingly
* allow configuring drafts
* do not destroy webxdc-message to be sent out by removing it via setDraft(null)
* fix crash when replying to webxdc messages
* add webxdc messages to profile's document tab
* hide 'search menu' for webxdc apps
* show app summary beside app icon
* remove outdated comment
* add precautious WebView restrictions
* Update src/org/thoughtcrime/securesms/ConversationItem.java
Co-authored-by: Asiel Díaz Benítez <adbenitez@nauta.cu>
* Update src/org/thoughtcrime/securesms/ConversationItem.java
Co-authored-by: Asiel Díaz Benítez <adbenitez@nauta.cu>
* Update src/org/thoughtcrime/securesms/ConversationActivity.java
Co-authored-by: Hocuri <hocuri@gmx.de>
* Webxdc requires at least Android 5 Lollipop
see https://github.com/deltachat/deltachat-android/pull/2174#discussion_r785436874
* recognize .xdc files on android10
based on @Hocuri's findings in #2188
Co-authored-by: Simon Laux <mobile.info@simonlaux.de>
Co-authored-by: adbenitez <asieldbenitez@gmail.com>
Co-authored-by: Asiel Díaz Benítez <adbenitez@nauta.cu>
Co-authored-by: Hocuri <hocuri@gmx.de>