/* * Copyright (C) 2006 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.internal.telephony.cat; /** * {@hide} */ public class ImageDescriptor { // members int mWidth; int mHeight; int mCodingScheme; int mImageId; int mHighOffset; int mLowOffset; int mLength; // constants static final int CODING_SCHEME_BASIC = 0x11; static final int CODING_SCHEME_COLOUR = 0x21; // public static final int ID_LENGTH = 9; // ID_LENGTH substituted by IccFileHandlerBase.GET_RESPONSE_EF_IMG_SIZE_BYTES ImageDescriptor() { mWidth = 0; mHeight = 0; mCodingScheme = 0; mImageId = 0; mHighOffset = 0; mLowOffset = 0; mLength = 0; } /** * Extract descriptor information about image instance. * * @param rawData * @param valueIndex * @return ImageDescriptor */ static ImageDescriptor parse(byte[] rawData, int valueIndex) { ImageDescriptor d = new ImageDescriptor(); try { d.mWidth = rawData[valueIndex++] & 0xff; d.mHeight = rawData[valueIndex++] & 0xff; d.mCodingScheme = rawData[valueIndex++] & 0xff; // parse image id d.mImageId = (rawData[valueIndex++] & 0xff) << 8; d.mImageId |= rawData[valueIndex++] & 0xff; // parse offset d.mHighOffset = (rawData[valueIndex++] & 0xff); // high byte offset d.mLowOffset = rawData[valueIndex++] & 0xff; // low byte offset d.mLength = ((rawData[valueIndex++] & 0xff) << 8 | (rawData[valueIndex++] & 0xff)); CatLog.d("ImageDescriptor", "parse; Descriptor : " + d.mWidth + ", " + d.mHeight + ", " + d.mCodingScheme + ", 0x" + Integer.toHexString(d.mImageId) + ", " + d.mHighOffset + ", " + d.mLowOffset + ", " + d.mLength); } catch (IndexOutOfBoundsException e) { CatLog.d("ImageDescriptor", "parse; failed parsing image descriptor"); d = null; } return d; } }