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