- 31 Dec, 2016 1 commit
-
-
Evan W. Patton authored
Reported by the forum posting [1], the SoundRecorder crashes when the Start method is called. After some debugging, this is due to unexpected values being reported via the onInfo method being called with an unexpected, non-documented value of `what`. The code always called controller.recorder.stop(), but since the MediaRecorder hadn't transitioned to the recording state yet, stop() throws an uncaught IllegalStateException, which kills the program. This commit makes the onInfo method more robust by reporting known `what` values via dispatchErrorOccurredEvent and ignoring any values not declared by AOSP. It also adds a call to StoppedRecording() otherwise the app may not have been aware of the failure state. [1] https://groups.google.com/d/msg/mitappinventortest/qMPzn5s82UY/LJu8znfrAwAJ Change-Id: Ifd12fcf016df07b500b958bd4900781bf6ff6c47
-
- 12 Dec, 2016 1 commit
-
-
hal authored
When set this property causes lists to be displayed in JSON notation rather then Lisp notation. Its default value is “false” so current projects continue to work and new projects will still use Lisp format. This can be changed in the future once the Companion that supports ShowListsAsJson is widely deployed. Change-Id: I2e6b25c32d27377685eb8111f44536479e7c55b7
-
- 30 Oct, 2016 2 commits
-
-
William S. Byrne authored
Summary: Using the @ActivityElement and @UsesActivities annotations, it is now possible to launch an arbitrary activity from a component without hacking Compiler.java to register that activity in AndroidManifest.xml. Using the @ReceiverElement and @UsesBroadcastReceivers annotations, it is now possible to leverage the full functionality of the Android framework when creating <receiver> elements in AndroidManifest.xml. Both of these new annotations allow App Inventor component developers to add <intent-filter> and <meta-data> subelements to activities and broadcast receivers declared in AndroidManifest.xml with the @IntentFilterElement and @MetaDataElement annotations. -ListPicker has been refactored to use these new annotations. -BarcodeScanner has been refactored to use these new annotations. -Twitter has been refactored to use these new annotations. -Texting has been refactored to use these new annotations. -Since the NearField component makes changes to the main activity contingent on information that is only available at build time, Form and NearField cannot be refactored to use these annotations at the moment. -New unit tests for broadcast receiver and activity generation were added in com.google.appinventor.buildserver.CompilerTest.java. -Added legacy support for the deprecated @SimpleBroadcastReceiver annotation so that we don't break extensions that are currently using it. Change-Id: I2114f2b522bdbcf51e1e1b79a642010ff040e183
-
Evan W. Patton authored
This commit disables suggestions in the TextView, which appears to crash the Companion on Android 7+ due to missing layouts. Change-Id: I932f5aeaded2584e80f1e2e512e401000a7214ed
-
- 21 Oct, 2016 1 commit
-
-
hal authored
Change-Id: I8b786623776c50edfd44af519eee87c7779cbd56
-
- 21 Sep, 2016 1 commit
-
-
Jeffrey I. Schiller authored
Fix to permit extension loading again. Change-Id: I6edb0391d1f4abb9815eda198af8ed16b7b5da7c
-
- 19 Sep, 2016 1 commit
-
-
Evan W. Patton authored
When changing the called procedure name in a procedure block that returns a value, the parameter sockets disappear and the block becomes unusable. This is caused by the fact that the code looks to call getProcedureDef but it is undefined, even on procedure blocks. The issue was that it is supposed to be copied from the no return version of the procedure call block, but the reference was wrong and so the value was undefined. This commit fixes the erroneous reference in order that the behavior is correct. This also has the side effect of fixing the (unreported?) bug that the "Highlight Proceduce" context menu action was not working due to the same issue. Fixes #844 Change-Id: I7041c3ab05a89c1a710128a7d91a543bb601940a
-
- 14 Sep, 2016 2 commits
-
-
Jeffrey I. Schiller authored
Change-Id: I040f50fbe9fadf0fbd3b26e7312fa98b43f3d374
-
Jeffrey I. Schiller authored
-
- 06 Sep, 2016 1 commit
-
-
Justus authored
Change-Id: I375eddc7d09e1042ad372e2c581552c1401954d6
-
- 29 Aug, 2016 1 commit
-
-
Jeffrey I. Schiller authored
Mitigate a Race Condition where blockly reads the component database before the project has finished initializing the component database. This race only tends to manifest in projects with several (or many) screens each of which have a significant number of blocks. Change-Id: I073c4fb30a522d59e6ba060b39183798ce9ac10e
-
- 27 Aug, 2016 3 commits
-
-
Jeffrey I. Schiller authored
Android Servlet let’s you download your packaged apps to your own device. Change-Id: I1b074fc65591642e8e8e9fe468609cd6a7d5af2b
-
Jeffrey I. Schiller authored
Remove code that was used to communicate with the AI Classic Blocks editor. It is no longer in use. Change-Id: I5a1dc1e3a4081723a74c4370265158f29cd4ae34
-
hal authored
Change-Id: I1d50c87acab77adc301b551ee32570d81a7a90f7
-
- 23 Aug, 2016 1 commit
-
-
Evan W. Patton authored
ActivityStarter uses String.isEmpty(), which was introduced in Java 1.6. However, older versions of Android are only binary compatible with Java 1.5, such as the version used in the emulator. This causes the ActivityStarter to throw an exception when starting an activity. This commit fixes the issue by replacing the call to String.isEmpty() with android.text.TextUtils.isEmpty(String), which is available since Android API version 1. This is consistent with other checks in components, such as Canvas and Web. Closes #827 Change-Id: I5c26bab97421a86b3d62888af447d999af38450a
-
- 21 Aug, 2016 2 commits
-
-
Jeffrey I. Schiller authored
There is a race condition where if App Inventor is closed (browser window closed) while the system is still initializing, the user’s global settings will be over-written by an empty settings object because the global settings have not finished loading. We detect that with this code and avoid over-writing the settings. Change-Id: Icfcf8204b860984bf36e2a7d525ebf5814a2ffd8
-
Jeffrey I. Schiller authored
Generate the user’s project list by doing one bulk API call to to the datastore to fetch project meta data. Change-Id: Ie3a93126b22e2292bc4b270d4d54c5c382880cf9
-
- 16 Aug, 2016 1 commit
-
-
Jeffrey I. Schiller authored
Arrange to make a screenshot of the blocks whenever a blocks editor is exited. Change-Id: I4f88aa8c479e6b111bdc477a0fb3821cc815be15
-
- 08 Aug, 2016 1 commit
-
-
Jeffrey I. Schiller authored
Add a No-Op function. Along with a session idle timeout and session renew time, we can ensure that closed browsers (which will stop performing no-op operations) will be logged out. Change-Id: Ibdd1a55b172fc2aad2c8bed012ae86508d1d025b
-
- 30 Jul, 2016 1 commit
-
-
Jeffrey I. Schiller authored
Fix some XSS issues on the server side. Change-Id: I5f0b2a1da87666ef56b4d83c1414d66d8f1d3eb6
-
- 29 Jul, 2016 2 commits
-
-
Jeffrey I. Schiller authored
Now that we support HTML markup in Labels, we need to make sure it is safe to display in the user’s browser. Change-Id: I17cd06a4ade1e7a58ffeb9ba256ac83a166afd0d
-
Jeffrey I. Schiller authored
“repo” is used by the template code to indicate a user supplied template repository (so you can build your own webpage and link to App Inventor with something like http://ai2.appinventor.mit.edu/?repo=<myrepo>. Similarly the galleryId value is used to point to an App in the Gallery which should be opened upon login. The locale value determines which language App Inventor should start in. This commit fixes how we handle these values as we move from the client application to the LoginServlet and back to the client application so that they are preserved. Note: A person’s very first login does not preserve these values because the code that displays the terms of service fails to preserve them. This is an old bug that we do not fix here (but can at a later date). Change-Id: I53768cfaadd12175e3c1fe821e58024d984afcfa
-
- 27 Jul, 2016 2 commits
- 26 Jul, 2016 3 commits
-
-
佛跳墙 authored
Change-Id: I371ab03f71bbabae60d9c9d01cab7b975737f875
-
Jeffrey I. Schiller authored
Change-Id: Ie3374ef51d4f16a2916242f691649f0c6bc4f57a
-
Jeffrey I. Schiller authored
-
- 24 Jul, 2016 1 commit
-
-
hal authored
We trigger an “ErrorOccurred” event when we attempt to divide by zero. This can be handled by the App Inventor programmers. If it isn’t handled, a Notification is generated to the end-user. If the numerator is non-zero, +-INTEGER_MAX (2147483647) is returned. If the numerator is 0, then a 0 is returned. Change-Id: Ib323c692528fd331c33fcd64de5caa24c2ff9126
-
- 20 Jul, 2016 3 commits
-
-
Lokhin Cheng authored
Activities must now have an action specified Change-Id: Icafa0edbc3bec4afdb4f4ba12cf68d15f2a6a8a8
-
Jeffrey I. Schiller authored
-
Jeffrey I. Schiller authored
Instead of using App Engine sessions, create our own cookie instead. This cookie contains all of the session state itself, encrypted and mac’d so that the end-user cannot tamper with it. The cookie itself is constructed using Google’s Protobufs code and encrypted with the Keyczar library Change-Id: Icde67c34bd3828a488876f6a1c0800fb86d7e7b2
-
- 17 Jul, 2016 1 commit
-
-
E-H authored
The returned value of the selection index in a ListView is now independent of any filter that is applied. So it is always based on the position in the list that is given ListView to select from. Change-Id: I50bcf8d7ed21dbd06dcbca81fec2a9d631f0b7da
-
- 15 Jul, 2016 1 commit
-
-
Justus authored
You can now load a new version of an extension, provided it has the same package name, over a previous version. Any incompatible block changes between the old and new version will result in the blocks being marked “bad”. The MIT App Inventor programmer then has to do some cleanup, but this is way better then having to delete the old component, which removes all associated blocks. Change-Id: I05ad39e16dcb8ea298091fa01338d5cf6c16c23e
-
- 14 Jul, 2016 2 commits
-
-
Jeffrey I. Schiller authored
Make sure meta data is cleaned up when we attempt to publish an App to the Gallery but fail because it contains an extension (or for whatever reason the upload fails). Change-Id: I3052ea6b5b4195ddac4469f19966df7ba98934af
-
Jeffrey I. Schiller authored
Change-Id: Ie66104df626dc0d1c4329c2a87ad7316695872d8
-
- 13 Jul, 2016 1 commit
-
-
Thomas Oropeza authored
Refers the user of an app that has been reported to the Terms and conditions when deactivating it. Also now it is required to add a description when reporting an app (Makes moderation easier). Change-Id: I59ecfe1bf38c33cf4ab1dcf3c3f17b5ead750fe8
-
- 11 Jul, 2016 1 commit
-
-
Kseniia Shumelchyk authored
Add Scrollable versions of Horizontal and Vertical Arrangements Author: Kseniia Shumelchyk <shumelchyk@gmail.com> Author: Jeffrey I. Schiller <jis@mit.edu> Change-Id: Iddb20dca7835de8dad548dbb8043a600b60f9ded
-
- 10 Jul, 2016 2 commits
-
-
hal authored
Add numbers to the property values shown in the designer dropdowns for aligment, as requested in issue #182 Change-Id: Ia57d2911e2389436b37fe9a8ecb53a007ebca691
-
Lokhin Cheng authored
Fixed the issue where text in comment blocks disappears when the user downloads blocks as images Change-Id: I00339e03fda72d3b563631b536e6391ee05332b5
-
- 01 Jul, 2016 1 commit
-
-
Lokhin Cheng authored
Change-Id: Ie010e3eb2ca7267407681c360d15b750e348f1fd
-