You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Justin Mclean <ju...@classsoftware.com> on 2014/02/03 02:49:40 UTC
Media Query Parser
Hi,
Just noticed this code in MediaQueryParser.
private function getOSVersion(osPlatform:String):Number {
//TODO (mamsellem) retrieve os version for Android, reading system/build.prop
var os: String = Capabilities.os;
var osMatch: Array;
if (osPlatform == "ios")
{
osMatch = os.match(/iPhone OS\s([\d\.]+)/);
}
else
{
osMatch = os.match(/[A-Za-z\s]+([\d\.]+)/);
}
return osMatch ? convertVersionStringToNumber(osMatch[1]) : 0.0;
}
That match for IPhone is going to fail on a iPad (or iTouch I guess) right? Can anyone confirm (as I don't own one)?
There is a few other Capabilities.os or Capabilities.version checks throughout the SDK (mostly checking for iOS). There's a few other that are a little suspect eg assume that desktop is Windows or Mac and don't check for Linux.
Any objections if I move them all into a singe class (mx.utils.Platform) so they are a) all in one place and b) consistent and c) maintainable (eg if AIR decides to support windows mobile or another platform)?
Thanks,
Justin
Re: Media Query Parser
Posted by Justin Mclean <ju...@classsoftware.com>.
Hi,
> Capabilities.os returns "iPhone OS 7.0.4 iPad2,1" on my ipad
So looks like that OK then.
Thanks,
Justin
RE: Media Query Parser
Posted by Maurice Amsellem <ma...@systar.com>.
Capabilities.os returns iPhone OS for iOS devices. So it's OK.
However, it still does not return a consistent result for Android devices.
We have discussed earlier about a workaround to retrieve the AND version number.
That's why I kept the code private in MediaQueryParser, until the Android version is computed correctly.
No problem to move it to a centralized place. There are a few calls in the SDK to test ios version that would benefit being centralized.
Maurice
-----Message d'origine-----
De : Lee Burrows [mailto:subscriptions@leeburrows.com]
Envoyé : lundi 3 février 2014 04:02
À : dev@flex.apache.org
Objet : Re: Media Query Parser
Capabilities.os returns "iPhone OS 7.0.4 iPad2,1" on my ipad
On 03/02/2014 01:49, Justin Mclean wrote:
> Hi,
>
> Just noticed this code in MediaQueryParser.
>
> private function getOSVersion(osPlatform:String):Number {
> //TODO (mamsellem) retrieve os version for Android, reading system/build.prop
> var os: String = Capabilities.os;
> var osMatch: Array;
>
> if (osPlatform == "ios")
> {
> osMatch = os.match(/iPhone OS\s([\d\.]+)/);
> }
> else
> {
> osMatch = os.match(/[A-Za-z\s]+([\d\.]+)/);
> }
>
> return osMatch ? convertVersionStringToNumber(osMatch[1]) : 0.0;
> }
>
> That match for IPhone is going to fail on a iPad (or iTouch I guess) right? Can anyone confirm (as I don't own one)?
>
> There is a few other Capabilities.os or Capabilities.version checks throughout the SDK (mostly checking for iOS). There's a few other that are a little suspect eg assume that desktop is Windows or Mac and don't check for Linux.
>
> Any objections if I move them all into a singe class (mx.utils.Platform) so they are a) all in one place and b) consistent and c) maintainable (eg if AIR decides to support windows mobile or another platform)?
>
> Thanks,
> Justin
--
Lee Burrows
ActionScripter
Re: Media Query Parser
Posted by Lee Burrows <su...@leeburrows.com>.
Capabilities.os returns "iPhone OS 7.0.4 iPad2,1" on my ipad
On 03/02/2014 01:49, Justin Mclean wrote:
> Hi,
>
> Just noticed this code in MediaQueryParser.
>
> private function getOSVersion(osPlatform:String):Number {
> //TODO (mamsellem) retrieve os version for Android, reading system/build.prop
> var os: String = Capabilities.os;
> var osMatch: Array;
>
> if (osPlatform == "ios")
> {
> osMatch = os.match(/iPhone OS\s([\d\.]+)/);
> }
> else
> {
> osMatch = os.match(/[A-Za-z\s]+([\d\.]+)/);
> }
>
> return osMatch ? convertVersionStringToNumber(osMatch[1]) : 0.0;
> }
>
> That match for IPhone is going to fail on a iPad (or iTouch I guess) right? Can anyone confirm (as I don't own one)?
>
> There is a few other Capabilities.os or Capabilities.version checks throughout the SDK (mostly checking for iOS). There's a few other that are a little suspect eg assume that desktop is Windows or Mac and don't check for Linux.
>
> Any objections if I move them all into a singe class (mx.utils.Platform) so they are a) all in one place and b) consistent and c) maintainable (eg if AIR decides to support windows mobile or another platform)?
>
> Thanks,
> Justin
--
Lee Burrows
ActionScripter