155e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen/* 255e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * Copyright (C) 2016 The Android Open Source Project 355e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * 455e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * Licensed under the Apache License, Version 2.0 (the "License"); 555e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * you may not use this file except in compliance with the License. 655e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * You may obtain a copy of the License at 755e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * 855e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * http://www.apache.org/licenses/LICENSE-2.0 955e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * 1055e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * Unless required by applicable law or agreed to in writing, software 1155e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * distributed under the License is distributed on an "AS IS" BASIS, 1255e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1355e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * See the License for the specific language governing permissions and 1455e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * limitations under the License. 1555e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen */ 1655e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 1755e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chenpackage com.android.systemui.statusbar; 1855e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 1955e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chenimport android.graphics.drawable.Drawable; 2055e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chenimport android.graphics.drawable.DrawableWrapper; 2155e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 2255e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen/** 2355e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * An extension of {@link DrawableWrapper} that will take a given Drawable and scale it by 2455e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen * the given factor. 2555e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen */ 2655e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chenclass ScalingDrawableWrapper extends DrawableWrapper { 2755e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen private float mScaleFactor; 2855e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 2955e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen public ScalingDrawableWrapper(Drawable drawable, float scaleFactor) { 3055e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen super(drawable); 3155e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen mScaleFactor = scaleFactor; 3255e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen } 3355e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 3455e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen @Override 3555e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen public int getIntrinsicWidth() { 3655e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen return (int) (super.getIntrinsicWidth() * mScaleFactor); 3755e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen } 3855e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen 3955e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen @Override 4055e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen public int getIntrinsicHeight() { 4155e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen return (int) (super.getIntrinsicHeight() * mScaleFactor); 4255e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen } 4355e8e1ee604475b05c96934a4c53688504d1b9c5Anthony Chen} 44