{"action":"opened","number":8,"pull_request":{"url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8","id":74185685,"html_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE/pull/8","diff_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE/pull/8.diff","patch_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE/pull/8.patch","issue_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/8","number":8,"state":"open","locked":false,"title":"Fix read notifications on iOS","user":{"login":"kentcb","id":1901832,"avatar_url":"https://avatars.githubusercontent.com/u/1901832?v=3","gravatar_id":"","url":"https://api.github.com/users/kentcb","html_url":"https://github.com/kentcb","followers_url":"https://api.github.com/users/kentcb/followers","following_url":"https://api.github.com/users/kentcb/following{/other_user}","gists_url":"https://api.github.com/users/kentcb/gists{/gist_id}","starred_url":"https://api.github.com/users/kentcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentcb/subscriptions","organizations_url":"https://api.github.com/users/kentcb/orgs","repos_url":"https://api.github.com/users/kentcb/repos","events_url":"https://api.github.com/users/kentcb/events{/privacy}","received_events_url":"https://api.github.com/users/kentcb/received_events","type":"User","site_admin":false},"body":"On Android, invoking `Read` will raise `ValueUpdated` when the value becomes available. On iOS, this is not currently the case. This means it's not possible to write platform-agnostic code such as:\r\n\r\n```\r\ncharacteristic.ValueUpdated += ...;\r\n\r\nif (characteristic.CanRead)\r\n{\r\n    characteristic.Read();\r\n}\r\n```\r\nThis will work for Android, but not iOS. And since reads in Android are asynchronous, there is no real workaround.\r\n\r\nThis PR fixes this by ensuring a call to `Read` will result in `ValueUpdated` being raised for iOS too.","created_at":"2016-06-17T03:53:41Z","updated_at":"2016-06-17T03:53:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d8244150d1b2bc6a8baeec74122d24866c959f37","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8/commits","review_comments_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8/comments","review_comment_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/comments{/number}","comments_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/8/comments","statuses_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/statuses/9ada4f2908ffd42540b220d186a9721add40f62c","head":{"label":"kentcb:ios-reads","ref":"ios-reads","sha":"9ada4f2908ffd42540b220d186a9721add40f62c","user":{"login":"kentcb","id":1901832,"avatar_url":"https://avatars.githubusercontent.com/u/1901832?v=3","gravatar_id":"","url":"https://api.github.com/users/kentcb","html_url":"https://github.com/kentcb","followers_url":"https://api.github.com/users/kentcb/followers","following_url":"https://api.github.com/users/kentcb/following{/other_user}","gists_url":"https://api.github.com/users/kentcb/gists{/gist_id}","starred_url":"https://api.github.com/users/kentcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentcb/subscriptions","organizations_url":"https://api.github.com/users/kentcb/orgs","repos_url":"https://api.github.com/users/kentcb/repos","events_url":"https://api.github.com/users/kentcb/events{/privacy}","received_events_url":"https://api.github.com/users/kentcb/received_events","type":"User","site_admin":false},"repo":{"id":61093033,"name":"Xamarin.BluetoothLE","full_name":"kentcb/Xamarin.BluetoothLE","owner":{"login":"kentcb","id":1901832,"avatar_url":"https://avatars.githubusercontent.com/u/1901832?v=3","gravatar_id":"","url":"https://api.github.com/users/kentcb","html_url":"https://github.com/kentcb","followers_url":"https://api.github.com/users/kentcb/followers","following_url":"https://api.github.com/users/kentcb/following{/other_user}","gists_url":"https://api.github.com/users/kentcb/gists{/gist_id}","starred_url":"https://api.github.com/users/kentcb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kentcb/subscriptions","organizations_url":"https://api.github.com/users/kentcb/orgs","repos_url":"https://api.github.com/users/kentcb/repos","events_url":"https://api.github.com/users/kentcb/events{/privacy}","received_events_url":"https://api.github.com/users/kentcb/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/kentcb/Xamarin.BluetoothLE","description":"","fork":true,"url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE","forks_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/forks","keys_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/teams","hooks_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/hooks","issue_events_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/issues/events{/number}","events_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/events","assignees_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/assignees{/user}","branches_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/branches{/branch}","tags_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/tags","blobs_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/git/refs{/sha}","trees_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/statuses/{sha}","languages_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/languages","stargazers_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/stargazers","contributors_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/contributors","subscribers_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/subscribers","subscription_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/subscription","commits_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/commits{/sha}","git_commits_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/git/commits{/sha}","comments_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/comments{/number}","issue_comment_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/issues/comments{/number}","contents_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/contents/{+path}","compare_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/merges","archive_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/downloads","issues_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/issues{/number}","pulls_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/pulls{/number}","milestones_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/milestones{/number}","notifications_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/labels{/name}","releases_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/releases{/id}","deployments_url":"https://api.github.com/repos/kentcb/Xamarin.BluetoothLE/deployments","created_at":"2016-06-14T05:00:45Z","updated_at":"2016-06-14T05:00:46Z","pushed_at":"2016-06-17T03:52:40Z","git_url":"git://github.com/kentcb/Xamarin.BluetoothLE.git","ssh_url":"git@github.com:kentcb/Xamarin.BluetoothLE.git","clone_url":"https://github.com/kentcb/Xamarin.BluetoothLE.git","svn_url":"https://github.com/kentcb/Xamarin.BluetoothLE","homepage":null,"size":108,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"tbrushwyler:master","ref":"master","sha":"d9fe0c0170a92bac53a05c10e30dbf87cb23630e","user":{"login":"tbrushwyler","id":1892138,"avatar_url":"https://avatars.githubusercontent.com/u/1892138?v=3","gravatar_id":"","url":"https://api.github.com/users/tbrushwyler","html_url":"https://github.com/tbrushwyler","followers_url":"https://api.github.com/users/tbrushwyler/followers","following_url":"https://api.github.com/users/tbrushwyler/following{/other_user}","gists_url":"https://api.github.com/users/tbrushwyler/gists{/gist_id}","starred_url":"https://api.github.com/users/tbrushwyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbrushwyler/subscriptions","organizations_url":"https://api.github.com/users/tbrushwyler/orgs","repos_url":"https://api.github.com/users/tbrushwyler/repos","events_url":"https://api.github.com/users/tbrushwyler/events{/privacy}","received_events_url":"https://api.github.com/users/tbrushwyler/received_events","type":"User","site_admin":false},"repo":{"id":51100454,"name":"Xamarin.BluetoothLE","full_name":"tbrushwyler/Xamarin.BluetoothLE","owner":{"login":"tbrushwyler","id":1892138,"avatar_url":"https://avatars.githubusercontent.com/u/1892138?v=3","gravatar_id":"","url":"https://api.github.com/users/tbrushwyler","html_url":"https://github.com/tbrushwyler","followers_url":"https://api.github.com/users/tbrushwyler/followers","following_url":"https://api.github.com/users/tbrushwyler/following{/other_user}","gists_url":"https://api.github.com/users/tbrushwyler/gists{/gist_id}","starred_url":"https://api.github.com/users/tbrushwyler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tbrushwyler/subscriptions","organizations_url":"https://api.github.com/users/tbrushwyler/orgs","repos_url":"https://api.github.com/users/tbrushwyler/repos","events_url":"https://api.github.com/users/tbrushwyler/events{/privacy}","received_events_url":"https://api.github.com/users/tbrushwyler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE","description":"","fork":false,"url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE","forks_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/forks","keys_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/teams","hooks_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/hooks","issue_events_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/events{/number}","events_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/events","assignees_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/assignees{/user}","branches_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/branches{/branch}","tags_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/tags","blobs_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/git/refs{/sha}","trees_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/statuses/{sha}","languages_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/languages","stargazers_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/stargazers","contributors_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/contributors","subscribers_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/subscribers","subscription_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/subscription","commits_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/commits{/sha}","git_commits_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/git/commits{/sha}","comments_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/comments{/number}","issue_comment_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/comments{/number}","contents_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/contents/{+path}","compare_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/merges","archive_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/downloads","issues_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues{/number}","pulls_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls{/number}","milestones_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/milestones{/number}","notifications_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/labels{/name}","releases_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/releases{/id}","deployments_url":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/deployments","created_at":"2016-02-04T19:40:18Z","updated_at":"2016-06-14T14:40:06Z","pushed_at":"2016-06-17T03:53:41Z","git_url":"git://github.com/tbrushwyler/Xamarin.BluetoothLE.git","ssh_url":"git@github.com:tbrushwyler/Xamarin.BluetoothLE.git","clone_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE.git","svn_url":"https://github.com/tbrushwyler/Xamarin.BluetoothLE","homepage":null,"size":832,"stargazers_count":8,"watchers_count":8,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":8,"mirror_url":null,"open_issues_count":4,"forks":8,"open_issues":4,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8"},"html":{"href":"https://github.com/tbrushwyler/Xamarin.BluetoothLE/pull/8"},"issue":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/8"},"comments":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/tbrushwyler/Xamarin.BluetoothLE/statuses/9ada4f2908ffd42540b220d186a9721add40f62c"}},"merged":false,"mergeable":true,"mergeable_state":"clean","merged_by":null,"comments":0,"review_comments":0,"commits":2,"additions":64,"deletions":65,"changed_files":2}}
{"actor":{"display_login":"kentcb"}}