{ "id": "120503", "key": "TIMOB-15356", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": null, "resolutiondate": null, "created": "2013-09-26T22:38:10.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "android", "googleplay", "mapsv2" ], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T20:03:25.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "As per GMaps v2 Module Documentation we should check if the Module is present and alert the user to download / update or enable the Google Play Services and location.\r\n\r\nThis is very confusing for end-users and there is a native way for doing this automatically on Android SDK.\r\n\r\nI think you guys should expose getErrorDialog() so the API itself will not only check for Google Play Services, but also instruct the user to either download, update or enable the Google Play Services.\r\n\r\nAs per the method documentation:\r\n\r\nReturns a dialog to address the provided errorCode. The returned dialog displays a localized message about the error and upon user confirmation (by tapping on dialog) will direct them to the Play Store if Google Play services is out of date or missing, or to system settings if Google Play services is disabled on the device.\r\n\r\n\r\n\r\nhttp://developer.android.com/reference/com/google/android/gms/common/GooglePlayServicesUtil.html#getErrorDialog(int, android.app.Activity, int)\r\n\r\n\r\nThis would probably eliminate a lot of crashes adn black screens on apps using this new module.\r\n\r\nThis is the standard behaviour of most Android apps using the new GMaps v2 SDK.", "attachment": [], "flagged": false, "summary": "Android: Google Maps v2 Module - Expose getErrorDialog() for users to automatically download / update or enable Google Play Services", "creator": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "subtasks": [], "reporter": { "name": "mrahman", "key": "mrahman", "displayName": "Mostafizur Rahman", "active": true, "timeZone": "Asia/Dhaka" }, "environment": "Ti SDK 3.1.3.GA", "comment": { "comments": [ { "id": "273557", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "We need something like that:\r\n\r\n{code:java}\r\nint resultCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(context);\r\nif (resultCode == ConnectionResult.SUCCESS) \r\n{\r\n // Google Play Services installed correctly, continue\r\n} \r\nelse if (resultCode == ConnectionResult.SERVICE_MISSING ||\r\n resultCode == ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED ||\r\n resultCode == ConnectionResult.SERVICE_DISABLED) \r\n{ \r\n // Google Play Services not installed / too old / disabled.\r\n // Show dialog to install or update\r\n Dialog dialog = GooglePlayServicesUtil.getErrorDialog(resultCode, this, 1);\r\n dialog.show();\r\n} \r\nelse \r\n{\r\n // Something else went wrong, handle this yourself\r\n}\r\n{code}", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2013-10-01T22:47:07.000+0000", "updated": "2013-10-01T22:47:07.000+0000" } ], "maxResults": 2, "total": 2, "startAt": 0 } } }