private BroadcastReceiver showReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- taskbarShownTemporarily = false;
- taskbarHiddenTemporarily = false;
- showTaskbar();
+ showTaskbar(true);
}
};
private BroadcastReceiver hideReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
- taskbarShownTemporarily = false;
- taskbarHiddenTemporarily = false;
- hideTaskbar();
+ hideTaskbar(true);
}
};
ImageView backButton = (ImageView) layout.findViewById(R.id.button_back);
backButton.setVisibility(View.VISIBLE);
- backButton.setOnClickListener(v -> U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_BACK));
+ backButton.setOnClickListener(v -> {
+ U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_BACK);
+ if(pref.getBoolean("hide_taskbar", true) && !FreeformHackHelper.getInstance().isInFreeformWorkspace())
+ hideTaskbar(true);
+ });
}
if(pref.getBoolean("button_home", false)) {
ImageView homeButton = (ImageView) layout.findViewById(R.id.button_home);
homeButton.setVisibility(View.VISIBLE);
- homeButton.setOnClickListener(v -> U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_HOME));
+ homeButton.setOnClickListener(v -> {
+ U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_HOME);
+ if(pref.getBoolean("hide_taskbar", true) && !FreeformHackHelper.getInstance().isInFreeformWorkspace())
+ hideTaskbar(true);
+ });
}
if(pref.getBoolean("button_recents", false)) {
ImageView recentsButton = (ImageView) layout.findViewById(R.id.button_recents);
recentsButton.setVisibility(View.VISIBLE);
- recentsButton.setOnClickListener(v -> U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_RECENTS));
+ recentsButton.setOnClickListener(v -> {
+ U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_RECENTS);
+ if(pref.getBoolean("hide_taskbar", true) && !FreeformHackHelper.getInstance().isInFreeformWorkspace())
+ hideTaskbar(true);
+ });
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
recentsButton.setOnLongClickListener(v -> {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN);
+ if(pref.getBoolean("hide_taskbar", true) && !FreeformHackHelper.getInstance().isInFreeformWorkspace())
+ hideTaskbar(true);
+
return true;
});
if(motionEvent.getAction() == MotionEvent.ACTION_BUTTON_PRESS
&& motionEvent.getButtonState() == MotionEvent.BUTTON_SECONDARY) {
U.sendAccessibilityAction(this, AccessibilityService.GLOBAL_ACTION_TOGGLE_SPLIT_SCREEN);
+ if(pref.getBoolean("hide_taskbar", true) && !FreeformHackHelper.getInstance().isInFreeformWorkspace())
+ hideTaskbar(true);
}
return true;
});
button.setTextColor(accentColor);
if(isFirstStart && FreeformHackHelper.getInstance().isInFreeformWorkspace())
- showTaskbar();
+ showTaskbar(false);
else if(!pref.getBoolean("collapsed", false) && pref.getBoolean("taskbar_active", false))
toggleTaskbar();
}
private void toggleTaskbar() {
- taskbarShownTemporarily = false;
- taskbarHiddenTemporarily = false;
-
if(startButton.getVisibility() == View.GONE)
- showTaskbar();
+ showTaskbar(true);
else
- hideTaskbar();
+ hideTaskbar(true);
}
- private void showTaskbar() {
+ private void showTaskbar(boolean clearVariables) {
+ if(clearVariables) {
+ taskbarShownTemporarily = false;
+ taskbarHiddenTemporarily = false;
+ }
+
if(startButton.getVisibility() == View.GONE) {
startButton.setVisibility(View.VISIBLE);
space.setVisibility(View.VISIBLE);
}
}
- private void hideTaskbar() {
+ private void hideTaskbar(boolean clearVariables) {
+ if(clearVariables) {
+ taskbarShownTemporarily = false;
+ taskbarHiddenTemporarily = false;
+ }
+
if(startButton.getVisibility() == View.VISIBLE) {
startButton.setVisibility(View.GONE);
space.setVisibility(View.GONE);
if(!pref.getBoolean("collapsed", false)) taskbarShownTemporarily = true;
}
- showTaskbar();
+ showTaskbar(false);
if(taskbarHiddenTemporarily)
taskbarHiddenTemporarily = false;
if(pref.getBoolean("collapsed", false)) taskbarHiddenTemporarily = true;
}
- hideTaskbar();
+ hideTaskbar(false);
if(taskbarShownTemporarily)
taskbarShownTemporarily = false;