{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/2222","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/2222/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/2222/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/2222/events","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/2222","id":104274486,"number":2222,"title":"Introduce custom views - enhancement/refactor","user":{"login":"tobrun","id":2151639,"avatar_url":"https://avatars.githubusercontent.com/u/2151639?v=3","gravatar_id":"","url":"https://api.github.com/users/tobrun","html_url":"https://github.com/tobrun","followers_url":"https://api.github.com/users/tobrun/followers","following_url":"https://api.github.com/users/tobrun/following{/other_user}","gists_url":"https://api.github.com/users/tobrun/gists{/gist_id}","starred_url":"https://api.github.com/users/tobrun/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tobrun/subscriptions","organizations_url":"https://api.github.com/users/tobrun/orgs","repos_url":"https://api.github.com/users/tobrun/repos","events_url":"https://api.github.com/users/tobrun/events{/privacy}","received_events_url":"https://api.github.com/users/tobrun/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/Android","name":"Android","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/11","html_url":"https://github.com/mapbox/mapbox-gl-native/milestones/android-v0.2.0","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/milestones/11/labels","id":1252366,"number":11,"title":"android-v0.2.0","description":"","creator":{"login":"bleege","id":989928,"avatar_url":"https://avatars.githubusercontent.com/u/989928?v=3","gravatar_id":"","url":"https://api.github.com/users/bleege","html_url":"https://github.com/bleege","followers_url":"https://api.github.com/users/bleege/followers","following_url":"https://api.github.com/users/bleege/following{/other_user}","gists_url":"https://api.github.com/users/bleege/gists{/gist_id}","starred_url":"https://api.github.com/users/bleege/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bleege/subscriptions","organizations_url":"https://api.github.com/users/bleege/orgs","repos_url":"https://api.github.com/users/bleege/repos","events_url":"https://api.github.com/users/bleege/events{/privacy}","received_events_url":"https://api.github.com/users/bleege/received_events","type":"User","site_admin":false},"open_issues":54,"closed_issues":7,"state":"open","created_at":"2015-08-12T19:07:24Z","updated_at":"2015-09-22T05:29:19Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-09-01T14:06:56Z","updated_at":"2015-09-22T07:30:21Z","closed_at":null,"body":"For Android we are currently using multiple Views to overlay the MapView (eg. CompassView). I'm suggesting to refactor these into custom views.  \r\n\r\nThis would have following benefits:\r\n - easier to write independent tests and trace bugs  \r\n - makes the size of MapView class smaller which makes it easier to maintain\r\n - makes it easier for users to change appearance (configuration through styles/theme, no boiler plate)\r\n - makes multiple custom attributes obsolete, by applying them directly on a the custom view we can use attributes from the framework.\r\n\r\n\r\n\r\n*Current custom attributes used for compass :\r\n>   \\<attr name=\"compassEnabled\" format=\"boolean\" />\r\n>        \\<attr name=\"compassGravity\"></attr>\r\n>  \\<attr name=\"compassMarginLeft\" format=\"dimension\"/>\r\n> \\<attr name=\"compassMarginTop\" format=\"dimension\"/>\r\n>  \\<attr name=\"compassMarginRight\" format=\"dimension\"/>\r\n>   \\<attr name=\"compassMarginBottom\" format=\"dimension\"/>"},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/142201958","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/2222#issuecomment-142201958","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/2222","id":142201958,"user":{"login":"ljbade","id":1215089,"avatar_url":"https://avatars.githubusercontent.com/u/1215089?v=3","gravatar_id":"","url":"https://api.github.com/users/ljbade","html_url":"https://github.com/ljbade","followers_url":"https://api.github.com/users/ljbade/followers","following_url":"https://api.github.com/users/ljbade/following{/other_user}","gists_url":"https://api.github.com/users/ljbade/gists{/gist_id}","starred_url":"https://api.github.com/users/ljbade/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ljbade/subscriptions","organizations_url":"https://api.github.com/users/ljbade/orgs","repos_url":"https://api.github.com/users/ljbade/repos","events_url":"https://api.github.com/users/ljbade/events{/privacy}","received_events_url":"https://api.github.com/users/ljbade/received_events","type":"User","site_admin":false},"created_at":"2015-09-22T07:30:21Z","updated_at":"2015-09-22T07:30:21Z","body":"@tobrun what about https://github.com/mapbox/mapbox-gl-native/issues/2224 ?"}}