115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/* 215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Copyright (C) 2008 The Android Open Source Project 315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * you may not use this file except in compliance with the License. 615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * You may obtain a copy of the License at 715a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 815a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * http://www.apache.org/licenses/LICENSE-2.0 915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 1015a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Unless required by applicable law or agreed to in writing, software 1115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * See the License for the specific language governing permissions and 1415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * limitations under the License. 1515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root */ 1615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root 17fd52b18d9bf3cd62c7a07058536e9f97db65beeaJoe Onoratopackage com.android.systemui.statusbar.phone; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.AttributeSet; 2164161ccb2f3341ebe1675e38a999250c7967d0adChris Wrenimport android.util.EventLog; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.MotionEvent; 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.View; 243e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinekimport android.view.ViewGroup; 256179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganovimport android.view.accessibility.AccessibilityEvent; 2664161ccb2f3341ebe1675e38a999250c7967d0adChris Wren 27aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monkimport com.android.systemui.BatteryMeterView; 2886b273f1cc59185a14d5bab8a3f4db30c1a4c8a9Jorim Jaggiimport com.android.systemui.DejankUtils; 29aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monkimport com.android.systemui.Dependency; 3064161ccb2f3341ebe1675e38a999250c7967d0adChris Wrenimport com.android.systemui.EventLogTags; 313e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinekimport com.android.systemui.R; 32aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monkimport com.android.systemui.statusbar.policy.DarkIconDispatcher; 33aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monkimport com.android.systemui.statusbar.policy.DarkIconDispatcher.DarkReceiver; 3479de0c550037a5328bbc7f4fddaf02f192a5c283Joe Onorato 3508d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandlerpublic class PhoneStatusBarView extends PanelBar { 36fd52b18d9bf3cd62c7a07058536e9f97db65beeaJoe Onorato private static final String TAG = "PhoneStatusBarView"; 372a6ea9c2a1b52b0386270ec73e1e6d6a9b614a34Jason Monk private static final boolean DEBUG = StatusBar.DEBUG; 38934025e8d79975444d8b93cf6a18c7d98760b3adChristoph Studer private static final boolean DEBUG_GESTURES = false; 39198a0306e5b0ef6b02d61e299a4b4ab4c1c2cdc8Daniel Sandler 402a6ea9c2a1b52b0386270ec73e1e6d6a9b614a34Jason Monk StatusBar mBar; 415a8aefa6c8ab2f129bc6477a49cd0876ec5d72faDaniel Sandler 429f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen boolean mIsFullyOpenedPanel = false; 437edfbca5d00cbc376fda790b50a3fedb9c6070abJohn Spurlock private final PhoneStatusBarTransitions mBarTransitions; 44ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi private ScrimController mScrimController; 453d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek private float mMinFraction; 463d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek private float mPanelFraction; 4780c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek private Runnable mHideExpandedRunnable = new Runnable() { 4880c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek @Override 4980c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek public void run() { 50529c5325f0e5cd3cf97fd7431d8dc9e79d7a627fSelim Cinek if (mPanelFraction == 0.0f) { 51529c5325f0e5cd3cf97fd7431d8dc9e79d7a627fSelim Cinek mBar.makeExpandedInvisible(); 52529c5325f0e5cd3cf97fd7431d8dc9e79d7a627fSelim Cinek } 5380c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek } 5480c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek }; 55aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk private DarkReceiver mBattery; 56119a4015f0f7ac1f63d596da158768f880f9fe9bJoe Onorato 57fd52b18d9bf3cd62c7a07058536e9f97db65beeaJoe Onorato public PhoneStatusBarView(Context context, AttributeSet attrs) { 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(context, attrs); 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 607edfbca5d00cbc376fda790b50a3fedb9c6070abJohn Spurlock mBarTransitions = new PhoneStatusBarTransitions(this); 61e932e30eadb5978591316ffe3d21d60604c0cd91John Spurlock } 62e932e30eadb5978591316ffe3d21d60604c0cd91John Spurlock 63e932e30eadb5978591316ffe3d21d60604c0cd91John Spurlock public BarTransitions getBarTransitions() { 64e932e30eadb5978591316ffe3d21d60604c0cd91John Spurlock return mBarTransitions; 651c1edaa5f127d814058271ee4827fc0fe4a8de44Daniel Sandler } 661c1edaa5f127d814058271ee4827fc0fe4a8de44Daniel Sandler 672a6ea9c2a1b52b0386270ec73e1e6d6a9b614a34Jason Monk public void setBar(StatusBar bar) { 68efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler mBar = bar; 69efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler } 70efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler 71ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi public void setScrimController(ScrimController scrimController) { 72ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi mScrimController = scrimController; 73ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi } 74ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi 75efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler @Override 76acea100015dffbb77d137b0681d6c34992e72ae9Jorim Jaggi public void onFinishInflate() { 77e6f0a716501e57616c8e1d809c0f60b08d21eb0aJohn Spurlock mBarTransitions.init(); 7851efddbd3bb304de2dd47fa8cd1114ac555958bbAlan Viverette mBattery = findViewById(R.id.battery); 79aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk } 80aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk 81aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk @Override 82aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk protected void onAttachedToWindow() { 83aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk super.onAttachedToWindow(); 84aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk // Always have Battery meters in the status bar observe the dark/light modes. 85aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk Dependency.get(DarkIconDispatcher.class).addDarkReceiver(mBattery); 86aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk } 87aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk 88aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk @Override 89aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk protected void onDetachedFromWindow() { 90aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk super.onDetachedFromWindow(); 91aa573e9e8632552d1fa8bdd6b0ee408ff9a93a6bJason Monk Dependency.get(DarkIconDispatcher.class).removeDarkReceiver(mBattery); 92efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler } 93efb0faf1c043777762eecfef87ec575632c365e1Daniel Sandler 941c1edaa5f127d814058271ee4827fc0fe4a8de44Daniel Sandler @Override 959f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public boolean panelEnabled() { 969764218ff979f735aee2f1189e3547d5f3b02f83John Spurlock return mBar.panelsEnabled(); 971e8feef1faca7d2f14bf459691dbe724c8cf5c88Daniel Sandler } 981e8feef1faca7d2f14bf459691dbe724c8cf5c88Daniel Sandler 991e8feef1faca7d2f14bf459691dbe724c8cf5c88Daniel Sandler @Override 100a54956a0bc611b1e9b3914edc7a604b59688f6b7Alan Viverette public boolean onRequestSendAccessibilityEventInternal(View child, AccessibilityEvent event) { 1015b0467522c8fd2e17d688e04ec592bdba9f2f012Alan Viverette if (super.onRequestSendAccessibilityEventInternal(child, event)) { 10208d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler // The status bar is very small so augment the view that the user is touching 10308d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler // with the content of the status bar a whole. This way an accessibility service 10408d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler // may announce the current item as well as the entire content if appropriate. 10508d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler AccessibilityEvent record = AccessibilityEvent.obtain(); 10608d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler onInitializeAccessibilityEvent(record); 10708d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler dispatchPopulateAccessibilityEvent(record); 10808d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler event.appendRecord(record); 10908d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler return true; 110d49258fed489bcd72a2b2a6ce3a3c38d4b2531e6Dianne Hackborn } 11108d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler return false; 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 11508d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler public void onPanelPeeked() { 11608d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler super.onPanelPeeked(); 117fa505a7f26bdf685c701e92b481602eb59d7ff56Jorim Jaggi mBar.makeExpandedVisible(false); 11867eab79051eea2d4f8fda4a2a698900ffacfb557Daniel Sandler } 11967eab79051eea2d4f8fda4a2a698900ffacfb557Daniel Sandler 12067eab79051eea2d4f8fda4a2a698900ffacfb557Daniel Sandler @Override 1219f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public void onPanelCollapsed() { 1229f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen super.onPanelCollapsed(); 1232580a976ec93a01ed00fae51364ad872bc591d95Jorim Jaggi // Close the status bar in the next frame so we can show the end of the animation. 12445e2d8faed70252f8c5535ed9dee903b45f60ac1Jorim Jaggi post(mHideExpandedRunnable); 1259f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen mIsFullyOpenedPanel = false; 1268e72c9e19cfb0b6c1463fa841f1dd02be8f3b4e1Daniel Sandler } 1278e72c9e19cfb0b6c1463fa841f1dd02be8f3b4e1Daniel Sandler 12880c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek public void removePendingHideExpandedRunnables() { 12945e2d8faed70252f8c5535ed9dee903b45f60ac1Jorim Jaggi removeCallbacks(mHideExpandedRunnable); 13080c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek } 13180c2abe5bb896bd31509b201428208dd4fce8c76Selim Cinek 1328e72c9e19cfb0b6c1463fa841f1dd02be8f3b4e1Daniel Sandler @Override 1339f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public void onPanelFullyOpened() { 1349f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen super.onPanelFullyOpened(); 1359f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen if (!mIsFullyOpenedPanel) { 1369f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen mPanel.sendAccessibilityEvent(AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED); 137bac221ff0b9e1406f95f23c9a5c3b580ece10eabCasey Burkhardt } 1389f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen mIsFullyOpenedPanel = true; 1399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 1429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onTouchEvent(MotionEvent event) { 14364161ccb2f3341ebe1675e38a999250c7967d0adChris Wren boolean barConsumedEvent = mBar.interceptTouchEvent(event); 14464161ccb2f3341ebe1675e38a999250c7967d0adChris Wren 14564161ccb2f3341ebe1675e38a999250c7967d0adChris Wren if (DEBUG_GESTURES) { 14664161ccb2f3341ebe1675e38a999250c7967d0adChris Wren if (event.getActionMasked() != MotionEvent.ACTION_MOVE) { 14764161ccb2f3341ebe1675e38a999250c7967d0adChris Wren EventLog.writeEvent(EventLogTags.SYSUI_PANELBAR_TOUCH, 14864161ccb2f3341ebe1675e38a999250c7967d0adChris Wren event.getActionMasked(), (int) event.getX(), (int) event.getY(), 14964161ccb2f3341ebe1675e38a999250c7967d0adChris Wren barConsumedEvent ? 1 : 0); 15064161ccb2f3341ebe1675e38a999250c7967d0adChris Wren } 15164161ccb2f3341ebe1675e38a999250c7967d0adChris Wren } 15264161ccb2f3341ebe1675e38a999250c7967d0adChris Wren 15364161ccb2f3341ebe1675e38a999250c7967d0adChris Wren return barConsumedEvent || super.onTouchEvent(event); 1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 1579f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public void onTrackingStarted() { 1589f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen super.onTrackingStarted(); 159e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi mBar.onTrackingStarted(); 160ecc798e6668046c2f67cf30c6ab1db2eba80cab1Jorim Jaggi mScrimController.onTrackingStarted(); 161529c5325f0e5cd3cf97fd7431d8dc9e79d7a627fSelim Cinek removePendingHideExpandedRunnables(); 162e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi } 163e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi 164e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi @Override 165dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek public void onClosingFinished() { 166dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek super.onClosingFinished(); 167dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek mBar.onClosingFinished(); 168dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek } 169dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek 170dbbcfbe8aea1944fc0b0ecbf531034bcd5b5770aSelim Cinek @Override 1719f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public void onTrackingStopped(boolean expand) { 1729f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen super.onTrackingStopped(expand); 1732fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi mBar.onTrackingStopped(expand); 1742fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi } 1752fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi 1762fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi @Override 1772fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi public void onExpandingFinished() { 1782fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi super.onExpandingFinished(); 1792fbad7b6a724cf0a5b98b66fe639d58f5ab10af3Jorim Jaggi mScrimController.onExpandingFinished(); 180e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi } 181e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi 182e70d31f48d1c123544eb5e72b7b007d81ae8d8c9Jorim Jaggi @Override 1839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public boolean onInterceptTouchEvent(MotionEvent event) { 18408d05e3d1d6ade6924266296033981a96b47d5fbDaniel Sandler return mBar.interceptTouchEvent(event) || super.onInterceptTouchEvent(event); 1859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1876179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganov @Override 1883d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek public void panelScrimMinFractionChanged(float minFraction) { 1893d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek if (mMinFraction != minFraction) { 1903d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek mMinFraction = minFraction; 1913d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek updateScrimFraction(); 1923d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek } 1933d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek } 1943d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek 1953d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek @Override 1969f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen public void panelExpansionChanged(float frac, boolean expanded) { 1979f96711e1adf4a28f961c440da1626ad40c03bc8Xiaohui Chen super.panelExpansionChanged(frac, expanded); 1983d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek mPanelFraction = frac; 1993d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek updateScrimFraction(); 2003d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek } 2013d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek 2023d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek private void updateScrimFraction() { 203ae76b4c2f71ee6c2ad5f8d5c266f0addaf487f20Selim Cinek float scrimFraction = mPanelFraction; 204ae76b4c2f71ee6c2ad5f8d5c266f0addaf487f20Selim Cinek if (mMinFraction < 1.0f) { 205ae76b4c2f71ee6c2ad5f8d5c266f0addaf487f20Selim Cinek scrimFraction = Math.max((mPanelFraction - mMinFraction) / (1.0f - mMinFraction), 206ae76b4c2f71ee6c2ad5f8d5c266f0addaf487f20Selim Cinek 0); 207ae76b4c2f71ee6c2ad5f8d5c266f0addaf487f20Selim Cinek } 2083d395c69fa67732ceb2c045d03ea81efa3710afaSelim Cinek mScrimController.setPanelExpansion(scrimFraction); 2096179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganov } 2103e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek 2113e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek public void onDensityOrFontScaleChanged() { 2123e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek ViewGroup.LayoutParams layoutParams = getLayoutParams(); 2133e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek layoutParams.height = getResources().getDimensionPixelSize( 2143e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek R.dimen.status_bar_height); 2153e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek setLayoutParams(layoutParams); 2163e7592d0cbbde5b0b85d98b82d991ee5d2aab8a9Selim Cinek } 2176179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganov} 218