Loading packages/SystemUI/res-keyguard/values-night/styles.xml 0 → 100644 +26 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ** ** Copyright 2022, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License") ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ --> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <style name="Bouncer.UserSwitcher.Spinner.Item"> <item name="android:textSize">@dimen/bouncer_user_switcher_item_text_size</item> <item name="android:textColor">@color/bouncer_user_switcher_item_text</item> </style> </resources> packages/SystemUI/res/color/bouncer_user_switcher_item_text.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:color="?android:attr/textColorPrimary"/> <item android:color="?android:attr/textColorPrimaryInverse"/> </selector> packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +19 −0 Original line number Diff line number Diff line Loading @@ -707,6 +707,10 @@ public class KeyguardSecurityContainer extends FrameLayout { mDisappearAnimRunning = false; } void reloadColors() { mViewMode.reloadColors(); } /** * Enscapsulates the differences between bouncer modes for the container. */ Loading @@ -728,6 +732,9 @@ public class KeyguardSecurityContainer extends FrameLayout { /** Called when the view needs to reset or hides */ default void reset() {}; /** Refresh colors */ default void reloadColors() {}; /** On a successful auth, optionally handle how the view disappears */ default void startDisappearAnimation(SecurityMode securityMode) {}; Loading Loading @@ -821,6 +828,17 @@ public class KeyguardSecurityContainer extends FrameLayout { } } @Override public void reloadColors() { TextView header = (TextView) mView.findViewById(R.id.user_switcher_header); if (header != null) { header.setTextColor(Utils.getColorAttrDefaultColor(mView.getContext(), android.R.attr.textColorPrimary)); header.setBackground(mView.getContext().getDrawable( R.drawable.bouncer_user_switcher_header_bg)); } } @Override public void onDestroy() { mUserSwitcherController.removeUserSwitchCallback(mUserSwitchCallback); Loading Loading @@ -911,6 +929,7 @@ public class KeyguardSecurityContainer extends FrameLayout { } else { textView.setBackground(null); } textView.setSelected(item == currentUser); view.setEnabled(item.isSwitchToEnabled); view.setAlpha(view.isEnabled() ? USER_SWITCH_ENABLED_ALPHA : USER_SWITCH_DISABLED_ALPHA); Loading packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +7 −2 Original line number Diff line number Diff line Loading @@ -232,12 +232,12 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard new ConfigurationController.ConfigurationListener() { @Override public void onThemeChanged() { mSecurityViewFlipperController.reloadColors(); reloadColors(); } @Override public void onUiModeChanged() { mSecurityViewFlipperController.reloadColors(); reloadColors(); } }; private final KeyguardUpdateMonitorCallback mKeyguardUpdateMonitorCallback = Loading Loading @@ -635,6 +635,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mView.updatePositionByTouchX(x); } private void reloadColors() { mSecurityViewFlipperController.reloadColors(); mView.reloadColors(); } static class Factory { private final KeyguardSecurityContainer mView; Loading packages/SystemUI/src/com/android/keyguard/NumPadAnimator.java +52 −46 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ import android.widget.TextView; import androidx.annotation.StyleRes; import com.android.settingslib.Utils; import com.android.systemui.animation.Interpolators; import com.android.systemui.util.Utils; /** * Provides background color and radius animations for key pad buttons. Loading @@ -45,6 +45,7 @@ class NumPadAnimator { private int mNormalColor; private int mHighlightColor; private int mStyle; private TextView mDigitTextView; private static final int EXPAND_ANIMATION_MS = 100; private static final int EXPAND_COLOR_ANIMATION_MS = 50; private static final int CONTRACT_ANIMATION_DELAY_MS = 33; Loading @@ -58,12 +59,54 @@ class NumPadAnimator { @Nullable TextView digitTextView) { mStyle = style; mBackground = (GradientDrawable) drawable; mDigitTextView = digitTextView; reloadColors(context); int textColorPrimary = com.android.settingslib.Utils .getColorAttrDefaultColor(context, android.R.attr.textColorPrimary); int textColorPrimaryInverse = com.android.settingslib.Utils .getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse); } public void expand() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mExpandAnimatorSet.start(); } public void contract() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mContractAnimatorSet.start(); } void onLayout(int height) { float startRadius = height / 2f; float endRadius = height / 4f; mBackground.setCornerRadius(startRadius); mExpandAnimator.setFloatValues(startRadius, endRadius); mContractAnimator.setFloatValues(endRadius, startRadius); } /** * Reload colors from resources. **/ void reloadColors(Context context) { int[] customAttrs = {android.R.attr.colorControlNormal, android.R.attr.colorControlHighlight}; ContextThemeWrapper ctw = new ContextThemeWrapper(context, mStyle); TypedArray a = ctw.obtainStyledAttributes(customAttrs); mNormalColor = getPrivateAttrColorIfUnset(ctw, a, 0, 0, com.android.internal.R.attr.colorSurface); mHighlightColor = a.getColor(1, 0); a.recycle(); mBackground.setColor(mNormalColor); createAnimators(context); } private void createAnimators(Context context) { int textColorPrimary = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimary); int textColorPrimaryInverse = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse); // Actual values will be updated later, usually during an onLayout() call mExpandAnimator = ValueAnimator.ofFloat(0f, 1f); Loading @@ -85,8 +128,8 @@ class NumPadAnimator { expandTextColorAnimator.setInterpolator(Interpolators.LINEAR); expandTextColorAnimator.setDuration(EXPAND_COLOR_ANIMATION_MS); expandTextColorAnimator.addUpdateListener(valueAnimator -> { if (digitTextView != null) { digitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); if (mDigitTextView != null) { mDigitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); } }); Loading Loading @@ -115,8 +158,8 @@ class NumPadAnimator { contractTextColorAnimator.setStartDelay(CONTRACT_ANIMATION_DELAY_MS); contractTextColorAnimator.setDuration(CONTRACT_ANIMATION_MS); contractTextColorAnimator.addUpdateListener(valueAnimator -> { if (digitTextView != null) { digitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); if (mDigitTextView != null) { mDigitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); } }); Loading @@ -124,42 +167,5 @@ class NumPadAnimator { mContractAnimatorSet.playTogether(mContractAnimator, contractBackgroundColorAnimator, contractTextColorAnimator); } public void expand() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mExpandAnimatorSet.start(); } public void contract() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mContractAnimatorSet.start(); } void onLayout(int height) { float startRadius = height / 2f; float endRadius = height / 4f; mBackground.setCornerRadius(startRadius); mExpandAnimator.setFloatValues(startRadius, endRadius); mContractAnimator.setFloatValues(endRadius, startRadius); } /** * Reload colors from resources. **/ void reloadColors(Context context) { int[] customAttrs = {android.R.attr.colorControlNormal, android.R.attr.colorControlHighlight}; ContextThemeWrapper ctw = new ContextThemeWrapper(context, mStyle); TypedArray a = ctw.obtainStyledAttributes(customAttrs); mNormalColor = getPrivateAttrColorIfUnset(ctw, a, 0, 0, com.android.internal.R.attr.colorSurface); mHighlightColor = a.getColor(1, 0); a.recycle(); mBackground.setColor(mNormalColor); } } Loading
packages/SystemUI/res-keyguard/values-night/styles.xml 0 → 100644 +26 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- ** ** Copyright 2022, The Android Open Source Project ** ** Licensed under the Apache License, Version 2.0 (the "License") ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** ** http://www.apache.org/licenses/LICENSE-2.0 ** ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. */ --> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"> <style name="Bouncer.UserSwitcher.Spinner.Item"> <item name="android:textSize">@dimen/bouncer_user_switcher_item_text_size</item> <item name="android:textColor">@color/bouncer_user_switcher_item_text</item> </style> </resources>
packages/SystemUI/res/color/bouncer_user_switcher_item_text.xml 0 → 100644 +21 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <!-- Copyright (C) 2022 The Android Open Source Project Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="false" android:color="?android:attr/textColorPrimary"/> <item android:color="?android:attr/textColorPrimaryInverse"/> </selector>
packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +19 −0 Original line number Diff line number Diff line Loading @@ -707,6 +707,10 @@ public class KeyguardSecurityContainer extends FrameLayout { mDisappearAnimRunning = false; } void reloadColors() { mViewMode.reloadColors(); } /** * Enscapsulates the differences between bouncer modes for the container. */ Loading @@ -728,6 +732,9 @@ public class KeyguardSecurityContainer extends FrameLayout { /** Called when the view needs to reset or hides */ default void reset() {}; /** Refresh colors */ default void reloadColors() {}; /** On a successful auth, optionally handle how the view disappears */ default void startDisappearAnimation(SecurityMode securityMode) {}; Loading Loading @@ -821,6 +828,17 @@ public class KeyguardSecurityContainer extends FrameLayout { } } @Override public void reloadColors() { TextView header = (TextView) mView.findViewById(R.id.user_switcher_header); if (header != null) { header.setTextColor(Utils.getColorAttrDefaultColor(mView.getContext(), android.R.attr.textColorPrimary)); header.setBackground(mView.getContext().getDrawable( R.drawable.bouncer_user_switcher_header_bg)); } } @Override public void onDestroy() { mUserSwitcherController.removeUserSwitchCallback(mUserSwitchCallback); Loading Loading @@ -911,6 +929,7 @@ public class KeyguardSecurityContainer extends FrameLayout { } else { textView.setBackground(null); } textView.setSelected(item == currentUser); view.setEnabled(item.isSwitchToEnabled); view.setAlpha(view.isEnabled() ? USER_SWITCH_ENABLED_ALPHA : USER_SWITCH_DISABLED_ALPHA); Loading
packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +7 −2 Original line number Diff line number Diff line Loading @@ -232,12 +232,12 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard new ConfigurationController.ConfigurationListener() { @Override public void onThemeChanged() { mSecurityViewFlipperController.reloadColors(); reloadColors(); } @Override public void onUiModeChanged() { mSecurityViewFlipperController.reloadColors(); reloadColors(); } }; private final KeyguardUpdateMonitorCallback mKeyguardUpdateMonitorCallback = Loading Loading @@ -635,6 +635,11 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard mView.updatePositionByTouchX(x); } private void reloadColors() { mSecurityViewFlipperController.reloadColors(); mView.reloadColors(); } static class Factory { private final KeyguardSecurityContainer mView; Loading
packages/SystemUI/src/com/android/keyguard/NumPadAnimator.java +52 −46 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ import android.widget.TextView; import androidx.annotation.StyleRes; import com.android.settingslib.Utils; import com.android.systemui.animation.Interpolators; import com.android.systemui.util.Utils; /** * Provides background color and radius animations for key pad buttons. Loading @@ -45,6 +45,7 @@ class NumPadAnimator { private int mNormalColor; private int mHighlightColor; private int mStyle; private TextView mDigitTextView; private static final int EXPAND_ANIMATION_MS = 100; private static final int EXPAND_COLOR_ANIMATION_MS = 50; private static final int CONTRACT_ANIMATION_DELAY_MS = 33; Loading @@ -58,12 +59,54 @@ class NumPadAnimator { @Nullable TextView digitTextView) { mStyle = style; mBackground = (GradientDrawable) drawable; mDigitTextView = digitTextView; reloadColors(context); int textColorPrimary = com.android.settingslib.Utils .getColorAttrDefaultColor(context, android.R.attr.textColorPrimary); int textColorPrimaryInverse = com.android.settingslib.Utils .getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse); } public void expand() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mExpandAnimatorSet.start(); } public void contract() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mContractAnimatorSet.start(); } void onLayout(int height) { float startRadius = height / 2f; float endRadius = height / 4f; mBackground.setCornerRadius(startRadius); mExpandAnimator.setFloatValues(startRadius, endRadius); mContractAnimator.setFloatValues(endRadius, startRadius); } /** * Reload colors from resources. **/ void reloadColors(Context context) { int[] customAttrs = {android.R.attr.colorControlNormal, android.R.attr.colorControlHighlight}; ContextThemeWrapper ctw = new ContextThemeWrapper(context, mStyle); TypedArray a = ctw.obtainStyledAttributes(customAttrs); mNormalColor = getPrivateAttrColorIfUnset(ctw, a, 0, 0, com.android.internal.R.attr.colorSurface); mHighlightColor = a.getColor(1, 0); a.recycle(); mBackground.setColor(mNormalColor); createAnimators(context); } private void createAnimators(Context context) { int textColorPrimary = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimary); int textColorPrimaryInverse = Utils.getColorAttrDefaultColor(context, android.R.attr.textColorPrimaryInverse); // Actual values will be updated later, usually during an onLayout() call mExpandAnimator = ValueAnimator.ofFloat(0f, 1f); Loading @@ -85,8 +128,8 @@ class NumPadAnimator { expandTextColorAnimator.setInterpolator(Interpolators.LINEAR); expandTextColorAnimator.setDuration(EXPAND_COLOR_ANIMATION_MS); expandTextColorAnimator.addUpdateListener(valueAnimator -> { if (digitTextView != null) { digitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); if (mDigitTextView != null) { mDigitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); } }); Loading Loading @@ -115,8 +158,8 @@ class NumPadAnimator { contractTextColorAnimator.setStartDelay(CONTRACT_ANIMATION_DELAY_MS); contractTextColorAnimator.setDuration(CONTRACT_ANIMATION_MS); contractTextColorAnimator.addUpdateListener(valueAnimator -> { if (digitTextView != null) { digitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); if (mDigitTextView != null) { mDigitTextView.setTextColor((int) valueAnimator.getAnimatedValue()); } }); Loading @@ -124,42 +167,5 @@ class NumPadAnimator { mContractAnimatorSet.playTogether(mContractAnimator, contractBackgroundColorAnimator, contractTextColorAnimator); } public void expand() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mExpandAnimatorSet.start(); } public void contract() { mExpandAnimatorSet.cancel(); mContractAnimatorSet.cancel(); mContractAnimatorSet.start(); } void onLayout(int height) { float startRadius = height / 2f; float endRadius = height / 4f; mBackground.setCornerRadius(startRadius); mExpandAnimator.setFloatValues(startRadius, endRadius); mContractAnimator.setFloatValues(endRadius, startRadius); } /** * Reload colors from resources. **/ void reloadColors(Context context) { int[] customAttrs = {android.R.attr.colorControlNormal, android.R.attr.colorControlHighlight}; ContextThemeWrapper ctw = new ContextThemeWrapper(context, mStyle); TypedArray a = ctw.obtainStyledAttributes(customAttrs); mNormalColor = getPrivateAttrColorIfUnset(ctw, a, 0, 0, com.android.internal.R.attr.colorSurface); mHighlightColor = a.getColor(1, 0); a.recycle(); mBackground.setColor(mNormalColor); } }