TvStatusBar.java revision bf8c2c0f99e70514a37da85b1f31d91964daa0c4
1acad183238ad13774dba38c403ed553c2427027eChristopher Tate/*
2acad183238ad13774dba38c403ed553c2427027eChristopher Tate * Copyright (C) 2012 The Android Open Source Project
3acad183238ad13774dba38c403ed553c2427027eChristopher Tate *
4acad183238ad13774dba38c403ed553c2427027eChristopher Tate * Licensed under the Apache License, Version 2.0 (the "License");
5acad183238ad13774dba38c403ed553c2427027eChristopher Tate * you may not use this file except in compliance with the License.
6acad183238ad13774dba38c403ed553c2427027eChristopher Tate * You may obtain a copy of the License at
7acad183238ad13774dba38c403ed553c2427027eChristopher Tate *
8acad183238ad13774dba38c403ed553c2427027eChristopher Tate *      http://www.apache.org/licenses/LICENSE-2.0
9acad183238ad13774dba38c403ed553c2427027eChristopher Tate *
10acad183238ad13774dba38c403ed553c2427027eChristopher Tate * Unless required by applicable law or agreed to in writing, software
11acad183238ad13774dba38c403ed553c2427027eChristopher Tate * distributed under the License is distributed on an "AS IS" BASIS,
12acad183238ad13774dba38c403ed553c2427027eChristopher Tate * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13acad183238ad13774dba38c403ed553c2427027eChristopher Tate * See the License for the specific language governing permissions and
14acad183238ad13774dba38c403ed553c2427027eChristopher Tate * limitations under the License.
15acad183238ad13774dba38c403ed553c2427027eChristopher Tate */
16acad183238ad13774dba38c403ed553c2427027eChristopher Tate
17acad183238ad13774dba38c403ed553c2427027eChristopher Tatepackage com.android.systemui.statusbar.tv;
18acad183238ad13774dba38c403ed553c2427027eChristopher Tate
197e53f20c835ae2614c92717a6fc222b345c75036Jason Monkimport android.content.ComponentName;
2086905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggiimport android.graphics.Rect;
21acad183238ad13774dba38c403ed553c2427027eChristopher Tateimport android.os.IBinder;
22d0694b6735a9d91794e6096961231e07364ba3faChristoph Studerimport android.service.notification.NotificationListenerService.RankingMap;
23de84f0e77ea2bf713d15c290264059a413c2486aJohn Spurlockimport android.service.notification.StatusBarNotification;
24acad183238ad13774dba38c403ed553c2427027eChristopher Tateimport android.view.View;
25acad183238ad13774dba38c403ed553c2427027eChristopher Tate
26de84f0e77ea2bf713d15c290264059a413c2486aJohn Spurlockimport com.android.internal.statusbar.StatusBarIcon;
27a32ab60bb020df1d89fadfa14eb8600242786bf2Selim Cinekimport com.android.systemui.statusbar.ActivatableNotificationView;
28de84f0e77ea2bf713d15c290264059a413c2486aJohn Spurlockimport com.android.systemui.statusbar.BaseStatusBar;
29379ff8f6b18b236b679a59a2dc14c0baeede3baeSelim Cinekimport com.android.systemui.statusbar.NotificationData;
30bf8c2c0f99e70514a37da85b1f31d91964daa0c4Winsonimport com.android.systemui.pip.tv.PipManager;
31de84f0e77ea2bf713d15c290264059a413c2486aJohn Spurlock
3267ed54a724df258738062e60d7f702f396502b49Sid Soundararajan/**
33acad183238ad13774dba38c403ed553c2427027eChristopher Tate * Status bar implementation for "large screen" products that mostly present no on-screen nav
34acad183238ad13774dba38c403ed553c2427027eChristopher Tate */
35acad183238ad13774dba38c403ed553c2427027eChristopher Tate
36acad183238ad13774dba38c403ed553c2427027eChristopher Tatepublic class TvStatusBar extends BaseStatusBar {
37acad183238ad13774dba38c403ed553c2427027eChristopher Tate
38acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
3907473cea3a6007d5e72b25d3445437a175735fa9Jason Monk    public void setIcon(String slot, StatusBarIcon icon) {
40acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
41acad183238ad13774dba38c403ed553c2427027eChristopher Tate
42acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
4307473cea3a6007d5e72b25d3445437a175735fa9Jason Monk    public void removeIcon(String slot) {
44acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
45acad183238ad13774dba38c403ed553c2427027eChristopher Tate
46acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
47379ff8f6b18b236b679a59a2dc14c0baeede3baeSelim Cinek    public void addNotification(StatusBarNotification notification, RankingMap ranking,
48379ff8f6b18b236b679a59a2dc14c0baeede3baeSelim Cinek            NotificationData.Entry entry) {
49acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
50acad183238ad13774dba38c403ed553c2427027eChristopher Tate
51acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
52e71fefcc8b382947f6f6a8bf816b3889fb368fedChristoph Studer    protected void updateNotificationRanking(RankingMap ranking) {
5360748e7122c6cfbcebcf4a283d1a78ca796d07a7Christoph Studer    }
5460748e7122c6cfbcebcf4a283d1a78ca796d07a7Christoph Studer
5560748e7122c6cfbcebcf4a283d1a78ca796d07a7Christoph Studer    @Override
56e71fefcc8b382947f6f6a8bf816b3889fb368fedChristoph Studer    public void removeNotification(String key, RankingMap ranking) {
57acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
58acad183238ad13774dba38c403ed553c2427027eChristopher Tate
59acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
60cde0a2a9ea00d6e4acfe6ce7a7c9061343df7fa3Benjamin Franz    public void disable(int state1, int state2, boolean animate) {
61acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
62acad183238ad13774dba38c403ed553c2427027eChristopher Tate
63acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
6411cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    public void animateExpandNotificationsPanel() {
65acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
66acad183238ad13774dba38c403ed553c2427027eChristopher Tate
67acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
6811cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    public void animateCollapsePanels(int flags) {
69acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
70acad183238ad13774dba38c403ed553c2427027eChristopher Tate
71acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
7286905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggi    public void setSystemUiVisibility(int vis, int fullscreenStackVis, int dockedStackVis,
7386905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggi            int mask, Rect fullscreenStackBounds, Rect dockedStackBounds) {
74acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
75acad183238ad13774dba38c403ed553c2427027eChristopher Tate
76acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
77acad183238ad13774dba38c403ed553c2427027eChristopher Tate    public void topAppWindowChanged(boolean visible) {
78acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
79acad183238ad13774dba38c403ed553c2427027eChristopher Tate
80acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
81b605fecd9e4282823af754b3968b21205d64554aJason Monk    public void setImeWindowStatus(IBinder token, int vis, int backDisposition,
82b605fecd9e4282823af754b3968b21205d64554aJason Monk            boolean showImeSwitcher) {
83acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
84acad183238ad13774dba38c403ed553c2427027eChristopher Tate
85acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override // CommandQueue
869764218ff979f735aee2f1189e3547d5f3b02f83John Spurlock    public void setWindowState(int window, int state) {
879764218ff979f735aee2f1189e3547d5f3b02f83John Spurlock    }
889764218ff979f735aee2f1189e3547d5f3b02f83John Spurlock
89cad5768e22e5132efb2e5179f4988a763c7a8d9eJohn Spurlock    @Override // CommandQueue
90cad5768e22e5132efb2e5179f4988a763c7a8d9eJohn Spurlock    public void buzzBeepBlinked() {
91cad5768e22e5132efb2e5179f4988a763c7a8d9eJohn Spurlock    }
92cad5768e22e5132efb2e5179f4988a763c7a8d9eJohn Spurlock
93cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    @Override // CommandQueue
94cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    public void notificationLightOff() {
95cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    }
96cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock
97cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    @Override // CommandQueue
98cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    public void notificationLightPulse(int argb, int onMillis, int offMillis) {
99cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock    }
100cb566aab57cafb69c628809fc0a0ffa2151c7d6eJohn Spurlock
101acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
102acad183238ad13774dba38c403ed553c2427027eChristopher Tate    protected void setAreThereNotifications() {
103acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
104acad183238ad13774dba38c403ed553c2427027eChristopher Tate
105acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
10637fe69322517809d38c1934239a6e117c39d40e7Christoph Studer    protected void updateNotifications() {
107acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
108acad183238ad13774dba38c403ed553c2427027eChristopher Tate
109acad183238ad13774dba38c403ed553c2427027eChristopher Tate    @Override
1102fdeeabe78b0f54f3163b1b3741ac813828b3511Jorim Jaggi    public boolean shouldDisableNavbarGestures() {
111acad183238ad13774dba38c403ed553c2427027eChristopher Tate        return true;
112acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
113acad183238ad13774dba38c403ed553c2427027eChristopher Tate
114cb2522c86d75fff277dc38ec7e444a5b5f5130eaMichael Jurka    public View getStatusBarView() {
115cb2522c86d75fff277dc38ec7e444a5b5f5130eaMichael Jurka        return null;
116cb2522c86d75fff277dc38ec7e444a5b5f5130eaMichael Jurka    }
117cb2522c86d75fff277dc38ec7e444a5b5f5130eaMichael Jurka
118e20a177d3f147f3011647c3bdab401f90b2c5d1dSvetoslav Ganov    @Override
11929379ec859bf7118dec9f3248c63ee369218ad6bJorim Jaggi    protected void toggleSplitScreenMode(int metricsDockAction, int metricsUndockAction) {
120315c34e7d62ce4b609f2d08b18a11a2d44e93abaPhil Weaver    }
121315c34e7d62ce4b609f2d08b18a11a2d44e93abaPhil Weaver
122315c34e7d62ce4b609f2d08b18a11a2d44e93abaPhil Weaver    @Override
123684a442b812a5e95d813700ffa2fd17ca72048a7Selim Cinek    public void maybeEscalateHeadsUp() {
124a4ef6203262d45d4ffae7860ef40bd931ab27e07Chris Wren    }
125a4ef6203262d45d4ffae7860ef40bd931ab27e07Chris Wren
126a4ef6203262d45d4ffae7860ef40bd931ab27e07Chris Wren    @Override
127e4ea6ab1e71b129f08aff118b9dbaab7c559841dYorke Lee    public boolean isPanelFullyCollapsed() {
1281689594851a6dd985cff69913e7f4bc548062808Chris Wren        return false;
1291689594851a6dd985cff69913e7f4bc548062808Chris Wren    }
1301689594851a6dd985cff69913e7f4bc548062808Chris Wren
1311689594851a6dd985cff69913e7f4bc548062808Chris Wren    @Override
1325f71bee3a83fa9465f03dcd1108c038f0339e3c5Selim Cinek    protected int getMaxKeyguardNotifications(boolean recompute) {
133d4a57440ca5fc8461959176475b0fcd8a6e05871Jorim Jaggi        return 0;
134d4a57440ca5fc8461959176475b0fcd8a6e05871Jorim Jaggi    }
135d4a57440ca5fc8461959176475b0fcd8a6e05871Jorim Jaggi
136d4a57440ca5fc8461959176475b0fcd8a6e05871Jorim Jaggi    @Override
137a9927325eda025504d59bb6594fee8e240d95b01Jason Monk    public void animateExpandSettingsPanel(String subPanel) {
138acad183238ad13774dba38c403ed553c2427027eChristopher Tate    }
1398afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio
1408afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio    @Override
1415cf17879a31b7b78c09ec50b727f921840dcf783Jorim Jaggi    protected void createAndAddWindows() {
1425cf17879a31b7b78c09ec50b727f921840dcf783Jorim Jaggi    }
1435cf17879a31b7b78c09ec50b727f921840dcf783Jorim Jaggi
1445cf17879a31b7b78c09ec50b727f921840dcf783Jorim Jaggi    @Override
1458afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio    protected void refreshLayout(int layoutDirection) {
1468afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio    }
1478afcd149970c79054a3a16377834aa0aec35eee0Fabrice Di Meglio
148d552d9d8e964c102e6832610be46cf2c041e8829Jorim Jaggi    @Override
149a32ab60bb020df1d89fadfa14eb8600242786bf2Selim Cinek    public void onActivated(ActivatableNotificationView view) {
150d552d9d8e964c102e6832610be46cf2c041e8829Jorim Jaggi    }
151d552d9d8e964c102e6832610be46cf2c041e8829Jorim Jaggi
152d552d9d8e964c102e6832610be46cf2c041e8829Jorim Jaggi    @Override
153a32ab60bb020df1d89fadfa14eb8600242786bf2Selim Cinek    public void onActivationReset(ActivatableNotificationView view) {
154d552d9d8e964c102e6832610be46cf2c041e8829Jorim Jaggi    }
1555565cb42f2ac07fcdbe3aab2503de07fbeb39504Jason Monk
1565565cb42f2ac07fcdbe3aab2503de07fbeb39504Jason Monk    @Override
1570f051f5abdb31024d862a954cc4c4716b1dde616Andrii Kulian    public void showScreenPinningRequest(int taskId) {
1585565cb42f2ac07fcdbe3aab2503de07fbeb39504Jason Monk    }
15924bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi
16024bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    @Override
16124bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    public void appTransitionPending() {
16224bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    }
16324bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi
16424bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    @Override
16524bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    public void appTransitionCancelled() {
16624bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    }
16724bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi
16824bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    @Override
16924bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    public void appTransitionStarting(long startTime, long duration) {
17024bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi    }
17129fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek
17229fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    @Override
1732adba07d75419462873dfeef40d4c983d832ed99Jorim Jaggi    public void appTransitionFinished() {
1742adba07d75419462873dfeef40d4c983d832ed99Jorim Jaggi    }
1752adba07d75419462873dfeef40d4c983d832ed99Jorim Jaggi
1762adba07d75419462873dfeef40d4c983d832ed99Jorim Jaggi    @Override
17740aa8811bc817293d7400c14fa60350d2350d29fJorim Jaggi    public void onCameraLaunchGestureDetected(int source) {
178372d1bdd54fe977c71bdaae895687c76ac35202aSelim Cinek    }
179372d1bdd54fe977c71bdaae895687c76ac35202aSelim Cinek
180372d1bdd54fe977c71bdaae895687c76ac35202aSelim Cinek    @Override
181f0fd218382b96f052d22a2e8ee00510cc23a6d1eJaewan Kim    public void showTvPictureInPictureMenu() {
182f0fd218382b96f052d22a2e8ee00510cc23a6d1eJaewan Kim        PipManager.getInstance().showTvPictureInPictureMenu();
183c552b04cb4aac9d31dbaf9744f32ddc14886e222Jaewan Kim    }
184c552b04cb4aac9d31dbaf9744f32ddc14886e222Jaewan Kim
185c552b04cb4aac9d31dbaf9744f32ddc14886e222Jaewan Kim    @Override
186bdf3376616c276ed18a51185351b44fd16eeae29Chris Wren    protected void updateHeadsUp(String key, NotificationData.Entry entry, boolean shouldPeek,
18729fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek            boolean alertAgain) {
18829fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    }
18929fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek
19029fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    @Override
19129fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    protected void setHeadsUpUser(int newUserId) {
19229fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    }
19329fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek
19429fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    protected boolean isSnoozedPackage(StatusBarNotification sbn) {
19529fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek        return false;
19629fa89b41e15ee61a1ec13307596fe5f5f4c376cSelim Cinek    }
1977e53f20c835ae2614c92717a6fc222b345c75036Jason Monk
1987e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    @Override
1997e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    public void addQsTile(ComponentName tile) {
2007e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    }
2017e53f20c835ae2614c92717a6fc222b345c75036Jason Monk
2027e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    @Override
2037e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    public void remQsTile(ComponentName tile) {
2047e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    }
2057e53f20c835ae2614c92717a6fc222b345c75036Jason Monk
2067e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    @Override
2077e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    public void clickTile(ComponentName tile) {
2087e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    }
20967ed54a724df258738062e60d7f702f396502b49Sid Soundararajan
21067ed54a724df258738062e60d7f702f396502b49Sid Soundararajan    @Override
21167ed54a724df258738062e60d7f702f396502b49Sid Soundararajan    public void start() {
21267ed54a724df258738062e60d7f702f396502b49Sid Soundararajan        super.start();
21367ed54a724df258738062e60d7f702f396502b49Sid Soundararajan        putComponent(TvStatusBar.class, this);
21467ed54a724df258738062e60d7f702f396502b49Sid Soundararajan    }
21567ed54a724df258738062e60d7f702f396502b49Sid Soundararajan
21607e0384a4e931bc94550c108ddd9b9514100161eJim Miller    @Override
21707e0384a4e931bc94550c108ddd9b9514100161eJim Miller    public void handleSystemNavigationKey(int arg1) {
21807e0384a4e931bc94550c108ddd9b9514100161eJim Miller        // Not implemented
21907e0384a4e931bc94550c108ddd9b9514100161eJim Miller    }
220acad183238ad13774dba38c403ed553c2427027eChristopher Tate}
221