1 /* 2 * Copyright (C) 2015 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.camera.one.v2.autofocus; 18 19 import android.graphics.Rect; 20 import android.hardware.camera2.params.MeteringRectangle; 21 22 import javax.annotation.ParametersAreNonnullByDefault; 23 24 @ParametersAreNonnullByDefault 25 final class GlobalMeteringParameters implements MeteringParameters { 26 /** Zero weight 3A region, to reset regions per API. */ 27 private static final MeteringRectangle[] ZERO_WEIGHT_3A_REGION = new MeteringRectangle[] { 28 new MeteringRectangle(0, 0, 0, 0, 0) 29 }; 30 31 private static class Singleton { 32 private static final GlobalMeteringParameters INSTANCE = new GlobalMeteringParameters(); 33 } 34 create()35 public static MeteringParameters create() { 36 return Singleton.INSTANCE; 37 } 38 39 @Override getAFRegions(Rect cropRegion)40 public MeteringRectangle[] getAFRegions(Rect cropRegion) { 41 return ZERO_WEIGHT_3A_REGION; 42 } 43 44 @Override getAERegions(Rect cropRegion)45 public MeteringRectangle[] getAERegions(Rect cropRegion) { 46 return ZERO_WEIGHT_3A_REGION; 47 } 48 } 49