flutter_flutter/sdk/lib/framework/debug/shake-to-reload.sky
John McCutchan b017dfd995 Rationalize Dart mojo and sky package structure.
NOTE: This CL appears far larger than it actually is for two reasons:

1) Many files were moved around to use the Dart package directory structure.
2) Many .dart files had to have import paths updated.

- Organize mojo/public/dart so that it uses standard Dart package layout
- Organize mojo/dart/apptest so that it uses a standard Dart package layout
- Organize sky/sdk so that it uses a standard Dart package layout
- Create a mojo/testing package (used by unittests)
- Introduce the 'dart_pkg' gn rule which populates gen/Config/dart-pkg
- All internally vended Dart packages must have a corresponding dart_pkg rule
- It is now possible to use dependency_overrides: in pubspec.yaml to mix internal and external package dependencies (enables analyzer, editor, webstorm usage for internal developers).
- Package root for dart content handler ends with "packages/"
- Imports of mojo package uris no longer need the "public/dart"
- mojo/public/tools/dart_package.py is a clone of mojo/public/tools/gn/zip.py
- Sky tests no longer run 'deploy_sdk' script.

R=eseidel@chromium.org

Review URL: https://codereview.chromium.org/1132063007
2015-05-18 14:41:39 -07:00

42 lines
1.0 KiB
Plaintext

<script>
import 'dart:sky';
import 'package:mojom/sensors/sensors.mojom.dart';
import 'package:sky/framework/shell.dart' as shell;
// TODO(abarth): We should factor this out into a kinematics library.
class _ShakeDetector implements SensorListener {
_ShakeDetector() {
SensorServiceProxy sensorService = new SensorServiceProxy.unbound();
shell.requestService("mojo:sensors", sensorService);
_stub = new SensorListenerStub.unbound()..impl = this;
sensorService.ptr.addListener(SensorType_ACCELEROMETER, _stub);
}
void onAccuracyChanged(int accuracy) {
}
void onSensorChanged(SensorData data) {
double value = data.values[0] + data.values[1] + data.values[2];
if (isShaking && value < 15.0)
didCompleteShake();
else if (value > 40.0)
isShaking = true;
}
void didCompleteShake() {
window.location.assign(document.URL);
_stub.close();
}
bool isShaking = false;
SensorListenerStub _stub;
}
_ShakeDetector _detector;
void _init(_) {
_detector = new _ShakeDetector();
}
</script>