Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.arturs.cameraappzoom;
- import android.Manifest;
- import android.app.Activity;
- import android.content.Intent;
- import android.content.pm.PackageManager;
- import android.os.Bundle;
- import android.support.annotation.NonNull;
- import android.support.design.widget.Snackbar;
- import android.support.v4.app.ActivityCompat;
- import android.util.Log;
- import android.view.View;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- import android.widget.TextView;
- import com.example.arturs.cameraappzoom.constant.ZoomSupportIssues;
- import com.example.arturs.cameraappzoom.listener.ZoomListener;
- public class MainActivity extends Activity implements ZoomListener, View.OnClickListener {
- private static final String TAG = MainActivity.class.getSimpleName();
- private static final int PERMISSION_REQUEST_CODE = 32 << 4;
- private Button zoomIn;
- private Button zoomOut;
- private Button cameraSwitch;
- private TextView mCameraStatusTv;
- private CameraView cameraPreview;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE); //brak tytułu w oknie
- setContentView(R.layout.activity_main);
- //mCameraStatusTv = (TextView) findViewById(R.id.camera_status);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- zoomIn = (Button) findViewById(R.id.btnZoomIn);
- zoomIn.setOnClickListener(this);
- zoomOut = (Button) findViewById(R.id.btnZoomOut);
- zoomOut.setOnClickListener(this);
- //cameraSwitch.setOnClickListener(R.id.b);
- cameraPreview = (CameraView) findViewById(R.id.custom_preview);
- cameraPreview.setTestResultListener(this);
- }
- @Override
- public void onZoomSupported() {
- //setCamStatsTxt(getString(R.string.camera_zoom_supported));
- }
- @Override
- public void onZoomNotSupported(ZoomSupportIssues reason) {
- switch (reason) {
- case NO_CAMERA:
- setCamStatsTxt(getString(R.string.camera_not_supported));
- break;
- case NO_PERMISSION:
- setCamStatsTxt(getString(R.string.no_cam_permission));
- requestPermissionWithRationale();
- break;
- case NOT_SUPPORTED:
- setCamStatsTxt(getString(R.string.camera_zoom_not_supported));
- break;
- }
- }
- private void setCamStatsTxt(final String status) {
- mCameraStatusTv.setText(status);
- mCameraStatusTv.setVisibility(View.VISIBLE);
- Log.i(TAG, status);
- }
- //Check if permission granted
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- if (requestCode == PERMISSION_REQUEST_CODE) {
- if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
- //notify library that permission had been granted
- cameraPreview.initCamera();
- } else {
- //showNoCameraPermissionSnackbar();
- }
- return;
- }
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- }
- // Make an attempt to request camera when getting back to this activity
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == PERMISSION_REQUEST_CODE) {
- //notify library that permission had been granted
- cameraPreview.initCamera();
- return;
- }
- super.onActivityResult(requestCode, resultCode, data);
- }
- // request permsission for camera
- public void requestCameraPermission() {
- ActivityCompat.requestPermissions(this,
- new String[]{
- Manifest.permission.CAMERA
- },
- PERMISSION_REQUEST_CODE);
- }
- public void requestPermissionWithRationale() {
- if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
- Snackbar.make(findViewById(android.R.id.content), R.string.no_cam_permission, Snackbar.LENGTH_INDEFINITE)
- .setAction(R.string.snackbar_action_grant, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- requestCameraPermission();
- }
- })
- .show();
- } else {
- requestCameraPermission();
- }
- }
- /*public void showNoCameraPermissionSnackbar() {
- Snackbar.make(findViewById(android.R.id.content), R.string.permission_not_granted, Snackbar.LENGTH_INDEFINITE)
- .setAction(R.string.snackbar_action_settings, new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- openAppSettings();
- Toast.makeText(getApplicationContext(), R.string.open_permission, Toast.LENGTH_SHORT).show();
- }
- })
- .show();
- }*/
- /*public void openAppSettings() {
- Intent appSettingsIntent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
- Uri.parse("package:" + getPackageName()));
- startActivityForResult(appSettingsIntent, PERMISSION_REQUEST_CODE);
- }
- */
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.btnZoomIn:
- cameraPreview.zoomIn();
- break;
- case R.id.btnZoomOut:
- cameraPreview.zoomOut();
- break;
- case R.id.btnCameraSwitch:
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement