private void stopSnapping() { Log.d(LOG_TAG, "stopSnapping"); isSnapping = false; mFlightDuraChrono.stop(); mDurationOfFlight = SystemClock.elapsedRealtime() - mFlightDuraChrono.getBase(); if (mCamera != null) { mCamera.release(); mCamera = null; } mSnapDisbatcher.stopDisbatching(); mDirectionListener.stopListening(); Intent resultIntent = new Intent(); resultIntent.putExtra(mRes.getString(R.string.intent_extra_flight_duration), mDurationOfFlight); resultIntent.putExtra(mRes.getString(R.string.intent_extra_snap_count), mNumberOfSnapsTaken); setResult(RESULT_OK, resultIntent); finish(); }