Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5717f809 authored by Christopher Tate's avatar Christopher Tate
Browse files

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: Ia5aca7df70a11e632eaf9be6e67900ded8ea2f7d
parent aaef6d6d
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -754,11 +754,6 @@
         autodetected from the Configuration. -->
    <bool name="config_showNavigationBar">false</bool>

    <!-- Whether to suppress tablet status/nav bar contents.  NOTE: this makes the
         device essentially useless except for kiosk-type scenarios.  This
         configuration parameter will also go away soon. -->
    <bool name="config_emptyTabletStatusBar">false</bool>

    <!-- Whether action menu items should be displayed in ALLCAPS or not.
         Defaults to true. If this is not appropriate for specific locales
         it should be disabled in that locale's resources. -->
+2 −0
Original line number Diff line number Diff line
@@ -13,3 +13,5 @@
  public void setGlowAlpha(float);
  public void setGlowScale(float);
}

-keep class com.android.systemui.statusbar.tv.TvStatusBar
+0 −11
Original line number Diff line number Diff line
@@ -199,17 +199,6 @@ public class TabletStatusBar extends StatusBar implements
        final Context context = mContext;
        final Resources res = mContext.getResources();

        // Product definitions can force the system bar to be empty.  Note that
        // this renders the device largely unusable except for kiosk-type
        // scenarios.
        try {
            final boolean emptyBar = res.getBoolean(
                    com.android.internal.R.bool.config_emptyTabletStatusBar);
            if (emptyBar) return;
        } catch (Resources.NotFoundException e) {
            // no override; ignore and use the default behavior
        }

        // Notification Panel
        mNotificationPanel = (NotificationPanel)View.inflate(context,
                R.layout.status_bar_notification_panel, null);
+110 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2012 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.
 */

package com.android.systemui.statusbar.tv;

import com.android.internal.statusbar.StatusBarIcon;
import com.android.internal.statusbar.StatusBarNotification;
import com.android.systemui.statusbar.StatusBar;

import android.os.IBinder;
import android.view.View;

/*
 * Status bar implementation for "large screen" products that mostly present no on-screen nav
 */

public class TvStatusBar extends StatusBar {
    View mView;

    @Override
    public void addIcon(String slot, int index, int viewIndex, StatusBarIcon icon) {
    }

    @Override
    public void updateIcon(String slot, int index, int viewIndex, StatusBarIcon old,
            StatusBarIcon icon) {
    }

    @Override
    public void removeIcon(String slot, int index, int viewIndex) {
    }

    @Override
    public void addNotification(IBinder key, StatusBarNotification notification) {
    }

    @Override
    public void updateNotification(IBinder key, StatusBarNotification notification) {
    }

    @Override
    public void removeNotification(IBinder key) {
    }

    @Override
    public void disable(int state) {
    }

    @Override
    public void animateExpand() {
    }

    @Override
    public void setSystemUiVisibility(int vis) {
    }

    @Override
    public void topAppWindowChanged(boolean visible) {
    }

    @Override
    public void setImeWindowStatus(IBinder token, int vis, int backDisposition) {
    }

    @Override
    public void setHardKeyboardStatus(boolean available, boolean enabled) {
    }

    @Override
    public void toggleRecentApps() {
    }

    @Override
    protected View makeStatusBarView() {
        synchronized (this) {
            if (mView == null) {
                mView = new View(mContext);
            }
        }
        return mView;
    }

    @Override
    protected int getStatusBarGravity() {
        return 0;
    }

    @Override
    public int getStatusBarHeight() {
        return 0;
    }

    @Override
    public void animateCollapse() {
    }

}