import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
-import android.provider.Settings;
import com.farmerbb.taskbar.R;
import com.farmerbb.taskbar.service.TaskbarService;
public boolean onPreferenceClick(Preference preference) {
switch(preference.getKey()) {
case "auto_hide_navbar":
- if(U.isServiceRunning(this, TaskbarService.class)) {
- boolean isChecked = ((CheckBoxPreference) preference).isChecked();
+ if(U.isServiceRunning(this, TaskbarService.class))
+ U.showHideNavigationBar(this, !((CheckBoxPreference) preference).isChecked());
- try {
- Settings.System.putInt(getContentResolver(), "navigation_bar_show", isChecked ? 0 : 1);
- } catch (Exception e) { /* Gracefully fail */ }
- }
break;
default:
U.restartTaskbar(this);
private BroadcastReceiver startMenuAppearReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- if(startButton.getVisibility() == View.GONE)
+ if(startButton.getVisibility() == View.GONE
+ && (!LauncherHelper.getInstance().isOnHomeScreen() || FreeformHackHelper.getInstance().isInFreeformWorkspace()))
layout.setVisibility(View.GONE);
}
};
toggleTaskbar();
if(pref.getBoolean("auto_hide_navbar", false))
- try {
- Settings.System.putInt(getContentResolver(), "navigation_bar_show", 0);
- } catch (Exception e) { /* Gracefully fail */ }
+ U.showHideNavigationBar(this, false);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
if(pref.getBoolean("skip_auto_hide_navbar", false)) {
pref.edit().remove("skip_auto_hide_navbar").apply();
} else if(pref.getBoolean("auto_hide_navbar", false))
- try {
- Settings.System.putInt(getContentResolver(), "navigation_bar_show", 1);
- } catch (Exception e) { /* Gracefully fail */ }
+ U.showHideNavigationBar(this, true);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
context.startService(intent);
}
}
+
+ public static void showHideNavigationBar(Context context, boolean show) {
+ // Show or hide the system navigation bar on Bliss-x86
+ try {
+ Settings.System.putInt(context.getContentResolver(), "navigation_bar_show", show ? 1 : 0);
+ } catch (Exception e) { /* Gracefully fail */ }
+ }
}