Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d80adb7e authored by Fabian Kozynski's avatar Fabian Kozynski Committed by Android (Google) Code Review
Browse files

Merge "Update resources on views in QSFooterImpl" into main

parents d6027dae 21cb6875
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
<com.android.systemui.qs.QSFooterView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/qs_footer"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_height="@dimen/qs_footer_height"
    android:layout_marginStart="@dimen/qs_footer_margin"
    android:layout_marginEnd="@dimen/qs_footer_margin"
    android:layout_marginBottom="@dimen/qs_footers_margin_bottom"
@@ -31,7 +31,7 @@

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="@dimen/qs_footer_height"
            android:layout_height="match_parent"
            android:layout_gravity="center_vertical">

            <TextView
+33 −3
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@ import static com.android.systemui.qs.PageIndicator.PageScrollActionListener.RIG

import android.content.Context;
import android.content.res.ColorStateList;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.drawable.Animatable2;
@@ -41,9 +42,9 @@ public class PageIndicator extends ViewGroup {

    private final ArrayList<Integer> mQueuedPositions = new ArrayList<>();

    private final int mPageIndicatorWidth;
    private final int mPageIndicatorHeight;
    private final int mPageDotWidth;
    private int mPageIndicatorWidth;
    private int mPageIndicatorHeight;
    private int mPageDotWidth;
    private @NonNull ColorStateList mTint;

    private int mPosition = -1;
@@ -93,6 +94,35 @@ public class PageIndicator extends ViewGroup {
        });
    }

    @Override
    protected void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        updateResources();
    }

    private void updateResources() {
        Resources res = getResources();
        boolean changed = false;
        int pageIndicatorWidth = res.getDimensionPixelSize(R.dimen.qs_page_indicator_width);
        if (pageIndicatorWidth != mPageIndicatorWidth) {
            mPageIndicatorWidth = pageIndicatorWidth;
            changed = true;
        }
        int pageIndicatorHeight = res.getDimensionPixelSize(R.dimen.qs_page_indicator_height);
        if (pageIndicatorHeight != mPageIndicatorHeight) {
            mPageIndicatorHeight = pageIndicatorHeight;
            changed = true;
        }
        int pageIndicatorDotWidth = res.getDimensionPixelSize(R.dimen.qs_page_indicator_dot_width);
        if (pageIndicatorDotWidth != mPageDotWidth) {
            mPageDotWidth = pageIndicatorDotWidth;
            changed = true;
        }
        if (changed) {
            invalidate();
        }
    }

    public void setNumPages(int numPages) {
        setVisibility(numPages > 1 ? View.VISIBLE : View.GONE);
        if (numPages == getChildCount()) {
+21 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

import com.android.settingslib.development.DevelopmentSettingsEnabler;
import com.android.systemui.FontSizeUtils;
import com.android.systemui.res.R;

/**
@@ -109,11 +110,31 @@ public class QSFooterView extends FrameLayout {

    private void updateResources() {
        updateFooterAnimator();
        updateEditButtonResources();
        updateBuildTextResources();
        MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
        lp.height = getResources().getDimensionPixelSize(R.dimen.qs_footer_height);
        int sideMargin = getResources().getDimensionPixelSize(R.dimen.qs_footer_margin);
        lp.leftMargin = sideMargin;
        lp.rightMargin = sideMargin;
        lp.bottomMargin = getResources().getDimensionPixelSize(R.dimen.qs_footers_margin_bottom);
        setLayoutParams(lp);
    }

    private void updateEditButtonResources() {
        int size = getResources().getDimensionPixelSize(R.dimen.qs_footer_action_button_size);
        int padding = getResources().getDimensionPixelSize(R.dimen.qs_footer_icon_padding);
        MarginLayoutParams lp = (MarginLayoutParams) mEditButton.getLayoutParams();
        lp.height = size;
        lp.width = size;
        mEditButton.setLayoutParams(lp);
        mEditButton.setPadding(padding, padding, padding, padding);
    }

    private void updateBuildTextResources() {
        FontSizeUtils.updateFontSizeFromStyle(mBuildText, R.style.TextAppearance_QS_Status_Build);
    }

    private void updateFooterAnimator() {
        mFooterAnimator = createFooterAnimator();
    }