You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ma...@apache.org on 2013/12/01 17:33:53 UTC
[1/2] git commit: [flex-sdk] [refs/heads/develop] - INPROGRESS -
FLEX-33949 Manage OS version in @media CSS implemented for iOS and desktop OS
TODO: Android version from system/build.prop
Updated Branches:
refs/heads/develop 2e0f18ca0 -> 66b542611
INPROGRESS - FLEX-33949 Manage OS version in @media CSS
implemented for iOS and desktop OS
TODO: Android version from system/build.prop
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/e82b4504
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/e82b4504
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/e82b4504
Branch: refs/heads/develop
Commit: e82b45047ab0a61ae9ca47169ccffb04169db210
Parents: 2e0f18c
Author: mamsellem <ma...@systar.com>
Authored: Sun Dec 1 17:21:49 2013 +0100
Committer: mamsellem <ma...@systar.com>
Committed: Sun Dec 1 17:21:49 2013 +0100
----------------------------------------------------------------------
.../framework/src/mx/utils/MediaQueryParser.as | 28 +++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/e82b4504/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as b/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as
index d670281..4e54140 100644
--- a/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as
+++ b/frameworks/projects/framework/src/mx/utils/MediaQueryParser.as
@@ -103,6 +103,7 @@ public class MediaQueryParser
applicationDpi = moduleFactory.info()["applicationDPI"];
}
osPlatform = getPlatform();
+ osVersion = getOSVersion(osPlatform);
}
/**
@@ -407,7 +408,29 @@ public class MediaQueryParser
// expression
return s.toLowerCase();
}
-
+
+ /** @private
+ * extract OS version information from os
+ * os is typically a non-numeric string (such as Windows, iPhone OS, Android, etc...) followed by a number.
+ * if no number is found, OS version is set to 0.
+ * os on ADL will return the host OS and not the device OS.
+ * That why we need to check for a specific sequence for iOS and Android
+ * */
+ 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 ? Number(osMatch [1]) : 0.0;
+ }
+
// the type of the media
public var type:String = "screen";
@@ -416,6 +439,9 @@ public class MediaQueryParser
// the platform of the media
public var osPlatform:String;
+
+ // the platform os version of the media
+ public var osVersion: Number;
}
[2/2] git commit: [flex-sdk] [refs/heads/develop] - FIX FLEX-33860
IOS7 Status bar height
Posted by ma...@apache.org.
FIX FLEX-33860 IOS7 Status bar height
Project: http://git-wip-us.apache.org/repos/asf/flex-sdk/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-sdk/commit/66b54261
Tree: http://git-wip-us.apache.org/repos/asf/flex-sdk/tree/66b54261
Diff: http://git-wip-us.apache.org/repos/asf/flex-sdk/diff/66b54261
Branch: refs/heads/develop
Commit: 66b54261119233abaae5fc0f38bbd0615f2bc617
Parents: e82b450
Author: mamsellem <ma...@systar.com>
Authored: Sun Dec 1 17:30:05 2013 +0100
Committer: mamsellem <ma...@systar.com>
Committed: Sun Dec 1 17:30:05 2013 +0100
----------------------------------------------------------------------
frameworks/projects/mobiletheme/defaults.css | 43 ++++++++++++++++++++
.../TabbedViewNavigatorApplicationSkin.as | 7 ++--
.../mobile/ViewNavigatorApplicationSkin.as | 7 ++--
.../spark/src/spark/components/Application.as | 12 ++++++
.../src/spark/skins/spark/ApplicationSkin.mxml | 29 +++++++++----
5 files changed, 83 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/66b54261/frameworks/projects/mobiletheme/defaults.css
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/defaults.css b/frameworks/projects/mobiletheme/defaults.css
index caf628d..66f7fb7 100644
--- a/frameworks/projects/mobiletheme/defaults.css
+++ b/frameworks/projects/mobiletheme/defaults.css
@@ -928,4 +928,47 @@ global
leading: 4.5;
paddingRight: 3;
}
+}
+
+/* ios 7 status bar
+ requires new os-version selector (cf FLEX-FLEX-33949)
+ */
+
+@media (application-dpi: 120) AND (os-platform:"IOS") AND (min-os-version: 7)
+{
+ Application
+ {
+ osStatusBarHeight: 15;
+ }
+}
+
+@media (application-dpi: 160) AND (os-platform:"IOS") AND (min-os-version: 7)
+{
+ Application {
+ osStatusBarHeight: 20;
+ }
+}
+
+@media (application-dpi: 240) AND (os-platform:"IOS") AND (min-os-version: 7)
+{
+ Application
+ {
+ osStatusBarHeight: 30;
+ }
+}
+
+@media (application-dpi: 320) AND (os-platform:"IOS") AND (min-os-version: 7)
+{
+ Application
+ {
+ osStatusBarHeight: 40;
+ }
+}
+
+@media (application-dpi: 480) AND (os-platform:"IOS") AND (min-os-version: 7)
+{
+ Application
+ {
+ osStatusBarHeight: 60;
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/66b54261/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as b/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
index adab892..1a972fd 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
+++ b/frameworks/projects/mobiletheme/src/spark/skins/mobile/TabbedViewNavigatorApplicationSkin.as
@@ -129,9 +129,10 @@ public class TabbedViewNavigatorApplicationSkin extends MobileSkin
override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
{
super.layoutContents(unscaledWidth, unscaledHeight);
-
- tabbedNavigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
- tabbedNavigator.setLayoutBoundsPosition(0, 0);
+ var osStatusBarHeight: Number = Number(getStyle("osStatusBarHeight"));
+ if (isNaN(osStatusBarHeight)) osStatusBarHeight = 0;
+ tabbedNavigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight - osStatusBarHeight);
+ tabbedNavigator.setLayoutBoundsPosition(0, osStatusBarHeight);
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/66b54261/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as b/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
index 0f412be..29f9089 100644
--- a/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
+++ b/frameworks/projects/mobiletheme/src/spark/skins/mobile/ViewNavigatorApplicationSkin.as
@@ -124,9 +124,10 @@ public class ViewNavigatorApplicationSkin extends MobileSkin
override protected function layoutContents(unscaledWidth:Number, unscaledHeight:Number):void
{
super.layoutContents(unscaledWidth, unscaledHeight);
-
- navigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight);
- navigator.setLayoutBoundsPosition(0, 0);
+ var osStatusBarHeight: Number = Number(getStyle("osStatusBarHeight"));
+ if (isNaN(osStatusBarHeight)) osStatusBarHeight = 0;
+ navigator.setLayoutBoundsSize(unscaledWidth, unscaledHeight - osStatusBarHeight);
+ navigator.setLayoutBoundsPosition(0, osStatusBarHeight);
}
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/66b54261/frameworks/projects/spark/src/spark/components/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/components/Application.as b/frameworks/projects/spark/src/spark/components/Application.as
index d9a0f72..80e1348 100644
--- a/frameworks/projects/spark/src/spark/components/Application.as
+++ b/frameworks/projects/spark/src/spark/components/Application.as
@@ -116,6 +116,18 @@ use namespace mx_internal;
*/
[Style(name="backgroundColor", type="uint", format="Color", inherit="no")]
+
+/**
+ * Height in pixels left for os top status bar display.
+ * <p>Status bar height is set by default to 20 pixels (at 160 DPI) for iOS7, on the following default skins: </p>
+ * <ul>
+ * <li>>skins.spark.ApplicationSkin</li>
+ * <li>spark.skins.mobile.TabbedViewNavigatorApplicationSkin</li>
+ * <li>spark.skins.mobile.ViewNavigatorApplicationSkin</li>
+ * </ul>
+ */
+[Style(name="osStatusBarHeight", type="Number", format="Length", inherit="no", theme="mobile")]
+
//--------------------------------------
// Excluded APIs
//--------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-sdk/blob/66b54261/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml b/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml
index 81c0bda..9dd416a 100644
--- a/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml
+++ b/frameworks/projects/spark/src/spark/skins/spark/ApplicationSkin.mxml
@@ -42,16 +42,27 @@
<fx:Script fb:purpose="styling">
<![CDATA[
- /**
- * @private
- */
- override protected function updateDisplayList(unscaledWidth:Number,
- unscaledHeight:Number) : void
+ override public function styleChanged(styleProp: String): void
+ {
+ super.styleChanged(styleProp);
+ var allStyles: Boolean = (styleProp == null || styleProp == "styleName");
+
+ if (allStyles || styleProp == "osStatusBarHeight")
{
- bgRectFill.color = getStyle('backgroundColor');
- bgRectFill.alpha = getStyle('backgroundAlpha');
- super.updateDisplayList(unscaledWidth, unscaledHeight);
+ var osStatusBarHeight: Number = Number(getStyle("osStatusBarHeight"));
+ containerGrp.top = isNaN(osStatusBarHeight) ? 0 : osStatusBarHeight;
}
+ }
+
+ /**
+ * @private
+ */
+ override protected function updateDisplayList(unscaledWidth: Number, unscaledHeight: Number): void
+ {
+ bgRectFill.color = getStyle('backgroundColor');
+ bgRectFill.alpha = getStyle('backgroundAlpha');
+ super.updateDisplayList(unscaledWidth, unscaledHeight);
+ }
]]>
</fx:Script>
@@ -74,7 +85,7 @@
</s:fill>
</s:Rect>
- <s:Group left="0" right="0" top="0" bottom="0">
+ <s:Group left="0" right="0" top="0" bottom="0" id="containerGrp">
<s:layout>
<s:VerticalLayout gap="0" horizontalAlign="justify" />
</s:layout>