Rather than hardcoding the size and presence of the notification area in Dart,
we now expose padding values on the view. These values are set to non-zero
values when there are UI elements that overlap the view. We currently respect
only the top padding, but this CL paves the way to respect padding in other
directions.
We still hardcode the size of the notification area in Java. A future CL will
retrieve this value from the Android framework.
Fixes#257R=ianh@google.com
Review URL: https://codereview.chromium.org/1220353002.
This CL factors the skyx build logic out of sky/apk/rules.gni so that we can
build skyx bundles without building entire APKs. This change makes it possible
to build skyx bundles for all the examples (except game).
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1222673003.
This CL adds a build-time flag for building skyx packages, which make our
example Sky applications work offline. We can't enable this flag by default yet
because our build bots lack a few Dart packages, but landing this flag will let
folks experiment with this feature locally.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221203002.
This CL switches SkyDemo over to using explicit intents for deciding which Sky
apps to run. This change lets us get rid of the hacky "sky" URI scheme.
Instead, we use normal URLs but we require the sender of the intent to be
explicit in directing the VIEW intent to us.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221123003.
This CL adds the concept of a root asset bundle to Sky. If the Sky app was
launched from a bundle, the root bundle is that bundle.
This CL teaches icon.dart to default to loading icons out of the root bundle,
if a root bundle exists. The next result is that Stocks has icons when run
offline because the icons are present in stock's skyx bundle.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1208273003.
This CL teaches Stocks.apk how to start from a skyx bundle name |app.skyx| in
the APK's asset collection.
Stocks.apk still actually starts from |snapshot_blob.bin| because we can't yet
produce skyx files as part of the build process.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221033006.
These functions used to support testing, but they're no longer used by any
tests now that we've deleted the DOM-based world.
Really we should merge dart:sky.internals into dart:sky, but that's a CL for
another day.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1221163002.
Rather than require Sky developers to have a Python environment, we should
write our tooling for Sky in Dart. This CL converts skyx.py into skyx.dart and
makes skyx.py into a wrapper for skyx.dart. We still need the Python wrapper
because gn requires that build actions are written in Python.
This code isn't wired into the main build yet. We'll need to add some more pub
packages to our buildbot environment first.
TBR=eseidel@google.com
Review URL: https://codereview.chromium.org/1213213003.
Also:
- give users of Material who previously relied on Material's defaults
opinions about background colours
- reindent stock_row.dart
- import colors as colors in example/widgets/styled_text.dart, rather
than in global scope, for consistency with other files
- import typography as typograpyh in example/widgets/tabs.dart, rather
than in global scope, for consistency with other files
- make flat_button actually be transparent by not painting a
background, rather than painting 0x00000000. This is the what I
actually originally set out to do here.
R=abarth@chromium.org
Review URL: https://codereview.chromium.org/1217293003.
We need the material design icons at build time in order to build Sky
application bundles that include the icons. Therefore, we need can't wait until
runtime to download the icons.
Also, rather than copying all the icons into each out directory, we just
symlink to the copy in the source tree.
R=eseidel@chromium.org, eseidel@google.com
Review URL: https://codereview.chromium.org/1217283002.
This script consumes a sky.yaml file and produces a bundle that contains the
listed material design assets as well as the snapshot binary. This script isn't
wired into the build system yet because we don't yet download the material
design icons using DEPS.
R=chinmaygarde@google.com, eseidel@google.com
Review URL: https://codereview.chromium.org/1220893002.
When navigating from one app to another, we create a new Android window and
destroy the old one. Previously, when we destroyed the old window after
creating the new window, we would destroy the Ganesh context after making the
GL context for the new window current, causing us to corrupt the GL state in
the new window. After this CL, we call MakeCurrent before destroying the Ganesh
context so that it interacts with the proper GL context.
R=jackson@google.com
Review URL: https://codereview.chromium.org/1214263002.
Actually the tests broke in 136e0d4da5
...but I had reset the results because I had changed all the coordinates, and didn't realise some of the changes were bad.
TBR=abarth
Review URL: https://codereview.chromium.org/1212803003.
A simple container for a TabBar. It is defined by a list of
TabNavigatorViews, each of which is just a TabLabel and
the tab's content.
The content of each tab is represented by a function
that produces a Widget called "content". I couldn't
bring myself to call it buildTabContentCallback or something
else more specific.
R=abarth@chromium.org, ianh@google.com
Review URL: https://codereview.chromium.org/1212993003.
This CL builds an APK for MineDigger that works offline. We use |sky_packager|
to snapshot the Dart code, which we then extract from the APK during startup.
If we succeed in extracting a snapshot, we load it by default.
TBR=eseidel@chromium.org
Review URL: https://codereview.chromium.org/1211253004.
Added a OffsetBase class that Size now inherits from, and added a new
Offset class that also inherits from OffsetBase.
Offset has:
- dx and dy members
- zero and infinite static constants
- a method that returns a new Offset that's the existing one scaled
by a scalar
- a unary minus operator
- operators overloads such that subtracting or adding two Offsets
gives another Offset
- a toPoint() method
Added Offset and Size to the dart bindings, so they can be used from C++.
Changed the Canvas API to use Point, Size, and Offset where appropriate:
- drawLine uses Points now
- drawCircle uses a Point now
- drawImage uses a Paint now
- the constructor uses a Size
Changed Point as follows:
- added a unary minus
- Point difference now gives an Offset rather than a Size
- You can add an Offset to a Point to get a new Point
- toSize() has been replaced by toOffset()
Changed Rect as follows:
- renamed upperLeft and lowerRight to topLeft and bottomRight for
consistency with our other APIs
- added bottomLeft and topRight for completeness
Changed Size as follows:
- now inherits from OffsetBase
- added *, /, ~/, and % operators for scaling sizes
- subtracting a Size from a Size gives an Offset
- subtracting an Offset from a Size gives a Size
- changed the + operator to take an Offset instead of a Size
- added topLeft, bottomLeft, topRight, bottomRight to match Rect
- added center for the same reason
- added shortestSide getter since that was a common pattern
- removed toPoint()
Changed DrawLooperLayerInfo as follows:
- setOffset member takes an Offset instead of a Point
Changed BoxConstraints as follows:
- added biggest getter since it was a common pattern
- added smallest getter for symmetry
Changed BoxShadow as follows:
- offset member is an Offset rather than a Size
Changed ViewConstraints as follows:
- replaced height and width members by a single size member
I did some minor code cleanup in nearby files while I was there,
including sorting sky/engine/core/core.gni alphabetically, and fixing
some warnings in the examples.
BUG=
R=abarth@chromium.org, chinmaygarde@google.com
Review URL: https://codereview.chromium.org/1214833004.