- 23 Dec, 2017 2 commits
-
-
Evan W. Patton authored
Change-Id: I904a77812093a34d2b5cabf792b157e048ab6bb0
-
Evan W. Patton authored
Also fix scaling issues with ActionBar update Fixes #1055 and #1056 Change-Id: I04099732b574bf14a329a06c0bcfc75850a4315f
-
- 22 Dec, 2017 1 commit
-
-
Evan W. Patton authored
This commit adds support for Maps using OpenStreetMaps and USGS tile layers. It also adds a number of components related to Maps: 1. Marker: Custom markers to represent points on a map. 2. LineString: Line segments drawn on the map. 3. Polygon: Polygons to draw 2D areas on the map. 4. Circle: Draw a circle at a point with a given radius. 5. Rectangle: Polygons, but fixed corners/sides. 6. FeatureCollection: Collections of the above loaded from a GeoJSON file. Change-Id: Ib2d7155094f2557e102de118d5c629abb9675086
-
- 21 Dec, 2017 2 commits
-
-
Jeffrey I. Schiller authored
CloudDB is similar to the FirebaseDB component but does not require a proprietary back-end database. Instead the back-end is based on the open source Redis system which is a well used and scale-able data storage solution. With CloudDB you can store arbitrary data, including binary image data, based on a “tag” which is a string. The “tag” is combined with ProjectID (which defaults to the name of the current project, but can be changed) so that multiple projects can use the same tags without interfering with each other. The domain name system name of the Redis server should be configured the “RedisServer” property. This defaults to “DEFAULT” which is a server provided default (more on that below). The “Token” property should be the password required for the Redis Server. An “out of the box” Redis server does not implement SSL, so the UseSSL property should be unchecked. In the DEFAULT setup, the server name is set to DEFAULT, UseSSL is checked and the Token is automatically generated when you load a project. In the DEFAULT case, a special modified Redis server is used which implements multi-user features which provide isolation between different MIT App Inventor programmers. It also uses SSL to protect on-line communications from interception. Author: Natalie Lao <natalie@csail.mit.edu> Author: Jeffrey I. Schiller <jis@mit.edu> Author: Joy Mitra <joymitro1989@gmail.com> Change-Id: Ic7d7aa0f7337a5452d9c138920813deb797fac20
-
Jeffrey I. Schiller authored
Fix the AcclerometerSensor component for tablets that use Landscape mode by default. Add a “LegacyMode” designer property so people can revert this behavior for apps where they have performed the needed compensation in their own blocks (though we would prefer they just fix their blocks). Change-Id: I29157612d54dd28ec0e85a822ef47f6ddd73b05c
-
- 20 Dec, 2017 2 commits
-
-
ColinTree authored
-
Mark Sherman authored
Fixes #1059
-
- 20 Nov, 2017 1 commit
-
-
Jeffrey I. Schiller authored
Change-Id: I4443b16af39923a0053e93ba941f63a7db974cc4
-
- 19 Nov, 2017 1 commit
-
-
ColinTree authored
-
- 15 Nov, 2017 1 commit
-
-
Evan W. Patton authored
Fixes #1002 Change-Id: If3e9612736cf8b827d47b6738a4d979fd0aaff3e
-
- 14 Nov, 2017 2 commits
-
-
ColinTree authored
Permit sub-packages stored in sub-directories in extensions. Before this change sub-packages were mistakenly placed in the main package’s directory, resulting in a non-functional situation Fixes #962 Change-Id: I8797cdca8fb98485264d7f691b5f90eb83f20fd6
-
Evan W. Patton authored
We added a mechanism that moves the workspace when highlighting a procedure definition block. However, we do not provide a mechanism to go back to the original viewport position prior to the move. This commit adds a WorkspaceMove event that is recorded when the workspace is shifted and can be undo via the normal undo/redo stack to return the user from where they came in the workspace. Note this is not robust to changes in the viewport size between operations. Change-Id: I09f1af2f3d7db62af0f1487a90a56a66f99273bc
-
- 11 Nov, 2017 6 commits
-
-
Evan W. Patton authored
There was a visual glitch when dragging variable getters into sockets due to the error icon appearing and shifting the block visually from the coordinate Blockly maintained as the drag position. This resulted in the connection highlight and checking algorithms to not fire when the blocks were visually aligned but rather when the internal states were visually aligned. This commit prevents checking a block for errors if the block is being dragged. After the drag is complete, a Move event will be triggered and the workspaceChanged listener will perform an error check at the time the block is dropped. This prevents an error icon from causing the aforementioned glitch. Fixes #971 Change-Id: I225dac2a278b58dae9e520747a9f2c69c96bf109
-
Evan W. Patton authored
Previously the blocks editor would only highlight a procedure block when the "Highlight Definition" context menu item was chosen. This version will also scroll the workspace so that the definition block is visually centered in the workspace when possible, with a constraint that the top-left coordinate must appear on the screen. Fixes #984 Change-Id: If8c06825b285ad7008cbf6f7e7948392be12c0c0
-
Evan W. Patton authored
Fixes #995 Change-Id: Icc3c90f9b5d18925031e1183d84ca84310208e7b
-
Evan W. Patton authored
When we updated the Closure Compiler for the Blockly update, some strings containing HTML were escaped unnecessarily. These strings are part of internationalization, and so they will be code reviewed before acceptance into the code base. We therefore break the SafeHtml contract imposed by Google Closure Library and manipulate the content element directly so that the static HTML content is preserved. Fixes #985 Change-Id: I8a545d46aceedcb8039f194ce03a86d924ab0867
-
Evan W. Patton authored
An interaction between an upgrading an extension with a new version number and a change to YaVersion results in being unable to open a project with extensions. This fix does two things to address this: 1. Force a save of the project so that the version numbers of the extension are persisted back to the server. 2. Check whether a component to be upgraded is an external component, and if so, skip the upgrade step since we don't have an upgrader for it anyway. Fixes #996 Change-Id: I6d39f70b3cac80961ed538f5a2bd99ab81729a5e
-
Evan W. Patton authored
Assisting users with extensions is difficult because it is unclear whether problems occur because of bugs in the extension or due to a mismatch in versions when extensions work together. This commit adds an "Extension Version" header on the helper widget that displays the version number specified in the @DesignerComponent annotation if the version number is greater than 0. Closes #894 Change-Id: If7fdd49795e81f8ff784036ce5745de499aafbd9
-
- 27 Oct, 2017 2 commits
-
-
Evan W. Patton authored
This commit reconciles our implementation of the `if` block with the implementation in Blockly. In particular, our implementation only works under the assumption that the user is making changes via the mutator and causes graphical problems when the undo/redo feature in Blockly is used. The Blockly version correctly handles undo/redo, but the mutator is slightly different in its implementation. This change maintains our visual presentation of the mutator but uses the Blockly logic for updating. Fixes #973 Change-Id: Ib335d4cd7f132f8bf21f9c691ee7a7e53f28e674
-
Conor authored
I have updated all of the reference documentation pages to use the new MIT AI logo. Fixes #932
-
- 24 Oct, 2017 1 commit
-
-
Farzeen Harunani authored
-
- 23 Oct, 2017 1 commit
-
-
Evan W. Patton authored
Fixes #959 Change-Id: I07a51181269adfd79b8db11a40cec66dc43a4ed9
-
- 22 Oct, 2017 1 commit
-
-
Evan W. Patton authored
Prior to this commit, changing the target property in a getter/setter block would not update the tooltip of the block to match the new property. This commit updates the tooltip in response to the dropdown selection changing. Fixes #964 Change-Id: I7ab095699f533fd262f2dc69cbae515e96163b8f
-
- 16 Oct, 2017 2 commits
-
-
Jeffrey I. Schiller authored
The previous commit adds support for the AccelerometerSensor to compensate for default landscape tablets. This change adds a flag that can be used (in branding branches) to disable this change at compile time. Change-Id: I6a98d2c7e2fdfab06ac5b40c9f9641acdd836be8
-
hal authored
Change the accelerometer so that Xaccel and Yaccel behave on LandscapePrimary devices the same way as they do on PortraitPrimary devices. If you hold the device vetically (long edge vertical) then xAccel should be 0 and yAccel should be -9. Rotate 90 degree counterclock wise and xAccel,Yaccel should be 9,0. This should be true on both PortraitPrimary and LandscapePrimary devices. Change-Id: I2537be388a7c77fee0a7f85bff98abe217546c80
-
- 13 Oct, 2017 1 commit
-
-
Jeffrey I. Schiller authored
Do not store the ActionBar property if it is set to its default value, which is “False.” This permits the Pre-ActionBar aware Companion to work with projects, as long as the ActionBar property is left unchecked. Change-Id: I3afaa761e66d7eecc5eb5ed79d9d6d7aa86835f3
-
- 11 Oct, 2017 1 commit
-
-
Evan W. Patton authored
Opening and closing a mutator or clicking a block would result in the blocks code being resent to the companion because any workspace event would force a YAIL update. This change adds a isUi method to check whether a Blockly event is a UI event, which doesn't change the semantics of the program, and ignores such events for the purpose of updating the companion. Change-Id: Id80d1d094e585cc7182fe3987f8e0adc2b45b872
-
- 10 Oct, 2017 1 commit
-
-
Evan W. Patton authored
Warning indicator counters were 0 even if there were warnings in the workspace. This was due to a combination of optimizations where the warnings aren't computed if the workspace isn't rendered and the indicator isn't created until the first rendering pass. This means that when the indicator is rendered it has not been updated with the results of any error checking passes have been made. Fixes #953 Change-Id: I5641c6444efeab9228efca5a74a78ed3a4577484
-
- 06 Oct, 2017 2 commits
-
-
Evan W. Patton authored
Fixes #944 Change-Id: I9fbb8d8a5d2c546ad44ab639f21a165fd7194d1e
-
josmas authored
-
- 03 Oct, 2017 1 commit
-
-
Jeffrey I. Schiller authored
When upgrading a project, do not attempt to save the upgraded version if we are in read only mode. Change-Id: I7e2f089293ae864dbe1a18c2504ac71d1b51fc9d
-
- 28 Sep, 2017 1 commit
-
-
Evan W. Patton authored
This commit fixes two bugs: 1. NPE due to a race condition where clear() was called in the ReplForm before the FrameLayout was initialized. 2. setImageTintMode on an internal Widget wasn't supported on Android 4.x, resulting in a crash on connection. Change-Id: Ia28f9eaa404fa0b8f830d5a809d77226a611b36c
-
- 24 Sep, 2017 1 commit
-
-
Jeffrey I. Schiller authored
Make sure the button in the designer scales along with the font size. This change is a simplification of work originally done by Olivier Midy <osmidy@mit.edu>. Change-Id: Iad2033001f26b102506f8bba2dff89f94f6b8ab6
-
- 22 Sep, 2017 3 commits
-
-
Evan W. Patton authored
Large projects demonstrated that an O(n^2) behavior for the MockForm refresh function caused significant slowdown when loading and rendering large projects in the designer. Jeff originally fixed this by introducing a timer so that at least 2 seconds were provided between refresh calls. However, this introduces some visual glitches when components are dragged or immediately after project load due to the fact that up to two seconds must elapse before the component sizes are updated. This commit uses a timer that immediately fires after the current JavaScript execution context finishes so that changes to the form and its components takes effect immediately on the next render pass. To prevent O(n^2) behavior, only one timer is scheduled at any one point, and the timer is only cleared after the refresh pass has completed. Change-Id: I7c43ec19b6aad2d8fa6de2d5cdbf9913dec44abf
-
Evan W. Patton authored
The Blockly update broke how the REPL interacted with App Inventor when switching between projects after connecting. This change ensures that pollYail is called when a workspace is made active so that the screen will be updated accordingly. Change-Id: I3b10365e59d247590a7f5f9e522a450b7ad2ab4b
-
Evan W. Patton authored
Blocks workspace upgraders sometimes operate on the workspace in XML form rather than workspace form. When we did the Blockly update in May 2017, we moved updating the positions of blocks to occur immediately before the first render of the workspace rather than at workspace load time. This results in all blocks being at 0, 0 if the project relied on a component where the upgrader used XML because the blocks do not get positioned until after the upgrade has run. This code wraps the blockToDOMWithXY function to update the position of the block during serialization to XML if rendering is turned off, i.e. we are loading the workspace. Fixes #920 Change-Id: Ie19cbe4207e6c36979c2adb767748bb54def4551
-
- 18 Sep, 2017 1 commit
-
-
Jeffrey I. Schiller authored
App Engine may soon require that static content be declared static in appengine-web.xml. This change makes sure these directories, which hold the “Terms of Service” among other things, are properly declared. Change-Id: Id7409362e96a731cec75bd6cbbe3de376bf2beec
-
- 12 Sep, 2017 2 commits
-
-
Evan W. Patton authored
The component processor only allows concrete types to be specified as Java method parameters and return values. However, for abstraction it is sometimes useful to use an interface or abstract base class in order to reduce repeat code. This commit updates ComponentProcessor to use the class hierarchy of any parameter or return type of a property, method, or event to determine whether an entity passed through would be a Component. Change-Id: Ie2487ed20ad1b4ca6e8acc08ca8102cb6b7eb258
-
Evan W. Patton authored
Change-Id: Ib30e302ecf5f19970532bab66e409e50aed08b40
-
- 08 Sep, 2017 1 commit
-
-
Evan W. Patton authored
With the addition of the Android support libraries we can now allow users to change the theme and colors of their apps globally. This commit adds a handful of properties to accomplish and give rough approximations of the theme in both the web environment and companion. Some colors cannot be changed at runtime so the only way to see the results is to compile an app. Change-Id: Iba0be346f1824445ab4edcdca37dd384abd42850
-