briar issueshttps://code.briarproject.org/briar/briar/-/issues2021-05-10T12:00:41Zhttps://code.briarproject.org/briar/briar/-/issues/2014Update MessagesSentEvent to include amount of data sent2021-05-10T12:00:41ZakwizgranUpdate MessagesSentEvent to include amount of data sentSubtask of #1802Subtask of #1802Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2013Add database method for getting amount of data to sync2021-05-10T12:00:48ZakwizgranAdd database method for getting amount of data to syncSubtask of #1802Subtask of #1802Transfer content securely via SD cards and USB memory sticksakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/2012Special bubbles not updating correctly when messages self-destruct2021-07-06T09:56:29ZSebastianSpecial bubbles not updating correctly when messages self-destructSelf-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/2011App offline sharing UX2021-10-29T11:45:23ZElio Qoshielio@ura.designApp offline sharing UX![All_Screens](/uploads/bd9eb2dd5bbb58e2287fd8e9a036f12f/All_Screens.png)
I drafted an initial UX proposal for sharing an app offline.
Figma specs: https://www.figma.com/file/NgBKOW1GcLk1NXzHQBcYdY/Offline-App-Installer-Sharing?node-id=...![All_Screens](/uploads/bd9eb2dd5bbb58e2287fd8e9a036f12f/All_Screens.png)
I drafted an initial UX proposal for sharing an app offline.
Figma specs: https://www.figma.com/file/NgBKOW1GcLk1NXzHQBcYdY/Offline-App-Installer-Sharing?node-id=1%3A5491
Considerations:
- This doesn't take into account that we are automatically detecting if a fellow peer connects to the hotspot. The hosting user needs to manually confirm this.
- There should be plenty of space for instructions and help text, as well as a separate help option via the dropdown menu if needed. The texts are of course only placeholders, though their I included their notion, more or less.
- An illustration should make the process feel more engaging (like the start of onboarding).
- Not sure about the steppers on the bottom. Open to hear what you think.Install via Bluetooth or Wi-FiElio Qoshielio@ura.designElio Qoshielio@ura.design2021-07-31https://code.briarproject.org/briar/briar/-/issues/2010Investigate behaviour of recent apps list for various manufacturers2022-03-21T13:49:28ZakwizgranInvestigate behaviour of recent apps list for various manufacturersMany manufacturers have custom implementations of the recent apps list.
On Tecno phones, clearing the recent apps list [kills the Briar process](https://code.briarproject.org/briar/briar/-/issues/992#note_44605) unless the app is [locke...Many manufacturers have custom implementations of the recent apps list.
On Tecno phones, clearing the recent apps list [kills the Briar process](https://code.briarproject.org/briar/briar/-/issues/992#note_44605) unless the app is [locked to the recent apps list](https://code.briarproject.org/briar/briar/-/issues/1743#note_49393).
On Xiaomi/Redmi phones, [locking an app to the recent apps list](https://code.briarproject.org/briar/briar/-/issues/1743#note_49341) prevents it from being killed by the system's power manager, which would otherwise happen even without clearing the list.
For as many manufacturers as possible, find out:
1. whether clearing the recent apps list kills Briar
2. whether apps can be locked to the recent apps list
3. whether locking prevents Briar from being killed when clearing the list
4. whether locking provides any other protection (e.g. from the system's power manager)https://code.briarproject.org/briar/briar/-/issues/2009Give instructions during setup for protecting app from Xiaomi/Redmi power man...2021-07-06T10:02:52ZakwizgranGive instructions during setup for protecting app from Xiaomi/Redmi power managementWhile working on #1743 I found that the [Snooze app](https://code.briarproject.org/akwizgran/snooze) was killed when running overnight on the Redmi Note 7. [Locking the app to the recent apps list](https://code.briarproject.org/briar/bri...While working on #1743 I found that the [Snooze app](https://code.briarproject.org/akwizgran/snooze) was killed when running overnight on the Redmi Note 7. [Locking the app to the recent apps list](https://code.briarproject.org/briar/briar/-/issues/1743#note_49341) prevented this from happening. We should recommend this during account setup, as we do for Huawei's protected apps and app launch settings.
(The user can also [change the app's background setting to "No restrictions"](https://code.briarproject.org/briar/briar/-/issues/1743#note_49269), which is recommended in various places but didn't help in the case of the Snooze app.)Adapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/2008Doze broadcasts aren't received on Nokia 3.12021-08-27T11:26:27ZakwizgranDoze broadcasts aren't received on Nokia 3.1A [log](/uploads/201f05a7ef28f09973eb8767649d3687/Nokia3.1-28042021-Snooze.log) from the [Snooze app](https://code.briarproject.org/akwizgran/snooze) running on the Nokia 3.1 doesn't show any broadcasts indicating that the device entered...A [log](/uploads/201f05a7ef28f09973eb8767649d3687/Nokia3.1-28042021-Snooze.log) from the [Snooze app](https://code.briarproject.org/akwizgran/snooze) running on the Nokia 3.1 doesn't show any broadcasts indicating that the device entered or left doze mode (device idle mode), unlike ten other devices that were tested. On all devices, the app was exempt from doze, running a foreground service and holding a wake lock.
If Briar likewise doesn't receive doze broadcasts on this device then it may fail to detect that its doze exemption has been removed. We only check the exemption status if a doze broadcast has been received since the last check.
I've asked @earthlingIB to run another test on this device without the doze exemption, to see whether it's the exemption that prevents the broadcasts from being received. If that's the case then we can close this ticket, as Briar will still be able to detect if its exemption has been removed.https://code.briarproject.org/briar/briar/-/issues/2007Devices lose wifi connectivity despite doze exemption, foreground service and...2021-04-30T13:20:11ZakwizgranDevices lose wifi connectivity despite doze exemption, foreground service and wake lockTwo overnight tests with the [Snooze app](https://code.briarproject.org/akwizgran/snooze) showed that several devices lost wifi connectivity despite the app being exempt from doze, running a foreground service, and holding a wake lock th...Two overnight tests with the [Snooze app](https://code.briarproject.org/akwizgran/snooze) showed that several devices lost wifi connectivity despite the app being exempt from doze, running a foreground service, and holding a wake lock that prevented deep sleep.
The app was also holding a wifi lock with WIFI_MODE_FULL, which Briar doesn't do. But this lock mode doesn't do anything on API >= 29.
In the first test, the following devices remained connected:
* Huawei Y6P (with [app launch workaround](https://code.briarproject.org/briar/briar/-/issues/1743#note_49208)) [y6p.log](/uploads/2dd5cfe4bb10eda009a730ee4de8e101/y6p.log)
* OnePlus 5T [oneplus-5t.log](/uploads/c48918d1e5e0a722036cd5f405daa474/oneplus-5t.log)
* Pixel 2 [pixel-2.log](/uploads/8f0181a6b0f1af87dc6416197b66c011/pixel-2.log)
* Redmi Note 7 (with [app locked to recent apps list](https://code.briarproject.org/briar/briar/-/issues/1743#note_49341)) [redmi-note-7.log](/uploads/9aba6f761c71ab2667cf97867614886e/redmi-note-7.log)
* Samsung Galaxy A10s [a10s.log](/uploads/c94055f3eb545588949c83898d3a4252/a10s.log)
The following devices lost connectivity in the first test:
* Honor 8A (with app launch workaround): lost connectivity after entering doze, didn't regain it [honor-8a.log](/uploads/10f41360b4311d039d164a97dc4dc8b7/honor-8a.log)
* Nokia 1.3: lost connectivity less than 3 minutes after screen was turned off, before entering doze, didn't regain it [nokia-1.3.log](/uploads/389d09c6e9fd3acdd188042e74b516b7/nokia-1.3.log)
In the second test, the following device remained connected:
* OnePlus 5T [oneplus-5t.log](/uploads/858a6778b919f415366abf34a8d2e542/oneplus-5t.log)
* Pixel 2 [pixel-2.log](/uploads/4a28aad88ae067506334758754f9f20d/pixel-2.log)
* Redmi Note 7 (with app locked to recent apps list) [redmi-note-7.log](/uploads/8f0a28d77ed20eb6a730dbf8c865d3f9/redmi-note-7.log)
The following devices lost connectivity in the second test:
* Honor 8A (with app launch workaround): lost connectivity after entering doze, didn't regain it [honor-8a.log](/uploads/1bf7c4e52bdf49f7df59d431539d629a/honor-8a.log)
* Huawei Y6P (with app launch workaround): lost connectivity after entering doze, didn't regain it [y6p.log](/uploads/38aa2dcd249ed79fdffc861f9711c217/y6p.log)
* Nokia 1.3: lost connectiivty less than 3 minutes after the screen was turned off, didn't regain it [nokia-1.3.log](/uploads/753e516264e0db994f53bbff3324811f/nokia-1.3.log)
* Samsung Galaxy A10s: lost connectivity about 7 hours into the test, after entering and leaving doze several times, and didn't regain it [a10s.log](/uploads/51555f8d084cf872f40b369261e4deb8/a10s.log)
These findings were originally reported [here](https://code.briarproject.org/briar/briar/-/issues/1737#note_49355) and [here](https://code.briarproject.org/briar/briar/-/issues/1737#note_49362). I copied them to their own ticket because the problem is different from #1737 and affects more devices.https://code.briarproject.org/briar/briar/-/issues/2006Connectivity broadcasts aren't received on Huawei P8 Lite 20172021-04-29T14:34:34ZakwizgranConnectivity broadcasts aren't received on Huawei P8 Lite 2017The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar ...The [Snooze app](https://code.briarproject.org/akwizgran/snooze) doesn't receive CONNECTIVITY_ACTION broadcasts when running on the Huawei P8 Lite 2017. The broadcasts are received on all other devices tested (about ten devices).
Briar uses these broadcasts to detect connectivity changes, so it may be missing connectivity changes on the P8 Lite 2017.https://code.briarproject.org/briar/briar/-/issues/2005Connect Via Bluetooth shows error even if connection succeeds2021-07-06T10:00:49ZTorsten GroteConnect Via Bluetooth shows error even if connection succeedsIt can happen that we tell the user that no connection could be made even if it could be made.
It might help to show the error toast only after some delay.It can happen that we tell the user that no connection could be made even if it could be made.
It might help to show the error toast only after some delay.Adapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/2004Use different Tor ports for debug builds2021-11-04T11:01:28ZakwizgranUse different Tor ports for debug buildsConfigure Tor to use different SOCKS and control ports when running a debug build, so that we can run debug and release builds on the same device without connectivity issues.Configure Tor to use different SOCKS and control ports when running a debug build, so that we can run debug and release builds on the same device without connectivity issues.Android 1.4SebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2003Check for API/behaviour changes in Android 12 that could affect Briar2022-10-31T14:20:43ZakwizgranCheck for API/behaviour changes in Android 12 that could affect Briar* [x] [Safer component exporting](https://developer.android.com/about/versions/12/behavior-changes-12#exported) activities, services, or broadcast receivers that use intent filters must explicitly declare the `android:exported` attribut...* [x] [Safer component exporting](https://developer.android.com/about/versions/12/behavior-changes-12#exported) activities, services, or broadcast receivers that use intent filters must explicitly declare the `android:exported` attribute
* [x] [Pending intents mutability](https://developer.android.com/about/versions/12/behavior-changes-12#pending-intent-mutability)
* [x] [Unsafe intent launches](https://developer.android.com/about/versions/12/behavior-changes-12#unsafe-intent-launches)
* [x] `allowBackup="false"` doesn’t disable D2D transfers for the app. https://developer.android.com/about/versions/12/backup-restore
* [x] `SCHEDULE_EXACT_ALARM` permission https://developer.android.com/about/versions/12/behavior-changes-12#exact-alarm-permission
* [x] Restrictive App Standby bucket https://developer.android.com/about/versions/12/behavior-changes-all#restrictive-app-standby-bucket
* [x] [`BLUETOOTH_CONNECT`](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_CONNECT) and [`BLUETOOTH_SCAN`](https://developer.android.com/reference/android/Manifest.permission.html#BLUETOOTH_SCAN) permissions
* [x] [`usesPermissionFlags`](https://developer.android.com/reference/android/R.attr.html#usesPermissionFlags) and `neverForLocation`
* [x] Location permission dialog
* [x] Splash screen
* [x] Camera notification
* [x] Multi-window mode
* [x] Camera preview on large screensAndroid 1.4Torsten GroteTorsten Grote2022-11-01https://code.briarproject.org/briar/briar/-/issues/2002Android 11 PIxel2 - 'Ask every time' - workflow user asked for permission in...2021-07-06T10:03:06ZIvanaAndroid 11 PIxel2 - 'Ask every time' - workflow user asked for permission in popup after they just selected 'ask every time' on deviceScenario: When user is taken to the pages Briar app settings on their device - they decide to grant Briar permission to access the camera and location by selecting 'Ask every time'. They then navigate back to Briar and are given the dial...Scenario: When user is taken to the pages Briar app settings on their device - they decide to grant Briar permission to access the camera and location by selecting 'Ask every time'. They then navigate back to Briar and are given the dialog/popup again with the same question to giv Briar permissions to access their location and camera again - They have just done that, so they shoudln't be asked it again.
Steps to reproduce:
Preconditions: Briar's access to location and camera are denied.
1. Start a new process of creating a nearby contact
2. Tap continue.
3. Popup asks the user to grant Briar permissions to access the camera and location.
4. User denies both.
5. User gets this message: you have denied access to the camera but adding contacts requires using the camera. Please consider granting access. User taps OK.
6. User is then taken to the Briar app settings to grant the Briar access to their camera.
7. User selects the 'Ask every time' option.
8. User navigates back to Briar by tapping the back button.
9. Briar create nearby contacts info screen shows, and user tap Continue
10. A popup comes up and asks the user to grant Briar access to their camera.
Expected results:
- The popup should nto be asking the user to grant permissions after their have just done so.
Actual result:
- A popup comes up and asks the user to grant Briar access to their camera.
- After granting the camera access once more, the user can continue and create the nearby contact OKAdapt to changes in the Android platform2021-04-30https://code.briarproject.org/briar/briar/-/issues/2001Android 10 - 'Deny' and 'Deny and don't ask again' workflow2022-02-25T15:02:15ZIvanaAndroid 10 - 'Deny' and 'Deny and don't ask again' workflowFresh installation of Briar (15.4 githash
Steps:
1. In permission manager for apps, Briar access is set to denied for both camera and location.
2. IN Briar, user taps on + to create a new nearby contact
3. User taps continue.
4. Pop...Fresh installation of Briar (15.4 githash
Steps:
1. In permission manager for apps, Briar access is set to denied for both camera and location.
2. IN Briar, user taps on + to create a new nearby contact
3. User taps continue.
4. Popup comes up and asks the user to grant Briar permissions to access camera. Options are Allow or Deny.
5. Popup comes up and asks the user to grant permission for Briar to access their location - Option are Allow only whle using the app, and Deny.
6. Use denies permission for location.
7. Location permission info box comes up and says this: To discover bluetooth devices, Briar needs permission to access your location. Briar does not store your location or share it with anyone.User taps continue.
8. A popup comes up and request the access once again. Options now are: Allow only while using the app, Deny, and Deny and don't ask again.
9. User selects the 'Deny and don't ask again'
10. A message comes up that says: "Location permission - You hve denied access to your location, but Briar needs this permission to discover bluetooth devices. Please consider granting the access."
11. User taps OK
12. user is taken to the app permissions manager, where they set the Briar permission for location to 'Allow while using the app'
13. User navigates back to Briar and continues the process
14. The message 'your device will be visible to other devices during 120 seconds' shows. User taps OK
15. QR code shows and contact can be created
16 For The next contact user is not asked the permission, because in the step 12 they gave Briar permission to use their location... so no need to ask again.
Is this correct? And does it need any further work?https://code.briarproject.org/briar/briar/-/issues/2000Android 11 - 'Ask every time' - should the user be asked to give permissions ...2021-07-06T10:03:14ZIvanaAndroid 11 - 'Ask every time' - should the user be asked to give permissions for every new contact?When giving permissions for camera and location during the creation of a new nearby contact, user is given three choices in dialog popups: Allow while in use, Just this time, and Deny.
If the user select 'Just this time' - what does th...When giving permissions for camera and location during the creation of a new nearby contact, user is given three choices in dialog popups: Allow while in use, Just this time, and Deny.
If the user select 'Just this time' - what does that mean? Should the user be asked to grant permissions for Briar to access their camera or location every time they try to create a neaby contact? Or not?
in Pixel2, Android 11, user is not asked it every time.
Steps to reproduce:
precoditions: Briar is denied access to location and camera.
1. Tap + to create new nearby contact
2. Tap continue
3. Dialog/popup comes up and asks the user to grant permission for Briar to access their camera. User selects Just this time.
4. 3. Dialog/popup comes up and asks the user to grant permission for Briar to access their location. User selects Just this time.
5. User continues the process and creates a nearby contact.
6. User then starts a new process to create another neaby contact.
7. User taps continue.
Expected results:
- User expects to be asked again to give Briar permission to access the camera and location.
Actual results:
- User is not asked for their permission, instead, after tapping Continue, user is shown a message: your device will be visible to other bluetooth devices during 120 seconds and the options are OK and cancel.
- User taps OK
- the process can be completed successfully.
Question: Should user be asked to give permission for Briar to access their camera and location every time the app needs to do it? (ie for creation of every new nearby contact?)Adapt to changes in the Android platform2021-04-30https://code.briarproject.org/briar/briar/-/issues/1999Android 11 - possible to connect with nearby contact without the location per...2021-07-06T10:03:22ZIvanaAndroid 11 - possible to connect with nearby contact without the location permission - after a dirty shutdownSteps to reproduce:
Fresh install of Briar on Android 11 device (PIxel 2)(Bulid of 15.4, githash 2ddb7b...)
Go to settings > privacy > permissions manager > camera and verify that the Briar access to camera is denied.
Go to settings >...Steps to reproduce:
Fresh install of Briar on Android 11 device (PIxel 2)(Bulid of 15.4, githash 2ddb7b...)
Go to settings > privacy > permissions manager > camera and verify that the Briar access to camera is denied.
Go to settings > privacy > permissions manager > location and verify that the Briar access to location is denied.
1. Log into Briar app.
2. Tap on + to add a nearby contact
3. Tap continue when prompted
4. A pop-up dialog asks for user's permission to use the camera. Options are: Allow while using the app, Only this time, and Deny. User choses deny.
5. A pop-up dialog asks for user's permission to use the location. Options are: Allow while using the app, Only this time, and Deny. User choses deny.
6. A message comes up: "To scan the QR code, briar needs access to the samera. To discover bluetooth devices, Briar needs to access your location. Briar does not store your location or share it with anyone" User taps the button 'Continue'
7. Popup dialogs come up again and ask the user's permission... User selects deny again (for both camera and location user had the same options on dialogues as in step 5)
8. A message titled 'Camera permission' comes up and says this: "You have denied access to the camera, but adding contacts requires using the camera. Please consider granting access". User has options to Cancel or OK.
9. User taps OK
10. This action takes the user to the App info screen for Briar app. User goes to permissions > camera and gives the Briar app acess to camera by chosing 'allow while in use'
11. User goes to permissions > location and gives the Briar app acess to location by chosing 'allow while in use'.
12. Before leaving the previous screen, User then changes their mind and decides to deny Briar access to location- they set Location to denied.
13. User navigates back to Briar by tapping the back button several times
14. User is logged out of Briar
15. User logs back in.
Expected results:
- User should be shown the initial Briar screen (Contacts) and should be able to restart the process of creating nearby contacts?
Actual results:
- The first screen the user sees is: the info screen that explains to user how to scan the QR codes. User taps Continue.
- The previsouly started process of creating the nearby contact (which was started before the logout, in step 2 above) continues successfully, the QR code of another device can be scanned and contact created.
- The location setting for Briar app in privacy > permissions manager > Location = Denied for Briar app.
Question: Is the workflow as described in actual results correct?Adapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/1998Make sharing local IP and Bluetooth address optional2021-04-16T16:55:53ZsysterMake sharing local IP and Bluetooth address optionalIf you make an introduction/discovery of a new contact, you'll each share Bluetooth address and local IP with each other. (See also: https://chat.briarproject.org/briar/pl/ygqns71cjiym8kjzfc4jyfywgw)
While this is needed to communicate ...If you make an introduction/discovery of a new contact, you'll each share Bluetooth address and local IP with each other. (See also: https://chat.briarproject.org/briar/pl/ygqns71cjiym8kjzfc4jyfywgw)
While this is needed to communicate offline, there are use cases that don't need it. OptOut/In to share such info during contact discovery could make sure to only share that data if it seem reasonable.https://code.briarproject.org/briar/briar/-/issues/1997Connecting to Wi-Fi hotspots hangs at Obtaining IP address...2021-10-21T10:50:33ZTorsten GroteConnecting to Wi-Fi hotspots hangs at Obtaining IP address...When opening a Wi-Fi hotspot on an API 30 device, I am sometimes unable to connect with other devices, here using an API 16 device.
Log on API 30:
```
2021-04-14 09:43:55.080 I/ActivityTaskManager: START u0 {act=android.intent.action.M...When opening a Wi-Fi hotspot on an API 30 device, I am sometimes unable to connect with other devices, here using an API 16 device.
Log on API 30:
```
2021-04-14 09:43:55.080 I/ActivityTaskManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=org.briarproject.hotspot/.MainActivity bnds=[48,126][317,538]} from uid 10177
2021-04-14 09:43:55.139 D/android.hardware.power@1.3-service.pixel-libperfmgr: LAUNCH: 0
2021-04-14 09:43:56.941 V/GrantPermissionsActivity: Logged buttons presented and clicked permissionGroupName=android.permission-group.LOCATION uid=10301 package=org.briarproject.hotspot presentedButtons=44 clickedButton=32 sessionId=3369372125551090659
2021-04-14 09:43:56.955 I/OneTimePermissionUserManager: Start tracking org.briarproject.hotspot. uid=10301 timeout=60000 importanceToResetTimer=100 importanceToKeepSessionAlive=125
2021-04-14 09:43:56.955 V/OneTimePermissionUserManager: Importance changed for org.briarproject.hotspot (10301). importance=100
2021-04-14 09:43:56.957 V/GrantPermissionsActivity: Permission grant result requestId=3369372125551090659 callingUid=10301 callingPackage=org.briarproject.hotspot permission=android.permission.ACCESS_FINE_LOCATION isImplicit=false result=10
2021-04-14 09:43:56.959 V/GrantPermissionsActivity: Permission grant result requestId=3369372125551090659 callingUid=10301 callingPackage=org.briarproject.hotspot permission=android.permission.ACCESS_COARSE_LOCATION isImplicit=true result=10
2021-04-14 09:43:58.364 D/WifiP2pNative: Setup P2P interface
2021-04-14 09:43:58.366 I/WifiService: acquireWifiLock uid=10301 lockMode=3
2021-04-14 09:43:58.370 E/TEST: networkName: DIRECT-c4-R8Sasf7DT5
2021-04-14 09:43:58.370 E/TEST: passphrase: 8l833d3Q
2021-04-14 09:43:58.386 I/wpa_supplicant: rfkill: Cannot open RFKILL control device
2021-04-14 09:43:58.392 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: false
2021-04-14 09:43:58.409 I/chatty: uid=1000(system) android.fg identical 3 lines
2021-04-14 09:43:58.414 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: false
2021-04-14 09:43:58.418 I/WifiP2pNative: P2P interface setup completed
2021-04-14 09:43:58.418 I/WifiP2pService: Supported feature: P2P MAC randomization
2021-04-14 09:43:58.423 W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcastMultiplePermissions:1143 android.content.Context.sendBroadcastWithMultiplePermissions:2150 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendBroadcastMultiplePermissions:3106 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendP2pConnectionChangedBroadcast:3133 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.access$4900:756
2021-04-14 09:43:58.423 W/BroadcastQueue: Permission Denial: receiving Intent { act=android.net.wifi.p2p.CONNECTION_STATE_CHANGE flg=0x24000010 (has extras) } to ProcessRecord{dae2ff0 2101:com.android.networkstack.process/1073} (pid=2101, uid=1073) requires android.permission.NETWORK_SETTINGS due to sender android (uid 1000)
2021-04-14 09:43:58.423 W/BroadcastQueue: Permission Denial: receiving Intent { act=android.net.wifi.p2p.CONNECTION_STATE_CHANGE flg=0x24000010 (has extras) } to com.genonbeta.TrebleShot/.receiver.NetworkStatusReceiver requires android.permission.NETWORK_SETTINGS due to sender android (uid 1000)
2021-04-14 09:43:58.425 W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcastMultiplePermissions:1143 android.content.Context.sendBroadcastWithMultiplePermissions:2150 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendBroadcastMultiplePermissions:3106 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendThisDeviceChangedBroadcast:3115 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.updateThisDevice:3835
2021-04-14 09:43:58.432 D/WifiP2pNative: P2P InterfaceAvailableListener false
2021-04-14 09:43:58.432 I/WifiP2pNative: Masking interface non-availability callback because we created a P2P iface
2021-04-14 09:43:58.437 E/TEST: requestGroupInfo attempt: 1
2021-04-14 09:43:58.446 W/wpa_supplicant: Device is trying to offload WPS Probe Response while not supporting this
2021-04-14 09:43:58.446 W/wpa_supplicant: Device is trying to offload P2P Probe Response while not supporting this
2021-04-14 09:43:58.451 E/TEST: received networkName: DIRECT-Kl-G2om8OFtTB
2021-04-14 09:43:58.451 E/TEST: received passphrase: 8Edq9437
2021-04-14 09:43:58.461 I/WifiHAL: event received NL80211_CMD_VENDOR, vendor_id = 0x1374, subcmd = 0xa5
2021-04-14 09:43:58.462 I/WifiNative: Device is in MCC mode now
2021-04-14 09:43:58.462 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: interface state UNINITIALIZED->ENABLED
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: AP-ENABLED
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: CTRL-EVENT-CONNECTED - Connection to 9e:43:88:e0:f9:53 completed [id=1 id_str=]
2021-04-14 09:43:58.465 I/wpa_supplicant: P2P-GROUP-STARTED p2p0 GO ssid="DIRECT-c4-R8Sasf7DT5" freq=2412 go_dev_addr=9e:43:88:e0:f9:53
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: CTRL-EVENT-CHANNEL-SWITCH freq=2412 ht_enabled=1 ch_offset=0 ch_width=20 MHz cf1=2412 cf2=0
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: CTRL-EVENT-CHANNEL-SWITCH freq=2412 ht_enabled=1 ch_offset=0 ch_width=20 MHz cf1=2412 cf2=0 dfs=0
2021-04-14 09:43:58.465 I/wpa_supplicant: p2p0: AP-CSA-FINISHED freq=2412 dfs=0
2021-04-14 09:43:58.466 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:43:58.466 D/WifiP2pService: Tethering service package: com.google.android.networkstack.tethering
2021-04-14 09:43:58.467 W/ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcastMultiplePermissions:1143 android.content.Context.sendBroadcastWithMultiplePermissions:2150 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendBroadcastMultiplePermissions:3106 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.sendP2pTetherRequestBroadcast:3182 com.android.server.wifi.p2p.WifiP2pServiceImpl$P2pStateMachine.access$9400:756
2021-04-14 09:43:58.467 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:43:58.468 W/BroadcastQueue: Permission Denial: receiving Intent { act=android.net.wifi.p2p.CONNECTION_STATE_CHANGE flg=0x24000010 pkg=com.google.android.networkstack.tethering (has extras) } to ProcessRecord{dae2ff0 2101:com.android.networkstack.process/1073} (pid=2101, uid=1073) requires android.permission.NETWORK_SETTINGS due to sender android (uid 1000)
2021-04-14 09:43:59.453 E/TEST: requestGroupInfo attempt: 2
2021-04-14 09:44:05.690 I/WorkerManager: dispose()
2021-04-14 09:44:05.694 W/A: Queue length for executor EventBus is now 11. Perhaps some tasks are too long, or the pool is too small.
2021-04-14 09:44:06.189 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:44:06.209 W/wpa_supplicant: Device is trying to offload WPS Probe Response while not supporting this
2021-04-14 09:44:06.210 W/wpa_supplicant: Device is trying to offload P2P Probe Response while not supporting this
2021-04-14 09:44:06.214 I/wpa_supplicant: p2p0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
2021-04-14 09:44:06.246 I/wpa_supplicant: p2p0: AP-STA-CONNECTED 58:a2:b5:9f:d3:70
2021-04-14 09:44:06.247 I/WifiHAL: event received NL80211_CMD_VENDOR, vendor_id = 0x1374, subcmd = 0x65
2021-04-14 09:44:24.930 W/ActivityManager: Background start not allowed: service Intent { cmp=com.google.android.apps.messaging/.shared.datamodel.action.execution.ActionExecutorImpl$EmptyService } to com.google.android.apps.messaging/.shared.datamodel.action.execution.ActionExecutorImpl$EmptyService from pid=3916 uid=10171 pkg=com.google.android.apps.messaging startFg?=false
2021-04-14 09:44:25.017 W/Bugle: SubscriptionMetadataUtils get: invalid subId = -1
2021-04-14 09:44:25.021 I/Bugle: CountryCodeDetector: updateMainDeviceCountry from default subscription network country. detected country: br
2021-04-14 09:44:25.029 I/BugleDataModel: ParticipantRefresh: ContactContentObserver created
2021-04-14 09:44:25.030 I/BugleDataModel: ParticipantRefresh: Start participant refresh. refreshMode: SELF_ONLY
2021-04-14 09:44:25.057 W/Bugle: SubscriptionMetadataUtils get: invalid subId = -1
2021-04-14 09:44:25.057 W/Bugle: SubscriptionMetadataUtils get: invalid subId = -1
2021-04-14 09:44:25.058 W/Bugle: SubscriptionUtilsAsOfLMR1: getSelfRawNumber: subInfo is null for subscription{id:-1}
2021-04-14 09:44:24.976 W/ActivityManager: Background start not allowed: service Intent { cmp=com.google.android.apps.messaging/.shared.datamodel.action.execution.ActionExecutorImpl$EmptyService } to com.google.android.apps.messaging/.shared.datamodel.action.execution.ActionExecutorImpl$EmptyService from pid=3916 uid=10171 pkg=com.google.android.apps.messaging startFg?=false
2021-04-14 09:44:25.061 D/CompatibilityChangeReporter: Compat change id reported: 135634846; UID 10055; state: DISABLED
2021-04-14 09:44:25.062 D/CompatibilityChangeReporter: Compat change id reported: 143937733; UID 10055; state: ENABLED
2021-04-14 09:44:36.892 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:44:36.897 I/wpa_supplicant: p2p0: AP-STA-DISCONNECTED 58:a2:b5:9f:d3:70
2021-04-14 09:44:36.905 W/wpa_supplicant: Device is trying to offload WPS Probe Response while not supporting this
2021-04-14 09:44:36.905 W/wpa_supplicant: Device is trying to offload P2P Probe Response while not supporting this
2021-04-14 09:44:39.179 W/wpa_supplicant: Device is trying to offload WPS Probe Response while not supporting this
2021-04-14 09:44:39.179 W/wpa_supplicant: Device is trying to offload P2P Probe Response while not supporting this
2021-04-14 09:44:39.190 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
2021-04-14 09:44:39.196 I/wpa_supplicant: p2p0: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
2021-04-14 09:44:39.238 I/wpa_supplicant: p2p0: AP-STA-CONNECTED 58:a2:b5:9f:d3:70
2021-04-14 09:44:39.239 I/WifiHAL: event received NL80211_CMD_VENDOR, vendor_id = 0x1374, subcmd = 0x65
2021-04-14 09:45:07.716 I/wpa_supplicant: p2p0: AP-STA-DISCONNECTED 58:a2:b5:9f:d3:70
2021-04-14 09:45:07.722 W/wpa_supplicant: Device is trying to offload WPS Probe Response while not supporting this
2021-04-14 09:45:07.722 W/wpa_supplicant: Device is trying to offload P2P Probe Response while not supporting this
2021-04-14 09:45:07.741 I/EthernetTracker: interfaceLinkStateChanged, iface: p2p0, up: true
```
---
Log from API 16:
```
04-14 09:43:58.266 D/PowerManagerService: userActivity mLastEventTime=60000687 time=60023616 mUserActivityAllowed=true mUserState=0x3 mWakeLockState=0x0 mProximitySensorActive=false timeoutOverride=-1 force=false
04-14 09:43:58.266 D/PowerManagerService: setPowerState: mPowerState=0x3 newState=0x3 noChangeLights=false reason=2
04-14 09:43:58.266 D/PowerManagerService: setTimeoutLocked now=60023616 timeoutOverride=-1 nextState=3 when=60025116
04-14 09:43:58.316 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:43:58.316 D/PowerManagerService: Perflock acquired: 2, 1
04-14 09:43:58.326 I/ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000
04-14 09:44:02.231 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:02.231 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:platform, action:3
04-14 09:44:02.231 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:02.231 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:02.241 D/NetdConnector: SND -> {151 interface clearaddrs wlan0}
04-14 09:44:02.241 D/NetdConnector: RCV <- {200 151 Interface IP addresses cleared}
04-14 09:44:02.241 D/NetdConnector: RMV <- {200 151 Interface IP addresses cleared}
04-14 09:44:02.251 D/NetdConnector: SND -> {152 interface ipv6 wlan0 disable}
04-14 09:44:02.251 D/NetdConnector: RCV <- {200 152 IPv6 state changed}
04-14 09:44:02.251 D/NetdConnector: RMV <- {200 152 IPv6 state changed}
04-14 09:44:02.251 D/ConnectivityService: ConnectivityChange for WIFI: DISCONNECTED/DISCONNECTED
04-14 09:44:02.251 D/ConnectivityService: [LGE_DATA] handleDisconnect() : mJustIsWifiConnected = false
04-14 09:44:02.261 D/ConnectivityService: Attempting to switch to mobile
04-14 09:44:02.261 D/ConnectivityService: Attempting to switch to BLUETOOTH_TETHER
04-14 09:44:02.261 D/ConnectivityService: handleConnectivityChange: changed linkProperty[1]: doReset=true resetMask=3
curLp=InterfaceName: wlan0 LinkAddresses: [192.168.49.11/24,] Routes: [0.0.0.0/0 -> 192.168.49.1,] DnsAddresses: [192.168.49.1,] HttpProxy: [ProxyProperties.mHost == null]
newLp= null
04-14 09:44:02.261 D/ConnectivityService: not removing 192.168.49.1/32 -> 0.0.0.0 as it's still in use
04-14 09:44:02.261 D/ConnectivityService: Removing 0.0.0.0/0 -> 192.168.49.1 for interface wlan0
04-14 09:44:02.261 D/NetdConnector: SND -> {153 interface route remove wlan0 default 0.0.0.0 0 192.168.49.1}
04-14 09:44:02.261 D/NetdConnector: RCV <- {400 153 Failed to remove route from default table (No such process)}
04-14 09:44:02.261 D/NetdConnector: RMV <- {400 153 Failed to remove route from default table (No such process)}
04-14 09:44:02.261 D/ConnectivityService: Removing src route for:192.168.49.11
04-14 09:44:02.261 D/NetdConnector: SND -> {154 route del src v4 2}
04-14 09:44:02.311 D/NetdConnector: RCV <- {200 154 source route delete succeeded for rid:2}
04-14 09:44:02.311 D/NetdConnector: RMV <- {200 154 source route delete succeeded for rid:2}
04-14 09:44:02.311 D/ConnectivityService: Removing 192.168.49.1/32 -> 0.0.0.0 for interface wlan0
04-14 09:44:02.311 D/NetdConnector: SND -> {155 interface route remove wlan0 default 192.168.49.1 32 0.0.0.0}
04-14 09:44:02.311 D/NetdConnector: RCV <- {400 155 Failed to remove route from default table (No such process)}
04-14 09:44:02.311 D/NetdConnector: RMV <- {400 155 Failed to remove route from default table (No such process)}
04-14 09:44:02.311 D/ConnectivityService: resetConnections(wlan0, 3)
04-14 09:44:02.401 D/ConnectivityService: reportNetworkCondition(1, 0)
04-14 09:44:02.421 D/ConnectivityService: resetting DNS cache for wlan0
04-14 09:44:02.421 D/NetdConnector: SND -> {156 resolver flushif wlan0}
04-14 09:44:02.421 D/NetdConnector: RCV <- {200 156 Resolver command succeeded}
04-14 09:44:02.421 D/NetdConnector: RMV <- {200 156 Resolver command succeeded}
04-14 09:44:02.421 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE
04-14 09:44:02.421 D/ConnectivityService: sendStickyBroadcastDelayed: delayMs=3000, action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:44:02.421 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:44:02.521 D/NetdConnector: SND -> {157 bandwidth setglobalalert 2097152}
04-14 09:44:02.521 D/NetdConnector: RCV <- {200 157 Bandwidth command succeeeded}
04-14 09:44:02.521 D/NetdConnector: RMV <- {200 157 Bandwidth command succeeeded}
04-14 09:44:03.612 I/ActivityManager: START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.lge.launcher2/.Launcher u=0} from pid 670
04-14 09:44:03.692 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:44:04.603 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:04.603 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:04.603 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:04.613 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:44:04.663 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:44:04.683 D/ConnectivityService: ConnectivityChange for WIFI: CONNECTING/OBTAINING_IPADDR
04-14 09:44:05.424 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:44:05.454 D/StatusBar.NetworkController: updateConnectivity: intent=Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x8000010 (has extras) }
04-14 09:44:05.454 D/StatusBar.NetworkController: updateConnectivity: networkInfo=NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
04-14 09:44:05.454 D/StatusBar.NetworkController: updateConnectivity: connectionStatus=0
04-14 09:44:05.464 D/StatusBar.NetworkController: updateTelephonySignalStrength: !hasService()
04-14 09:44:05.464 D/StatusBar.NetworkController: sendRssi()=0
04-14 09:44:05.464 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:44:05.474 D/ConnectivityService: reportNetworkCondition(1, 0)
04-14 09:44:05.474 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:44:05.834 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:05.925 D/PowerManagerService: userActivity mLastEventTime=60030329 time=60031279 mUserActivityAllowed=true mUserState=0x7 mWakeLockState=0x0 mProximitySensorActive=false timeoutOverride=-1 force=false
04-14 09:44:05.925 D/PowerManagerService: setPowerState: mPowerState=0x7 newState=0x7 noChangeLights=false reason=2
04-14 09:44:05.925 D/PowerManagerService: setTimeoutLocked now=60031279 timeoutOverride=-1 nextState=3 when=60032779
04-14 09:44:06.375 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:06.435 I/ActivityManager: START {act=android.settings.WIFI_SETTINGS flg=0x14000000 cmp=com.android.settings/.Settings$WifiSettingsActivity u=0} from pid 843
04-14 09:44:07.276 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:
04-14 09:44:09.658 W/SocketClient: write error (Broken pipe)
04-14 09:44:09.679 D/ConnectivityService: reportNetworkCondition(-1, 0)
04-14 09:44:09.679 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:44:23.703 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:44:24.154 D/ConnectivityService: reportNetworkCondition(-1, 0)
04-14 09:44:24.154 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:44:24.154 W/SocketClient: write error (Broken pipe)
04-14 09:44:35.326 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:platform, action:3
04-14 09:44:35.346 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:35.386 D/NetdConnector: SND -> {158 interface clearaddrs wlan0}
04-14 09:44:35.386 D/NetdConnector: RCV <- {200 158 Interface IP addresses cleared}
04-14 09:44:35.386 D/NetdConnector: RMV <- {200 158 Interface IP addresses cleared}
04-14 09:44:35.386 D/NetdConnector: SND -> {159 interface ipv6 wlan0 disable}
04-14 09:44:35.386 D/NetdConnector: RCV <- {200 159 IPv6 state changed}
04-14 09:44:35.396 D/NetdConnector: RMV <- {200 159 IPv6 state changed}
04-14 09:44:35.406 D/ConnectivityService: ConnectivityChange for WIFI: DISCONNECTED/DISCONNECTED
04-14 09:44:35.406 D/ConnectivityService: [LGE_DATA] handleDisconnect() : mJustIsWifiConnected = false
04-14 09:44:35.406 D/ConnectivityService: Attempting to switch to mobile
04-14 09:44:35.406 D/ConnectivityService: Attempting to switch to BLUETOOTH_TETHER
04-14 09:44:35.406 D/ConnectivityService: handleConnectivityChange: changed linkProperty[1]: doReset=true resetMask=3
curLp=null
newLp= null
04-14 09:44:35.406 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE
04-14 09:44:35.406 D/ConnectivityService: sendStickyBroadcastDelayed: delayMs=3000, action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:44:35.436 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:35.446 D/NetdConnector: SND -> {160 bandwidth setglobalalert 2097152}
04-14 09:44:35.446 D/NetdConnector: RCV <- {200 160 Bandwidth command succeeeded}
04-14 09:44:35.456 D/NetdConnector: RMV <- {200 160 Bandwidth command succeeeded}
04-14 09:44:35.456 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:35.456 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:35.937 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:36.727 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:44:37.628 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:37.638 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:37.638 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:37.638 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:44:37.638 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:44:37.648 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:44:37.678 D/ConnectivityService: ConnectivityChange for WIFI: CONNECTING/OBTAINING_IPADDR
04-14 09:44:37.678 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:44:38.129 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:38.409 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:44:38.469 D/ConnectivityService: reportNetworkCondition(1, 0)
04-14 09:44:38.469 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:44:38.519 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:38.820 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:44:43.695 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:44:48.740 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:44:53.045 D/ConnectivityService: reportNetworkCondition(-1, 0)
04-14 09:44:53.045 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:45:00.132 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:00.333 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:02.265 D/ConnectivityService: NetTransition Wakelock for WifiStateMachine released by timeout
04-14 09:45:03.706 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:03.866 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:platform, action:3
04-14 09:45:03.876 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:03.876 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:03.876 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:03.876 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:03.896 D/NetdConnector: SND -> {161 interface clearaddrs wlan0}
04-14 09:45:03.896 D/NetdConnector: RCV <- {200 161 Interface IP addresses cleared}
04-14 09:45:03.896 D/NetdConnector: RMV <- {200 161 Interface IP addresses cleared}
04-14 09:45:03.896 D/NetdConnector: SND -> {162 interface ipv6 wlan0 disable}
04-14 09:45:03.896 D/NetdConnector: RCV <- {200 162 IPv6 state changed}
04-14 09:45:03.896 D/NetdConnector: RMV <- {200 162 IPv6 state changed}
04-14 09:45:03.906 D/ConnectivityService: ConnectivityChange for WIFI: DISCONNECTED/DISCONNECTED
04-14 09:45:03.906 D/ConnectivityService: [LGE_DATA] handleDisconnect() : mJustIsWifiConnected = false
04-14 09:45:03.906 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:45:03.916 D/ConnectivityService: Attempting to switch to mobile
04-14 09:45:03.916 D/ConnectivityService: Attempting to switch to BLUETOOTH_TETHER
04-14 09:45:03.916 D/ConnectivityService: handleConnectivityChange: changed linkProperty[1]: doReset=true resetMask=3
curLp=null
newLp= null
04-14 09:45:03.916 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE
04-14 09:45:03.916 D/ConnectivityService: sendStickyBroadcastDelayed: delayMs=3000, action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:45:03.926 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:03.936 D/NetdConnector: SND -> {163 bandwidth setglobalalert 2097152}
04-14 09:45:03.936 D/NetdConnector: RCV <- {200 163 Bandwidth command succeeeded}
04-14 09:45:03.946 D/NetdConnector: RMV <- {200 163 Bandwidth command succeeeded}
04-14 09:45:04.437 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:06.219 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:06.569 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:06.920 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:45:06.930 D/StatusBar.NetworkController: updateConnectivity: intent=Intent { act=android.net.conn.CONNECTIVITY_CHANGE flg=0x8000010 (has extras) }
04-14 09:45:06.930 D/StatusBar.NetworkController: updateConnectivity: networkInfo=NetworkInfo: type: WIFI[], state: DISCONNECTED/DISCONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true
04-14 09:45:06.930 D/StatusBar.NetworkController: updateConnectivity: connectionStatus=0
04-14 09:45:06.940 D/StatusBar.NetworkController: updateTelephonySignalStrength: !hasService()
04-14 09:45:06.940 D/StatusBar.NetworkController: sendRssi()=0
04-14 09:45:06.950 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:45:07.000 D/ConnectivityService: reportNetworkCondition(1, 0)
04-14 09:45:07.000 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:45:07.080 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:07.530 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:08.481 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:08.722 I/ActivityManager: Config changed: {1.0 0mcc0mnc en_US sw360dp w640dp h334dp nrml long land finger -keyb/v/h -nav/h s.130fontTypeIndex}
04-14 09:45:08.862 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:45:09.002 D/PhoneStatusBar: handleMessage() msg.what = MSG_CONFIGURATION_CHANGED
04-14 09:45:09.783 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:11.324 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:11.625 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:11.825 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:12.025 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:14.127 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:15.058 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:15.058 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:15.058 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:15.058 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:45:15.108 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:45:15.128 D/StatusBar.NetworkController: refreshViews connected={ } level=5 combinedSignalIconId=0x7f0203ed/com.android.systemui:drawable/stat_sys_signal_null_vzw combinedActivityIconId=0x0 mobileLabel=No service wifiLabel= emergencyOnly=true combinedLabel=No Internet connection mAirplaneMode=false mDataActivity=0 mPhoneSignalIconId=0x7f0203ed mDataDirectionIconId=0x7f020391 mDataSignalIconId=0x7f0203ed mDataTypeIconId=0x0 mNoSimIconId=0x7f020391 mThirdTypeIconId=0x0 mWifiIconId=0x7f020419 mBluetoothTetherIconId=0x1080552
04-14 09:45:15.138 D/ConnectivityService: ConnectivityChange for WIFI: CONNECTING/OBTAINING_IPADDR
04-14 09:45:15.519 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:23.697 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:36.721 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:36.731 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:43.689 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:45.781 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:platform, action:3
04-14 09:45:45.801 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:45.801 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:45.801 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:45.841 D/NetdConnector: SND -> {164 interface clearaddrs wlan0}
04-14 09:45:45.841 D/NetdConnector: RCV <- {200 164 Interface IP addresses cleared}
04-14 09:45:45.841 D/NetdConnector: RMV <- {200 164 Interface IP addresses cleared}
04-14 09:45:45.841 D/NetdConnector: SND -> {165 interface ipv6 wlan0 disable}
04-14 09:45:45.841 D/NetdConnector: RCV <- {200 165 IPv6 state changed}
04-14 09:45:45.851 D/NetdConnector: RMV <- {200 165 IPv6 state changed}
04-14 09:45:45.861 D/ConnectivityService: ConnectivityChange for WIFI: DISCONNECTED/DISCONNECTED
04-14 09:45:45.861 D/ConnectivityService: [LGE_DATA] handleDisconnect() : mJustIsWifiConnected = false
04-14 09:45:45.861 D/ConnectivityService: Attempting to switch to mobile
04-14 09:45:45.861 D/ConnectivityService: Attempting to switch to BLUETOOTH_TETHER
04-14 09:45:45.861 D/ConnectivityService: handleConnectivityChange: changed linkProperty[1]: doReset=true resetMask=3
curLp=null
newLp= null
04-14 09:45:45.861 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE_IMMEDIATE
04-14 09:45:45.861 D/ConnectivityService: sendStickyBroadcastDelayed: delayMs=3000, action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:45:45.891 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:45.901 D/NetdConnector: SND -> {166 bandwidth setglobalalert 2097152}
04-14 09:45:45.911 D/NetdConnector: RCV <- {200 166 Bandwidth command succeeeded}
04-14 09:45:45.911 D/NetdConnector: RMV <- {200 166 Bandwidth command succeeeded}
04-14 09:45:48.033 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:48.033 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:48.033 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 down}
04-14 09:45:48.033 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:45:48.084 D/NetdConnector: RCV <- {600 Iface linkstate wlan0 up}
04-14 09:45:48.104 D/ConnectivityService: ConnectivityChange for WIFI: CONNECTING/OBTAINING_IPADDR
04-14 09:45:48.644 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:48.744 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:power_supply, action:3
04-14 09:45:48.864 D/ConnectivityService: sendStickyBroadcast: action=android.net.conn.CONNECTIVITY_CHANGE
04-14 09:45:48.894 D/ConnectivityService: reportNetworkCondition(1, 0)
04-14 09:45:48.894 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:45:48.944 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:49.245 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:50.806 D/ConnectivityService: reportNetworkCondition(-1, 0)
04-14 09:45:50.806 D/ConnectivityService: handleInetConditionChange: no active default network - ignore
04-14 09:45:50.806 W/SocketClient: write error (Broken pipe)
04-14 09:45:56.923 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
04-14 09:45:57.123 I/Vold: [LGE][VOLD][NetlinkHandler.cpp][onEvent()] subsys:cpu, action:0
```
Related to #1992https://code.briarproject.org/briar/briar/-/issues/1996Improve animal sniffer profile / get Android Studio to check non-Android modules2021-08-09T12:30:07ZSebastianImprove animal sniffer profile / get Android Studio to check non-Android modulesApparently the animal sniffer profile/signature is being a bit more strict when it comes to detecting what can be used and what cannot be used when compared to what Android Studio does. As a result, for example `Long#compare()` cannot be...Apparently the animal sniffer profile/signature is being a bit more strict when it comes to detecting what can be used and what cannot be used when compared to what Android Studio does. As a result, for example `Long#compare()` cannot be used in the non-Android modules, even though it is desugarable, but animal sniffer doesn't seem to know that.
We discussed two ideas:
* either find a different animal sniffer profile that knows better what works and what doesn't
* try to make Android Studio check desugarability (which is needed for somer lower Android versions) for the non-Android modules, too
Either way it would also be good to test this somehow, i.e. identify some candidates that should pass and some that should be rejected.
Apparently those are examples that should pass:
* `Long#compare()`
* `Objects#requireNonNull()`
What are examples that should fail, i.e. ones that are known not to be desugarable?https://code.briarproject.org/briar/briar/-/issues/1995Test sharing an app when offline2022-07-20T10:38:40ZTorsten GroteTest sharing an app when offlineYou will need *two* Android phones to help with testing sharing an app in an offline scenario.
It starts by download this test app on the first phone: https://grobox.de/tmp/hotspot.apk
Then please respond to this ticket, copying and pa...You will need *two* Android phones to help with testing sharing an app in an offline scenario.
It starts by download this test app on the first phone: https://grobox.de/tmp/hotspot.apk
Then please respond to this ticket, copying and pasting the text below into your response, giving the phone models in the first line.
You can check boxes by replacing `[ ]` with `[x]` or sending your response and then go through the steps, checking boxes by clicking them.
If you don't have or want an account to respond here, you can also send your response to `contact@briarproject.org` via email.
Please also respond, if you fail to complete all the steps. We would especially like to hear from you!
If something didn't go as expected, please feel free to add extra info to the questionnaire.
This is an example, how going through these steps could look like on the first phone:
[<img src="/uploads/b78344755319ed1b0830ce528b8c9637/device-2021-04-13-141128.png" width="200">](/uploads/b78344755319ed1b0830ce528b8c9637/device-2021-04-13-141128.png)
[<img src="/uploads/cdf3ae921106e98ee9dabbec2dfb3ac8/device-2021-04-13-141146.png" width="200">](/uploads/cdf3ae921106e98ee9dabbec2dfb3ac8/device-2021-04-13-141146.png)
[<img src="/uploads/750cd78087a215ede1c8a295eb9eb8a2/device-2021-04-13-142703.png" width="200">](/uploads/750cd78087a215ede1c8a295eb9eb8a2/device-2021-04-13-142703.png)
[<img src="/uploads/2e720826106e1fbedad1dde85b1683cd/device-2021-04-13-142720.png" width="200">](/uploads/2e720826106e1fbedad1dde85b1683cd/device-2021-04-13-142720.png)
[<img src="/uploads/6ccedfa1a0f8475383e43eb202645258/device-2021-04-14-102618.png" width="200">](/uploads/6ccedfa1a0f8475383e43eb202645258/device-2021-04-14-102618.png)
```
1. My phone models are: **[ModelOfPhone1]** and **[ModelOfPhone2]** running **[AndroidVersion1]** and **[AndroidVersion2]**
1. Download and install app on the first phone only
1. Start app and allow location permission (if requested)
1. [ ] Below the `START HOTSPOT` button, it says that `5GHz Wi-Fi is supported`.
1. Press the `START HOTSPOT` button
1. [ ] A QR code for a Wi-Fi appears
1. [ ] The Wi-Fi's name starts with `DIRECT-`
1. [ ] Below the `START HOTSPOT` button, it says `Hotspot started` and there's this text behind: **[no text]**
1. With a second phone I was able to connect to this Wi-Fi by
1. [ ] Scanning the QR code with a reader app
1. [ ] Entering the Wi-Fi data manually in the phone's Wi-Fi settings
1. Once the second phone is connected, press the `PEER CONNECTED` button
1. [ ] The app shows `http://192.168.49.1:9999` at the bottom
1. Press the menu/overflow icon and select `Network interfaces`
1. [ ] A new page shows text that includes the line `p2p0: /192.168.49.1`
1. Press the back button to come back to the (second) QR code screen
1. I was able to visit the shown site with the second phone by
1. [ ] Scanning the QR code with a reader app
1. [ ] Entering the link manually in my browser app
1. [ ] I could not visit this site
1. [ ] I could download the app on the second phone
1. [ ] I could install and open the app on the second phone
1. [ ] The second phone stayed connected to the first phone's Wi-Fi and I did not need to reconnect
1. While still connected to the first phone's Wi-Fi, go to system settings on the second phone.
* Open Wi-Fi settings and select the first phone's Wi-Fi.
* Try to find the `Frequency` (e.g. `5 GHz`) the Wi-Fi is using and write it down here: **[frequency]**
1. [ ] Bonus step: I could repeat the process by switching phones and it works the same or different in what aspect?
```
You can see how this will look like below or when using the "Preview" tab in your response.
Subtask of #1992Install via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31