Sebastian Kürten
867703c774
Upgrade mailbox-lib and refactor to match new API
2022-09-28 11:33:57 +02:00
Sebastian Kürten
f38f8afc5c
Clean up mailbox-integrations-tests/build.gradle
2022-09-22 19:05:01 +02:00
Sebastian Kürten
8be04b3c20
Remove TestIoModule
2022-09-22 18:08:08 +02:00
Sebastian Kürten
459b97c1d4
Integration tests for mailbox using mailbox-lib as submodule
2022-09-22 18:08:03 +02:00
Sebastian Kürten
4bca9decc1
Let StringUtils throw FormatException instead of IllegalArgumentException
2022-06-29 14:13:42 +02:00
Sebastian Kürten
17f5fc7518
Make headless platform jars depend on main jar task
2022-06-22 10:30:32 +02:00
Sebastian Kürten
243df3096a
Add logging message when BrambleTestCase detects background thread exception
2022-03-29 09:30:51 +02:00
Sebastian Kürten
32b62d3e30
Allow BrambleTestCase to handle background thread exceptions gracefully during after()
2022-03-04 18:00:16 +01:00
Sebastian Kürten
e3f2a30120
Make BrambleTestCase fail if background thread throws an exception
2022-03-04 18:00:15 +01:00
Sebastian Kürten
58a122ee28
Add test that checks exception handling on background threads
2022-03-04 18:00:09 +01:00
Sebastian Kürten
7ae91a984f
Add transactional version of removePendingContact()
2022-02-15 22:28:29 +01:00
Sebastian Kürten
707802c459
Add feature flags for private groups, forums and blogs
2022-01-06 15:35:37 +01:00
Sebastian Kürten
d2a39da3e0
Transactional version of AttachmentReader#getAttachment()
2021-12-20 13:55:08 +01:00
Sebastian Kürten
1bfd9e4eb0
Upgrade gradle to v7.3
2021-11-23 10:13:11 +01:00
Sebastian Kürten
2295db4361
Offline hotspot: don't crash if group is null
2021-11-22 17:26:01 +01:00
Sebastian Kürten
e0f36ade92
Address review feedback
2021-11-03 16:32:17 +01:00
Sebastian Kürten
a1f9e80e12
Inject Tor ports via annotated int parameters
2021-11-03 15:43:01 +01:00
Sebastian Kürten
bf091ef854
Use different Tor ports for regular and debug builds
2021-10-16 14:45:14 +02:00
Sebastian Kürten
d4656df384
Make Tor ports configurable at runtime
...
Instead of using hard-coded values 59050 and 59051 for the Tor socks and
control ports, provide them via a TorPorts interface. This makes it possible
to pass the ports to a TorPortsImpl in modules. Hence it is possible to
configure the Tor port for different types of builds or via command line
options in case of briar headless or other clients using the core code.
2021-10-16 14:41:29 +02:00
Sebastian Kürten
60aaa4a7c1
HotspotManager: set channel to null after closing it consistently
2021-08-04 12:35:59 +02:00
Sebastian Kürten
d411b99030
Improve handling of HotspotState's field 'consumed'
2021-08-04 12:35:33 +02:00
Sebastian Kürten
6337b86266
Rename ConditionManager classes
2021-07-21 16:29:23 +02:00
Sebastian Kürten
93eadb88f3
Apply review feedback
2021-07-21 16:13:44 +02:00
Sebastian Kürten
46e391645c
Reduce visibility of a field and two methods
2021-07-21 13:30:20 +02:00
Sebastian Kürten
355c487ec9
Split ConditionManager into API-specific versions
...
* On API 29+ we need the location permission to start the hotspot, while
on lower API levels, we don't. In order to handle permissions and
other conditions in a clear manner depending the API level of the
device the app is running on, have separate extensions of the base
ConditionManager class.
* Take special care to handle situations gracefully where the Wifi is
disabled and the user tries to start the hotspot. We cannot simply
rely on Wifi being enabled as a sufficient condition that allows us to
start the hotspot. We need to wait for WifiP2p to be available. While
it is tricky to obtain that state (it involves registering a broadcast
receiver for the WIFI_P2P_STATE_CHANGED_ACTION broadcast, keeping
track of changes there and even then things are still ugly. It can
happen that WifiP2p is available *before* Wifi is. Also it can happen
that WifiP2p never becomes available because some other application
has already opened a hotspot. Instead of checking that state, we now
just try (and retry repeatedly after a delay) to start the hotspot
(and the WifiP2p framework) hoping that is becomes availabe within a
reasonable amount of time after Wifi has been detected to be on.
Currently we try 5 times with a delay of 1 second.
* Improve the behavior of disabling and re-enabling the 'start hotspot'
button, so that it becomes impossible to double-tap it, but still
making sure that the button get re-enabled as soon as the UI is back
in a state where the user should be able to tap the button again.
2021-07-21 13:30:14 +02:00
Sebastian Kürten and Torsten Grote
f9494d71de
Improve texts on offline hotspot for a better UX
2021-07-14 14:04:30 +02:00
Sebastian Kürten and Torsten Grote
df38187288
Do not increment the attempt variable twice when requesting group info
2021-07-14 14:04:12 +02:00
Sebastian Kürten and Torsten Grote
b8009c35f1
Do not allow the user to tap the start sharing button twice quickly
2021-07-14 14:04:11 +02:00
Sebastian Kürten and Torsten Grote
1306761f4a
Don't move to HotspotFragment on rotate when user navigated back to introduction
2021-07-14 14:04:11 +02:00
Sebastian Kürten and Torsten Grote
703ff9835d
Fix bug that occurs when HotspotActivity gets destroyed
...
If HotspotActivity gets destroyed, so will be its viewmodel, resulting
in an undefined state when the activity gets created again. While the
fragments will be restored, the view model and hotspot/webserver state
will not. Fix this by resetting the UI to reflect the reset of hotspot
and webserver.
2021-07-14 14:04:11 +02:00
Sebastian Kürten and Torsten Grote
4abaeed32f
Fix background color of cardview for qr code
2021-07-14 14:04:10 +02:00
Sebastian Kürten and Torsten Grote
9192ee32cf
Use FragmentContainerView for displaying FallbackFragment
2021-07-14 14:04:09 +02:00
Sebastian Kürten and Torsten Grote
aecd204efe
Improve hotspot error fragment UI
...
* Use different highlighting for error message
* Improve margins in fragment_hotspot_save_apk.xml
* Address some review feedback
2021-07-14 14:04:09 +02:00
Sebastian Kürten and Torsten Grote
03cb1010e2
Pass error message to feedback activity
2021-07-14 14:04:07 +02:00
Sebastian Kürten and Torsten Grote
30063f5fbf
Create FallbackFragment for alternative apk sharing method
2021-07-14 14:04:05 +02:00
Sebastian Kürten and Torsten Grote
0fb52a7f53
Log hotspot errors
2021-07-14 14:03:58 +02:00
Sebastian Kürten and Torsten Grote
094024eb4f
Wire feedback button to show feedback fragment
2021-07-14 14:03:58 +02:00
Sebastian Kürten and Torsten Grote
e39c99fd6c
Outline specific error fragment for hotspot
2021-07-14 14:03:57 +02:00
Sebastian Kürten and Torsten Grote
6cd70e0e7f
Let HotspotActivity implement BaseFragmentListener
2021-07-14 14:03:57 +02:00
Sebastian Kürten and Torsten Grote
344fff4a7a
Add feature flag for sharing the app via offline hotspot
2021-07-14 14:03:13 +02:00
Sebastian Kürten and Torsten Grote
f9749fda80
Recommend to undo settings to install apps from unknown sources
2021-07-14 13:53:21 +02:00
Sebastian Kürten and Torsten Grote
1c056160e1
Use better filename for apk files shared via hotspot
2021-07-14 13:53:19 +02:00
Sebastian Kürten
f7249f5e84
Fix missing padding for title in contact exchange error fragment
2021-06-09 13:45:32 +02:00
Sebastian Kürten
2a48d43e5b
Create ViewModels directly after injection
2021-04-22 15:31:55 +02:00
Sebastian Kürten
0a4e23118a
Replace switch statements with resource ids with if-then-else
2021-04-22 15:19:11 +02:00
Sebastian Kürten
7397efca80
Remove a few redundant casts
2021-04-21 13:53:53 +02:00
Sebastian Kürten
f8dba6fd7f
Add static version of DbViewModel#handleException() in UiUtils
2021-04-15 19:34:14 +02:00
Sebastian Kürten
419247074f
Make more use of DbViewModel#handleException()
2021-04-15 17:53:53 +02:00
Sebastian Kürten
10d9d78ca8
Broadcast ContactAliasChangedEvent to update contact list
2021-04-14 07:43:50 +02:00
Sebastian Kürten and Torsten Grote
9e4d8ecddf
Make introducees send auto-declines even if reponse already received
2021-04-13 08:49:04 -03:00
Sebastian Kürten and Torsten Grote
1dffbfd8dc
Add two tests for auto-declines happening after response already received
2021-04-13 08:49:04 -03:00
Sebastian Kürten and Torsten Grote
950db5a87a
Assert that IntroductionManager return true for canIntroduce()
2021-04-13 08:49:04 -03:00
Sebastian Kürten and Torsten Grote
21348d5557
IntroductionManager: don't throw IllegalArgumentException when deleting invisible msgs
2021-04-13 08:49:03 -03:00
Sebastian Kürten and Torsten Grote
eb1a089437
Revert changes to AbstractProtocolEngine
...
This reverts parts of commit 5d143f8b33adc07d990627036b806a2becea7074.
2021-04-13 08:49:03 -03:00
Sebastian Kürten and Torsten Grote
17fc81ab7a
Re-add integration test that goes through two full introduction cycles
2021-04-13 08:49:03 -03:00
Sebastian Kürten and Torsten Grote
263bce38cd
Create new test that reproduces #1975
2021-04-13 08:49:02 -03:00
Sebastian Kürten and Torsten Grote
a923c1151c
Move setReadFlag() from ConversationClient to ConversationManager
2021-04-13 08:49:02 -03:00
Sebastian Kürten and Torsten Grote
0bf10a827f
Implement auto-declining for self-destructed introductions
2021-04-13 08:49:01 -03:00
Sebastian Kürten and Torsten Grote
e10b6334f5
Introduce conversation settings screen
2021-04-13 08:46:06 -03:00
Sebastian Kürten
64f682146d
Integrate merge request feedback
2021-04-12 13:04:42 +02:00
Sebastian Kürten
ce47bfe018
Write tests for the dirty flag
2021-04-08 12:24:23 +02:00
Sebastian Kürten
e99df2b69e
Log dirty flag when opening database
2021-04-06 20:19:28 +02:00
Sebastian Kürten
db84d07c38
Store a dirty flag in the database
2021-04-06 19:45:26 +02:00
Sebastian Kürten
400d259a60
Remove redundant type args in briar-headless/build.gradle
...
The TreeMap<> doesn't need to repeat <String, JarEntry> from
Map<String, JarEntry>.
2021-03-23 07:44:02 +01:00
Sebastian Kürten
46b4204805
Introduce view model for IntroductionActivity
2021-03-16 19:34:09 +01:00
Sebastian Kürten
e5bd43469e
Add Javados to Localizer#setLocale()
2021-02-15 14:54:20 +01:00
Sebastian Kürten
73d2c964d4
Make language switching for robust
2021-02-15 12:31:51 +01:00
Sebastian Kürten
bb964101b3
Add a custom dictionary
...
This reduces the amount of words highlighted by the spell checker and
helps focussing on words that are really misspelled.
2021-02-08 14:35:14 +01:00
Sebastian Kürten
e4a66615a7
Fix remark in dialog for confirming profile picture
2021-02-04 18:43:32 +01:00
Sebastian Kürten and Torsten Grote
cae53a9fcc
Reorganize MediaModule and AttachmentModule
2021-01-21 10:13:29 -03:00
Sebastian Kürten and Torsten Grote
6660625ba6
Update avatar in contact list when changed while list is open
2021-01-21 10:13:29 -03:00
Sebastian Kürten and Torsten Grote
bf9ba13b68
Update app bar in ConversationActivity with received avatar
2021-01-21 09:33:56 -03:00
Sebastian Kürten and Torsten Grote
a52c97ecf7
Format touched xml layouts
2021-01-21 09:33:56 -03:00
Sebastian Kürten and Torsten Grote
a2174e7677
SettingsViewModel: use LiveEvent instead of LiveData
2021-01-21 09:33:55 -03:00
Sebastian Kürten and Torsten Grote
d3cf3d680e
Display error message toast when updating profile picture fails
2021-01-21 09:33:55 -03:00
Sebastian Kürten and Torsten Grote
cbb87aa00c
Move compression of image to IoExecutor
2021-01-21 09:33:55 -03:00
Sebastian Kürten and Torsten Grote
53d985161f
Remove layout_gravity without any effect
2021-01-21 09:33:54 -03:00
Sebastian Kürten and Torsten Grote
86002b0402
Move some findViewById() out of a lambda
2021-01-21 09:33:54 -03:00
Sebastian Kürten and Torsten Grote
f75e789493
Improve dialog for avatar confirmation
2021-01-21 09:33:54 -03:00
Sebastian Kürten and Torsten Grote
b22f302fdd
Statically import Level.WARNING
2021-01-21 09:33:53 -03:00
Sebastian Kürten and Torsten Grote
c4a42760c8
Use BriarDialogTheme for avatar confirmation
2021-01-21 09:33:53 -03:00
Sebastian Kürten and Torsten Grote
8d92f36522
Remove some useless tools:text
2021-01-21 09:33:53 -03:00
Sebastian Kürten and Torsten Grote
6c86873ea7
Reduce margin verbosity in SettingsActivity
2021-01-21 09:33:52 -03:00
Sebastian Kürten and Torsten Grote
4fa9d654b5
Eliminate NestedScrollView from SettingsActivity
2021-01-21 09:33:52 -03:00
Sebastian Kürten and Torsten Grote
3d303ccad5
Natural order of views in SettingsActivity
2021-01-21 09:33:52 -03:00
Sebastian Kürten and Torsten Grote
b0d99a9f33
Avoid staircase indent
2021-01-21 09:33:51 -03:00
Sebastian Kürten and Torsten Grote
1a5e789bec
Call loadOwnIdentityInfo() in SettingsViewModel's constructor
2021-01-21 09:33:51 -03:00
Sebastian Kürten and Torsten Grote
97040c6299
Remove a useless method call
2021-01-21 09:33:51 -03:00
Sebastian Kürten and Torsten Grote
301085c685
Move findViewById() out of callback
2021-01-21 09:33:50 -03:00
Sebastian Kürten and Torsten Grote
946c79d918
Be consequent with AlertDialog.Builder method usage
2021-01-21 09:33:50 -03:00
Sebastian Kürten and Torsten Grote
20418cfc7f
Rename inflater variable
2021-01-21 09:33:50 -03:00
Sebastian Kürten and Torsten Grote
7b09f0f98d
Rename a string
2021-01-21 09:33:49 -03:00
Sebastian Kürten and Torsten Grote
97a7c8824b
Replace usage of UnsupportedMimeTypeException from jsoup with own type
2021-01-21 09:33:49 -03:00
Sebastian Kürten and Torsten Grote
423684a14f
Reduce visibility of SettingsViewModel
2021-01-21 09:33:48 -03:00
Sebastian Kürten and Torsten Grote
09d91b522f
Fix a warning in SettingsActvitiy
2021-01-21 09:33:48 -03:00
Sebastian Kürten and Torsten Grote
64c0e9e9e4
Fix a few warnings in ConfirmAvatarDialogFragment
2021-01-21 09:33:48 -03:00
Sebastian Kürten and Torsten Grote
15021bffef
Inline getAttachmentFileIntent()
2021-01-21 09:33:48 -03:00
Sebastian Kürten and Torsten Grote
43c6ae4258
Implement UI for setting profile pictures
2021-01-21 09:33:47 -03:00
Sebastian Kürten and Torsten Grote
f819930570
Create ImageCompressor amd ImageCompressorImpl
...
* Methods from AttachmentCreationTask have been moved into them:
* compressImage()
* createBitmap()
* ImageCompressor is availabe via AttachmentModule
2021-01-21 09:33:47 -03:00
Sebastian Kürten
dd6d72ed30
Introduce ViewModel for ContactListFragment
2021-01-18 14:01:48 +01:00