{"action":"created","issue":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7289","repository_url":"https://api.github.com/repos/mapbox/mapbox-gl-native","labels_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7289/labels{/name}","comments_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7289/comments","events_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7289/events","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/7289","id":193552146,"number":7289,"title":"High level API around Offline","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":[{"id":143173729,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/Android","name":"Android","color":"000000","default":false},{"id":77259310,"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/labels/feature","name":"feature","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-12-05T16:55:59Z","updated_at":"2016-12-05T23:25:46Z","closed_at":null,"body":"The `4.0.0` release introduced the offline feature in the Android SDK. This allows developers to download and use maps in situations where no internet is available. While the implementation meets the requirements for developers. It's isn't as easy to implement since the user is required to do the state management themselves. I'm proposing to write an API layer on top of this by using a Service. This would provide the end user of an experience similar to what other map apps are doing. Allowing them to hook into a sticky Android Service and show a notification. What concretely is added to this API in terms of GUI is TBD.\r\n\r\nWill update this ticket with some screenshots to make the suggested UX more obvious.\r\n\r\n@mapbox/android \r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/comments/265011561","html_url":"https://github.com/mapbox/mapbox-gl-native/issues/7289#issuecomment-265011561","issue_url":"https://api.github.com/repos/mapbox/mapbox-gl-native/issues/7289","id":265011561,"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},"created_at":"2016-12-05T23:25:46Z","updated_at":"2016-12-05T23:25:46Z","body":"I believe the following use-case fits the UX that developers want to achieve with offline:\r\n\r\n### List regions: \r\n\r\n![device-2016-12-06-000013](https://cloud.githubusercontent.com/assets/2151639/20906151/fe086e3c-bb46-11e6-81b8-c8da657994b4.png)\r\n\r\nNot sure if we need to support adding an UI for ease of integration, we already support the low level API of retrieving regions/renaming them.\r\n\r\n### Select a region\r\n\r\n![device-2016-12-05-233546](https://cloud.githubusercontent.com/assets/2151639/20906098/c5ce4b36-bb46-11e6-90cb-f427bcf08dd5.png)\r\n\r\nAs with screenshot before, not sure if we should add an UI for ease of integration, the user can provide a LatLngBounds as a region definition with the low level API. \r\n\r\n### Show progress as a notification\r\n\r\n![device-2016-12-05-233854](https://cloud.githubusercontent.com/assets/2151639/20906111/dee6492a-bb46-11e6-8b10-aabdd161c79e.png)\r\n\r\nThis step is the part for which I created this ticket. When we click download an Android SDK Service should be started and show the download progress to the user. The benefit of using a Service here is that the service is retained even if the app goes to background (it will show a notification to show download progress). Clicking the progress brings the user back to the region selection screen with an optional cancel (or this can be integrated as part of the notification).\r\n\r\n"}}
{"actor":{"display_login":"tobrun"}}