Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(467)

Unified Diff: sky/framework/debug/shake-to-reload.sky

Issue 963303004: Implement shake-to-reload (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/examples/touch-demo.sky ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/framework/debug/shake-to-reload.sky
diff --git a/sky/framework/debug/shake-to-reload.sky b/sky/framework/debug/shake-to-reload.sky
new file mode 100644
index 0000000000000000000000000000000000000000..1d5d8029b8c89c2bbf9858d45a58fda429996227
--- /dev/null
+++ b/sky/framework/debug/shake-to-reload.sky
@@ -0,0 +1,43 @@
+<script>
+import '/sky/framework/shell.dart' as shell;
+import 'dart:sky';
+import 'package:sky/services/sensors/sensors.mojom.dart';
+
+// TODO(abarth): We should factor this out into a kinemetics library.
eseidel 2015/02/27 23:29:53 kinematics
+class _ShakeDetector extends SensorListener {
+ _ShakeDetector() {
+ SensorServiceProxy sensorService = new SensorServiceProxy.unbound();
+ shell.requestService(sensorService);
+
+ _stub = new SensorListenerStub.unbound()
+ ..delegate = this;
+ sensorService.ptr.addListener(SensorType_ACCELEROMETER, _stub);
+ _stub.listen();
+ }
+
+ 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>
« no previous file with comments | « sky/examples/touch-demo.sky ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698