package de.tum.in.tumcampusapp.activities;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import com.google.common.collect.ImmutableList;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import java.util.List;
import de.tum.in.tumcampusapp.auxiliary.Utils;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class JoinRoomScanActivity extends Activity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerView;
@Override
public void onCreate(Bundle state) {
super.onCreate(state);
mScannerView = new ZXingScannerView(this); // Programmatically initialize the scanner view
List<BarcodeFormat> formats = ImmutableList.of(BarcodeFormat.QR_CODE);
mScannerView.setFormats(formats);
// Set the scanner inside the framelayout view as the content view
setContentView(mScannerView);
}
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
mScannerView.startCamera(); // Start camera on resume
}
@Override
public void onPause() {
mScannerView.stopCamera(); // Stop camera on pause
super.onPause();
}
@Override
public void handleResult(Result rawResult) {
// Do something with the result here
Utils.log(rawResult.getText()); // Prints scan results
Utils.log(rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)
Intent data = new Intent();
data.putExtra("name", rawResult.getText());
setResult(RESULT_OK, data);
finish();
}
}