diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-08-31 16:17:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-08-31 16:17:04 +0000 |
commit | c39ea3c55fac807c0b98aabdf56c70dc8a49036c (patch) | |
tree | e282668a9587cf6c1ec7b604dea860400c75c6c7 /java/com/android/dialer/callcomposer/CameraComposerFragment.java | |
parent | 68038172793ee0e2ab3e2e56ddfbeb82879d1f58 (diff) | |
parent | 2ca4318cc1ee57dda907ba2069bd61d162b1baef (diff) |
Merge "Update Dialer source to latest internal Google revision."
Diffstat (limited to 'java/com/android/dialer/callcomposer/CameraComposerFragment.java')
-rw-r--r-- | java/com/android/dialer/callcomposer/CameraComposerFragment.java | 44 |
1 files changed, 29 insertions, 15 deletions
diff --git a/java/com/android/dialer/callcomposer/CameraComposerFragment.java b/java/com/android/dialer/callcomposer/CameraComposerFragment.java index f65207fa3..a5c65fd9d 100644 --- a/java/com/android/dialer/callcomposer/CameraComposerFragment.java +++ b/java/com/android/dialer/callcomposer/CameraComposerFragment.java @@ -17,7 +17,6 @@ package com.android.dialer.callcomposer; import android.Manifest; -import android.Manifest.permission; import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.drawable.Animatable; @@ -89,17 +88,17 @@ public class CameraComposerFragment extends CallComposerFragment LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle bundle) { View root = inflater.inflate(R.layout.fragment_camera_composer, container, false); permissionView = root.findViewById(R.id.permission_view); - loading = (ProgressBar) root.findViewById(R.id.loading); - cameraView = (CameraMediaChooserView) root.findViewById(R.id.camera_view); + loading = root.findViewById(R.id.loading); + cameraView = root.findViewById(R.id.camera_view); shutter = cameraView.findViewById(R.id.camera_shutter_visual); - exitFullscreen = (ImageButton) cameraView.findViewById(R.id.camera_exit_fullscreen); - fullscreen = (ImageButton) cameraView.findViewById(R.id.camera_fullscreen); - swapCamera = (ImageButton) cameraView.findViewById(R.id.swap_camera_button); - capture = (ImageButton) cameraView.findViewById(R.id.camera_capture_button); - cancel = (ImageButton) cameraView.findViewById(R.id.camera_cancel_button); - focus = (RenderOverlay) cameraView.findViewById(R.id.focus_visual); - preview = (CameraPreviewHost) cameraView.findViewById(R.id.camera_preview); - previewImageView = (ImageView) root.findViewById(R.id.preview_image_view); + exitFullscreen = cameraView.findViewById(R.id.camera_exit_fullscreen); + fullscreen = cameraView.findViewById(R.id.camera_fullscreen); + swapCamera = cameraView.findViewById(R.id.swap_camera_button); + capture = cameraView.findViewById(R.id.camera_capture_button); + cancel = cameraView.findViewById(R.id.camera_cancel_button); + focus = cameraView.findViewById(R.id.focus_visual); + preview = cameraView.findViewById(R.id.camera_preview); + previewImageView = root.findViewById(R.id.preview_image_view); exitFullscreen.setOnClickListener(this); fullscreen.setOnClickListener(this); @@ -107,11 +106,12 @@ public class CameraComposerFragment extends CallComposerFragment capture.setOnClickListener(this); cancel.setOnClickListener(this); - if (!PermissionsUtil.hasPermission(getContext(), permission.CAMERA)) { + + if (!PermissionsUtil.hasCameraPermissions(getContext())) { LogUtil.i("CameraComposerFragment.onCreateView", "Permission view shown."); Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DISPLAYED); - ImageView permissionImage = (ImageView) permissionView.findViewById(R.id.permission_icon); - TextView permissionText = (TextView) permissionView.findViewById(R.id.permission_text); + ImageView permissionImage = permissionView.findViewById(R.id.permission_icon); + TextView permissionText = permissionView.findViewById(R.id.permission_text); allowPermission = permissionView.findViewById(R.id.allow); allowPermission.setOnClickListener(this); @@ -131,6 +131,9 @@ public class CameraComposerFragment extends CallComposerFragment } private void setupCamera() { + if (!PermissionsUtil.hasCameraPrivacyToastShown(getContext())) { + PermissionsUtil.showCameraPermissionToast(getContext()); + } CameraManager.get().setListener(this); preview.setShown(); CameraManager.get().setRenderOverlay(focus); @@ -323,7 +326,11 @@ public class CameraComposerFragment extends CallComposerFragment /** Updates the state of the buttons and overlays based on the current state of the view */ private void updateViewState() { Assert.isNotNull(cameraView); - Assert.isNotNull(getContext()); + if (isDetached() || getContext() == null) { + LogUtil.i( + "CameraComposerFragment.updateViewState", "Fragment detached, cannot update view state"); + return; + } boolean isCameraAvailable = CameraManager.get().isCameraAvailable(); boolean uriReadyOrProcessing = cameraUri != null || processingUri; @@ -336,6 +343,12 @@ public class CameraComposerFragment extends CallComposerFragment previewImageView.setVisibility(View.GONE); } + if (cameraDirection == CameraInfo.CAMERA_FACING_FRONT) { + swapCamera.setContentDescription(getString(R.string.description_camera_switch_camera_rear)); + } else { + swapCamera.setContentDescription(getString(R.string.description_camera_switch_camera_facing)); + } + if (cameraUri == null && isCameraAvailable) { CameraManager.get().resetPreview(); cancel.setVisibility(View.GONE); @@ -384,6 +397,7 @@ public class CameraComposerFragment extends CallComposerFragment Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_GRANTED); LogUtil.i("CameraComposerFragment.onRequestPermissionsResult", "Permission granted."); permissionView.setVisibility(View.GONE); + PermissionsUtil.setCameraPrivacyToastShown(getContext()); setupCamera(); } else if (requestCode == CAMERA_PERMISSION) { Logger.get(getContext()).logImpression(DialerImpression.Type.CAMERA_PERMISSION_DENIED); |