12c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer/* 22c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * Copyright (C) 2016 The Android Open Source Project 32c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * 42c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * Licensed under the Apache License, Version 2.0 (the "License"); 52c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * you may not use this file except in compliance with the License. 62c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * You may obtain a copy of the License at 72c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * 82c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * http://www.apache.org/licenses/LICENSE-2.0 92c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * 102c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * Unless required by applicable law or agreed to in writing, software 112c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * distributed under the License is distributed on an "AS IS" BASIS, 122c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 132c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * See the License for the specific language governing permissions and 142c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * limitations under the License. 152c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer */ 162c9394097967d01f79f76148bbaebed5324a529fRakesh Iyerpackage com.android.car.apps.common; 172c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 182c9394097967d01f79f76148bbaebed5324a529fRakesh Iyerimport android.content.res.Resources; 192c9394097967d01f79f76148bbaebed5324a529fRakesh Iyerimport android.graphics.Bitmap; 202c9394097967d01f79f76148bbaebed5324a529fRakesh Iyerimport android.graphics.drawable.BitmapDrawable; 212c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 222c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer/** 232c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * RefcountBitmapDrawable class 242c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * @hide 252c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer */ 262c9394097967d01f79f76148bbaebed5324a529fRakesh Iyerpublic class RefcountBitmapDrawable extends BitmapDrawable { 272c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 282c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer private RefcountObject<Bitmap> mRefcountObject; 292c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 302c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer /** 312c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * create initial drawable, this will not increase the refcount 322c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer */ 332c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer public RefcountBitmapDrawable(Resources res, RefcountObject<Bitmap> bitmap) { 342c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer super(res, bitmap.getObject()); 352c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer mRefcountObject = bitmap; 362c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer } 372c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 382c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer /** 392c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer * create the drawable from existing drawable, will not increase refcount 402c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer */ 412c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer public RefcountBitmapDrawable(Resources res, RefcountBitmapDrawable drawable) { 422c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer this(res, drawable.getRefcountObject()); 432c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer } 442c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer 452c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer public RefcountObject<Bitmap> getRefcountObject() { 462c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer return mRefcountObject; 472c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer } 482c9394097967d01f79f76148bbaebed5324a529fRakesh Iyer} 49