WindowManager

Jetpack WindowManager 라이브러리를 사용하면 애플리케이션 개발자가 새로운 기기 폼 팩터와 멀티 윈도우 환경을 지원할 수 있습니다. 라이브러리는 API 버전 14 이상에서 공통 API 노출 영역을 제공합니다. 최초 버전은 폴더블 기기를 타겟팅하지만 향후 버전에서는 더 많은 디스플레이 유형과 창 기능을 지원할 예정입니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2023년 2월 22일 1.0.0 - - 1.1.0-alpha06

종속 항목 선언

WindowManager의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    implementation "androidx.window:window:1.0.0"

    // For Java-friendly APIs to register and unregister callbacks
    implementation "androidx.window:window-java:1.0.0"

    // For RxJava2 integration
    implementation "androidx.window:window-rxjava2:1.0.0"

    // For RxJava3 integration
    implementation "androidx.window:window-rxjava3:1.0.0"

    // For testing
    implementation "androidx.window:window-testing:1.0.0"
}

Kotlin

dependencies {
    implementation("androidx.window:window:1.0.0")

    // For Java-friendly APIs to register and unregister callbacks
    implementation("androidx.window:window-java:1.0.0")

    // For RxJava2 integration
    implementation("androidx.window:window-rxjava2:1.0.0")

    // For RxJava3 integration
    implementation("androidx.window:window-rxjava3:1.0.0")

    // For testing
    implementation("androidx.window:window-testing:1.0.0")
}

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.1

버전 1.1.0-alpha06

2023년 2월 22일

androidx.window:window-*:1.1.0-alpha06이 출시되었습니다. 버전 1.1.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • UI 컨텍스트에서 WindowLayoutInfo를 가져오는 시험용 버전을 노출했습니다.

API 변경사항

  • 활동 삽입의 사용 가능 여부를 나타내는 splitSupportStatus를 추가했습니다. (I10024)
  • UI 컨텍스트 WindowLayoutInfo API를 실험용으로 만들었습니다. (I58ee0)
  • RearDisplay 모드를 사용 설정하여 현재 창을 후면 카메라와 정렬된 디스플레이로 이동할 수 있도록 WindowAreaController 및 API를 도입합니다. (Iffcbf)
  • 기본 배경 색상을 업데이트했습니다. (I1ac1b)
  • SplitAttributes 매개변수를 추가했습니다. (I18bdd)
  • SplitRule, SplitAttributes, SplitAttributesCalculator용 API를 추가했습니다. (I92d23)
  • maxAspectRatio 관련 API를 개선했습니다.
    1. alwaysAllow()alwaysDisallow()ALWAYS_ALLOWALWAYS_DISALLOW로 바꾸었습니다.
    2. @see의 API 문서를 단독 문서로 업데이트했습니다. (I3057b)
  • 앱에서 호출해서는 안 되는 다음 생성자를 공개 API에서 삭제했습니다.
    • SplitInfo 생성자
    • ActivityStack 생성자 (Ide534)
  • 이제 SplitRulemaxAspectRatioInPortrait/Landscape를 받습니다. 상위 요소 경계의 가로세로 비율이 요청된 maxAspectRatio보다 작거나 같은 경우에만 활동 분할을 허용합니다. (Ia5990)
  • RuleController#parseRules가 정적이 되도록 변경했습니다. (I785df)
  • ActivityEmbedding 관련 API를 개선했습니다.
    1. API 이름 통일 - 여러 인스턴스의 이름에 add/remove를 적용했습니다.
    2. registerRuleaddRule로 변경했습니다.
    3. unregisterRuleremoveRule로 변경했습니다.
    4. ActivityRule은 분할 규칙이 아니므로 getSplitRulesgetRules로 바꾸었습니다.
    5. 여러 규칙을 추가할 수 있도록 RuleController#setRules를 추가했습니다.
    6. SplitController에서 다음과 같은 규칙 관련 API를 싱글톤 RuleController로 이동했습니다.
    7. addRule
    8. removeRule
    9. getRules
    10. setRules
    11. clearRules
    12. parseRules
    13. SplitController에서 #isActivityEmbedded를 싱글톤 ActivityEmbeddingController로 이동했습니다.
    14. isActivityEmbedded
    15. SplitController#initialize를 삭제했습니다. XML 파일에서 규칙을 설정하려면 RuleController#parseRules#setRules를 사용하세요. 변경 전: SplitController.initialize(context, R.xml.static_rules) 변경 후: val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules)
    16. 정적 규칙과 런타임 규칙이 더 이상 구분되지 않습니다. 즉, 규칙이 정적 XML 규칙 정의에 등록되어 있든 런타임에 등록되었든 상관없이 모든 규칙을 지우려면 #clearRules를 호출하면 됩니다. SplitController#clearRegisteredRules의 기존 동작을 이용하려면 XML 리소스 ID를 사용하여 RuleController#parseRules를 호출하고 규칙을 다시 설정하려면 RuleController#setRules를 호출하세요. 변경 전: SplitController.getInstance(context).clearRegisteredRules() 변경 후: val ruleController = RuleController.getInstance(context) val rules = ruleController.parseRules(R.xml.static_rules) ruleController.setRules(rules) (Ib3967)
  • SplitRule API를 개선했습니다.
    1. SplitRule이 최소 크기를 픽셀 단위가 아닌 DP 단위로 받습니다.
    2. 최소 크기를 선택사항으로 받도록 SplitRule 빌더를 리팩터링했습니다. (I95f17)
  • SplitController를 초기화하는 컨텍스트를 전달합니다. (I42549)
  • SplitRule#layoutDir의 이름이 #layoutDirection으로, SplitRule Builder#setLayoutDir의 이름이 Builder#setLayoutDirection으로 변경되었습니다. (I3f6d1)

버전 1.1.0-alpha04

2022년 11월 9일

androidx.window:window-*:1.1.0-alpha04가 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • ActivityEmbedding을 위해 ActivityStack이 비어 있는지 확인하는 메서드를 노출합니다.
  • ActivityEmbedding API에서 실험용 API 태그를 삭제했습니다.
  • 선호하는 구성 방법이 Builder이므로 ActivityRule 생성자를 숨깁니다.
  • WindowMetrics에서 WindowInsets를 가져오는 실험용 메서드를 추가합니다.
  • 자리표시자가 마무리되지 않도록 SplitPlaceholderFinishBehavior를 업데이트합니다. 자리표시자를 마무리하면 일부 동작에서 혼동이 발생했습니다.

API 변경사항

  • val isEmpty를 공개로 설정하여 isEmpty를 대체합니다.
  • ActivityStack 매개변수 활동의 이름을 activitiesInProcess로 바꿉니다. (Ia5055)
  • ActivityFilter#matchesClassNameActivityFilter#matchesClassNameOrWildCard가 혼동을 야기하므로 삭제합니다.
  • 호출자가 다양한 필터를 구별할 수 있도록 ActivityFilter#componentName abd ActivityFilter#intentAction을 추가합니다. (I41f22)
  • 실험용 API에서 @Deprecated API를 삭제합니다. (I216b3)
  • Activity Embedding API용 @ExperimentalWindowApi를 삭제합니다. (I69ebe)
  • ActivityRule 생성자를 숨기고 대신 Builder를 사용합니다. (If4eb6)
  • Activity가 ActivityFilter의 일부인지 확인하는 API를 추가합니다. (Ia43cf)
  • WindowMetricsWindowMetricsCalculatorCompat 클래스의 변경사항을 반영하도록 API 파일을 업데이트합니다. (I667fe)
  • ActivityEmbedding 속성 Javadoc 및 클래스 이름을 업데이트합니다. (Ia1386)
  • AndroidManifest.xml에 사용할 ActivityEmbedding 속성 태그 이름을 추가합니다. (Id1ad4)
  • 새 API SplitPlaceholderFinishBehaviorSplitPlaceholderRule.finishPrimaryWithPlaceholder를 추가했습니다. 따라서 자리표시자 활동이 완료되는 시점, 연결된 활동이 Activity Embedding에서 작동해야 하는 방식을 정의하는 기존 SplitPlaceholderRule.finishPrimaryWithSecondary를 대체합니다. (I64647)

버그 수정

  • RearDisplay 모드를 사용 설정하여 현재 창을 후면 카메라와 정렬된 디스플레이로 이동할 수 있도록 WindowAreaController 및 API를 도입합니다. (I388ab)

버전 1.1.0-alpha03

2022년 7월 27일

androidx.window:window-*:1.1.0-alpha03이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • 임베딩 규칙의 기본값이 업데이트되었습니다.

API 변경사항

  • 임베딩 규칙 속성의 기본값이 업데이트되었습니다. (Ic4d35)

버전 1.1.0-alpha02

2022년 5월 11일

androidx.window:window-*:1.1.0-alpha02가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • 자바 및 RxJava를 지원하는 어댑터 라이브러리를 출시했습니다.

버전 1.1.0-alpha01

2022년 5월 11일

androidx.window:window-*:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 자바 및 RxJava를 지원하는 어댑터를 출시했습니다.

버전 1.1.0-alpha01

2022년 4월 20일

androidx.window:window:1.1.0-alpha01이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 앱을 백그라운드로 전환하면 접기 기능 방출이 중지되는 버그를 수정합니다.
  • 실험용 ActivityEmbedding API를 확장합니다.

API 변경사항

  • 활동이 삽입되었는지 확인하는 공개 API (I39eb7)

버그 수정

  • 활동 분할에서 컨테이너의 마무리 동작을 맞춤설정하는 API를 추가합니다. (I1a1e4)
  • 활동 분할 규칙의 새 구성 옵션을 추가했습니다. (Iec6af)

버전 1.0

버전 1.0.0

2022년 1월 26일

androidx.window:window-*:1.0.0이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

1.0.0의 주요 기능

  • WindowInfoTrackerFoldingFeature를 통해 폴더블 스마트폰을 지원합니다. WindowMetricsCalculator는 현재 WindowMetrics를 계산하는 데 도움이 됩니다.

버전 1.0.0-rc01

2021년 12월 15일

androidx.window:window-*:1.0.0-rc01이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

새로운 기능

  • WindowInfoTracker를 통한 폴더블 스마트폰 지원을 추가합니다.
  • 현재 및 최대 WindowMetrics를 계산하는 메서드를 추가합니다.
  • 테스트 API 지원을 추가합니다.

버전 1.0.0-beta04

2021년 11월 17일

androidx.window:window-*:1.0.0-beta04가 출시되었습니다. 버전 1.0.0-beta04에 포함된 커밋을 확인하세요.

새로운 기능

  • WindowInfoRepository의 이름이 WindowInfoTracker로 변경됩니다.
  • 활동이 WindowInfoTracker의 명시적인 메서드 종속 항목이 됩니다.
  • Robolectric을 사용하는 개발자를 지원하기 위해 WindowMetricsCalculator용으로 간단한 TestRule이 추가됩니다.

API 변경사항

  • 확장 프로그램을 추출할 수 있습니다. (I25a5f)
  • ActivityStack에 isEmpty가 추가됩니다. (I5a4e6)
  • WindowInfoRepository의 이름이 WindowInfoTracker로 변경됩니다.
    • 일치하도록 java/rxjava/testing 종속 항목이 업데이트됩니다. (I0da63)
  • WindowMetricsCalculator용으로 간단한 테스트 규칙이 추가됩니다. (Ibacdb)

버전 1.0.0-beta03

2021년 10월 27일

androidx.window:window-*:1.0.0-beta03이 출시되었습니다. 버전 1.0.0-beta03에 포함된 커밋을 확인하세요.

새로운 기능

  • 실험용 Activity Embedding API가 추가되었습니다. 이 초기 레이아웃 버전을 사용하면 두 활동을 나란히 표시할 수 있습니다.

API 변경사항

  • currentWindowMetrics API를 정확히 제공할 수 없으므로 삭제했습니다. 대신 WindowMetricsCalculator를 사용하세요. (Icda5f)
  • 확장 API를 업데이트했습니다. (Ica92b)
  • 활동을 삽입하고 상위 작업 창에 삽입된 활동을 나란히 표시할 수 있는 새로운 기능을 위한 인터페이스가 추가되었습니다. (I5711d)
  • WindowMetrics 및 WindowLayoutInfo의 생성자를 숨겼습니다. 대신 테스트 API를 사용하세요. (I5a1b5)
  • 가짜 WindowLayoutInfo 객체를 생성하는 API를 추가했습니다. (I4a2fd)

버그 수정

버전 1.0.0-beta02

2021년 9월 1일

androidx.window:window-*:1.0.0-beta02가 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

새로운 기능

  • 실험용 주석을 추가하여 실험용 API에 주석을 지정합니다. (I9f1b6)
  • Rect를 허용하는 테스트 FoldingFeature를 만들기 위한 테스트 메서드를 추가합니다. 이렇게 하면 실제 활동과는 반대로 Robolectric을 사용할 때 더 쉽게 테스트할 수 있습니다. (Id1cca)

버전 1.0.0-beta01

2021년 8월 18일

androidx.window:window-*:1.0.0-beta01이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • 이전 상수를 삭제하고 FoldingFeature를 인터페이스로 만들었습니다.

API 변경사항

  • 이전 상수를 삭제하고 FoldFeature를 인터페이스로 만듭니다. (I9a2d5)

버그 수정

  • Test Core 라이브러리에 종속된 라이브러리는 1.4.0 버전으로 업그레이드되었으며 이제 Android 플랫폼 버전 S에서 작동합니다. (I88b72, b/189353863)

버전 1.0.0-alpha10

2021년 8월 4일

androidx.window:window-*:1.0.0-alpha10이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.

새로운 기능

  • WindowInfoRepo의 이름을 WindowInfoRepository로 바꾸고 해당하는 클래스와 파일을 조정합니다.
  • 시간 경과에 따라 값이 변경되므로 현재 창 측정항목을 WindowInfoRepository의 Flow로 변환합니다.
  • WindowInfoRepoJavaAdapter의 이름을 WindowInfoRepoCallbackAdapter로 바꿉니다.
  • 테스트 FoldingFeature 객체를 생성하는 도우미 메서드를 추가합니다.
  • 지원하는 기능에 따라 클래스를 그룹화하도록 패키지를 업데이트합니다.

API 변경사항

  • ActivityExt 이름을 ActivityExtensions로 바꿉니다. Repo에서 Repository로 변경합니다. (I61a16)
  • 클래스용 패키지를 업데이트합니다. (I23ae2)
  • WindowInfoRepo에서 WindowMetrics를 삭제합니다. (I24663)
  • WindowManager를 삭제하고 WindowInfoRepo를 사용합니다.
    • WindowBackend를 내부용으로 설정합니다. (I06d9a)
  • 창 측정항목을 Flow로 변환합니다.
    • 자바 어댑터의 이름을 WindowInfoRepoCallbackAdapter로 변경합니다.
    • 더 이상 실험용 API를 사용하지 않도록 callbackFlow를 삭제합니다. (Ia4d15)
  • 테스트 표시 기능을 만드는 도우미 메서드를 추가합니다.
    • occlusionMode에서 occlusionType으로 변경합니다. (If4cff)

버그 수정

  • 핵심 라이브러리가 삭제되는 ProGuard 오류가 수정되었습니다.
  • WindowLayoutInfo가 추가 구독자에게 전달되지 않는 오류가 수정되었습니다.
  • 구성 변경 시 폴딩 기능 업데이트가 트리거되지 않는 오류가 수정되었습니다.

버전 1.0.0-alpha09

2021년 6월 30일

androidx.window:window-*:1.0.0-alpha09가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.

새로운 기능

  • 정수 상수를 제한이 없는 enum으로 변경합니다.
  • 테스트 폴딩 기능을 만드는 테스트 유틸리티를 추가합니다.

API 변경사항

  • 테스트 표시 기능을 만드는 도우미 메서드를 추가합니다. (I3cf54)
    • occlusionModeocclusionType으로 변경합니다.

버그 수정

  • 데이터 스트림의 여러 소비자를 추가할 때 초기 값을 내보냅니다.

버전 1.0.0-alpha08

2021년 6월 16일

androidx.window:window-*:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.

새로운 기능

  • WindowInfoRepository를 사용할 때 더 쉽게 테스트할 수 있도록 테스트 아티팩트를 출시했습니다. WindowInfoRepository를 사용하여 DisplayFeatures 및 WindowMetrics에 관한 정보를 가져옵니다. (I57f66, Ida620)

버전 1.0.0-alpha07

2021년 6월 2일

androidx.window:window-*:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.

새로운 기능

  • 핵심 창 라이브러리를 Kotlin으로 이전합니다. 앞으로는 코루틴과 정지 함수를 사용하여 비동기 데이터를 노출합니다.
  • WindowMetrics 및 WindowLayoutInfo 스트림을 가져오기 위한 기본 상호작용 지점으로 WindowInfoRepo를 추가합니다.
  • 콜백 등록 및 등록 취소를 위해 자바 친화적인 API를 노출하는 새로운 window-java 아티팩트를 추가합니다.
  • RxJava Adaptive API를 노출하는 새로운 window-rxjava2window-rxjava3 아티팩트를 추가합니다.

API 변경사항

  • 종속 항목을 균일하게 제공하기 위해 WindowServices를 추가합니다.
    • 창 레이아웃 정보를 사용할 수 있도록 코루틴 기반 API를 추가합니다. (Iab70f)
  • 핵심 창 관리자 라이브러리를 Kotlin으로 이전합니다. (Icca34)

버그 수정

  • 기능 경계를 나타내는 새 데이터 클래스를 추가합니다. (I6dcd1)

버전 1.0.0-alpha06

2021년 5월 5일

androidx.window:window:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.

새로운 기능

  • Kotlin으로의 이전을 시작했으며 다음 출시에서 완료할 예정입니다.
  • DeviceState를 공개 API에서 삭제했습니다. 대신 FoldingFeature를 사용하세요.
  • FoldingFeature 상태에서 STATE_FLIPPED를 삭제했습니다. 현재 사용 사례에서 지원되지 않기 때문입니다.
  • 다른 지원 중단된 API도 삭제했습니다.

API 변경사항

  • Kotlin을 종속 항목으로 추가합니다.
    • 핵심 라이브러리를 Kotlin으로 이전합니다. (Idd995)
  • DisplayFeature 빌더를 삭제했습니다. (I61fa4)
  • 공개 API에서 DeviceState를 삭제했습니다. 대신 FoldingFeature를 사용하세요. (Id6079)
  • 기기 상태 콜백을 확장 프로그램에서 삭제합니다. (I5ea83)
  • STATE_FLIPPED를 FoldingFeature에서 삭제합니다. (I9c4e1)
  • 지원 중단된 등록 메서드를 삭제합니다. (Ib381b)

버전 1.0.0-alpha05

2021년 3월 24일

androidx.window:window:1.0.0-alpha05가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.

새로운 기능

FoldingFeature에 편의 메서드를 추가하여, 기능이 분리하거나 차단할 때 앱에서 인식하고 힌지 방향을 파악할 수 있도록 했습니다. 또한 다음을 위해 힌지 유형도 숨겼습니다.

WindowManager에서 동기 읽기 메서드를 삭제했습니다. 동기 읽기 메서드는 암시적 경합 상태가 발생하므로 오류가 발생하기 쉽습니다. WindowLayoutInfo에 관한 업데이트를 수신하려면 리스너 및 콜백을 등록합니다.

API 변경사항

  • FoldingFeatures와 함께 사용할 편의 메서드가 추가됨(Ie733f)
  • WindowManager에서 동기 읽기 메서드가 삭제됨(I96fd4)

버전 1.0.0-alpha04

2021년 3월 10일

androidx.window:window:1.0.0-alpha04가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.

새로운 기능

  • OEM 구현이 없는 경우 WindowLayoutInfo를 내보낼 수 없는 버그를 수정했습니다. 이제 빈 WIndowLayoutInfo를 내보냅니다.
  • 앱이 백그라운드에 있을 때 힌지 상태가 변경되면 상태가 제대로 업데이트되지 않는 버그를 수정했습니다. 이제 상태가 일관되게 유지됩니다.
  • ProGuard 파일을 업데이트하여 런타임 종속 항목의 경고를 무시합니다.

버그 수정

  • OEM 라이브러리가 누락된 경우 빈 값을 내보냅니다. (Ide935)

버전 1.0.0-alpha03

2021년 2월 18일

androidx.window:window:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

새로운 기능

  • OEM 구현이 비어 있는 경우 WindowLayoutInfo에 빈 값을 내보냅니다. 이를 통해 더 많은 기기에서 더 쉽게 라이브러리를 사용할 수 있습니다. API가 비동기식이므로 여전히 시간 초과 후에는 앱에서 방어 코드를 일부 작성하고 기본값을 내보내는 것이 좋습니다. Google에서는 OEM 구현을 보장하지 않으며 초기 값이 지연될 수 있습니다.

버그 수정

  • OEM 라이브러리가 누락된 경우 빈 값을 내보냅니다. (Ide935)

버전 1.0.0-alpha02

2021년 1월 27일

androidx.window:window:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • API를 간소화하고 실수를 줄일 수 있도록 일부 API를 지원 중단했습니다. 몇 가지 주목할 만한 예로는 WindowManager에서 동기 읽기 작업을 삭제하고 DeviceState를 지원 중단한 것입니다. 동기 읽기 작업은 경합 상태를 유발하거나 제대로 UI가 표시되지 않는 원인이 될 수 있습니다.

  • DisplayFeature를 앞으로 다른 기능이 구현할 인터페이스로 변환했습니다. 첫 번째 기능은 현재 화면 접기나 힌지를 표현하는 FoldingFeature입니다. 여기에는 DeviceState를 대체하는 힌지 상태도 포함됩니다.

  • Android 11에서 도입된 WindowMetrics는 개발자에게 창에 관한 측정항목을 쿼리하는 간단한 방법을 제공합니다(예: 화면에서 창의 위치 및 크기, 시스템 인셋). 개발자가 WindowMetrics를 활용하고 이전 Android 버전을 계속 지원할 수 있도록 이 버전에서 API를 백포팅했습니다. WindowMetrics는 WindowManager#getCurrentWindowMetrics() 및 WindowManager#getMaximumWindowMetrics() API를 통해 얻을 수 있습니다.

API 변경사항

  • 다음 알파 버전에서 삭제될 API를 지원 중단합니다. (Ib7cc4)
  • 명시적인 Activity 참조를 수락하도록 ExtensionInterface를 업데이트합니다. (I07ded)
  • WindowMetrics API를 도입합니다. (I3ccee)
  • WindowManager에서 동기 읽기 메서드를 삭제합니다. (I69983)
  • ExtensionWindowBackend 패키지를 보호합니다. (Ied208)

버그 수정

  • 시각적 컨텍스트를 허용하도록 ExtensionInterface API를 업데이트합니다. (I8e827)

외부 기여

  • 데이터에 더 쉽게 액세스하도록 DeviceState와 WindowLayoutInfo를 병합합니다. (Id34f4)

버전 1.0.0-alpha01

2020년 2월 27일

androidx.window:window:1.0.0-alpha01androidx.window:window-extensions:1.0.0-alpha01 버전이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요. 창 관리자 라이브러리의 첫 번째 버전입니다.

새로운 기능

  • DisplayFeature: 이 새로운 API는 연속 평면 화면 영역에서 힌지나 접힘 같은 장애 부분을 식별합니다.
  • DeviceState: 이 새로운 API는 정의된 상태 목록(예: CLOSED, OPENED, HALF_OPENED 등)에서 휴대전화의 현재 상태를 제공합니다.