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

Commit 533fe710 authored by Keyan Mobli's avatar Keyan Mobli
Browse files

Allow home button to be hidden on the statusbar buttons for tablet devices

Change-Id: I087fdb1a8e187497bda524d11670d117025c6d78
parent e7ea0479
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@
    <bool name="config_hspa_data_distinguishable">false</bool>
    <!-- Control whether status bar should have statusbar buttons (home,menu and back) available for tablet devices -->
    <bool name="config_statusbar_buttons">false</bool>
    <!-- Control whether the status bar buttons should have the home button hidden -->
    <bool name="config_statusbar_hide_home">false</bool>

</resources>
+26 −12
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.os.ServiceManager;
import android.view.IWindowManager;
import android.view.KeyEvent;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import android.util.Slog;
import com.android.systemui.R;

@@ -53,6 +54,7 @@ public class StatusBarView extends FrameLayout {
    ImageButton mStatusBarBackButton;
    ImageButton mStatusBarMenuButton;
    boolean mStatusBarButtons;
    boolean mStatusBarHideHome;
    
    public StatusBarView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -73,6 +75,8 @@ public class StatusBarView extends FrameLayout {
        try {
            mStatusBarButtons = mContext.getResources().getBoolean(
                    R.bool.config_statusbar_buttons);
            mStatusBarHideHome = mContext.getResources().getBoolean(
                    R.bool.config_statusbar_hide_home);
        } catch (Exception e) {
                  mStatusBarButtons = false;
        }
@@ -83,6 +87,7 @@ public class StatusBarView extends FrameLayout {
         */
        if (mStatusBarButtons) {
            mStatusBarHomeButton = (ImageButton)findViewById(R.id.status_home);
            if(!mStatusBarHideHome) {
                mStatusBarHomeButton.setVisibility(0);
                mStatusBarHomeButton.setOnClickListener(
                    new ImageButton.OnClickListener() {
@@ -95,6 +100,7 @@ public class StatusBarView extends FrameLayout {
                        }
                    }
                );
            }
            mStatusBarMenuButton = (ImageButton)findViewById(R.id.status_menu);
            mStatusBarMenuButton.setVisibility(0);
            mStatusBarMenuButton.setOnClickListener(
@@ -115,6 +121,14 @@ public class StatusBarView extends FrameLayout {
                    }
                }
            );
            if (mStatusBarHideHome) {
                final float scale = getContext().getResources().getDisplayMetrics().density;
                int size = (int) scale * 45;
                LinearLayout.LayoutParams biggerButtons = new LinearLayout.LayoutParams(size,
                    LinearLayout.LayoutParams.MATCH_PARENT);
                mStatusBarMenuButton.setLayoutParams(biggerButtons);
                mStatusBarBackButton.setLayoutParams(biggerButtons);
            }
        }
    }