briar issueshttps://code.briarproject.org/briar/briar/-/issues2022-02-25T15:02:15Zhttps://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-31https://code.briarproject.org/briar/briar/-/issues/1994App goes into background spontaneously when memory is low2021-05-20T15:15:34ZakwizgranApp goes into background spontaneously when memory is lowOn the Galaxy Nexus (Android 4.3), Briar sometimes goes into the background spontaneously when memory is low.
This seems to happen because the app's importance is downgraded from IMPORTANCE_FOREGROUND to IMPORTANCE_VISIBLE when the app'...On the Galaxy Nexus (Android 4.3), Briar sometimes goes into the background spontaneously when memory is low.
This seems to happen because the app's importance is downgraded from IMPORTANCE_FOREGROUND to IMPORTANCE_VISIBLE when the app's showing a system dialog (in my case it was the Bluetooth discoverability dialog). BriarApplicationImpl#isRunningInBackground() considers anything other than IMPORTANCE_FOREGROUND to be background, so it allows BriarService to hide the UI to save memory.
Fixing this will require some care. When Briar's actually running in the background on this device it has an importance of IMPORTANCE_PERCEPTIBLE_PRE_26 (perhaps it's treated as perceptible because of the foreground service). But on other devices it might plausibly have IMPORTANCE_FOREGROUND_SERVICE (added in API 23) or IMPORTANCE_PERCEPTIBLE (added in API 26). Presumably new constants may be added in future versions.
The constants seem to be ordered, with lower values being more important:
* IMPORTANCE_FOREGROUND = 100
* IMPORTANCE_FOREGROUND_SERVICE = 125
* IMPORTANCE_PERCEPTIBLE_PRE_26 = 130
* IMPORTANCE_VISIBLE = 200
* IMPORTANCE_PERCEPTIBLE = 230
Unfortunately there's no cutoff we can choose such that the values for "running in the foreground, maybe with a system dialog" are on one side while the values for "running in the background with a foreground service" are on the other side.
I suspect there's an Android bug here: an app that would have IMPORTANCE_PERCEPTIBLE_PRE_26 when running in the background shouldn't be less important when it's running in the foreground but showing a system dialog. If I'm right and we can find out when the bug was fixed, maybe we can use some version-aware logic to work around this.https://code.briarproject.org/briar/briar/-/issues/1993Define overall technical and UX approach2021-07-13T10:34:36ZakwizgranDefine overall technical and UX approachUX/dev collaboration to define the overall technical and UX approach for this feature.UX/dev collaboration to define the overall technical and UX approach for this feature.Transfer content securely via SD cards and USB memory sticksTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/1992Initial experiments to decide whether to use Bluetooth or Wi-Fi2021-07-06T09:40:57ZakwizgranInitial experiments to decide whether to use Bluetooth or Wi-FiInstall via Bluetooth or Wi-FiTorsten GroteTorsten Grote2021-07-31https://code.briarproject.org/briar/briar/-/issues/1991Panic button preferences screen doesn't use material design switches on API 192021-05-05T16:14:53ZakwizgranPanic button preferences screen doesn't use material design switches on API 19![device-2021-03-26-154413](/uploads/0dc8a6696c9159263f6e2f24e695dd69/device-2021-03-26-154413.png)![device-2021-03-26-154413](/uploads/0dc8a6696c9159263f6e2f24e695dd69/device-2021-03-26-154413.png)Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1990Clicking re-blogged author opens blog of reblogging author2021-04-26T12:08:41ZTorsten GroteClicking re-blogged author opens blog of reblogging author* get a blog post from a contact
* re-blog this post
* click the author of the original post in the reblogged post
* observe how your own blog opens and not the one of the author of the original post* get a blog post from a contact
* re-blog this post
* click the author of the original post in the reblogged post
* observe how your own blog opens and not the one of the author of the original postAdapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/1989Blog post created snackbar re-appears after screen rotation2021-04-26T12:03:55ZTorsten GroteBlog post created snackbar re-appears after screen rotation* write a blog post
* wait until snackbar disappears
* rotate screen
* observe the snackbar coming back* write a blog post
* wait until snackbar disappears
* rotate screen
* observe the snackbar coming backAdapt to changes in the Android platformIvanaIvana2021-04-30https://code.briarproject.org/briar/briar/-/issues/1988Notification wrongly shows app as unlocked if locked shortly after signing in2021-11-04T11:03:25ZakwizgranNotification wrongly shows app as unlocked if locked shortly after signing inA user reported that the notification shows the app as unlocked if it's locked shortly after signing in. I haven't managed to reproduce the bug yet, but the user gave these steps:
* Enable app lock
* Sign out
* Sign in
* Immediately or ...A user reported that the notification shows the app as unlocked if it's locked shortly after signing in. I haven't managed to reproduce the bug yet, but the user gave these steps:
* Enable app lock
* Sign out
* Sign in
* Immediately or after a couple of seconds open menu and press lock app
* Pull down for notifications and observe Briar notification it states "Briar is locked" and then changing into "Signed into Briar"
Reported on API 31.Android 1.4https://code.briarproject.org/briar/briar/-/issues/1986Introducing same two contacts not possible after self-destructing non-answere...2021-05-05T16:14:52ZSebastianIntroducing same two contacts not possible after self-destructing non-answered response to one-sided declined introductionUnder certain circumstances, an introduction can fail and leave the introducer in a state where they are not able to retry the introduction.
Situation to reproduce this: A introduces B and C with self-destructing messages enabled among ...Under certain circumstances, an introduction can fail and leave the introducer in a state where they are not able to retry the introduction.
Situation to reproduce this: A introduces B and C with self-destructing messages enabled among A-B and A-C. At the time of the introduction being sent, C is offline to simulate a delay.
* introduction arrives at B
* 30 seconds pass
* C comes online
* introduction arrives at C
* another 30 seconds pass
* B didn't do anything, the introduction self-destructs, and auto-declines it
* A forwards the decline to C
* another 30 seconds pass
* C didn't do anything, the introduction self-destructs, but doesn't auto decline it because B already declined and the
introduction can no longer succeed
* C didn't send a response and hence A cannot try again to introduce B and C, although it should. Also C has no way to respond to the introduction any longer to fix that
Test instructions:
* Variant 1
* Let A introduce B and C, with self-destructing messages enabled among A and C but not necessarily enabled among A and B.
* let B **decline** the introduction
* observe that C receives the response from B
* let the timer of the introduction expire at C
* observe that A received a decline from both B and C
* try to let A introduce B and C again. Make sure it is possible to actually send a new introduction that arrives at B and C
* Variant 2
* Let A introduce B and C, with self-destructing messages enabled among A and C but not necessarily enabled among A and B.
* let B **accept** the introduction
* in this case, C does not receive any response from B
* let the timer of the introduction expire at C
* observe that A received an accept from B and a decline from C
* try to let A introduce B and C again. Make sure it is possible to actually send a new introduction that arrives at B and CSelf-destructing messagesIvanaIvana2021-01-31https://code.briarproject.org/briar/briar/-/issues/1985Register public mesh research app's signing key and package name with Google ...2022-01-21T14:13:18ZakwizgranRegister public mesh research app's signing key and package name with Google PlayIf we plan to develop a research app as part of #1817, register the package name and app signing key with Google Play before the end of July 2021 so we're not required to let Google manage the signing key.
https://android-developers.goo...If we plan to develop a research app as part of #1817, register the package name and app signing key with Google Play before the end of July 2021 so we're not required to let Google manage the signing key.
https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html
Subtask of #1817.Public mesh researchakwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/1984Register social mesh research app's signing key and package name with Google ...2021-09-01T09:47:43ZakwizgranRegister social mesh research app's signing key and package name with Google PlayIf we plan to develop a research app as part of #1816, register the package name and app signing key with Google Play before the end of July 2021 so we're not required to let Google manage the signing key.
https://android-developers.goo...If we plan to develop a research app as part of #1816, register the package name and app signing key with Google Play before the end of July 2021 so we're not required to let Google manage the signing key.
https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html
Subtask of #1816.akwizgranakwizgran2021-07-31https://code.briarproject.org/briar/briar/-/issues/1983Add CalyxOS panic button to list of supported panic button apps2021-03-24T17:16:18ZakwizgranAdd CalyxOS panic button to list of supported panic button appsCalyxOS has a built-in panic button based on Ripple. Add its signature to our panic responder so Briar responds to it.CalyxOS has a built-in panic button based on Ripple. Add its signature to our panic responder so Briar responds to it.https://code.briarproject.org/briar/briar/-/issues/1982RuntimeException: getParameters failed (empty parameters)2021-05-05T16:12:24ZakwizgranRuntimeException: getParameters failed (empty parameters)* Android version: 7.1
* Phone model: Google Nexus 7 (nakasig)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
getParameters failed (empty parameters)
java.lang.RuntimeException: getParameters failed (empty parameters)
at andr...* Android version: 7.1
* Phone model: Google Nexus 7 (nakasig)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
getParameters failed (empty parameters)
java.lang.RuntimeException: getParameters failed (empty parameters)
at android.hardware.Camera.native_getParameters(Native Method)
at android.hardware.Camera.getParameters(Camera.java:1896)
at org.briarproject.briar.android.keyagreement.CameraView.start(CameraView.java:130)
at org.briarproject.briar.android.keyagreement.KeyAgreementFragment.onStart(KeyAgreementFragment.java:149)
at androidx.fragment.app.Fragment.performStart(Fragment.java:2730)
at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:365)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1194)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1356)
at androidx.fragment.app.FragmentManager.moveFragmentToExpectedState(FragmentManager.java:1434)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1497)
at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:447)
at androidx.fragment.app.FragmentManager.executeOps(FragmentManager.java:2169)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1992)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1947)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
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:6148)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:888)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:778)
```
This is very similar to #998, but getParameters() is being called from a different place where apparently we forgot to catch the exception.
Also similar to #1523, but here the call is synchronous so catching the exception is an option.Android 1.2Torsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/1981NPE from MaterialTapTargetPrompt when setting typeface2021-08-27T11:45:48ZakwizgranNPE from MaterialTapTargetPrompt when setting typeface* Android version: 10
* Phone model: Xiaomi Redmi Note 7 Pro (violet)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
Attempt to read from field 'int android.graphics.Typeface.mStyle' on a null object reference
java.lang.NullPointerEx...* Android version: 10
* Phone model: Xiaomi Redmi Note 7 Pro (violet)
* Briar version: 1.2.16 (8a534b4)
Stacktrace:
```
Attempt to read from field 'int android.graphics.Typeface.mStyle' on a null object reference
java.lang.NullPointerException: Attempt to read from field 'int android.graphics.Typeface.mStyle' on a null object reference
at android.graphics.Typeface.create(Typeface.java:849)
at uk.co.samuelwall.materialtaptargetprompt.extras.PromptUtils.setTypefaceFromAttrs(PromptUtils.java:127)
at uk.co.samuelwall.materialtaptargetprompt.extras.PromptOptions.load(PromptOptions.java:248)
at uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt$Builder.<init>(MaterialTapTargetPrompt.java:1139)
at uk.co.samuelwall.materialtaptargetprompt.MaterialTapTargetPrompt$Builder.<init>(MaterialTapTargetPrompt.java:1122)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.showTransportsOnboarding(NavDrawerActivity.java:489)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.lambda$null$2(NavDrawerActivity.java:181)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.lambda$null$2$NavDrawerActivity(Unknown Source:0)
at org.briarproject.briar.android.navdrawer.-$$Lambda$NavDrawerActivity$xWqZhXc-2hRSJQvQHp-zwWTmweU.onChanged(Unknown Source:6)
at org.briarproject.briar.android.util.UiUtils$3.onChanged(UiUtils.java:400)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:144)
at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:443)
at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:395)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.java:361)
at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.java:188)
at androidx.lifecycle.LiveData.observe(LiveData.java:203)
at org.briarproject.briar.android.util.UiUtils.observeOnce(UiUtils.java:397)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.lambda$onCreate$3(NavDrawerActivity.java:180)
at org.briarproject.briar.android.navdrawer.NavDrawerActivity.lambda$onCreate$3$NavDrawerActivity(Unknown Source:0)
at org.briarproject.briar.android.navdrawer.-$$Lambda$NavDrawerActivity$LIifbSpjf5QmEgmsWY6XA8WUmPg.onChanged(Unknown Source:4)
at org.briarproject.briar.android.util.UiUtils$3.onChanged(UiUtils.java:400)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:131)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:149)
at androidx.lifecycle.LiveData.setValue(LiveData.java:307)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:91)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:224)
at android.app.ActivityThread.main(ActivityThread.java:7592)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
```
Log snippet:
```
03-16 17:09:44.556 I/TorPlugin: Country code: IN
```
Perhaps country code IN could mean that the system typeface is different than on our test devices?Android 1.3