|
@@ -173,10 +173,11 @@ public class RecorderService extends Service {
|
173
|
173
|
|
174
|
174
|
manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
|
175
|
175
|
handler.postDelayed(registerRunnable, 1000);
|
|
176
|
+
|
|
177
|
+ wl.acquire();
|
176
|
178
|
}
|
177
|
179
|
|
178
|
180
|
void register() {
|
179
|
|
- wl.acquire();
|
180
|
181
|
Log.i(getClass().getName(), "Registering");
|
181
|
182
|
nextSample = 0;
|
182
|
183
|
manager.registerListener(accelListener,
|
|
@@ -188,19 +189,22 @@ public class RecorderService extends Service {
|
188
|
189
|
|
189
|
190
|
void unregister() {
|
190
|
191
|
manager.unregisterListener(accelListener);
|
191
|
|
- wl.release();
|
192
|
192
|
}
|
193
|
193
|
|
194
|
194
|
@Override
|
195
|
195
|
public void onDestroy() {
|
196
|
196
|
super.onDestroy();
|
197
|
|
-
|
198
|
|
- running = false;
|
199
|
197
|
|
200
|
|
- handler.removeCallbacks(sampleRunnable);
|
201
|
|
- handler.removeCallbacks(registerRunnable);
|
202
|
|
-
|
203
|
|
- unregister();
|
|
198
|
+ if (running) {
|
|
199
|
+ running = false;
|
|
200
|
+
|
|
201
|
+ handler.removeCallbacks(sampleRunnable);
|
|
202
|
+ handler.removeCallbacks(registerRunnable);
|
|
203
|
+
|
|
204
|
+ unregister();
|
|
205
|
+
|
|
206
|
+ wl.release();
|
|
207
|
+ }
|
204
|
208
|
}
|
205
|
209
|
|
206
|
210
|
}
|