briar merge requestshttps://code.briarproject.org/briar/briar/-/merge_requests2020-12-14T13:34:14Zhttps://code.briarproject.org/briar/briar/-/merge_requests/1319Remove ACRA and implement the few bits we need ourselves2020-12-14T13:34:14ZTorsten GroteRemove ACRA and implement the few bits we need ourselvesThis MR removes the dependency on the ACRA library instead of migrating to the latest version. In the process the reporting code was cleaned up and modernized. If possible, feedback is now sent immediately. The report category choices an...This MR removes the dependency on the ACRA library instead of migrating to the latest version. In the process the reporting code was cleaned up and modernized. If possible, feedback is now sent immediately. The report category choices and the visibility of the report is now maintained across screen rotations.
Closes #1793, #1720
Might also resolve #1114Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1322Prepare screen overlay warning for targeting API 302021-01-05T14:31:12ZTorsten GrotePrepare screen overlay warning for targeting API 30This MR removes the ability to show and remember a list of apps drawing on screen as we can't query all installed apps anymore when targeting API 30. The warning dialog on API 30+ has been modified slightly to accommodate for this. An ac...This MR removes the ability to show and remember a list of apps drawing on screen as we can't query all installed apps anymore when targeting API 30. The warning dialog on API 30+ has been modified slightly to accommodate for this. An action was added to review the list of apps allowed to draw on screen.
When a permission is revoked and the user returns to Briar, the screen overlay is gone immediately, allowing the user to interact with Briar again.
![device-2020-12-14-105516](/uploads/c7b441441adf509b870b9ef51d6755b2/device-2020-12-14-105516.mp4)
First part of #1753Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1323Define manifest <queries> allowing us to make intent queries on API 30+2021-01-05T14:49:41ZTorsten GroteDefine manifest <queries> allowing us to make intent queries on API 30+This MR defines manifest `<queries>` allowing us to make intent queries on API 30+. This should take care of all of the intent resolving issues introduced by Android 11.
Note: After this MR we will not support other panic apps besides R...This MR defines manifest `<queries>` allowing us to make intent queries on API 30+. This should take care of all of the intent resolving issues introduced by Android 11.
Note: After this MR we will not support other panic apps besides Ripple, but to my knowledge there are none using PanicKit anyway.
Still missing are the package names for `AndroidWakeLockManager` to detect certain white-listed wake lock tags.
Second part of #1753Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1325Add "up navigation" button to FeedbackActivity2020-12-16T16:52:37ZakwizgranAdd "up navigation" button to FeedbackActivityThis branch adds an up navigation button to the toolbar of the feedback screen.
![device-2020-12-16-160421](/uploads/a58cbbc8f34129d25a5fbc0d04dbab4a/device-2020-12-16-160421.png)This branch adds an up navigation button to the toolbar of the feedback screen.
![device-2020-12-16-160421](/uploads/a58cbbc8f34129d25a5fbc0d04dbab4a/device-2020-12-16-160421.png)Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1326Introduce DbViewModel as replacement of DbController2021-01-04T14:00:45ZTorsten GroteIntroduce DbViewModel as replacement of DbControllerThis reverts the fix of !1021 as this MR is a better fix.
First part of #1800This reverts the fix of !1021 as this MR is a better fix.
First part of #1800Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1327Using ListAdapter for PrivateGroupList2021-01-05T11:25:36ZTorsten GroteUsing ListAdapter for PrivateGroupListThis MR extends the `DbViewModel` with new methods for doing async `ListAdapter` list updates and show-cases them by migrating the private group list fragment to use them.This MR extends the `DbViewModel` with new methods for doing async `ListAdapter` list updates and show-cases them by migrating the private group list fragment to use them.Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1330Remove calls to WifiManager#getConfiguredNetworks()2021-01-05T14:03:42ZTorsten GroteRemove calls to WifiManager#getConfiguredNetworks()as these require fine location permission now and don't work when
location services are disabled.
Closes #1861as these require fine location permission now and don't work when
location services are disabled.
Closes #1861Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1331Introduce ViewModel for ForumListFragment2021-01-07T14:45:48ZTorsten GroteIntroduce ViewModel for ForumListFragmentCloses #1869Closes #1869Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1332Only query for allowed packages in AndroidWakeLockManager2021-01-12T11:21:21ZTorsten GroteOnly query for allowed packages in AndroidWakeLockManagerThis is the last part of #1753 removing the last place where we tried to query packages we are not allowed to query anymore.
Closes #1753This is the last part of #1753 removing the last place where we tried to query packages we are not allowed to query anymore.
Closes #1753Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1333Fix screenshot instrumentation tests on API 29+2021-01-11T17:58:22ZTorsten GroteFix screenshot instrumentation tests on API 29+Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1336Migrate ThreadListController to ViewModel2021-02-08T18:51:52ZTorsten GroteMigrate ThreadListController to ViewModelThis migration is quite complex. Thorough testing is advised.
It also addresses part of #1891 by introducing a new `SharingController` which can be used in `ViewModel`s and exposes `LiveData`. Some unused and legacy code was removed in ...This migration is quite complex. Thorough testing is advised.
It also addresses part of #1891 by introducing a new `SharingController` which can be used in `ViewModel`s and exposes `LiveData`. Some unused and legacy code was removed in the process.
It also fixes the unknown bug that the list scrolling position doesn't get restored when re-entering the discussion.
Closes #1870, #1873, #1881Adapt to changes in the Android platformakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/merge_requests/1339Draft: Resolve "Migrate SetupController to ViewModel"2021-01-12T13:28:57ZDaniel LublinDraft: Resolve "Migrate SetupController to ViewModel"Closes #1865Closes #1865Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1340Migrate SetupController to a ViewModel2021-01-26T13:28:36ZDaniel LublinMigrate SetupController to a ViewModelSolves #1865Solves #1865Adapt to changes in the Android platformTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/merge_requests/1341Introduce ViewModel for ContactListFragment2021-01-18T13:12:45ZSebastianIntroduce ViewModel for ContactListFragmentCloses #1867Closes #1867Adapt to changes in the Android platformhttps://code.briarproject.org/briar/briar/-/merge_requests/1342Migrate BlogController and FeedController to ViewModel2021-03-25T17:25:56ZTorsten GroteMigrate BlogController and FeedController to ViewModelThis uses two different view model instances for blog and feed.
Test instructions:
* create test data with blog posts
* enter main blog feed and individual blogs, rotate screen
* add contact that writes blog posts and reblogs existing ...This uses two different view model instances for blog and feed.
Test instructions:
* create test data with blog posts
* enter main blog feed and individual blogs, rotate screen
* add contact that writes blog posts and reblogs existing posts
* check that new posts produce notifications when not in blogs (or in other people's blogs)
* check posts get added to blog list if open when post arrives
* write/reblog blog posts yourself, check that it gets added to main blog feed
Closes #1866, #1891Adapt to changes in the Android platformakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/merge_requests/1346Use vector support libraries instead of rasterizing all drawables2021-02-23T14:11:28ZTorsten GroteUse vector support libraries instead of rasterizing all drawablesCurrently, the android gradle plugin rasterizes all our drawables for all possible resolutions and stores PNG files for those. These are used on phones with API < 21, but can lead to blurry icons if the `dp` value in the `xml` file is no...Currently, the android gradle plugin rasterizes all our drawables for all possible resolutions and stores PNG files for those. These are used on phones with API < 21, but can lead to blurry icons if the `dp` value in the `xml` file is not matching the actual size on screen. Also it takes up more space in the APK.
This MR enables the androidx library support for vector drawables, so we can use them on lower API levels as well and makes the required code modifications.
`NotificationCompat` doesn't take care (yet?) of using VectorDrawables for notifications, so the only solution is to include pre-rasterized icons only for notifications.
Official documentation:
https://developer.android.com/guide/topics/graphics/vector-drawable-resources#vector-drawables-backward-solutionAdapt to changes in the Android platformSebastianSebastianhttps://code.briarproject.org/briar/briar/-/merge_requests/1348Use ContactListViewModel in ContactChooserFragment and IntroductionActivity2021-02-04T17:18:23ZSebastianUse ContactListViewModel in ContactChooserFragment and IntroductionActivityCloses #1905
Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact ...Closes #1905
Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact list used updates properly
* On some device (A) repeat steps from 1.
* While the contact selection list is open: use a different device (B) and sent a message to (A). Make sure the number of unread messages displayed on (A) updates and also the contact moves up to the top as it now is the contact with the last recent message
3. Check that selecting a contact works
* Repeat steps from 1.
* select a contact and check that the next screen show the expected contactsAdapt to changes in the Android platformTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/merge_requests/1349Introduce ViewModel for IntroductionActivity (and ContactChooserFragment)2021-10-07T11:39:50ZSebastianIntroduce ViewModel for IntroductionActivity (and ContactChooserFragment)Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact list used upda...Test instructions:
1. Check that contact list used displays correctly
* Go into a conversation
* menu → make introduction
* check that list does not contain the contact you're introducing
2. Check that contact list used updates properly
* On some device (A) repeat steps from 1.
* While the contact selection list is open: use a different device (B) and sent a message to (A). Make sure the number of unread messages displayed on (A) updates and also the contact moves up to the top as it now is the contact with the last recent message
3. Check that selecting a contact works
* Repeat steps from 1.
* select a contact and check that the next screen show the expected contacts
4. Make sure going back to contact selection and repeatedly selecting contacts works as expected
* Repeat steps from 3.
* Navigate back to the list of contacts to introduce your contact to
* Select a different contact than before, check that the next screen show the contact selected the second time
* Just to be sure, try again with a third contact
5. Check screen rotation doesn't break anything
* Repeat steps from 4.
* During navigation, rotate device at different times during the processAdapt to changes in the Android platformTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/merge_requests/1350Finish migrating SettingsFragment to ViewModel2021-04-01T13:20:15ZTorsten GroteFinish migrating SettingsFragment to ViewModelThis also splits up the UI into sub-screens.
![device-2021-02-01-085720](/uploads/43376f45b628353556e9e6b2ddee4615/device-2021-02-01-085720.mp4)
Test instructions:
* check that the settings main screen shows icons that are colored lik...This also splits up the UI into sub-screens.
![device-2021-02-01-085720](/uploads/43376f45b628353556e9e6b2ddee4615/device-2021-02-01-085720.mp4)
Test instructions:
* check that the settings main screen shows icons that are colored like the text in light and dark theme
* enter all new settings screen, check that all settings are enabled as expected (e.g. app lock only enabled when phone has a screen lock)
* change all settings and check that their new value gets persisted across screen rotations as well as leaving settings and coming back
* check that a release build doesn't show developer options and profile pic setting
Closes #1826, #1942Adapt to changes in the Android platformSebastianSebastianhttps://code.briarproject.org/briar/briar/-/merge_requests/1355Condition display of progressbar on a isCreatingAccount LiveData2021-03-03T13:10:33ZDaniel LublinCondition display of progressbar on a isCreatingAccount LiveDataAvoiding the mess with saving onSaveInstanceState, and the (in this
case) unwanted restoring of it upon back-button tap.
Closes #1919
Test instructions:
- Precondition: fresh install, setting up a new account
- Testing specific bu...Avoiding the mess with saving onSaveInstanceState, and the (in this
case) unwanted restoring of it upon back-button tap.
Closes #1919
Test instructions:
- Precondition: fresh install, setting up a new account
- Testing specific bug fix:
- Choose a name, tap next
- Choose a password, tap next
- Not testable on some devices which display "Create account" instead of "Next"
- You are now on Background connections screen
- Tap Back-button ◁
- Ensure that password can be changed again
- During setup process, rotate device and ensure that:
- entered text is kept
- progressbar is continuously displayed
Please also verify that the following is fixed and can be closed: https://code.briarproject.org/briar/briar/-/issues/1819 (Create Account-button should never visible when account is already being created)Adapt to changes in the Android platform