Commit Graph
100 Commits
Author SHA1 Message Date
Sebastian Kürten 411ace13aa Add some logging to ClientVersioningManagerImpl 2023-07-24 16:09:24 +02:00
Sebastian Kürten 917fc5e5b6 Fix architecture detection for macOS Intel CPUs 2023-06-28 12:57:20 +02:00
Sebastian Kürten 079c6e0475 Add comment why we choose a differnt port for headless on macOS 2023-06-20 12:21:11 +02:00
Sebastian Kürten 3a0f8ed85c Document building of macOS headless jars and fix included native binaries on macOS 2023-06-15 18:07:18 +02:00
Sebastian Kürten 57f7501780 macOS support 2023-06-15 12:48:01 +02:00
Sebastian Kürten bded4e7bc8 Use system default secure random provider on macOS 2023-05-17 11:13:43 +02:00
Sebastian Kürtenandialokim 0eb0bbdc99 Add ability to add private group test data in settings 2023-04-26 00:05:49 +02:00
Sebastian Kürten 73d806f8b9 Backport OS-check logic from Compose Multiplatform 2023-03-09 17:03:08 +01:00
Sebastian Kürten a378c24af8 No longer use deprecated Double.valueOf() 2023-02-27 12:22:27 +01:00
Sebastian Kürten b785b6c10f Upgrade tor 2023-02-24 13:05:46 +01:00
Sebastian Kürten 26ec200f50 Convert tor to regular dependencies 2023-02-24 12:51:50 +01:00
Sebastian Kürten 6ecb44bcaa Don't package all snowflake architectures into headless jars 2023-02-21 09:38:24 +01:00
Sebastian Kürten fd2d5c9173 Add comment about NetworkInfo#isConnected() 2023-01-24 14:48:03 +01:00
Sebastian Kürten ab6c925a9c Update instructions on how to build and run briar-headless 2022-10-14 16:39:44 +02:00
Sebastian Kürten 3844d33015 Add TestLanTcpPluginFactory
This factory provides a LanTcpPlugin that can connect to its own
address, useful for testing.
2022-10-06 12:07:07 +02:00
Sebastian Kürten fa425bdc53 Use mailbox main branch for integration tests 2022-10-03 15:44:25 +02:00
Sebastian Kürten df86f2f258 Fix imports for null-safety annotations 2022-10-03 15:25:35 +02:00
Sebastian Kürten 7be83a56a2 Address review feedback 2022-09-28 15:34:16 +02:00
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ürtenandTorsten Grote f9494d71de Improve texts on offline hotspot for a better UX 2021-07-14 14:04:30 +02:00
Sebastian KürtenandTorsten Grote df38187288 Do not increment the attempt variable twice when requesting group info 2021-07-14 14:04:12 +02:00
Sebastian KürtenandTorsten 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ürtenandTorsten 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ürtenandTorsten 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ürtenandTorsten Grote 4abaeed32f Fix background color of cardview for qr code 2021-07-14 14:04:10 +02:00
Sebastian KürtenandTorsten Grote 9192ee32cf Use FragmentContainerView for displaying FallbackFragment 2021-07-14 14:04:09 +02:00
Sebastian KürtenandTorsten 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ürtenandTorsten Grote 03cb1010e2 Pass error message to feedback activity 2021-07-14 14:04:07 +02:00
Sebastian KürtenandTorsten Grote 30063f5fbf Create FallbackFragment for alternative apk sharing method 2021-07-14 14:04:05 +02:00
Sebastian KürtenandTorsten Grote 0fb52a7f53 Log hotspot errors 2021-07-14 14:03:58 +02:00
Sebastian KürtenandTorsten Grote 094024eb4f Wire feedback button to show feedback fragment 2021-07-14 14:03:58 +02:00
Sebastian KürtenandTorsten Grote e39c99fd6c Outline specific error fragment for hotspot 2021-07-14 14:03:57 +02:00
Sebastian KürtenandTorsten Grote 6cd70e0e7f Let HotspotActivity implement BaseFragmentListener 2021-07-14 14:03:57 +02:00
Sebastian KürtenandTorsten Grote 344fff4a7a Add feature flag for sharing the app via offline hotspot 2021-07-14 14:03:13 +02:00
Sebastian KürtenandTorsten Grote f9749fda80 Recommend to undo settings to install apps from unknown sources 2021-07-14 13:53:21 +02:00
Sebastian KürtenandTorsten 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ürtenandTorsten Grote 9e4d8ecddf Make introducees send auto-declines even if reponse already received 2021-04-13 08:49:04 -03:00
Sebastian KürtenandTorsten Grote 1dffbfd8dc Add two tests for auto-declines happening after response already received 2021-04-13 08:49:04 -03:00
Sebastian KürtenandTorsten Grote 950db5a87a Assert that IntroductionManager return true for canIntroduce() 2021-04-13 08:49:04 -03:00
Sebastian KürtenandTorsten Grote 21348d5557 IntroductionManager: don't throw IllegalArgumentException when deleting invisible msgs 2021-04-13 08:49:03 -03:00
Sebastian KürtenandTorsten Grote eb1a089437 Revert changes to AbstractProtocolEngine
This reverts parts of commit 5d143f8b33adc07d990627036b806a2becea7074.
2021-04-13 08:49:03 -03:00
Sebastian KürtenandTorsten Grote 17fc81ab7a Re-add integration test that goes through two full introduction cycles 2021-04-13 08:49:03 -03:00
Sebastian KürtenandTorsten Grote 263bce38cd Create new test that reproduces #1975 2021-04-13 08:49:02 -03:00
Sebastian KürtenandTorsten Grote a923c1151c Move setReadFlag() from ConversationClient to ConversationManager 2021-04-13 08:49:02 -03:00
Sebastian KürtenandTorsten Grote 0bf10a827f Implement auto-declining for self-destructed introductions 2021-04-13 08:49:01 -03:00
Sebastian KürtenandTorsten 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ürtenandTorsten Grote cae53a9fcc Reorganize MediaModule and AttachmentModule 2021-01-21 10:13:29 -03:00
Sebastian KürtenandTorsten Grote 6660625ba6 Update avatar in contact list when changed while list is open 2021-01-21 10:13:29 -03:00
Sebastian KürtenandTorsten Grote bf9ba13b68 Update app bar in ConversationActivity with received avatar 2021-01-21 09:33:56 -03:00
Sebastian KürtenandTorsten Grote a52c97ecf7 Format touched xml layouts 2021-01-21 09:33:56 -03:00
Sebastian KürtenandTorsten Grote a2174e7677 SettingsViewModel: use LiveEvent instead of LiveData 2021-01-21 09:33:55 -03:00
Sebastian KürtenandTorsten Grote d3cf3d680e Display error message toast when updating profile picture fails 2021-01-21 09:33:55 -03:00
Sebastian KürtenandTorsten Grote cbb87aa00c Move compression of image to IoExecutor 2021-01-21 09:33:55 -03:00
Sebastian KürtenandTorsten Grote 53d985161f Remove layout_gravity without any effect 2021-01-21 09:33:54 -03:00
Sebastian KürtenandTorsten Grote 86002b0402 Move some findViewById() out of a lambda 2021-01-21 09:33:54 -03:00
Sebastian KürtenandTorsten Grote f75e789493 Improve dialog for avatar confirmation 2021-01-21 09:33:54 -03:00
Sebastian KürtenandTorsten Grote b22f302fdd Statically import Level.WARNING 2021-01-21 09:33:53 -03:00
Sebastian KürtenandTorsten Grote c4a42760c8 Use BriarDialogTheme for avatar confirmation 2021-01-21 09:33:53 -03:00
Sebastian KürtenandTorsten Grote 8d92f36522 Remove some useless tools:text 2021-01-21 09:33:53 -03:00