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