feat: 新增 42 个 Android API 模块
新增模块覆盖: 系统层 (14): system, security, print, opengl, renderscript, transition, test, service_notification, service_controls, service_quicksettings, service_wallpaper, service_autofill, service_dreams, service_vr 应用层 (13): app_admin, app_backup, app_job, app_usage, app_role, app_people, appwidget, companion, credentials, mtp, sip, telecom, speech 硬件媒体层 (15): hardware_display, hardware_fingerprint, hardware_usb, hardware_input, media_audiofx, media_browse, media_session, media_tv, media_midi, media_projection, uwb, se, view_autofill, view_textclassifier, view_translation 总计 94 个模块,75,342 行代码
This commit is contained in:
1 parent
8ad62be068
commit
506f9ac725
43 files changed
+16704
-23
No files matched your search
@@ -0,0 +1,140 @@
|
||||
"""
|
||||
Android Service Dreams 组件 — DreamService 等
|
||||
方法签名完全对齐 Android SDK (android.service.dreams 包)
|
||||
"""
|
||||
|
||||
from typing import Any, Callable, Dict, List, Optional
|
||||
|
||||
from .._core import Stub, AndroidOnlyError
|
||||
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# DreamService
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
|
||||
class DreamService(Stub):
|
||||
"""DreamService — 屏保服务基类"""
|
||||
|
||||
# 服务接口
|
||||
SERVICE_INTERFACE = "android.service.dreams.DreamService"
|
||||
SERVICE_META_DATA = "android.service.dream"
|
||||
|
||||
# 退出原因
|
||||
EXIT_CAUSE_UNKNOWN = 0
|
||||
EXIT_CAUSE_TIMEOUT = 1
|
||||
EXIT_CAUSE_USER = 2
|
||||
EXIT_CAUSE_DREAM_FINISHED = 3
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self._fullscreen: bool = False
|
||||
self._interactive: bool = False
|
||||
self._dreaming: bool = False
|
||||
self._window: Optional[Any] = None
|
||||
self._content_view: Optional[Any] = None
|
||||
self._exit_cause: int = DreamService.EXIT_CAUSE_UNKNOWN
|
||||
self._created: bool = False
|
||||
self._screen_bright: bool = True
|
||||
self._doze_component: Optional[Any] = None
|
||||
self._doze_mode: bool = False
|
||||
self._debug: bool = False
|
||||
|
||||
def setContentView(self, view: Any):
|
||||
"""设置内容视图"""
|
||||
self._content_view = view
|
||||
|
||||
def getContentView(self) -> Optional[Any]:
|
||||
return self._content_view
|
||||
|
||||
def setFullscreen(self, fullscreen: bool):
|
||||
"""设置全屏模式"""
|
||||
self._fullscreen = fullscreen
|
||||
|
||||
def isFullscreen(self) -> bool:
|
||||
"""检查是否全屏"""
|
||||
return self._fullscreen
|
||||
|
||||
def isInteractive(self) -> bool:
|
||||
"""检查是否可交互"""
|
||||
return self._interactive
|
||||
|
||||
def setInteractive(self, interactive: bool):
|
||||
"""设置可交互"""
|
||||
self._interactive = interactive
|
||||
|
||||
def getWindow(self) -> Optional[Any]:
|
||||
"""获取窗口"""
|
||||
return self._window
|
||||
|
||||
def startDream(self):
|
||||
"""开始屏保"""
|
||||
self._dreaming = True
|
||||
|
||||
def awaken(self):
|
||||
"""唤醒/结束屏保"""
|
||||
self._dreaming = False
|
||||
|
||||
def onDreamingStarted(self):
|
||||
"""屏保开始时回调"""
|
||||
self._dreaming = True
|
||||
|
||||
def onDreamingStopped(self):
|
||||
"""屏保停止时回调"""
|
||||
self._dreaming = False
|
||||
|
||||
def onCreate(self):
|
||||
"""创建时回调"""
|
||||
self._created = True
|
||||
|
||||
def onDestroy(self):
|
||||
"""销毁时回调"""
|
||||
self._created = False
|
||||
self._dreaming = False
|
||||
|
||||
def onAttachedToWindow(self):
|
||||
"""附加到窗口时回调"""
|
||||
pass
|
||||
|
||||
def onDetachedFromWindow(self):
|
||||
"""从窗口分离时回调"""
|
||||
pass
|
||||
|
||||
def isDreaming(self) -> bool:
|
||||
"""检查是否正在运行屏保"""
|
||||
return self._dreaming
|
||||
|
||||
def getExitCause(self) -> int:
|
||||
return self._exit_cause
|
||||
|
||||
def setExitCause(self, cause: int):
|
||||
self._exit_cause = cause
|
||||
|
||||
def onWakeUp(self):
|
||||
"""唤醒回调"""
|
||||
self.awaken()
|
||||
|
||||
def canDoze(self) -> bool:
|
||||
return self._doze_mode
|
||||
|
||||
def setDozeComponent(self, component: Any):
|
||||
self._doze_component = component
|
||||
|
||||
def toString(self) -> str:
|
||||
return (f"DreamService(dreaming={self._dreaming}, "
|
||||
f"fullscreen={self._fullscreen}, "
|
||||
f"interactive={self._interactive})")
|
||||
|
||||
def hashCode(self) -> int:
|
||||
return id(self) & 0x7FFFFFFF
|
||||
|
||||
def equals(self, other) -> bool:
|
||||
return self is other
|
||||
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
# __all__
|
||||
# ═══════════════════════════════════════════════════════════════
|
||||
|
||||
__all__ = [
|
||||
"DreamService",
|
||||
]
|
||||
Reference in new issue
Block a user