Skip to content

Commit acad183

Browse files
Christopher Tatejason-simmons
authored andcommitted
Add an empty stub status bar service implementation
For kiosk-type devices that do not present any navigation UI. This allows for clean selection of the implementation based on resource overlays, without the need for the tablet or phone status bar implementations to accomodate the desired behaviors. Bug 5824373 Change-Id: Idcec70eef437904edda452b69e5eb7a3cc7094f7 (cherry picked from commit 5717f80 in ics-aah) Signed-off-by: Mike J. Chen <mjchen@google.com>
1 parent bec1d13 commit acad183

File tree

2 files changed

+164
-0
lines changed

2 files changed

+164
-0
lines changed

packages/SystemUI/proguard.flags

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@
1313
public void setGlowAlpha(float);
1414
public void setGlowScale(float);
1515
}
16+
17+
-keep class com.android.systemui.statusbar.tv.TvStatusBar
Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
/*
2+
* Copyright (C) 2012 The Android Open Source Project
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.android.systemui.statusbar.tv;
18+
19+
import com.android.internal.statusbar.StatusBarIcon;
20+
import com.android.internal.statusbar.StatusBarNotification;
21+
import com.android.systemui.statusbar.BaseStatusBar;
22+
23+
import android.os.IBinder;
24+
import android.view.View;
25+
import android.view.ViewGroup.LayoutParams;
26+
import android.view.WindowManager;
27+
28+
/*
29+
* Status bar implementation for "large screen" products that mostly present no on-screen nav
30+
*/
31+
32+
public class TvStatusBar extends BaseStatusBar {
33+
View mView;
34+
35+
@Override
36+
public void addIcon(String slot, int index, int viewIndex, StatusBarIcon icon) {
37+
}
38+
39+
@Override
40+
public void updateIcon(String slot, int index, int viewIndex, StatusBarIcon old,
41+
StatusBarIcon icon) {
42+
}
43+
44+
@Override
45+
public void removeIcon(String slot, int index, int viewIndex) {
46+
}
47+
48+
@Override
49+
public void addNotification(IBinder key, StatusBarNotification notification) {
50+
}
51+
52+
@Override
53+
public void updateNotification(IBinder key, StatusBarNotification notification) {
54+
}
55+
56+
@Override
57+
public void removeNotification(IBinder key) {
58+
}
59+
60+
@Override
61+
public void disable(int state) {
62+
}
63+
64+
@Override
65+
public void animateExpand() {
66+
}
67+
68+
@Override
69+
public void animateCollapse(int flags) {
70+
}
71+
72+
@Override
73+
public void setSystemUiVisibility(int vis, int mask) {
74+
}
75+
76+
@Override
77+
public void topAppWindowChanged(boolean visible) {
78+
}
79+
80+
@Override
81+
public void setImeWindowStatus(IBinder token, int vis, int backDisposition) {
82+
}
83+
84+
@Override
85+
public void setHardKeyboardStatus(boolean available, boolean enabled) {
86+
}
87+
88+
@Override
89+
public void toggleRecentApps() {
90+
}
91+
92+
@Override // CommandQueue
93+
public void setNavigationIconHints(int hints) {
94+
}
95+
96+
@Override
97+
protected void createAndAddWindows() {
98+
}
99+
100+
@Override
101+
protected WindowManager.LayoutParams getRecentsLayoutParams(
102+
LayoutParams layoutParams) {
103+
return null;
104+
}
105+
106+
@Override
107+
protected WindowManager.LayoutParams getSearchLayoutParams(
108+
LayoutParams layoutParams) {
109+
return null;
110+
}
111+
112+
@Override
113+
protected void haltTicker() {
114+
}
115+
116+
@Override
117+
protected void setAreThereNotifications() {
118+
}
119+
120+
@Override
121+
protected void updateNotificationIcons() {
122+
}
123+
124+
@Override
125+
protected void tick(IBinder key, StatusBarNotification n, boolean firstTime) {
126+
}
127+
128+
@Override
129+
protected void updateExpandedViewPos(int expandedPosition) {
130+
}
131+
132+
@Override
133+
protected int getExpandedViewMaxHeight() {
134+
return 0;
135+
}
136+
137+
@Override
138+
protected boolean shouldDisableNavbarGestures() {
139+
return true;
140+
}
141+
142+
protected View makeStatusBarView() {
143+
synchronized (this) {
144+
if (mView == null) {
145+
mView = new View(mContext);
146+
}
147+
}
148+
return mView;
149+
}
150+
151+
protected int getStatusBarGravity() {
152+
return 0;
153+
}
154+
155+
public int getStatusBarHeight() {
156+
return 0;
157+
}
158+
159+
public void animateCollapse() {
160+
}
161+
162+
}

0 commit comments

Comments
 (0)