mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
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
42 lines
1.0 KiB
Plaintext
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>
|