{"action":"created","issue":{"url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/430","repository_url":"https://api.github.com/repos/AltBeacon/android-beacon-library","labels_url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/430/labels{/name}","comments_url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/430/comments","events_url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/430/events","html_url":"https://github.com/AltBeacon/android-beacon-library/pull/430","id":176855207,"number":430,"title":"Start and stop BLE scans from a background thread to prevent blocking the UI (issue #136)","user":{"login":"marcosalis","id":1913814,"avatar_url":"https://avatars.githubusercontent.com/u/1913814?v=3","gravatar_id":"","url":"https://api.github.com/users/marcosalis","html_url":"https://github.com/marcosalis","followers_url":"https://api.github.com/users/marcosalis/followers","following_url":"https://api.github.com/users/marcosalis/following{/other_user}","gists_url":"https://api.github.com/users/marcosalis/gists{/gist_id}","starred_url":"https://api.github.com/users/marcosalis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marcosalis/subscriptions","organizations_url":"https://api.github.com/users/marcosalis/orgs","repos_url":"https://api.github.com/users/marcosalis/repos","events_url":"https://api.github.com/users/marcosalis/events{/privacy}","received_events_url":"https://api.github.com/users/marcosalis/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-09-14T09:13:29Z","updated_at":"2016-10-14T13:29:53Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AltBeacon/android-beacon-library/pulls/430","html_url":"https://github.com/AltBeacon/android-beacon-library/pull/430","diff_url":"https://github.com/AltBeacon/android-beacon-library/pull/430.diff","patch_url":"https://github.com/AltBeacon/android-beacon-library/pull/430.patch"},"body":"This pull request fixes the problems reported in issue #136 where ANRs are caused by AltBeacon accessing the BluetoothAdapter (which has heavy internal synchronization and even explicit wait() calls) from the main thread.\nA HandlerThread is used for the purpose, and no internal state is accessed from within the posted runnables so that it's not necessary to make the CycledLeScanner classes thread safe. In the same way, callbacks from the BluetoothAdapter are already always executed from the main thread (they're called, internally, from a Handler created with the main looper)."},"comment":{"url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/comments/253799085","html_url":"https://github.com/AltBeacon/android-beacon-library/pull/430#issuecomment-253799085","issue_url":"https://api.github.com/repos/AltBeacon/android-beacon-library/issues/430","id":253799085,"user":{"login":"davidgyoung","id":1044849,"avatar_url":"https://avatars.githubusercontent.com/u/1044849?v=3","gravatar_id":"","url":"https://api.github.com/users/davidgyoung","html_url":"https://github.com/davidgyoung","followers_url":"https://api.github.com/users/davidgyoung/followers","following_url":"https://api.github.com/users/davidgyoung/following{/other_user}","gists_url":"https://api.github.com/users/davidgyoung/gists{/gist_id}","starred_url":"https://api.github.com/users/davidgyoung/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidgyoung/subscriptions","organizations_url":"https://api.github.com/users/davidgyoung/orgs","repos_url":"https://api.github.com/users/davidgyoung/repos","events_url":"https://api.github.com/users/davidgyoung/events{/privacy}","received_events_url":"https://api.github.com/users/davidgyoung/received_events","type":"User","site_admin":false},"created_at":"2016-10-14T13:29:52Z","updated_at":"2016-10-14T13:29:52Z","body":"Sorry for the delay on this, @marcosalis.  I will do some testing on this today."}}
{"actor":{"display_login":"davidgyoung"}}