Floating View Controller
Floating view management controller that handles draggable and fixed overlays.
드래그형과 고정형 오버레이를 관리하는 플로팅 뷰 컨트롤러입니다.
Provides collision detection, position updates, and add/remove operations via WindowManager.
WindowManager를 통해 충돌 감지, 위치 업데이트, 추가/제거를 처리합니다.
Required permission: android.Manifest.permission.SYSTEM_ALERT_WINDOW.
필수 권한: android.Manifest.permission.SYSTEM_ALERT_WINDOW.
Functions
Adds a draggable floating view and wires collision callbacks.
드래그 가능한 플로팅 뷰를 추가하고 충돌 콜백을 연결합니다.
Adds a view to the window manager.
윈도우 매니저에 뷰를 추가합니다.
Returns the currently registered fixed floating view.
현재 등록된 고정 플로팅 뷰를 반환합니다.
Gets information about required permissions and their status.
필요한 권한과 그 상태에 대한 정보를 가져옵니다.
Checks if a specific permission is granted.
특정 권한이 부여되었는지 확인합니다.
Refreshes the permission status. Call this after requesting permissions.
권한 상태를 새로고침합니다. 권한 요청 후 이를 호출하세요.
Removes all floating views (drag and fixed).
Uses first-failure-stop strategy: returns false immediately on the first failure.
In that case, already-removed items stay removed and remaining items are left as-is (partial cleanup).
모든 드래그/고정 플로팅 뷰를 제거합니다.
first-failure-stop 전략을 사용하며, 첫 실패 지점에서 즉시 false를 반환합니다.
이 경우 이미 제거된 항목은 제거된 상태로 유지되고, 남은 항목은 그대로 남는 부분 정리 상태가 될 수 있습니다.
Removes a draggable floating view and detaches its listeners.
드래그 플로팅 뷰를 제거하고 리스너를 해제합니다.
Removes the fixed floating view if present.
고정 플로팅 뷰가 있으면 제거합니다.
Removes a view from the window manager.
윈도우 매니저에서 뷰를 제거합니다.
Sets the fixed floating view (removes it when null).
고정 플로팅 뷰를 설정하며, null이면 제거합니다.
Updates the view layout while clamping coordinates to non-negative values.
좌표를 0 이상으로 보정하며 뷰 레이아웃을 업데이트합니다.