briar issueshttps://code.briarproject.org/briar/briar/-/issues2018-11-22T11:35:24Zhttps://code.briarproject.org/briar/briar/-/issues/1427Keep a changelog2018-11-22T11:35:24ZRobert PollakKeep a changelogPlease keep a changelog, to make it easier for users to see what notable changes have been made, before installing a new Briar version.
F-Droid can then link to this changelog on the app page.Please keep a changelog, to make it easier for users to see what notable changes have been made, before installing a new Briar version.
F-Droid can then link to this changelog on the app page.Android 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1426Feedback data is hard to read in preview screen2019-06-18T16:52:08ZakwizgranFeedback data is hard to read in preview screenSince [upgrading ACRA](https://code.briarproject.org/briar/briar/commit/b972d1fc13570fa6258048d5e8a429f9882b8ef6) the contents of crash reports and feedback are shown in the preview as blobs of JSON rather than key-value pairs, which mak...Since [upgrading ACRA](https://code.briarproject.org/briar/briar/commit/b972d1fc13570fa6258048d5e8a429f9882b8ef6) the contents of crash reports and feedback are shown in the preview as blobs of JSON rather than key-value pairs, which makes them harder to read.
There also seems to be an issue with the scroll view cutting off the bottom of the content.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1423IllegalStateException when key agreement fails2021-01-13T16:12:06ZakwizgranIllegalStateException when key agreement fails* Android version: 5.1.1
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J200G (j2ltedd)
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app...* Android version: 5.1.1
* Briar version: 1.1.1 (9476782)
* Phone model: Samsung SM-J200G (j2ltedd)
Stacktrace:
```
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:2053)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:2079)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:678)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:632)
at org.briarproject.briar.android.activity.BaseActivity.showNextFragment(BaseActivity.java:147)
at org.briarproject.briar.android.keyagreement.KeyAgreementActivity.showErrorFragment(KeyAgreementActivity.java:193)
at org.briarproject.briar.android.keyagreement.ContactExchangeActivity.keyAgreementFailed(ContactExchangeActivity.java:107)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.lambda$keyAgreementFailed$2$KeyAgreementFragment(KeyAgreementFragment.java:283)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment$$Lambda$2.run(Unknown Source)
at org.briarproject.briar.android.fragment.BaseFragment.lambda$runOnUiThreadUnlessDestroyed$0$BaseFragment(BaseFragment.java:90)
at org.briarproject.briar.android.fragment.BaseFragment$$Lambda$0.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
```
Looks like we should check the lifecycle state in `BaseActivity#showNextFragment()` or `KeyAgreementActivity#showErrorFragment()`.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1421Contact list is shown when opening app during DB migration2022-05-26T15:44:20ZakwizgranContact list is shown when opening app during DB migrationSteps to reproduce:
* Use the long-migration branch, which adds a fake 60-second DB migration at every startup
* Sign into Briar
* While the fake migration is running, send Briar to the background or turn the screen off
* Relaunch Briar...Steps to reproduce:
* Use the long-migration branch, which adds a fake 60-second DB migration at every startup
* Sign into Briar
* While the fake migration is running, send Briar to the background or turn the screen off
* Relaunch Briar from the status bar or lock screen notification (on some Android versions this requires opening the notification drawer)
* Expected: The migration screen is shown
* Actual: The contact list is shown with a progress wheel. The nav drawer can be opened. Backing out of the contact list or signing out via the nav drawer shows the migration screen againAndroid 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1420TorPlugin not updating status when changing setting2018-10-15T13:04:37ZTorsten GroteTorPlugin not updating status when changing settingThe TorPlugin is not updating its status when bridges are enabled or disabled - the icon still shows the plugin as being connected. We should reset the status when enabling/disabling bridges and wait for Tor to reconnect.The TorPlugin is not updating its status when bridges are enabled or disabled - the icon still shows the plugin as being connected. We should reset the status when enabling/disabling bridges and wait for Tor to reconnect.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1418Managing pluggable transports2019-02-19T17:38:04ZTorsten GroteManaging pluggable transportsThis ticket is to write code for installing the transport, starting if it necessary, activate it based on the user's location, etc.This ticket is to write code for installing the transport, starting if it necessary, activate it based on the user's location, etc.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1417Integrate pluggable transport binaries into Briar2018-12-19T12:23:55ZTorsten GroteIntegrate pluggable transport binaries into BriarThe artifact generated by #1416 should be integrated in Briar, so obfs4 bridges can be used whenever needed by the user's location.The artifact generated by #1416 should be integrated in Briar, so obfs4 bridges can be used whenever needed by the user's location.Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1416Build pluggable transport binaries for Android2018-10-26T12:52:22ZTorsten GroteBuild pluggable transport binaries for AndroidWe would focus on **obfs4** as it should still work in countries like Iran or China (if the bridge host itself is not blocked via TCP). Also, obfs2 and 3 are obsolete, and scramblesuit has no advantages over obfs4 that we know of.
The f...We would focus on **obfs4** as it should still work in countries like Iran or China (if the bridge host itself is not blocked via TCP). Also, obfs2 and 3 are obsolete, and scramblesuit has no advantages over obfs4 that we know of.
The first task is to work out whether we need a standalone obfs4 executable or a go library. If we use the library, do we also need the dispatcher so tor can control the transport? Then we'll know whether our upstream is [yawning's obfs4](https://gitweb.torproject.org/pluggable-transports/obfs4.git/) or [the shapeshifter-transports library](https://github.com/OperatorFoundation/shapeshifter-transports).
There's also Guardian Project's [Android Pluggable Transports](https://github.com/guardianproject/AndroidPluggableTransports) and OpenPriv's [Android Go Mobile Builder](https://github.com/OpenPriv/android-go-mobile) that might be relevant.
The extra artifact that gets added to Briar should be reproducible: How to [Reproduce Go binaries byte-by-byte](https://blog.filippo.io/reproducing-go-binaries-byte-by-byte/)Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1413Contact list empty state message sometimes fails to appear2019-03-08T10:01:01ZakwizgranContact list empty state message sometimes fails to appearI've seen this intermittently on the Moto G (Android 5.1). The latest case happened after creating a new account - I'm not sure whether that's always been the case in the past. Turning the screen off and on again sometimes but not always...I've seen this intermittently on the Moto G (Android 5.1). The latest case happened after creating a new account - I'm not sure whether that's always been the case in the past. Turning the screen off and on again sometimes but not always causes the empty state message to appear.
![device-2018-10-08-125730](/uploads/c22b346d2de99d58554752bc374f9902/device-2018-10-08-125730.png)
If I find reliable steps to reproduce the bug I'll add them below.Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1405When emoji drawer is open, clicking text field should show keyboard2019-10-28T12:16:31ZakwizgranWhen emoji drawer is open, clicking text field should show keyboard* Android version: 8.0.0
* Briar version: 1.0.13
* Phone model: Sony Xperia X Compact
* User feedback: "Sony X compact, Android 8.0, BlackBerry Keyboard, Briar-master with new emoji. In conversation click on emoji icon -> open BB Keyboar...* Android version: 8.0.0
* Briar version: 1.0.13
* Phone model: Sony Xperia X Compact
* User feedback: "Sony X compact, Android 8.0, BlackBerry Keyboard, Briar-master with new emoji. In conversation click on emoji icon -> open BB Keyboard and emoji drawer (not side by side, BB is open behind emoji drawer) -> click on Type message and do nothing (expect show keyboard)."
I'm assuming "click on Type message" means click on the keyboard icon next to the text field. The soft keyboard should be shown in this case, even if there's a custom keyboard app. But possibly the user expects that clicking on the text field itself should hide the emoji drawer and show the keyboard again?Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1403IllegalStateException during setup on Anbox2018-11-01T12:12:23ZakwizgranIllegalStateException during setup on Anbox* Android version: 7.1.1
* Briar version: 1.0.1 (1833efa)
* Phone model: Anbox (anbox_x86_64)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControl...* Android version: 7.1.1
* Briar version: 1.0.1 (1833efa)
* Phone model: Anbox (anbox_x86_64)
Stacktrace:
```
java.lang.IllegalStateException
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControllerImpl.java:88)
at org.briarproject.briar.android.login.SetupControllerImpl.createAccount(SetupControllerImpl.java:82)
at org.briarproject.briar.android.login.DozeFragment.onClick(DozeFragment.java:109)
at android.view.View.performClick(View.java:5637)
at android.view.View$PerformClick.run(View.java:22429)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
```
Not assigning to the current milestone because this is a very old Briar version and the relevant code has changed a lot.https://code.briarproject.org/briar/briar/-/issues/1399IllegalArgumentException after stopping UnlockActivity2022-06-13T14:54:58ZakwizgranIllegalArgumentException after stopping UnlockActivity* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Xiaomi Mi A1 (tissot)
* User feedback: "Blank screen."
Stacktrace:
```
java.lang.IllegalArgumentException: View=DecorView@47d51c6[] not attached to window manager
...* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Xiaomi Mi A1 (tissot)
* User feedback: "Blank screen."
Stacktrace:
```
java.lang.IllegalArgumentException: View=DecorView@47d51c6[] not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:485)
at android.view.WindowManagerGlobal.updateViewLayout(WindowManagerGlobal.java:380)
at android.view.WindowManagerImpl.updateViewLayout(WindowManagerImpl.java:101)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3728)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```
The log seems to show navigation between screens with BriarRecyclerViews leading up to the crash:
```
09-25 14:23:10.402 I/RenewableWakeLock: Acquiring wake lock LocationManagerService
09-25 14:23:10.402 I/RenewableWakeLock: Already acquired
09-25 14:23:35.872 I/Poller: Polling plugin org.briarproject.bramble.tor
09-25 14:23:56.187 I/BriarRecyclerView: Adding Handler Callback
09-25 14:23:56.238 I/BriarRecyclerView: Removing Handler Callback
09-25 14:23:56.310 I/BriarRecyclerView: Adding Handler Callback
09-25 14:23:56.554 I/BriarRecyclerView: Removing Handler Callback
09-25 14:23:58.197 I/BriarRecyclerView: Adding Handler Callback
09-25 14:24:01.792 I/BriarRecyclerView: Removing Handler Callback
09-25 14:24:03.169 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-25 14:24:03.841 I/BriarRecyclerView: Adding Handler Callback
```
Judging by the short stacktrace, this looks like a platform bug without a place where we could insert a workaround. Therefore I'm not adding this to the current milestone unless we get more reports.Android 1.2akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1396AssertionError due to SetupActivity being created when signing out2022-05-26T15:47:12ZakwizgranAssertionError due to SetupActivity being created when signing out* Android version: 4.3
* Briar version: 1.1.1 (9476782)
* Phone Model: Galaxy Nexus (yakju)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.login.SetupActivity.onCreate(SetupActivity.java:46)
a...* Android version: 4.3
* Briar version: 1.1.1 (9476782)
* Phone Model: Galaxy Nexus (yakju)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.login.SetupActivity.onCreate(SetupActivity.java:46)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
```
Log snippet:
```
9-17 18:28:50.420 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:29:14.080 I/BriarService: Trim memory: running low
09-17 18:29:15.360 I/BriarService: Trim memory: running low
09-17 18:29:21.323 I/BriarService: Trim memory: running low
09-17 18:29:50.424 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:30:01.283 I/BriarService: Trim memory: running low
09-17 18:30:50.429 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:31:50.433 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:32:45.038 I/Poller: Polling plugin org.briarproject.bramble.tor
09-17 18:32:45.050 I/ConnectionRegistryImpl: 0 contacts connected: org.briarproject.bramble.tor
09-17 18:32:45.051 I/TorPlugin: Connecting to dif[scrubbed]
09-17 18:32:45.663 I/TorPlugin: Could not connect to dif[scrubbed]: java.io.IOException: Connection failed: Host unreachable
09-17 18:32:45.665 I/TorPlugin: NOTICE Closing stream for '[scrubbed].onion': hidden service is unavailable (try again later).
09-17 18:32:50.438 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:33:23.524 I/Poller: Polling plugin org.briarproject.bramble.lan
09-17 18:33:23.537 I/ConnectionRegistryImpl: 0 contacts connected: org.briarproject.bramble.lan
09-17 18:33:23.537 I/TcpPlugin: Connecting to /192.168.0.6
09-17 18:33:25.868 I/TcpPlugin: Could not connect to /192.168.0.6
09-17 18:33:50.443 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:34:50.448 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:35:50.453 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:36:50.458 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:37:50.462 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:38:50.466 I/RenewableWakeLock: Renewing wake lock LocationManagerService
09-17 18:38:54.012 I/AndroidNetworkManager: Received broadcast android.intent.action.SCREEN_ON
09-17 18:38:54.014 I/TorPlugin: Online: true, wifi: true
09-17 18:38:54.014 I/TorPlugin: Country code: GB
09-17 18:38:54.014 I/TorPlugin: Enabling network, not using bridges
09-17 18:38:54.015 I/AndroidLanTcpPlugin: Connected to wifi
09-17 18:38:54.018 I/BriarService: Trim memory: running low
09-17 18:38:54.064 I/RenewableWakeLock: Acquiring wake lock LocationManagerService
09-17 18:38:54.064 I/RenewableWakeLock: Already acquired
09-17 18:38:56.832 I/BriarRecyclerView: Adding Handler Callback
09-17 18:39:00.314 I/BriarRecyclerView: Adding Handler Callback
09-17 18:39:00.899 I/BriarRecyclerView: Removing Handler Callback
09-17 18:39:02.579 I/BriarControllerImpl: Shutting down service
09-17 18:39:02.657 I/BriarService: Destroyed
09-17 18:39:02.659 I/LifecycleManagerImpl: Stopping services
09-17 18:39:02.660 I/PluginManagerImpl: Stopping simplex plugins
09-17 18:39:02.660 I/PluginManagerImpl: Stopping duplex plugins
09-17 18:39:02.660 I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.tor
09-17 18:39:02.661 I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.bluetooth
09-17 18:39:02.661 I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.tor
09-17 18:39:02.661 I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.bluetooth
09-17 18:39:02.661 I/TorPlugin: Stopping Tor
09-17 18:39:02.662 I/TorPlugin: java.net.SocketException: Socket closed
09-17 18:39:02.666 I/PluginManagerImpl: Trying to stop plugin org.briarproject.bramble.lan
09-17 18:39:02.666 I/TcpPlugin: java.net.SocketException: Socket closed
09-17 18:39:02.666 I/NavDrawerControllerImpl: TransportDisabledEvent: org.briarproject.bramble.lan
09-17 18:39:02.666 I/PluginManagerImpl: Waiting for all the plugins to stop
09-17 18:39:02.698 I/AndroidAccountManager: No database key in preferences
09-17 18:39:02.700 I/AccountManagerImpl: Found database key in primary file
09-17 18:39:02.707 I/RenewableWakeLock: Releasing wake lock LocationManagerService
09-17 18:39:02.709 I/TorPlugin: NOTICE Closing no-longer-configured Socks listener on 127.0.0.1:59050
09-17 18:39:02.709 I/TorPlugin: NOTICE DisableNetwork is set. Tor will not make or accept non-control network connections. Shutting down all existing connections.
09-17 18:39:02.709 I/TorPlugin: NOTICE Closing old Socks listener on 127.0.0.1:59050
09-17 18:39:02.720 I/TorPlugin: OR connection CLOSED $D7D905184504739AA790FFF32DF882CD5D34CF69~bauruine55
```
The crash happened when signing out after leaving Briar running in the foreground for a long time. Shutdown seems to be proceeding normally before the crash. The log shows several trim memory calls, but not at a severe enough level to hide the UI.
May be related to #1189.https://code.briarproject.org/briar/briar/-/issues/1395IllegalStateException when hiding UI due to low memory2018-10-08T12:03:31ZakwizgranIllegalStateException when hiding UI due to low memory* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Xiaomi Mi A1 (tissot)
Stacktrace:
```
java.lang.RuntimeException: Unable to stop activity {org.briarproject.briar.android/org.briarproject.briar.android.logout.Hid...* Android version: 8.1.0
* Briar version: 1.1.1 (9476782)
* Phone model: Xiaomi Mi A1 (tissot)
Stacktrace:
```
java.lang.RuntimeException: Unable to stop activity {org.briarproject.briar.android/org.briarproject.briar.android.logout.HideUiActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4369)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.-wrap5(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.initWindowDecorActionBar(AppCompatDelegateImplV9.java:175)
at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:145)
at android.support.v7.app.AppCompatDelegateImplV9.onStop(AppCompatDelegateImplV9.java:259)
at android.support.v7.app.AppCompatDelegateImplV14.onStop(AppCompatDelegateImplV14.java:131)
at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
at org.briarproject.briar.android.activity.BaseActivity.onStop(BaseActivity.java:128)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
... 9 more
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.initWindowDecorActionBar(AppCompatDelegateImplV9.java:175)
at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:145)
at android.support.v7.app.AppCompatDelegateImplV9.onStop(AppCompatDelegateImplV9.java:259)
at android.support.v7.app.AppCompatDelegateImplV14.onStop(AppCompatDelegateImplV14.java:131)
at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
at org.briarproject.briar.android.activity.BaseActivity.onStop(BaseActivity.java:128)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.-wrap5(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at android.app.ActivityThread.-wrap5(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.initWindowDecorActionBar(AppCompatDelegateImplV9.java:175)
at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:145)
at android.support.v7.app.AppCompatDelegateImplV9.onStop(AppCompatDelegateImplV9.java:259)
at android.support.v7.app.AppCompatDelegateImplV14.onStop(AppCompatDelegateImplV14.java:131)
at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
at org.briarproject.briar.android.activity.BaseActivity.onStop(BaseActivity.java:128)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
... 9 more
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:354)
at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:323)
at android.support.v7.app.AppCompatDelegateImplV9.initWindowDecorActionBar(AppCompatDelegateImplV9.java:175)
at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:145)
at android.support.v7.app.AppCompatDelegateImplV9.onStop(AppCompatDelegateImplV9.java:259)
at android.support.v7.app.AppCompatDelegateImplV14.onStop(AppCompatDelegateImplV14.java:131)
at android.support.v7.app.AppCompatActivity.onStop(AppCompatActivity.java:184)
at org.briarproject.briar.android.activity.BaseActivity.onStop(BaseActivity.java:128)
at android.app.Instrumentation.callActivityOnStop(Instrumentation.java:1376)
at android.app.Activity.performStop(Activity.java:7205)
at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4364)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4425)
at android.app.ActivityThread.-wrap5(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:172)
at android.app.ActivityThread.main(ActivityThread.java:6590)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
```Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1393Error page is shown when trying to install Ripple from Google Play2019-06-12T10:45:27ZakwizgranError page is shown when trying to install Ripple from Google PlayWhen no panic button app is installed, touching the "Panic Button App" preference automatically opens a market:// link to install Ripple. If the device has Google Play but not F-Droid, a Play Store error page is shown. This may be confus...When no panic button app is installed, touching the "Panic Button App" preference automatically opens a market:// link to install Ripple. If the device has Google Play but not F-Droid, a Play Store error page is shown. This may be confusing for the user, as we haven't given any indication that we're about to search for an app on Google Play.
If the device has both Google Play and F-Droid, an app chooser is shown. Choosing Google Play leads to the error page.
![device-2018-09-28-110048](/uploads/5eb85f3d601c31b661f9071d70638c20/device-2018-09-28-110048.png)Android 1.1https://code.briarproject.org/briar/briar/-/issues/1392List of panic button apps isn't updated after installing app2019-02-21T10:34:00ZakwizgranList of panic button apps isn't updated after installing appSteps to reproduce:
* Uninstall Ripple
* Start Briar
* Go to "Settings > Panic button setup > Panic Button App"
* A dialog opens showing "None" as the only choice
* An app chooser opens to install Ripple (if you only have one market app...Steps to reproduce:
* Uninstall Ripple
* Start Briar
* Go to "Settings > Panic button setup > Panic Button App"
* A dialog opens showing "None" as the only choice
* An app chooser opens to install Ripple (if you only have one market app, perhaps it opens automatically?)
* Install Ripple from F-Droid
* Press back to return to Briar
* Expected:
* The dialog has closed
* Pressing "Panic Button App" again shows a list that includes Ripple
* Pressing "Panic Button App" again doesn't open the app chooser to install Ripple again
* Actual:
* The dialog is still open showing "None" as the only choice
* Pressing "Panic Button App" again shows a list with "None" as the only choice
* Pressing "Panic Button App" again opens the app chooser to install Ripple againAndroid 1.1akwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/1391Layout issues with author view on Android 4.0.42018-09-28T09:48:57ZakwizgranLayout issues with author view on Android 4.0.4There seem to be some problems with the author layout on the Sony Xperia Tipo (Android 4.0.4):
![device-2018-09-26-173540](/uploads/08c9d86a38c69feacd229d1428c43f5f/device-2018-09-26-173540.png)
![device-2018-09-26-175901](/uploads/cd4...There seem to be some problems with the author layout on the Sony Xperia Tipo (Android 4.0.4):
![device-2018-09-26-173540](/uploads/08c9d86a38c69feacd229d1428c43f5f/device-2018-09-26-173540.png)
![device-2018-09-26-175901](/uploads/cd43908e618a05c10cf1725a58508f8e/device-2018-09-26-175901.png)Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1390PasswordActivity is shown after backing out of crash report, can't back out o...2019-06-18T16:51:50ZakwizgranPasswordActivity is shown after backing out of crash report, can't back out of PasswordActivitySteps to reproduce:
* Sign into Briar (debug build)
* Go to Settings > Crash
* Choose "Send Report"
* Back out of the report creation screen
* Expected behaviour: Return to home screen
* Actual behaviour: PasswordActivity is shown
* Pre...Steps to reproduce:
* Sign into Briar (debug build)
* Go to Settings > Crash
* Choose "Send Report"
* Back out of the report creation screen
* Expected behaviour: Return to home screen
* Actual behaviour: PasswordActivity is shown
* Press back button
* Expected behaviour: Return to home screen
* Actual behaviour: PasswordActivity remains visible (or maybe another instance immediately appears?)Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1389Shadows are missing below system message bubbles2018-11-15T11:38:59ZakwizgranShadows are missing below system message bubblesThe shadows below system message bubbles are rendered wrongly on the Moto G 4G (Android 5.1):
![device-2018-09-26-173458](/uploads/b049831c8e5ff944dbf6b68b89381e63/device-2018-09-26-173458.png)The shadows below system message bubbles are rendered wrongly on the Moto G 4G (Android 5.1):
![device-2018-09-26-173458](/uploads/b049831c8e5ff944dbf6b68b89381e63/device-2018-09-26-173458.png)Android 1.1Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1386App locks after signing out2018-09-20T11:06:10ZTorsten GroteApp locks after signing outThe app inactivity timeout even kicks in after signing out.
Steps to reproduce:
* activate app lock in settings
* set timeout to 1 minute
* sign out
* wait for one minute
* observe the new locked notification that you can only remove by...The app inactivity timeout even kicks in after signing out.
Steps to reproduce:
* activate app lock in settings
* set timeout to 1 minute
* sign out
* wait for one minute
* observe the new locked notification that you can only remove by signing in againAndroid 1.1Torsten GroteTorsten Grote