int maxMemoryMB = activity.getServices().getMemoryManager()
.getMaxAllowedNativeMemoryAllocation();
if (cameraManager != null && isCamera2Supported(cameraManager)) {
- return new com.android.camera.one.v2.OneCameraManagerImpl(cameraManager, maxMemoryMB,
+ return new com.android.camera.one.v2.OneCameraManagerImpl(
+ activity.getApplicationContext(), cameraManager, maxMemoryMB,
displayMetrics, activity.getSoundPlayer());
} else {
return new com.android.camera.one.v1.OneCameraManagerImpl();
package com.android.camera.one.v2;
+import android.content.Context;
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraDevice;
*/
public class OneCameraManagerImpl extends OneCameraManager {
private static final Tag TAG = new Tag("OneCameraMgrImpl2");
+
+ private final Context mContext;
private final CameraManager mCameraManager;
private final int mMaxMemoryMB;
private final DisplayMetrics mDisplayMetrics;
* @param maxMemoryMB maximum amount of memory opened cameras should consume
* during capture and processing, in megabytes.
*/
- public OneCameraManagerImpl(CameraManager cameraManager, int maxMemoryMB,
+ public OneCameraManagerImpl(Context context, CameraManager cameraManager, int maxMemoryMB,
DisplayMetrics displayMetrics, SoundPlayer soundPlayer) {
+ mContext = context;
mCameraManager = cameraManager;
mMaxMemoryMB = maxMemoryMB;
mDisplayMetrics = displayMetrics;
CameraCharacteristics characteristics = mCameraManager
.getCameraCharacteristics(device.getId());
// TODO: Set boolean based on whether HDR+ is enabled.
- OneCamera oneCamera = OneCameraCreator.create(useHdr, device,
+ OneCamera oneCamera = OneCameraCreator.create(mContext, useHdr, device,
characteristics, pictureSize, mMaxMemoryMB, mDisplayMetrics,
mSoundPlayer);
openCallback.onCameraOpened(oneCamera);
package com.android.camera.one.v2;
+import android.content.Context;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraDevice;
import android.util.DisplayMetrics;
import com.android.camera.util.Size;
public class OneCameraCreator {
- public static OneCamera create(boolean useHdr, CameraDevice device,
+ public static OneCamera create(Context context, boolean useHdr, CameraDevice device,
CameraCharacteristics characteristics, Size pictureSize, int maxMemoryMB,
DisplayMetrics displayMetrics, SoundPlayer soundPlayer) {
// TODO: Might want to switch current camera to vendor HDR.