diff options
| author | 2017-08-09 20:45:50 +0000 | |
|---|---|---|
| committer | 2017-08-09 20:45:50 +0000 | |
| commit | 120e560bc0e9a3357fed5c5adee0c469e9496d57 (patch) | |
| tree | 4b3ca9bb1e503e706af7312e0e33c11145c854d6 | |
| parent | a58a7bf458e027b80f157ba7d5f7fa4f706e88b6 (diff) | |
| parent | ca91e6cecd0a372ea5a4f0e4fb26851b8c7167a1 (diff) | |
Merge "Make rounded corners handle color inversion" into oc-dr1-dev
am: ca91e6cecd
Change-Id: I9d701444957cae9395f23537df63a76498ede87b
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/RoundedCorners.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/RoundedCorners.java b/packages/SystemUI/src/com/android/systemui/RoundedCorners.java index 5d316782b14e..b15b79fb984e 100644 --- a/packages/SystemUI/src/com/android/systemui/RoundedCorners.java +++ b/packages/SystemUI/src/com/android/systemui/RoundedCorners.java @@ -18,7 +18,10 @@ import static com.android.systemui.tuner.TunablePadding.FLAG_START; import static com.android.systemui.tuner.TunablePadding.FLAG_END; import android.app.Fragment; +import android.content.res.ColorStateList; +import android.graphics.Color; import android.graphics.PixelFormat; +import android.provider.Settings.Secure; import android.support.annotation.VisibleForTesting; import android.util.DisplayMetrics; import android.view.Gravity; @@ -28,11 +31,13 @@ import android.view.View.OnLayoutChangeListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.WindowManager; +import android.widget.ImageView; import com.android.systemui.R.id; import com.android.systemui.fragments.FragmentHostManager; import com.android.systemui.fragments.FragmentHostManager.FragmentListener; import com.android.systemui.plugins.qs.QS; +import com.android.systemui.qs.SecureSetting; import com.android.systemui.statusbar.phone.CollapsedStatusBarFragment; import com.android.systemui.statusbar.phone.NavigationBarFragment; import com.android.systemui.statusbar.phone.StatusBar; @@ -92,6 +97,22 @@ public class RoundedCorners extends SystemUI implements Tunable { Dependency.get(TunerService.class).addTunable(this, SIZE); + // Watch color inversion and invert the overlay as needed. + SecureSetting setting = new SecureSetting(mContext, Dependency.get(Dependency.MAIN_HANDLER), + Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED) { + @Override + protected void handleValueChanged(int value, boolean observedChange) { + int tint = value != 0 ? Color.WHITE : Color.BLACK; + ColorStateList tintList = ColorStateList.valueOf(tint); + ((ImageView) mOverlay.findViewById(id.left)).setImageTintList(tintList); + ((ImageView) mOverlay.findViewById(id.right)).setImageTintList(tintList); + ((ImageView) mBottomOverlay.findViewById(id.left)).setImageTintList(tintList); + ((ImageView) mBottomOverlay.findViewById(id.right)).setImageTintList(tintList); + } + }; + setting.setListening(true); + setting.onChange(false); + mOverlay.addOnLayoutChangeListener(new OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, |