1. 23 Mar, 2019 6 commits
    • Jeffrey Schiller's avatar
      Simplify the WebRTC Poller · 9d378ff6
      Jeffrey Schiller authored
      Eliminate the single threaded executor because it is not needed. Instead
      use Timer.scheduleAtFixedRate() to trigger the Poller once per
      second. This approach is more correct and simpler.
      
      Also, ignore an empty response from the Rendezvous server (which means
      that it hasn’t received any ICE Candidates from the browser
      yet). Previously we attempted to JSON parse it and threw an
      exception (which was logged and ignored).
      
      Change-Id: If0bc95c754a3fd052ac32cfa966fcbcfe658f55d
      9d378ff6
    • Susan Rati Lane's avatar
      Implement toggle switch control · c0cabd21
      Susan Rati Lane authored
      This is a toggle switch component. Functionally, it behaves the same as a checkbox: the ON state is equivalent to checked.
      
      Since iOS does not have a checkbox and only offers toggle switches, this component paves the way for an on/off component that is shared by both Android and iOS.
      
      The toggle switch is a 2-color control, which means that there are 4 configurable colors, 2 for on and 2 for off.
      c0cabd21
    • Colin Yang's avatar
      Add DrawShape & DrawArc into Canvas component · 95398173
      Colin Yang authored
      Allow drawing shapes (made up with lines) and arcs (or sectors)
      95398173
    • Jeffrey I. Schiller's avatar
      De-Bounce the “Connect with Code” Button · a8a4e4d1
      Jeffrey I. Schiller authored
      De-Bounce the “Connect with Code” Button in the MIT AI2 Companion
      
      The Companion's design is to setup communications with the user's
      browser and get to work. Once this process starts, enough things are in
      motion that it is best to quit the Companion and start a fresh copy if a
      different code is needed.
      
      If the same code is entered more then once, we just ignore the second
      attempt. This often happens when someone scans a QR Code and then
      presses the "Connect" Button because they do not know that they don't
      have to do that. Effectively we are "de-bouncing"
      
      Change-Id: I06b20c5d9cdb07999a380d9f877edd111e0357c5
      a8a4e4d1
    • jerry73204's avatar
      Use built-in (rejection algorithm) random sampling · f2c21102
      jerry73204 authored
      The original method, uniform integer modulo 100000, is biased in
      distribution. Now it's replaced by built-in sampling method.
      
      Java 7 API has comments on random.nextInt(int n):
      https://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextInt(int)
      f2c21102
    • Evaldas Latoškinas's avatar
  2. 07 Mar, 2019 4 commits
  3. 06 Mar, 2019 2 commits
  4. 05 Mar, 2019 2 commits
  5. 04 Mar, 2019 2 commits
  6. 03 Mar, 2019 1 commit
  7. 01 Mar, 2019 3 commits
  8. 26 Feb, 2019 3 commits
  9. 22 Feb, 2019 2 commits
  10. 21 Feb, 2019 1 commit
  11. 19 Feb, 2019 1 commit
  12. 15 Feb, 2019 4 commits
  13. 08 Feb, 2019 1 commit
    • Jeffrey I. Schiller's avatar
      Limit Certain Permissions · 30f86098
      Jeffrey I. Schiller authored
      Google has defined a set of permissions that they consider “dangerous”
      and can only be used in an application under certain specific
      circumstances and then only with special permission from Google. This is
      enforced when an application is submitted to the Google Play Store, not
      on a device.
      
      This change causes these permissions to not be included in the MIT AI2
      Companion. However it is controlled by the “limitPermissions()” flag in
      the AppInventor features module. Change the return value to “false” to
      give the Companion these permissions.
      
      Change-Id: I0fa3b2e928e7aa53c70cd339f50ed11008fe1876
      30f86098
  14. 07 Feb, 2019 2 commits
  15. 04 Feb, 2019 1 commit
  16. 28 Jan, 2019 1 commit
  17. 25 Jan, 2019 2 commits
    • Evan W. Patton's avatar
      Implement default event handlers for GotFeatures and LoadError · 9c6edf75
      Evan W. Patton authored
      Until now, app developers needed to define event handlers for
      GotFeatures and LoadError to process map features being loaded
      dynamically onto a map. This is not intuitive for beginners. This
      change makes it so that if an event handler isn't defined, we will do
      basic handling of these events. App developers may still override the
      default behavior by defining their own event handling.
      
      Change-Id: Iaeb972e28aee51abc5957c84e8d499710b343b41
      9c6edf75
    • Evan W. Patton's avatar
      Implement conditional permissions for Texting and PhoneCall (#1506) · e94ed0b8
      Evan W. Patton authored
      * Implement conditional permissions for Texting and PhoneCall
      
      Change-Id: Id4b526eb0ebd83d9b811c137f6628e503333db84
      e94ed0b8
  18. 23 Jan, 2019 2 commits
    • Evan W. Patton's avatar
      Fix mapview invalidation when Marker visibility changed · 0e3f0ac5
      Evan W. Patton authored
      Change-Id: Iea7872a0896e39c30353cd89d950c6d3779370bf
      0e3f0ac5
    • Jeffrey Schiller's avatar
      Create a Connection Progress Bar (#1534) · 302f30fc
      Jeffrey Schiller authored
      WebRTC Connections can take a while to negotiate. This change gives the
      user some feedback while negotiation is taking place.
      
      We remove the ProgressBarDialog functionality from AssetManager and
      place it in a new module which is called from AssetManager and from
      replmgr.js. This permits us to put up the progress dialog at connection
      attempt time instead of at asset download time.
      
      Change-Id: I28772eb92a49b8ed2aa9af9ab84b1ea10d915bcc
      302f30fc