Loading packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +18 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import com.android.systemui.recent.RecentsPanelView; import com.android.systemui.recent.RecentTasksLoader; import com.android.systemui.recent.TaskDescription; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.policy.NotificationRowLayout; import com.android.systemui.statusbar.tablet.StatusBarPanel; Loading Loading @@ -904,4 +905,21 @@ public abstract class BaseStatusBar extends SystemUI implements } } } // Q: What kinds of notifications should show during setup? // A: Almost none! Only things coming from the system (package is "android") that also // have special "kind" tags marking them as relevant for setup (see below). protected boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) { if ("android".equals(sbn.pkg)) { if (sbn.notification.kind != null) { for (String aKind : sbn.notification.kind) { // IME switcher, created by InputMethodManagerService if ("android.system.imeswitcher".equals(aKind)) return true; // OTA availability & errors, created by SystemUpdateService if ("android.system.update".equals(aKind)) return true; } } } return false; } } packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +0 −17 Original line number Diff line number Diff line Loading @@ -821,23 +821,6 @@ public class PhoneStatusBar extends BaseStatusBar { R.integer.config_show_search_delay); } // Q: What kinds of notifications should show during setup? // A: Almost none! Only things coming from the system (package is "android") that also // have special "kind" tags marking them as relevant for setup (see below). private boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) { if ("android".equals(sbn.pkg)) { if (sbn.notification.kind != null) { for (String aKind : sbn.notification.kind) { // IME switcher, created by InputMethodManagerService if ("android.system.imeswitcher".equals(aKind)) return true; // OTA availability & errors, created by SystemUpdateService if ("android.system.update".equals(aKind)) return true; } } } return false; } private void loadNotificationShade() { if (mPile == null) return; Loading packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java +9 −2 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, */ public void onClick(View v) { if (v == mTitleArea) { if (mSettingsButton.isEnabled() && v == mTitleArea) { swapPanels(); } } Loading Loading @@ -280,7 +280,7 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, public void updatePanelModeButtons() { final boolean settingsVisible = (mSettingsView != null); mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.GONE); mSettingsButton.setVisibility(!settingsVisible && mSettingsButton.isEnabled() ? View.VISIBLE : View.GONE); mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.GONE); } Loading Loading @@ -421,5 +421,12 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, super.onTouchEvent(ev); return handled; } public void setSettingsEnabled(boolean settingsEnabled) { if (mSettingsButton != null) { mSettingsButton.setEnabled(settingsEnabled); mSettingsButton.setVisibility(settingsEnabled ? View.VISIBLE : View.GONE); } } } packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java +5 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import com.android.systemui.R; public class NotificationPanelTitle extends RelativeLayout implements View.OnClickListener { private NotificationPanel mPanel; private ArrayList<View> buttons; private View mNotificationsButton; private View mSettingsButton; public NotificationPanelTitle(Context context, AttributeSet attrs) { super(context, attrs); Loading @@ -47,7 +47,7 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public void onFinishInflate() { super.onFinishInflate(); buttons.add(findViewById(R.id.settings_button)); buttons.add(mSettingsButton = findViewById(R.id.settings_button)); buttons.add(findViewById(R.id.notification_button)); } Loading @@ -63,6 +63,8 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public boolean onTouchEvent(MotionEvent e) { if (!mSettingsButton.isEnabled()) return false; switch (e.getAction()) { case MotionEvent.ACTION_DOWN: setPressed(true); Loading @@ -88,7 +90,7 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public void onClick(View v) { if (v == this) { if (mSettingsButton.isEnabled() && v == this) { mPanel.swapPanels(); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +14 −6 Original line number Diff line number Diff line Loading @@ -1235,7 +1235,7 @@ public class TabletStatusBar extends BaseStatusBar implements @Override protected void setAreThereNotifications() { if (mNotificationPanel != null) { mNotificationPanel.setClearable(mNotificationData.hasClearableItems()); mNotificationPanel.setClearable(isDeviceProvisioned() && mNotificationData.hasClearableItems()); } } Loading Loading @@ -1533,10 +1533,13 @@ public class TabletStatusBar extends BaseStatusBar implements if (mInputMethodSwitchButton.getVisibility() != View.GONE) maxNotificationIconsCount --; if (mCompatModeButton.getVisibility() != View.GONE) maxNotificationIconsCount --; final boolean provisioned = isDeviceProvisioned(); // If the device hasn't been through Setup, we only show system notifications for (int i=0; toShow.size()< maxNotificationIconsCount; i++) { if (i >= N) break; Entry ent = mNotificationData.get(N-i-1); if (ent.notification.score >= HIDE_ICONS_BELOW_SCORE) { if ((provisioned && ent.notification.score >= HIDE_ICONS_BELOW_SCORE) || showNotificationEvenIfUnprovisioned(ent.notification)) { toShow.add(ent.icon); } } Loading Loading @@ -1567,9 +1570,13 @@ public class TabletStatusBar extends BaseStatusBar implements ArrayList<View> toShow = new ArrayList<View>(); final boolean provisioned = isDeviceProvisioned(); // If the device hasn't been through Setup, we only show system notifications for (int i=0; i<N; i++) { View row = mNotificationData.get(N-i-1).row; toShow.add(row); Entry ent = mNotificationData.get(N-i-1); if (provisioned || showNotificationEvenIfUnprovisioned(ent.notification)) { toShow.add(ent.row); } } ArrayList<View> toRemove = new ArrayList<View>(); Loading @@ -1588,11 +1595,12 @@ public class TabletStatusBar extends BaseStatusBar implements View v = toShow.get(i); if (v.getParent() == null) { // the notification panel has the most important things at the bottom mPile.addView(v, N-1-i); mPile.addView(v, Math.min(toShow.size()-1-i, mPile.getChildCount())); } } mNotificationPanel.setNotificationCount(N); mNotificationPanel.setNotificationCount(toShow.size()); mNotificationPanel.setSettingsEnabled(isDeviceProvisioned()); } @Override Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java +18 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,7 @@ import com.android.systemui.recent.RecentsPanelView; import com.android.systemui.recent.RecentTasksLoader; import com.android.systemui.recent.TaskDescription; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationData.Entry; import com.android.systemui.statusbar.policy.NotificationRowLayout; import com.android.systemui.statusbar.tablet.StatusBarPanel; Loading Loading @@ -904,4 +905,21 @@ public abstract class BaseStatusBar extends SystemUI implements } } } // Q: What kinds of notifications should show during setup? // A: Almost none! Only things coming from the system (package is "android") that also // have special "kind" tags marking them as relevant for setup (see below). protected boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) { if ("android".equals(sbn.pkg)) { if (sbn.notification.kind != null) { for (String aKind : sbn.notification.kind) { // IME switcher, created by InputMethodManagerService if ("android.system.imeswitcher".equals(aKind)) return true; // OTA availability & errors, created by SystemUpdateService if ("android.system.update".equals(aKind)) return true; } } } return false; } }
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +0 −17 Original line number Diff line number Diff line Loading @@ -821,23 +821,6 @@ public class PhoneStatusBar extends BaseStatusBar { R.integer.config_show_search_delay); } // Q: What kinds of notifications should show during setup? // A: Almost none! Only things coming from the system (package is "android") that also // have special "kind" tags marking them as relevant for setup (see below). private boolean showNotificationEvenIfUnprovisioned(StatusBarNotification sbn) { if ("android".equals(sbn.pkg)) { if (sbn.notification.kind != null) { for (String aKind : sbn.notification.kind) { // IME switcher, created by InputMethodManagerService if ("android.system.imeswitcher".equals(aKind)) return true; // OTA availability & errors, created by SystemUpdateService if ("android.system.update".equals(aKind)) return true; } } } return false; } private void loadNotificationShade() { if (mPile == null) return; Loading
packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanel.java +9 −2 Original line number Diff line number Diff line Loading @@ -217,7 +217,7 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, */ public void onClick(View v) { if (v == mTitleArea) { if (mSettingsButton.isEnabled() && v == mTitleArea) { swapPanels(); } } Loading Loading @@ -280,7 +280,7 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, public void updatePanelModeButtons() { final boolean settingsVisible = (mSettingsView != null); mSettingsButton.setVisibility(!settingsVisible ? View.VISIBLE : View.GONE); mSettingsButton.setVisibility(!settingsVisible && mSettingsButton.isEnabled() ? View.VISIBLE : View.GONE); mNotificationButton.setVisibility(settingsVisible ? View.VISIBLE : View.GONE); } Loading Loading @@ -421,5 +421,12 @@ public class NotificationPanel extends RelativeLayout implements StatusBarPanel, super.onTouchEvent(ev); return handled; } public void setSettingsEnabled(boolean settingsEnabled) { if (mSettingsButton != null) { mSettingsButton.setEnabled(settingsEnabled); mSettingsButton.setVisibility(settingsEnabled ? View.VISIBLE : View.GONE); } } }
packages/SystemUI/src/com/android/systemui/statusbar/tablet/NotificationPanelTitle.java +5 −3 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ import com.android.systemui.R; public class NotificationPanelTitle extends RelativeLayout implements View.OnClickListener { private NotificationPanel mPanel; private ArrayList<View> buttons; private View mNotificationsButton; private View mSettingsButton; public NotificationPanelTitle(Context context, AttributeSet attrs) { super(context, attrs); Loading @@ -47,7 +47,7 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public void onFinishInflate() { super.onFinishInflate(); buttons.add(findViewById(R.id.settings_button)); buttons.add(mSettingsButton = findViewById(R.id.settings_button)); buttons.add(findViewById(R.id.notification_button)); } Loading @@ -63,6 +63,8 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public boolean onTouchEvent(MotionEvent e) { if (!mSettingsButton.isEnabled()) return false; switch (e.getAction()) { case MotionEvent.ACTION_DOWN: setPressed(true); Loading @@ -88,7 +90,7 @@ public class NotificationPanelTitle extends RelativeLayout implements View.OnCli @Override public void onClick(View v) { if (v == this) { if (mSettingsButton.isEnabled() && v == this) { mPanel.swapPanels(); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java +14 −6 Original line number Diff line number Diff line Loading @@ -1235,7 +1235,7 @@ public class TabletStatusBar extends BaseStatusBar implements @Override protected void setAreThereNotifications() { if (mNotificationPanel != null) { mNotificationPanel.setClearable(mNotificationData.hasClearableItems()); mNotificationPanel.setClearable(isDeviceProvisioned() && mNotificationData.hasClearableItems()); } } Loading Loading @@ -1533,10 +1533,13 @@ public class TabletStatusBar extends BaseStatusBar implements if (mInputMethodSwitchButton.getVisibility() != View.GONE) maxNotificationIconsCount --; if (mCompatModeButton.getVisibility() != View.GONE) maxNotificationIconsCount --; final boolean provisioned = isDeviceProvisioned(); // If the device hasn't been through Setup, we only show system notifications for (int i=0; toShow.size()< maxNotificationIconsCount; i++) { if (i >= N) break; Entry ent = mNotificationData.get(N-i-1); if (ent.notification.score >= HIDE_ICONS_BELOW_SCORE) { if ((provisioned && ent.notification.score >= HIDE_ICONS_BELOW_SCORE) || showNotificationEvenIfUnprovisioned(ent.notification)) { toShow.add(ent.icon); } } Loading Loading @@ -1567,9 +1570,13 @@ public class TabletStatusBar extends BaseStatusBar implements ArrayList<View> toShow = new ArrayList<View>(); final boolean provisioned = isDeviceProvisioned(); // If the device hasn't been through Setup, we only show system notifications for (int i=0; i<N; i++) { View row = mNotificationData.get(N-i-1).row; toShow.add(row); Entry ent = mNotificationData.get(N-i-1); if (provisioned || showNotificationEvenIfUnprovisioned(ent.notification)) { toShow.add(ent.row); } } ArrayList<View> toRemove = new ArrayList<View>(); Loading @@ -1588,11 +1595,12 @@ public class TabletStatusBar extends BaseStatusBar implements View v = toShow.get(i); if (v.getParent() == null) { // the notification panel has the most important things at the bottom mPile.addView(v, N-1-i); mPile.addView(v, Math.min(toShow.size()-1-i, mPile.getChildCount())); } } mNotificationPanel.setNotificationCount(N); mNotificationPanel.setNotificationCount(toShow.size()); mNotificationPanel.setSettingsEnabled(isDeviceProvisioned()); } @Override Loading