import com.farmerbb.taskbar.service.TaskbarService;
import com.farmerbb.taskbar.util.CompatUtils;
import com.farmerbb.taskbar.util.DisplayInfo;
+import com.farmerbb.taskbar.util.FreeformHackHelper;
import com.farmerbb.taskbar.util.IconCache;
import com.farmerbb.taskbar.util.LauncherHelper;
import com.farmerbb.taskbar.util.U;
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
lbm.registerReceiver(killReceiver, new IntentFilter("com.farmerbb.taskbar.KILL_HOME_ACTIVITY"));
lbm.registerReceiver(forceTaskbarStartReceiver, new IntentFilter("com.farmerbb.taskbar.FORCE_TASKBAR_RESTART"));
- lbm.registerReceiver(freeformToggleReceiver, new IntentFilter("com.farmerbb.taskbar.UPDATE_FREEFORM_CHECKBOX"));
+
+ IntentFilter intentFilter = new IntentFilter();
+ intentFilter.addAction("com.farmerbb.taskbar.UPDATE_FREEFORM_CHECKBOX");
+ intentFilter.addAction("com.farmerbb.taskbar.TOUCH_ABSORBER_STATE_CHANGED");
+
+ lbm.registerReceiver(freeformToggleReceiver, intentFilter);
U.initPrefs(this);
}
}
private void updateWindowFlags() {
- if(U.isOverridingFreeformHack(this)) {
- getWindow().setFlags(
- WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
- WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
- );
- } else
- getWindow().clearFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
+ int flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
+ if(FreeformHackHelper.getInstance().isTouchAbsorberActive() && U.isOverridingFreeformHack(this))
+ getWindow().setFlags(flags, flags);
+ else
+ getWindow().clearFlags(flags);
}
}
LinearLayout layout = U.findViewById(this, R.id.incognitoLayout);
layout.setLayoutParams(new FrameLayout.LayoutParams(display.width, display.height));
- LocalBroadcastManager.getInstance(this).registerReceiver(finishReceiver, new IntentFilter("com.farmerbb.taskbar.FINISH_FREEFORM_ACTIVITY"));
+ LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
+ lbm.registerReceiver(finishReceiver, new IntentFilter("com.farmerbb.taskbar.FINISH_FREEFORM_ACTIVITY"));
+
FreeformHackHelper.getInstance().setTouchAbsorberActive(true);
+ lbm.sendBroadcast(new Intent("com.farmerbb.taskbar.TOUCH_ABSORBER_STATE_CHANGED"));
lastStartTime = System.currentTimeMillis();
}
@Override
protected void onDestroy() {
- LocalBroadcastManager.getInstance(this).unregisterReceiver(finishReceiver);
+ LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
+ lbm.unregisterReceiver(finishReceiver);
+
FreeformHackHelper.getInstance().setTouchAbsorberActive(false);
+ lbm.sendBroadcast(new Intent("com.farmerbb.taskbar.TOUCH_ABSORBER_STATE_CHANGED"));
super.onDestroy();
}