Camera: fix typo in jniThrowException

Test: new unit test pass
Bug: 117234442
Change-Id: I0be699a84c9fb19875c80cb9d30b39a8e27efc9b
This commit is contained in:
Yin-Chia Yeh
2018-11-27 14:23:40 -08:00
parent cd80ab8319
commit 92843954e0
2 changed files with 47 additions and 3 deletions

View File

@@ -514,14 +514,14 @@ static jint LegacyCameraDevice_nativeDetectSurfaceUsageFlags(JNIEnv* env, jobjec
sp<ANativeWindow> anw;
if ((anw = getNativeWindow(env, surface)) == NULL) {
jniThrowException(env, "java/lang/UnsupportedOperationException;",
jniThrowException(env, "java/lang/UnsupportedOperationException",
"Could not retrieve native window from surface.");
return BAD_VALUE;
}
int32_t usage = 0;
status_t err = anw->query(anw.get(), NATIVE_WINDOW_CONSUMER_USAGE_BITS, &usage);
if(err != NO_ERROR) {
jniThrowException(env, "java/lang/UnsupportedOperationException;",
jniThrowException(env, "java/lang/UnsupportedOperationException",
"Error while querying surface usage bits");
OVERRIDE_SURFACE_ERROR(err);
return err;
@@ -542,7 +542,7 @@ static jint LegacyCameraDevice_nativeDisconnectSurface(JNIEnv* env, jobject thiz
status_t err = native_window_api_disconnect(anw.get(), NATIVE_WINDOW_API_CAMERA);
if(err != NO_ERROR) {
jniThrowException(env, "java/lang/UnsupportedOperationException;",
jniThrowException(env, "java/lang/UnsupportedOperationException",
"Error while disconnecting surface");
OVERRIDE_SURFACE_ERROR(err);
return err;

View File

@@ -0,0 +1,44 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.mediaframeworktest.unit;
import android.graphics.ImageFormat;
import android.hardware.camera2.utils.SurfaceUtils;
import android.media.ImageReader;
import android.test.suitebuilder.annotation.SmallTest;
import android.view.Surface;
import junit.framework.Assert;
public class SurfaceUtilsTest extends junit.framework.TestCase {
@SmallTest
public void testInvalidSurfaceException() {
ImageReader reader = ImageReader.newInstance(640, 480, ImageFormat.YUV_420_888, 1);
Surface surface = reader.getSurface();
surface.release();
try {
SurfaceUtils.isFlexibleConsumer(surface);
Assert.fail("unreachable");
} catch (UnsupportedOperationException e) {
// expected
}
reader.close();
}
}