You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Joe Bowser (JIRA)" <ji...@apache.org> on 2015/12/08 00:00:12 UTC
[jira] [Commented] (CB-10160) Android - ConnectionType always
returning Connection.UNKNOWN
[ https://issues.apache.org/jira/browse/CB-10160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15045944#comment-15045944 ]
Joe Bowser commented on CB-10160:
---------------------------------
More information related to which device you're using, and what version of Android would be helpful. This API does change, and this would have be tested across a series of Android devices before accepting this.
> Android - ConnectionType always returning Connection.UNKNOWN
> ------------------------------------------------------------
>
> Key: CB-10160
> URL: https://issues.apache.org/jira/browse/CB-10160
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Network Information
> Affects Versions: 1.1.0
> Environment: Apache Cordova project utilizing the Ionic Framework on Mac OSX. Building and deploying using Android Studio 1.5.
> Reporter: Binh Robles
> Labels: easyfix
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> In src/android/NetworkManager.java, all the static final String constants are written in all lowercase. When checking the type in GetType(), the code already makes this adjustment:
> {quote}private String getType(NetworkInfo info) {
> if (info != null) {
> String type = info.getTypeName().{color:red}toLowerCase{color}(Locale.US);{quote}
> However, if type == MOBILE or CELLULAR, the subType is not converted to all lowercase:
> {quote}
> else if (type.equals(MOBILE) || type.equals(CELLULAR)) {
> type = {color:red}info.getSubtypeName();{color}
> if (type.equals(GSM) ||
> type.equals(GPRS) ||
> {quote}
> For me, running on the Android emulator and pushing to a device, this was causing the app to always fail every subType comparison, and always return Connection.UNKNOWN, resulting in an app that was always 'offline'.
> After debugging the plugin, it looked like subTypes were coming in as 'GSM' and 'UMTS' in all-caps, and being compared to 'gsm' and 'umts', the lower-case pre-defined strings. I added a .toLowerCase() to the subType get, and everything seems to be working fine for me:
> else if (type.equals(MOBILE) || type.equals(CELLULAR)) {
> {color:green}type = info.getSubtypeName().toLowerCase();{color}
> if (type.equals(GSM) ||
> I'm not sure why this was an issue for me, but hasn't been in the past for other users. I can submit whatever environment info you might want if you let me know. Thanks!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org