summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/res/layout/qs_footer_impl.xml4
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/PageIndicator.java36
-rw-r--r--packages/SystemUI/src/com/android/systemui/qs/QSFooterView.java21
3 files changed, 56 insertions, 5 deletions
diff --git a/packages/SystemUI/res/layout/qs_footer_impl.xml b/packages/SystemUI/res/layout/qs_footer_impl.xml
index 73874a08b0bd..b3f32a2863a8 100644
--- a/packages/SystemUI/res/layout/qs_footer_impl.xml
+++ b/packages/SystemUI/res/layout/qs_footer_impl.xml
@@ -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
diff --git a/packages/SystemUI/src/com/android/systemui/qs/PageIndicator.java b/packages/SystemUI/src/com/android/systemui/qs/PageIndicator.java
index 4770d5272508..ff96d4577ba5 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/PageIndicator.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/PageIndicator.java
@@ -2,6 +2,7 @@ package com.android.systemui.qs;
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;
@@ -36,9 +37,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;
@@ -79,6 +80,35 @@ public class PageIndicator extends ViewGroup {
mPageDotWidth = res.getDimensionPixelSize(R.dimen.qs_page_indicator_dot_width);
}
+ @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()) {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooterView.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooterView.java
index c908e6e2afbe..5a872d699f35 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooterView.java
@@ -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();
}