1627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert/* 2627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Copyright (C) 2010 The Android Open Source Project 3627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * 4627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Licensed under the Apache License, Version 2.0 (the "License"); 5627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * you may not use this file except in compliance with the License. 6627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * You may obtain a copy of the License at 7627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * 8627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * http://www.apache.org/licenses/LICENSE-2.0 9627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * 10627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * Unless required by applicable law or agreed to in writing, software 11627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * distributed under the License is distributed on an "AS IS" BASIS, 12627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * See the License for the specific language governing permissions and 14627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert * limitations under the License. 15627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert */ 16627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 17627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertpackage android.graphics; 18627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 19627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport android.os.ParcelFileDescriptor; 20627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport android.test.suitebuilder.annotation.SmallTest; 21627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 22627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport java.io.ByteArrayOutputStream; 23627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport java.io.FileDescriptor; 24627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 25627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertimport junit.framework.TestCase; 26627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 27627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 28627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringertpublic class BitmapFactoryTest extends TestCase { 29627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 30627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert // tests that we can decode bitmaps from MemoryFiles 31627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert @SmallTest 32627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert public void testBitmapParcelFileDescriptor() throws Exception { 33627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert Bitmap bitmap1 = Bitmap.createBitmap( 34627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert new int[] { Color.BLUE }, 1, 1, Bitmap.Config.RGB_565); 35627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert ByteArrayOutputStream out = new ByteArrayOutputStream(); 36627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert bitmap1.compress(Bitmap.CompressFormat.PNG, 100, out); 37627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert ParcelFileDescriptor pfd = ParcelFileDescriptor.fromData(out.toByteArray(), null); 38627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert FileDescriptor fd = pfd.getFileDescriptor(); 39627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert assertNotNull("Got null FileDescriptor", fd); 40627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert assertTrue("Got invalid FileDescriptor", fd.valid()); 41627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert Bitmap bitmap = BitmapFactory.decodeFileDescriptor(fd); 42627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert assertNotNull("BitmapFactory returned null", bitmap); 43627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert assertEquals("Bitmap width", 1, bitmap.getWidth()); 44627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert assertEquals("Bitmap height", 1, bitmap.getHeight()); 45627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert } 46627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert 47627dc6e7310bb8f6435b625f86c9f0ceeb3b0920Bjorn Bringert} 48