Loading packages/SystemUI/res/layout/status_bar.xml +7 −41 Original line number Diff line number Diff line Loading @@ -112,46 +112,12 @@ </LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/ticker" <ViewStub android:id="@+id/ticker_stub" android:inflatedId="@+id/ticker" android:layout="@layout/status_bar_ticker" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingStart="6dip" android:animationCache="false" android:orientation="horizontal" > <ImageSwitcher android:id="@+id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4dip" > <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@+id/tickerText" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingEnd="10dip"> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView> packages/SystemUI/res/layout/status_bar_ticker.xml 0 → 100644 +62 −0 Original line number Diff line number Diff line $<?xml version="1.0" encoding="utf-8"?> $<!-- $- Copyright 2014, 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. $--> <LinearLayout android:id="@+id/ticker" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingStart="6dip" android:animationCache="false" android:orientation="horizontal"> <ImageSwitcher android:id="@+id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4dip" > <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@+id/tickerText" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingEnd="10dip"> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> packages/SystemUI/res/values/config.xml +5 −0 Original line number Diff line number Diff line Loading @@ -141,5 +141,10 @@ <!-- Wait on the touch feedback this long before performing an action. --> <integer name="feedback_start_delay">300</integer> <!-- Set to true to enable the classic notification ticker that scrolls Notification.tickerText across the status bar for what seems like an eternity. --> <bool name="enable_ticker">false</bool> </resources> packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +32 −9 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import android.view.ViewAnimationUtils; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.ViewPropertyAnimator; import android.view.ViewStub; import android.view.ViewTreeObserver; import android.view.WindowManager; import android.view.animation.AccelerateInterpolator; Loading Loading @@ -289,6 +290,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, int mTrackingPosition; // the position of the top of the tracking view. // ticker private boolean mTickerEnabled; private Ticker mTicker; private View mTickerView; private boolean mTicking; Loading Loading @@ -644,7 +646,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mMoreIcon = mStatusBarView.findViewById(R.id.moreIcon); mNotificationIcons.setOverflowIndicator(mMoreIcon); mStatusBarContents = (LinearLayout)mStatusBarView.findViewById(R.id.status_bar_contents); mTickerView = mStatusBarView.findViewById(R.id.ticker); mStackScroller = (NotificationStackScrollLayout) mStatusBarWindow.findViewById( R.id.notification_stack_scroller); Loading Loading @@ -684,10 +685,17 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mDateTimeView.setEnabled(true); } mTickerEnabled = res.getBoolean(R.bool.enable_ticker); if (mTickerEnabled) { final ViewStub tickerStub = (ViewStub) mStatusBarView.findViewById(R.id.ticker_stub); if (tickerStub != null) { mTickerView = tickerStub.inflate(); mTicker = new MyTicker(context, mStatusBarView); TickerView tickerView = (TickerView) mStatusBarView.findViewById(R.id.tickerText); tickerView.mTicker = mTicker; } } mEdgeBorder = res.getDimensionPixelSize(R.dimen.status_bar_edge_ignore); Loading Loading @@ -1145,7 +1153,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (old != null) { // Cancel the ticker if it's still running if (mTickerEnabled) { mTicker.removeEntry(old); } // Recalculate the position of the sliding windows and the titles. updateExpandedViewPos(EXPANDED_LEAVE_ALONE); Loading Loading @@ -2118,6 +2128,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override protected void tick(StatusBarNotification n, boolean firstTime) { if (!mTickerEnabled) return; // no ticking in lights-out mode if (!areLightsOn()) return; Loading @@ -2143,10 +2155,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private class MyTicker extends Ticker { MyTicker(Context context, View sb) { super(context, sb); if (!mTickerEnabled) { Log.w(TAG, "MyTicker instantiated with mTickerEnabled=false", new Throwable()); } } @Override public void tickerStarting() { if (!mTickerEnabled) return; mTicking = true; mStatusBarContents.setVisibility(View.GONE); mTickerView.setVisibility(View.VISIBLE); Loading @@ -2156,6 +2172,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override public void tickerDone() { if (!mTickerEnabled) return; mStatusBarContents.setVisibility(View.VISIBLE); mTickerView.setVisibility(View.GONE); mStatusBarContents.startAnimation(loadAnim(com.android.internal.R.anim.push_down_in, null)); Loading @@ -2164,6 +2181,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } public void tickerHalting() { if (!mTickerEnabled) return; if (mStatusBarContents.getVisibility() != View.VISIBLE) { mStatusBarContents.setVisibility(View.VISIBLE); mStatusBarContents Loading Loading @@ -2202,11 +2220,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, pw.println("Current Status Bar state:"); pw.println(" mExpandedVisible=" + mExpandedVisible + ", mTrackingPosition=" + mTrackingPosition); pw.println(" mTickerEnabled=" + mTickerEnabled); if (mTickerEnabled) { pw.println(" mTicking=" + mTicking); pw.println(" mTickerView: " + viewInfo(mTickerView)); } pw.println(" mTracking=" + mTracking); pw.println(" mDisplayMetrics=" + mDisplayMetrics); pw.println(" mStackScroller: " + viewInfo(mStackScroller)); pw.println(" mTickerView: " + viewInfo(mTickerView)); pw.println(" mStackScroller: " + viewInfo(mStackScroller) + " scroll " + mStackScroller.getScrollX() + "," + mStackScroller.getScrollY()); Loading Loading @@ -2676,8 +2697,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override protected void haltTicker() { if (mTickerEnabled) { mTicker.halt(); } } @Override protected boolean shouldDisableNavbarGestures() { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/TickerView.java +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ public class TickerView extends TextSwitcher @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mTicker.reflowText(); if (mTicker != null) mTicker.reflowText(); } public void setTicker(Ticker t) { Loading Loading
packages/SystemUI/res/layout/status_bar.xml +7 −41 Original line number Diff line number Diff line Loading @@ -112,46 +112,12 @@ </LinearLayout> </LinearLayout> <LinearLayout android:id="@+id/ticker" <ViewStub android:id="@+id/ticker_stub" android:inflatedId="@+id/ticker" android:layout="@layout/status_bar_ticker" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingStart="6dip" android:animationCache="false" android:orientation="horizontal" > <ImageSwitcher android:id="@+id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4dip" > <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@+id/tickerText" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingEnd="10dip"> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout> </com.android.systemui.statusbar.phone.PhoneStatusBarView>
packages/SystemUI/res/layout/status_bar_ticker.xml 0 → 100644 +62 −0 Original line number Diff line number Diff line $<?xml version="1.0" encoding="utf-8"?> $<!-- $- Copyright 2014, 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. $--> <LinearLayout android:id="@+id/ticker" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:systemui="http://schemas.android.com/apk/res/com.android.systemui" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingStart="6dip" android:animationCache="false" android:orientation="horizontal"> <ImageSwitcher android:id="@+id/tickerIcon" android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:layout_marginEnd="4dip" > <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> <com.android.systemui.statusbar.AnimatedImageView android:layout_width="@dimen/status_bar_icon_size" android:layout_height="@dimen/status_bar_icon_size" android:scaleType="center" /> </ImageSwitcher> <com.android.systemui.statusbar.phone.TickerView android:id="@+id/tickerText" android:layout_width="0dip" android:layout_weight="1" android:layout_height="wrap_content" android:paddingTop="2dip" android:paddingEnd="10dip"> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="@style/TextAppearance.StatusBar.PhoneTicker" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" /> </com.android.systemui.statusbar.phone.TickerView> </LinearLayout>
packages/SystemUI/res/values/config.xml +5 −0 Original line number Diff line number Diff line Loading @@ -141,5 +141,10 @@ <!-- Wait on the touch feedback this long before performing an action. --> <integer name="feedback_start_delay">300</integer> <!-- Set to true to enable the classic notification ticker that scrolls Notification.tickerText across the status bar for what seems like an eternity. --> <bool name="enable_ticker">false</bool> </resources>
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +32 −9 Original line number Diff line number Diff line Loading @@ -81,6 +81,7 @@ import android.view.ViewAnimationUtils; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.ViewPropertyAnimator; import android.view.ViewStub; import android.view.ViewTreeObserver; import android.view.WindowManager; import android.view.animation.AccelerateInterpolator; Loading Loading @@ -289,6 +290,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, int mTrackingPosition; // the position of the top of the tracking view. // ticker private boolean mTickerEnabled; private Ticker mTicker; private View mTickerView; private boolean mTicking; Loading Loading @@ -644,7 +646,6 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mMoreIcon = mStatusBarView.findViewById(R.id.moreIcon); mNotificationIcons.setOverflowIndicator(mMoreIcon); mStatusBarContents = (LinearLayout)mStatusBarView.findViewById(R.id.status_bar_contents); mTickerView = mStatusBarView.findViewById(R.id.ticker); mStackScroller = (NotificationStackScrollLayout) mStatusBarWindow.findViewById( R.id.notification_stack_scroller); Loading Loading @@ -684,10 +685,17 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mDateTimeView.setEnabled(true); } mTickerEnabled = res.getBoolean(R.bool.enable_ticker); if (mTickerEnabled) { final ViewStub tickerStub = (ViewStub) mStatusBarView.findViewById(R.id.ticker_stub); if (tickerStub != null) { mTickerView = tickerStub.inflate(); mTicker = new MyTicker(context, mStatusBarView); TickerView tickerView = (TickerView) mStatusBarView.findViewById(R.id.tickerText); tickerView.mTicker = mTicker; } } mEdgeBorder = res.getDimensionPixelSize(R.dimen.status_bar_edge_ignore); Loading Loading @@ -1145,7 +1153,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (old != null) { // Cancel the ticker if it's still running if (mTickerEnabled) { mTicker.removeEntry(old); } // Recalculate the position of the sliding windows and the titles. updateExpandedViewPos(EXPANDED_LEAVE_ALONE); Loading Loading @@ -2118,6 +2128,8 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override protected void tick(StatusBarNotification n, boolean firstTime) { if (!mTickerEnabled) return; // no ticking in lights-out mode if (!areLightsOn()) return; Loading @@ -2143,10 +2155,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, private class MyTicker extends Ticker { MyTicker(Context context, View sb) { super(context, sb); if (!mTickerEnabled) { Log.w(TAG, "MyTicker instantiated with mTickerEnabled=false", new Throwable()); } } @Override public void tickerStarting() { if (!mTickerEnabled) return; mTicking = true; mStatusBarContents.setVisibility(View.GONE); mTickerView.setVisibility(View.VISIBLE); Loading @@ -2156,6 +2172,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override public void tickerDone() { if (!mTickerEnabled) return; mStatusBarContents.setVisibility(View.VISIBLE); mTickerView.setVisibility(View.GONE); mStatusBarContents.startAnimation(loadAnim(com.android.internal.R.anim.push_down_in, null)); Loading @@ -2164,6 +2181,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } public void tickerHalting() { if (!mTickerEnabled) return; if (mStatusBarContents.getVisibility() != View.VISIBLE) { mStatusBarContents.setVisibility(View.VISIBLE); mStatusBarContents Loading Loading @@ -2202,11 +2220,14 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, pw.println("Current Status Bar state:"); pw.println(" mExpandedVisible=" + mExpandedVisible + ", mTrackingPosition=" + mTrackingPosition); pw.println(" mTickerEnabled=" + mTickerEnabled); if (mTickerEnabled) { pw.println(" mTicking=" + mTicking); pw.println(" mTickerView: " + viewInfo(mTickerView)); } pw.println(" mTracking=" + mTracking); pw.println(" mDisplayMetrics=" + mDisplayMetrics); pw.println(" mStackScroller: " + viewInfo(mStackScroller)); pw.println(" mTickerView: " + viewInfo(mTickerView)); pw.println(" mStackScroller: " + viewInfo(mStackScroller) + " scroll " + mStackScroller.getScrollX() + "," + mStackScroller.getScrollY()); Loading Loading @@ -2676,8 +2697,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override protected void haltTicker() { if (mTickerEnabled) { mTicker.halt(); } } @Override protected boolean shouldDisableNavbarGestures() { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/TickerView.java +1 −1 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ public class TickerView extends TextSwitcher @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mTicker.reflowText(); if (mTicker != null) mTicker.reflowText(); } public void setTicker(Ticker t) { Loading