{"action":"created","issue":{"url":"https://api.github.com/repos/Awful/Awful.apk/issues/464","repository_url":"https://api.github.com/repos/Awful/Awful.apk","labels_url":"https://api.github.com/repos/Awful/Awful.apk/issues/464/labels{/name}","comments_url":"https://api.github.com/repos/Awful/Awful.apk/issues/464/comments","events_url":"https://api.github.com/repos/Awful/Awful.apk/issues/464/events","html_url":"https://github.com/Awful/Awful.apk/pull/464","id":204156996,"number":464,"title":"Extract WebView code to new AwfulWebView class and utilities","user":{"login":"baka-kaba","id":6281947,"avatar_url":"https://avatars.githubusercontent.com/u/6281947?v=3","gravatar_id":"","url":"https://api.github.com/users/baka-kaba","html_url":"https://github.com/baka-kaba","followers_url":"https://api.github.com/users/baka-kaba/followers","following_url":"https://api.github.com/users/baka-kaba/following{/other_user}","gists_url":"https://api.github.com/users/baka-kaba/gists{/gist_id}","starred_url":"https://api.github.com/users/baka-kaba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baka-kaba/subscriptions","organizations_url":"https://api.github.com/users/baka-kaba/orgs","repos_url":"https://api.github.com/users/baka-kaba/repos","events_url":"https://api.github.com/users/baka-kaba/events{/privacy}","received_events_url":"https://api.github.com/users/baka-kaba/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2017-01-30T23:04:38Z","updated_at":"2017-02-02T18:50:33Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Awful/Awful.apk/pulls/464","html_url":"https://github.com/Awful/Awful.apk/pull/464","diff_url":"https://github.com/Awful/Awful.apk/pull/464.diff","patch_url":"https://github.com/Awful/Awful.apk/pull/464.patch"},"body":"Pulled out most WebView configuration code into several components:\r\n- an AwfulWebView class with some common methods and lifecycle handling\r\n- a WebViewConfig class that does most of the setup that was previously\r\n  in the containing fragments\r\n- LoggingWebChromeClient, which is the basic client with logging calls,\r\n  previously used in one class but now easy to subclass and drop in anywhere\r\n- WebViewJsInterface, holding common JavascriptInterface-annotated methods\r\n\r\nThe idea is to get all that stuff out of the fragments holding the webviews,\r\nget the code all in one place, and make the configuration and interaction calls\r\nas minimal as possible.\r\n\r\nThere are still some changes to make (lots of TODOs),\r\npartly removing some old config code and maybe pushing it all into AwfulWebView\r\nas a generic init call, and partly getting some of the remaining WebView-poking\r\ncode out of the fragments (they shouldn't need to make direct load calls with\r\nbase URLs and html and charsets and stuff - need simple utility methods for that)"},"comment":{"url":"https://api.github.com/repos/Awful/Awful.apk/issues/comments/277046625","html_url":"https://github.com/Awful/Awful.apk/pull/464#issuecomment-277046625","issue_url":"https://api.github.com/repos/Awful/Awful.apk/issues/464","id":277046625,"user":{"login":"Sereri","id":803440,"avatar_url":"https://avatars.githubusercontent.com/u/803440?v=3","gravatar_id":"","url":"https://api.github.com/users/Sereri","html_url":"https://github.com/Sereri","followers_url":"https://api.github.com/users/Sereri/followers","following_url":"https://api.github.com/users/Sereri/following{/other_user}","gists_url":"https://api.github.com/users/Sereri/gists{/gist_id}","starred_url":"https://api.github.com/users/Sereri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Sereri/subscriptions","organizations_url":"https://api.github.com/users/Sereri/orgs","repos_url":"https://api.github.com/users/Sereri/repos","events_url":"https://api.github.com/users/Sereri/events{/privacy}","received_events_url":"https://api.github.com/users/Sereri/received_events","type":"User","site_admin":false},"created_at":"2017-02-02T18:50:33Z","updated_at":"2017-02-02T18:50:33Z","body":"Seems to work fine in all 3 cases. Are the TODOs anything serious?"}}
{"actor":{"display_login":"Sereri"}}