Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.15 KB | None | 0 0
  1. package com.nomtek.activities;
  2.  
  3. import android.content.pm.ActivityInfo;
  4. import android.content.res.Configuration;
  5. import android.os.Bundle;
  6. import android.support.design.widget.FloatingActionButton;
  7. import android.support.v7.app.AppCompatActivity;
  8. import android.view.KeyEvent;
  9. import android.view.Menu;
  10. import android.view.MenuItem;
  11. import android.view.View;
  12.  
  13. import com.journeyapps.barcodescanner.CaptureManager;
  14. import com.journeyapps.barcodescanner.CompoundBarcodeView;
  15.  
  16. /**
  17.  * Created by matyj on 03.02.2016.
  18.  */
  19. public class ToolbarCaptureActivity extends AppCompatActivity {
  20.     private CompoundBarcodeView barcodeScannerView;
  21.     private CaptureManager captureManager;
  22.  
  23.     @Override
  24.     protected void onCreate(Bundle savedInstanceState) {
  25.         super.onCreate(savedInstanceState);
  26.         setContentView(R.layout.capture_appcompat);
  27.         FloatingActionButton rotateBarcodeScanner = (FloatingActionButton) findViewById(R.id.rotate_scanner);
  28.         rotateBarcodeScanner.setOnClickListener(new View.OnClickListener() {
  29.             @Override
  30.             public void onClick(View v) {
  31.                 rotateScreen();
  32.             }
  33.         });
  34.         barcodeScannerView = (CompoundBarcodeView)findViewById(R.id.scanner);
  35.         captureManager = new CaptureManager(this, barcodeScannerView);
  36.         captureManager.initializeFromIntent(getIntent(), savedInstanceState);
  37.         captureManager.decode();
  38.     }
  39.  
  40.     @Override
  41.     protected void onResume() {
  42.         super.onResume();
  43.         captureManager.onResume();
  44.     }
  45.  
  46.     @Override
  47.     protected void onPause() {
  48.         super.onPause();
  49.         captureManager.onPause();
  50.     }
  51.  
  52.     @Override
  53.     protected void onDestroy() {
  54.         super.onDestroy();
  55.         captureManager.onDestroy();
  56.     }
  57.  
  58.     @Override
  59.     protected void onSaveInstanceState(Bundle outState) {
  60.         super.onSaveInstanceState(outState);
  61.         captureManager.onSaveInstanceState(outState);
  62.     }
  63.  
  64.     @Override
  65.     public boolean onKeyDown(int keyCode, KeyEvent event) {
  66.         return barcodeScannerView.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event);
  67.     }
  68.  
  69.     @Override
  70.     public boolean onCreateOptionsMenu(Menu menu) {
  71.        getMenuInflater().inflate(R.menu.menu_barcode_scanner, menu);
  72.         return true;
  73.     }
  74.  
  75.     @Override
  76.     public boolean onOptionsItemSelected(MenuItem item) {
  77.         if (item.getItemId() == R.id.rotate_button){
  78.             rotateScreen();
  79.         }
  80.         return true;
  81.     }
  82.  
  83.     private void rotateScreen(){
  84.         final int orientation = getResources().getConfiguration().orientation;
  85.         switch(orientation) {
  86.             case Configuration.ORIENTATION_PORTRAIT:
  87.                 barcodeScannerView.pause();
  88.                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  89.                 barcodeScannerView.resume();
  90.                 break;
  91.             case Configuration.ORIENTATION_LANDSCAPE:
  92.                 barcodeScannerView.pause();
  93.                 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  94.                 barcodeScannerView.resume();
  95.                 break;
  96.         }
  97.     }
  98. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement