title: $apply already in progress error
body: <p>Stack trace:</p>
  
  <pre><code>Error: $apply already in progress
  at Error (&lt;anonymous&gt;)
  at beginPhase (file:///android_asset/www/built.min.js:7:22740)
  at Object.Scope.$apply (file:///android_asset/www/built.min.js:7:25967)
  at navigator.geolocation.getCurrentPosition.that (file:///android_asset/www/built.min.js:13:8670)
  at Object.geolocation.getCurrentPosition (file:///android_asset/www/plugins/org.apache.cordova.core.geolocation/www/geolocation.js:122:13)
  at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8589)
  at Object.getCurrentPosition (file:///android_asset/www/built.min.js:13:8277)
  at Object.getCurrentCity (file:///android_asset/www/built.min.js:13:8941)
  at Object.$scope.locateDevice (file:///android_asset/www/built.min.js:13:10480)
  at file:///android_asset/www/built.min.js:7:12292:7
  </code></pre>
  
  <p>refers to this code <a href="http://pastebin.com/B9V6yvFu">http://pastebin.com/B9V6yvFu</a></p>
  
  <pre><code>    getCurrentPosition: cordovaReady(function (onSuccess, onError, options) {
  
          navigator.geolocation.getCurrentPosition(function () {
              var that = this,
                  args = arguments;
  
              if (onSuccess) {
                  $rootScope.$apply(function () {
                      onSuccess.apply(that, args);
                  });
              }
          }, function () {
              var that = this,
                  args = arguments;
              if (onError) {
                  $rootScope.$apply(function () {
                      onError.apply(that, args);
                  });
              }
          }, {
              enableHighAccuracy: true,
              timeout: 20000,
              maximumAge: 18000000
          });
      })
  </code></pre>
  
  <p>Strange thing, on my LG4X it works fine, however on my samsung s2 it throws the above error. Any ideas whats wrong?</p>