Wear
androidx.wear.activity
androidx.wear.ambient
androidx.wear.input
androidx.wear.utils
androidx.wear.widget
androidx.wear.widget.drawer
(모든 wear 패키지 관련 refdoc 참고)
이 표에는 androidx.wear
그룹의 모든 아티팩트가 나열됩니다.
아티팩트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
Wear | 1.3.0 | - | - | 1.4.0-alpha01 |
wear-input | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-input-testing | 1.1.0 | - | - | 1.2.0-alpha02 |
wear-ongoing | 1.0.0 | - | - | 1.1.0-alpha01 |
wear-phone-interactions | 1.0.1 | - | - | 1.1.0-alpha05 |
wear-remote-interactions | 1.1.0 | - | - | - |
종속 항목 선언
Wear의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { implementation "androidx.wear:wear:1.3.0" // Add support for wearable specific inputs implementation "androidx.wear:wear-input:1.1.0" implementation "androidx.wear:wear-input-testing:1.1.0" // Use to implement wear ongoing activities implementation "androidx.wear:wear-ongoing:1.0.0" // Use to implement support for interactions from the Wearables to Phones implementation "androidx.wear:wear-phone-interactions:1.0.1" // Use to implement support for interactions between the Wearables and Phones implementation "androidx.wear:wear-remote-interactions:1.0.0" }
Kotlin
dependencies { implementation("androidx.wear:wear:1.3.0") // Add support for wearable specific inputs implementation("androidx.wear:wear-input:1.1.0") implementation("androidx.wear:wear-input-testing:1.1.0") // Use to implement wear ongoing activities implementation("androidx.wear:wear-ongoing:1.0.0") // Use to implement support for interactions from the Wearables to Phones implementation("androidx.wear:wear-phone-interactions:1.0.1") // Use to implement support for interactions between the Wearables and Phones implementation("androidx.wear:wear-remote-interactions:1.0.0") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Wear Core 버전 1.0
버전 1.0.0-alpha01
2024년 5월 29일
androidx.wear:wear-core:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에는 이 커밋이 포함되어 있습니다.
API 변경사항
- Wear에서 런타임 API 호환성 검사를 지원하는 새로운 클래스
WearApiVersionhelper
를 추가했습니다. 클라이언트는 이 정적 도우미 클래스와 제공된 메서드 (#isApiVersionAtLeast(VERSION)
)를 사용하여 호환성을 확인할 수 있습니다.
Wear 도구 미리보기 버전 1.0
버전 1.0.0
2023년 11월 29일
androidx.wear:wear-tooling-preview:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 기능
- UI 미리보기에 사용할 수 있는 유효한 Wear 기기를 나열하는
WearDevices
를 추가합니다.
버전 1.0.0-rc01
2023년 11월 15일
androidx.wear:wear-tooling-preview:1.0.0-rc01
은 변경사항 없이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
버전 1.0.0-beta01
2023년 10월 18일
androidx.wear:wear-tooling-preview:1.0.0-beta01
은 변경사항 없이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
버전 1.0.0-alpha01
2023년 8월 23일
androidx.wear:wear-tooling-preview:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- UI 미리보기에 사용할 수 있는 유효한 Wear 기기를 나열하는 목록에
WearDevices
를 추가합니다. (Ib036e)
Wear 버전 1.4
버전 1.4.0-alpha01
2023년 11월 15일
androidx.wear:wear:1.4.0-alpha01
이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 메시지가 없으면
ConfirmationOverlay
아이콘을 세로로 가운데에 배치합니다. (I496d8)
Wear 버전 1.3
버전 1.3.0
2023년 8월 9일
androidx.wear:wear:1.3.0
이 1.3.0-rc01
이후 변경사항 없이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.
1.2.0 이후 중요 변경사항
LifecycleObserver
를 사용하도록AmbientModeSupport
를 마이그레이션합니다. 새 수명 주기 인식 클래스를 위해AmbientModeSupport
를 지원 중단합니다.- 새 아이콘/레이아웃, 글꼴, 글꼴 측정항목으로
ConfirmationOverlay
업데이트 FragmentContainerView
를 사용할 때 오류를 수정하기 위해 두 번째View
대신 배경 드로어블을 사용하도록SwipeDismissTransitionHelper
를 업데이트했습니다.- Wear 플랫폼 및 Wear Compose 구현과 일관되도록
SwipeDismissFrameLayout
애니메이션을 업데이트했습니다. - 수직 플링으로 인해 실수로 프래그먼트가 닫히지 않도록
SwipeDismissFrameLayout
버그 수정 - 이제
ArcLayout
이 일반 레이아웃 가중치와 유사한 방식으로 작동하는 확장 가중치를 지원합니다. ArcLayout
에서layoutDirection
지원
버전 1.3.0-rc01
2023년 6월 21일
androidx.wear:wear:1.3.0-rc01
이 1.3.0-beta01
이후 변경사항 없이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.
버전 1.3.0-beta01
2023년 6월 7일
androidx.wear:wear:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 의견을 바탕으로
AmbientLifecycleObserver
를 업데이트했습니다.AmbientLifecycleObserverInterface
의 이름은AmbientLifecycleObserver
로 바뀌었고AmbientLifecycleObserver(...)
를 호출하여 인스턴스를 가져올 수 있습니다.isAmbient
가 메서드 대신 필드가 되도록 이동되었습니다. (I84b4f)
버그 수정
SwipeToDismiss
에서 알파 및 변환을 재설정하는 동안 상위 뷰가 null인 경우를 처리하는 null 검사를 추가합니다. (Ib0ec7)
버전 1.3.0-alpha05
2023년 4월 19일
androidx.wear:wear:1.3.0-alpha05
이 출시되었습니다. 버전 1.3.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
LifecycleObserver
를 사용하도록AmbientModeSupport
를 마이그레이션합니다. 새 수명 주기 인식 클래스를 위해AmbientModeSupport
를 지원 중단합니다. (I1593b)
버그 수정
FragmentContainerView
를 사용할 때 오류를 수정하기 위해 뷰를 추가하는 대신 드로어블을 사용하도록SwipeDismissTransitionHelper
백그라운드 스림 접근 방식을 업데이트했습니다. (I851cd)
버전 1.3.0-alpha04
2023년 1월 25일
androidx.wear:wear:1.3.0-alpha04
가 출시되었습니다. 버전 1.3.0-alpha04에 포함된 커밋을 확인하세요.
버그 수정
- Wear 플랫폼 및 Wear Compose 구현과 일관되도록
SwipeDismissFrameLayout
의 애니메이션을 업데이트했습니다. (I7261b)
버전 1.3.0-alpha03
2022년 8월 24일
androidx.wear:wear:1.3.0-alpha03
이 출시되었습니다. 버전 1.3.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
ArcLayout
이 일반 레이아웃 가중치와 유사한 방식으로 작동하는 확장 가중치를 지원합니다. 즉, 각도를 직접 계산하지 않고도 하위 요소의 상대적 크기를 지정할 수 있습니다. 또한 가중치가 있는 하위 요소를 펼칠 때 적용되는 최선의MaxAngleDegrees
를 추가했습니다. 예를 들어 가중치가 90도인 하위 요소가 여러 개 있는 호를 고정할 수 있습니다. 이렇게 하면 확장되지 않은 요소에 사용된 공간도 고려됩니다.
API 변경사항
- 사용 가능한 공간을 채우기 위해 위젯을 확장할 수 있도록
ArcLayout.LayoutParams
에 가중치를 추가했습니다. 위젯이 두 개 이상인 경우 사용 가능한 공간의 점유율은 가중치에 비례합니다. 또한 예를 들어 확장을 90도로 제한할 수 있도록ArcLayout.setMaxAngleDegrees
를 추가했습니다(NB: 고정된 크기의 하위 위젯 레이아웃에는 영향을 주지 않음). 마지막으로ArcLayout.Widget
에는 이제setSweepAngleDegrees
가 있어서 이를 통해ArcLayout
은 가중치가 0이 아닌 위젯에 크기를 알릴 수 있습니다. (I75f24) setColorFilter
의 null 허용 여부를 업데이트했습니다. (I99ddf, b/236498063)
버전 1.3.0-alpha02
2022년 2월 23일
androidx.wear:wear:1.3.0-alpha02
가 출시되었습니다. 버전 1.3.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
ArcLayout
에서layoutDirection
을 지원합니다. (I14d49)- ConfirmationOverlay의 콘텐츠 설명 메시지를 개선했습니다. (I0fdf8)
- 새 아이콘/레이아웃으로
ConfirmationOverlay
를 업데이트했습니다. (If5b54)
버그 수정
- 대기 모드 관련 코드가 유지되도록 ProGuard 규칙을 추가했습니다. (Idaa10)
- SwipeDismissFrameLayout에서 수직 플링으로 인해 실수로 프래그먼트가 닫히지 않도록 방지합니다. (Idb6d8)
- 메시지가 없을 때 발생하는 ConfirmationOverlay 문제를 해결했습니다. (I63e6f)
외부 기여
- 이대규(삼성): SwipeDismissFrameLayout에서 수직 플링으로 인해 실수로 프래그먼트가 닫히지 않도록 방지합니다. (Idb6d8)
버전 1.3.0-alpha01
2021년 9월 29일
androidx.wear:wear:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
- 이제
ConfirmationOverlay
는 메시지가 기기의 베젤에 들어오지 않거나 화면 밖으로 나가지 않고도 긴 메시지를 제공하도록 아이콘을 위로 푸시합니다. (I54bff)
Wear Ongoing 및 Interactions 버전 1.1.0
버전 1.1.0-alpha05
2024년 12월 11일
androidx.wear:wear-phone-interactions:1.1.0-alpha05
이 출시되었습니다. 버전 1.1.0-alpha05에는 이 커밋이 포함되어 있습니다.
버그 수정
- Wear OS 5.1 (API 버전 34)에서 실행되고 이후 버전의 SDK를 타겟팅할 때 발생하는 비정상 종료 버그를 수정했습니다. 앱은
targetSdkVersion
를 35 이상으로 업데이트하기 전에 이 버전의 라이브러리로 업데이트해야 합니다.
버전 1.1.0
2024년 12월 11일
androidx.wear:wear-remote-interactions:1.1.0
이 출시되었습니다. 버전 1.1.0에는 이 커밋이 포함되어 있습니다.
1.0.0 이후 중요 변경사항
- 원격 활동 실행 기능을 사용할 수 있는지 확인하는 데 도움이 되는
RemoteActivityHelper.isRemoteActivityHelperAvailable
를 추가했습니다. (I107a9)
버전 1.1.0-rc01
2024년 10월 16일
androidx.wear:wear-remote-interactions:1.1.0-rc01
이 1.1.0-beta01
이후 변경사항 없이 출시되었습니다. 버전 1.1.0-rc01에는 이 커밋이 포함되어 있습니다.
버전 1.1.0-beta01
2024년 7월 24일
androidx.wear:wear-remote-interactions:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에는 이 커밋이 포함되어 있습니다. Wear 원격 상호작용의 1.3.0-beta01 출시는 이 라이브러리 버전의 기능이 완전하고 API가 잠겨 있음을 나타냅니다 (실험용으로 표시된 경우 제외).
버전 1.1.0-alpha04
2024년 1월 10일
androidx.wear:wear-phone-interactions:1.1.0-alpha04
이 출시되었습니다. 버전 1.1.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- 원격 인증을 사용할 수 있는지 확인하는
RemoteAuthClient.isRemoteAuthAvailable
를 추가했습니다. (Ibc10c)
버전 1.1.0-alpha02
2024년 1월 10일
androidx.wear:wear-remote-interactions:1.1.0-alpha02
이 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 원격 활동 실행 기능을 사용할 수 있는지 확인하는 데 도움이 되는
RemoteActivityHelper.isRemoteActivityHelperAvailable
를 추가했습니다. (I107a9) - Java에서 호환되는 선택적 매개변수를 갖도록
RemoteActivityHelper
의 생성자를 업데이트했습니다. (I75554)
버전 1.1.0-alpha01
2023년 6월 21일
androidx.wear:wear-remote-interactions:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
버그 수정
RemoteActivityHelper
에서 완료 및 오류 처리가 실행되는 방식이 개선되었습니다. (I60d60)
외부 기여
wear-remote-interactions
에서 Guava 종속 항목을 삭제하고 더 작은 대안을 사용합니다.
Wear-Phone-Interactions 버전 1.1.0-alpha03
2022년 3월 9일
androidx.wear:wear-phone-interactions:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
버그 수정
- 주어진 요청 URL에 리디렉션 URL이 설정되지 않은 경우
OAuthRequest
의redirectUrl
이 이제 빈 문자열을 반환합니다. (I44242)
Wear-Phone-Interactions 버전 1.1.0-alpha02
2021년 12월 15일
androidx.wear:wear-phone-interactions:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
RemoteAuthClient
문서에서 코드 샘플 스니펫의 오류 및 작동하지 않는ErrorCode
링크를 포함한 오류를 해결했습니다. (I260e8)
Wear-Phone-Interactions 버전 1.1.0-alpha01
2021년 9월 15일
androidx.wear:wear-phone-interactions:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
Wear Ongoing 및 Interactions 버전 1.0.0
Wear-Phone-Interactions 버전 1.0.1
2021년 12월 15일
androidx.wear:wear-phone-interactions:1.0.1
이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.
버그 수정
excludedTags
없이 알림 브리징을 사용 중지하려고 할 때BridgingManager
에서 예외가 발생하는 문제를 해결했습니다.
Wear-Phone-Interactions Wear-Remote-Interactions 버전 1.0.0
2021년 9월 15일
androidx.wear:wear-phone-interactions:1.0.0
및 androidx.wear:wear-remote-interactions:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
휴대전화 상호작용 라이브러리에는 웨어러블 기기에서 휴대전화로의 상호작용을 위한 API가 포함되어 있습니다. 여기에는 다음이 포함되어 있습니다.
PhoneDeviceType
: 웨어러블 기기 전용으로만 사용하도록 현재 시계가 페어링된 휴대전화 유형을 판단하는 도우미 메서드를 제공합니다.BridgingManager
,BridgingManagerService
,BridgingConfig
API: 런타임에 알림을 사용 설정/중지하고 브리징 모드에서 제외되는 알림 태그를 선택적으로 설정합니다.RemoteAuthClient
: 웨어러블 기기에서 원격 인증하는 기능과 OAuth PKCE 확장 프로그램 추가 기능을 지원합니다. 통신용 추가 핸들러와 도우미 클래스가 제공됩니다.
원격 상호작용 라이브러리에는 웨어러블 기기와 휴대전화 간의 상호작용을 위한 API가 포함되어 있습니다. 여기에는 다음이 포함되어 있습니다.
WatchFaceConfigIntentHelper
: 휴대전화의 컴패니언에서 시계 화면 구성 활동의 ID와 구성요소 이름을 지정하는 도우미 함수를 제공합니다.RemoteActivityHelper
클래스: 다른 기기(시계에서 휴대전화로)에서 인텐트를 여는 데 사용할 수 있습니다.
Wear-Phone-Interactions Wear-Remote-Interactions 버전 1.0.0-rc01
2021년 9월 1일
androidx.wear:wear-phone-interactions:1.0.0-rc01
및 androidx.wear:wear-remote-interactions:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
버그 수정
- RemoteActivityHelper를 사용할 때 Google Play 서비스 내에서 발생하는 오류가 호출자에게 전파되지 않도록 하는 버그를 수정했습니다. (I60d60)
- 연결된 노드가 없거나 요청된 nodeId를 찾을 수 없는 경우 RemoteActivityHelper가 Future를 처리하지 못하는 버그를 수정했습니다. (I60d60)
Wear-Ongoing 버전 1.1
버전 1.1.0-alpha01
2023년 8월 23일
androidx.wear:wear-ongoing:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- Ongoing Activity에 콘텐츠 설명 필드를 추가합니다. 접근성 서비스에서 진행 중인 활동을 설명하는 데 사용됩니다. (I79fc6)
버그 수정
- SDK 33 이상에서
POST_NOTIFICATIONS
권한을 부여해야 하는 API에@RequiresPermission
이 추가되었습니다. (Ie542e, b/238790278)
Wear-Ongoing 버전 1.0.0
2021년 9월 1일
androidx.wear:wear-ongoing:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
- Wear Ongoing Activities API는 서드 파티 개발자 등의 개발자를 위한 API로, 활동을 '진행 중인 활동'으로 표시하고 필요한 정보를 제공하는 데 사용할 수 있습니다.
- 진행 중인 활동이란 운동, 통화, 미디어와 같이 시계의 백그라운드에서 실행할 수 있는 활동을 말합니다. Wear 3에서는 진행 중으로 선언된 활동은 시계 화면의 전용 오버레이 아이콘을 통해, 그리고 앱 런처에서의 다른 렌더링을 통해 눈에 잘 띄도록 표시됩니다.
- 자세한 내용은 Wear의 진행 중인 활동 가이드를 참고하세요.
Wear-Phone-Interactions Wear-Remote-Interactions 버전 1.0.0-beta01
2021년 8월 18일
androidx.wear:wear-phone-interactions:1.0.0-beta01
및 androidx.wear:wear-remote-interactions:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 클래스
RemoteIntentHelper
의 이름이RemoteActivityHelper
로 바뀌었습니다. 함수RemoteIntentHelper#getRemoteIntentExtraIntent
및RemoteIntentHelper#getRemoteIntentNodeId
의 이름이 각각RemoteActivityHelper#getTargetIntent
및RemoteActivityHelper#getTargetNodeId
로 바뀌었습니다. (Id2042)
Wear-Ongoing 버전 1.0.0-rc01
2021년 8월 18일
androidx.wear:wear-ongoing:1.0.0-rc01
이 1.0.0-beta01
이후 변경사항 없이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
Wear-Ongoing 버전 1.0.0-beta01
2021년 8월 4일
androidx.wear:wear-ongoing:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
- 이제 OngoingActivity.Builder의 일부 setter에서 setter 및 getter의 대칭과 일관성을 위해 null 인수를 허용합니다. (I17ee5)
Wear-Phone-Interactions 버전 1.0.0-alpha07
2021년 8월 4일
androidx.wear:wear-phone-interactions:1.0.0-alpha07
이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.
API 변경사항
WearTypeHelper.isChinaDevice
이름이WearTypeHelper.isChinaBuild
로 변경되었습니다. (I47302)- 기기 유형(RoW/China)에 따라 redirect_uri를 자동으로 선택하도록 RemoteAuthClient 라이브러리를 업데이트했습니다. (I38866)
- BridgingConfig를 번들로 또는 번들에서 변환할 때 ClassCastException으로 인해 실패하는 버그를 수정했습니다. BridgingManagerService 클래스의 단위 테스트를 추가했습니다. (I68ecb)
Wear-Remote-Interactions 버전 1.0.0-alpha06
2021년 8월 4일
androidx.wear:wear-remote-interactions:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
Wear-Phone-Interactions 버전 1.0.0-alpha06
2021년 7월 21일
androidx.wear:wear-phone-interactions:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
API 변경사항
- 이제
BridgingManagerSeviceBinder
클래스는 Service의 서브클래스이고 BridgingManagerSevice로 이름이 바뀌었습니다. (I9fca2) RemoteAuthClient.Callback.onAuthorizationError
메서드가 OAuthRequest 매개변수를 포함하도록 변경되었습니다. 이제 콜백을 요구하는 메서드에서는 콜백 실행기가 함께 실행되어야 합니다. (I35e11)
버그 수정
- 보다 문서화된 매개변수와 가능한 경우 속성을 사용하여 인증 API를 좀 더 명확하게 만들었습니다. (I12287)
Wear-Phone-Interactions 버전 1.0.0-alpha05
2021년 6월 30일
androidx.wear:wear-phone-interactions:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
BridgingConfig.Builder
의 생성자에 전달해야 하는 문서화된 매개변수입니다.
Wear-Ongoing 버전 1.0.0-alpha06
2021년 6월 2일
androidx.wear:wear-ongoing:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
API 변경사항
- Ongoing Activity에 Title 필드를 추가합니다. (I7a405)
버그 수정
Wear Ongoing 버전 1.0.0-alpha05
2021년 5월 18일
androidx.wear:wear-ongoing:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
이제
OngoingActivity
에 빌더를 통해 직접 설정된 모든 값(또는 연결된 알림에서 가져온 기본값)을 검색하는 getter가 있습니다. (Id8ac8)- 새 클래스
Status
가 이제OngoingActivity
의 상태를 만드는 데 사용됩니다. OngoingActivityData
와OngoingActivityStatus
가 더 이상 공개 API의 일부가 아닙니다.
- 새 클래스
TextStatusPart
및TimerStatusPart
클래스가 더 이상 공개 API의 일부가 아닙니다. (I57fb6)- 정적 텍스트로
Part
를 만들려면Status.TextPart
를 사용합니다. - 스톱워치(카운트업)로
Part
를 만들려면Status.Stopwatch
를 사용합니다. - 타이머(카운트다운)로
Part
를 만들려면Status.Timer
를 사용합니다.
- 정적 텍스트로
Wear-Ongoing 버전 1.0.0-alpha04
2021년 5월 5일
androidx.wear:wear-ongoing:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- 이제 OngoingActivity에서 fromExistingOngoingActivity 메서드를 recoverOngoingActivity라고 합니다.
- 이제 OngoingActivity에는 이전에 OngoingActivityData에서만 사용할 수 있었던 getter의 전체 집합이 있습니다. (I0ee4d)
Wear-Remote-Interactions 버전 1.0.0-alpha05
2021년 7월 21일
androidx.wear:wear-remote-interactions:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
API 변경사항
다른 기기(예: 시계에서 휴대전화로)에서 인텐트를 여는 데 사용할 수 있는
RemoteIntentHelper
클래스(이전에는 웨어러블 지원 라이브러리의 RemoteIntent)가 추가되었습니다. (I1d7e0)PlayStoreAvailability 클래스가 AndroidX 라이브러리에서 삭제되었습니다. 연결된 휴대전화에서 Play 스토어를 사용할 수 있는지 확인하려면 연결된 휴대전화가 Android 휴대전화인지
androidx.phone.interactions.PhoneTypeHelper.getPhoneDeviceType
메서드를 사용하여 확인합니다. 그런 다음androidx.wear.utils.WearTypeHelper.isChinaDevice
메서드를 사용하여 연결된 휴대전화가 중국 기기인지 확인합니다. 휴대전화가 Android 휴대전화이고 중국 기기가 아니면 Play 스토어를 사용할 수 있습니다. (Ie7dec)
Wear-Phone-Interactions 버전 1.0.0-alpha04
2021년 4월 7일
androidx.wear:wear-phone-interactions:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- 새 라이브러리가 Wearable 지원 라이브러리 구현과 하위 호환되도록
ErrorCode
상수를 업데이트했습니다.
버그 수정
- OAuth 세션을 시작할 때 새 OAuth API로 인해 발생하는 예외를 해결했습니다.
Wear-Remote-Interactions 버전 1.0.0-alpha03
2021년 4월 7일
androidx.wear:wear-remote-interactions:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
API 변경사항
- 정적 메서드가 있는 동반 객체를 포함하는 클래스가 되도록
PlayStoreAvailability
를 변경했습니다. 사용법은 동일합니다.
버그 수정
- 실제 HTML 문자가 포함된 샘플 코드가 올바르게 표시되도록
WatchFaceConfigIntentHelper
의 요약 문서를 수정했습니다.
Wear-Ongoing Wear-Phone-Interactions 버전 1.0.0-alpha03
2021년 3월 10일
androidx.wear:wear-ongoing:1.0.0-alpha03
및 androidx.wear:wear-phone-interactions:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- Wearable 지원 라이브러리에서 AndroidX로 OAuthClient를 이전합니다. 이 이전된 클래스는 RemoteAuthClient로 이름이 바뀌며, 웨어러블 기기에서 원격 인증하는 기능과 OAuth PKCE 확장 프로그램 추가 기능을 지원합니다. 통신용 추가 핸들러와 도우미 클래스가 제공됩니다.
- 이제 진행 중인 활동은 새 OngoingActivity.Builder 생성자를 사용하여 태그가 있는 알림에 연결될 수 있습니다.
API 변경사항
- Ongoing Activities 라이브러리에 알림 태그 지원을 추가했습니다. (I653b4)
- OAuthClient를 Wear 지원 라이브러리에서 AndroidX로 이전하고 OAuth PKCE 확장 프로그램 지원을 추가합니다. (I3eaaa)
Wear-Remote-Interactions 버전 1.0.0-alpha02
2021년 3월 10일
androidx.wear:wear-remote-interactions:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
새로운 기능
- PlayStoreAvailability 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전하여 휴대전화에서 Play 스토어를 사용할 수 있는지 확인하는 API를 제공합니다.
버그 수정
- PlayStoreAvailability 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전합니다. (I69bfe)
버전 1.0.0-alpha02
2021년 2월 10일
androidx.wear:wear-ongoing:1.0.0-alpha02
및 androidx.wear:wear-phone-interactions:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 더 복잡한 상태에 관한 지원이 추가되었습니다. 이는 템플릿의 자리표시자를 채우는 데 사용되는 하나 이상의 템플릿과 연속된 부분으로 구성됩니다. 이제 OngoingActivityStatus에는 하나의 부분(텍스트 또는 타이머)만 사용하여 단순한 상태를 만드는 정적 메서드와 더 복잡한 상태를 만드는 빌더가 있습니다. (I1fe81)
- BridgingManager와 BridgingConfig 클래스를 Wear 지원 라이브러리에서 AndroidX로 이동하여 런타임에 알림을 사용 설정/중지하고 브리징 모드에서 제외되는 알림 태그를 선택적으로 설정하는 API를 제공합니다. (I3a17e)
버전 1.0.0-alpha01
2021년 1월 27일
androidx.wear:wear-ongoing:1.0.0-alpha01
, androidx.wear:wear-phone-interactions:1.0.0-alpha01
및 androidx.wear:wear-remote-interactions:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
Ongoing Activities 라이브러리를 새 하위 라이브러리 wear-ongoing으로 이전합니다. 이제 클래스가 androidx.wear.ongoing 패키지(이전에는 androidx.wear.ongoingactivities)에 있습니다. (I7c029)
Wearables에서 Phones로의 상호작용을 지원하는 클래스를 포함하는 새 지원 라이브러리를 만듭니다. Wearable 지원 라이브러리에서 이전된 클래스로 초기에 채워집니다. (Id5180)
PhoneDeviceType 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전합니다. 이전된 클래스는 PhoneTypeHelper로 이름이 바뀌고 Wearable 기기 전용으로만 사용하도록 현재 시계가 페어링된 휴대전화 유형을 판단하는 도우미 메서드를 제공합니다. (Ibd947)
Wearables와 Phones 간의 상호작용을 지원하는 클래스를 포함하는 새 지원 라이브러리를 만듭니다. Wearable 지원 라이브러리에서 이전된 클래스로 초기에 채워집니다. (I9deb4)
WatchFaceCompanion 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전합니다. 이전된 클래스는 WatchFaceConfigIntentHelper로 이름이 바뀌고 휴대전화의 컴패니언에서 시계 모드 구성 활동의 ID와 구성요소 이름을 지정하는 도우미 함수를 제공하며 웨어러블 기기에서 시계 모드를 구성하는 데 로컬로 사용할 수도 있습니다. (Ia455f)
Wear Complications 및 Watchface 1.0.0
버전 1.0.0-alpha22
2021년 9월 15일
androidx.wear:wear-*:1.0.0-alpha22
가 출시되었습니다. 버전 1.0.0-alpha22에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 EditorSession에서 수명 주기 관찰자를 구독하므로 활동이 사라질 때 더 이상 이를 명시적으로 닫지 않아도 됩니다.
API 변경사항
- EditorSession 및 ListenableEditorSession에서 이제 complicationSlotsState, ComplicationsPreviewData, ComplicationsDataSourceInfo에 kotlin StateFlows를 사용합니다. (I761d9)
- EditorSession#userStyle이 이제
MutableStateFlow<UserStyle>
입니다. (I32ca9) - 이제 EditorSession.createOnWatchEditorSession이 수명 주기 관찰자를 사용하고 onDestroy가 관찰되면 자동으로 닫힙니다. 또한
createOnWatchEditorSession
은 이제 활동만 전달하면 됩니다. ListenableEditorSession에도 같은 변경사항을 적용했습니다. (Ic6b7f) - CustomValueUserStyleSetting의 생성자를 공개 API의 일부로 복구했습니다. (I2e69a)
UserStyle
이 이제Map<UserStyleSetting, UserStyleSetting.Option>
에서 상속받고MutableUserStyleSetting#put
은 설정이 스키마에 없거나 옵션이 설정과 일치하지 않으면 IllegalArgumentException을 발생시킵니다. (Iba40f)
버전 1.0.0-alpha21
2021년 9월 1일
androidx.wear:wear-*:1.0.0-alpha21
이 출시되었습니다. 버전 1.0.0-alpha21에 포함된 커밋을 확인하세요.
API 변경사항
- 최소 API 수준이 26으로 증가한 결과로, 모든 공개 시계 화면, 클라이언트, 편집기 및 정보 표시 API에서 이제 시간에 Long이 아닌 java.time.Instant를 사용합니다. (I3cd48)
- 이제 시계 화면과 정보 표시 API에 Calendar 대신 변경 불가능한 ZonedDateTime이 사용됩니다. (I25cf8)
- 이제 ComplicationSlot은 NoDataComplicationData로 초기화되고, ComplicationSlot.complicationData에는 항상 값이 있으며, CanvasComplicationDrawable.complicationData는 더 이상 null을 허용하지 않습니다. (I4dfd6) 이로 인해 시계 화면 간에 전환할 때 정보 표시 깜박임이 줄어듭니다(하지만 완전히 없어지지는 않음).
버전 1.0.0-alpha20
2021년 8월 18일
androidx.wear:wear-*:1.0.0-alpha20
이 출시되었습니다. 버전 1.0.0-alpha20에 포함된 커밋을 확인하세요.
API 변경사항
- ComplicationDataSourceInfoRetriever.retrievePreviewComplicationData가 null을 반환할 때 사용할 수 있는 createFallbackPreviewData를 ComplicationDataSourceInfo에 추가했습니다. (I38c4d)
- 단위 테스트에서 모의 처리를 허용하도록 ComplicationDataSourceUpdateRequester가 인터페이스로 전환되었습니다. ComplicationDataSourceUpdateRequester.create()를 사용하여 구체적인 ComplicationDataSourceUpdateRequester를 구성할 수 있습니다. (I7da22)
- RenderParameters.pressedComplicationSlotIds가 RenderParameters.lastComplicationTapDownEvents로 대체되었습니다. RenderParameters.lastComplicationTapDownEvents는 새 TapEvent 클래스를 노출하고 이 클래스는 3가지 요소 즉, 탭의 x, y 좌표(픽셀 단위)와 타임 스탬프 한 개를 포함합니다.
WatchFace.TapListener.onTap
을onTapEvent(@TapType tapType: Int, tapEvent: TapEvent)
로 대체했습니다. 또한InteractiveWatchFaceClient.displayPressedAnimation
이 삭제되었습니다. (Id87d2) - setImportantForAccessibility에 관한 명시적 스레딩 주석이 추가되었습니다. (I990fa)
- wear/wear-watchface에서 ComplicationSlotBoundsType이 androidx-wear-watchface.ComplicationSlotBoundsType으로 이동되었습니다. (I09420)
- UserStyleSetting 및 Options에 문자열 리소스 ID를 전달할 수 있는 지원을 추가했습니다. 이제 관련 객체를 구성할 때 이 방법이 권장됩니다. (I03d5f)
- UserStyle 스키마의 최대 연결 크기에 제한이 적용되었습니다. 또한 스키마의 아이콘은 400x400픽셀 이하여야 합니다. (I3b65b)
- UserStyle 인스턴스의 변경사항을 지원하기 위해 MutableUserStyle 클래스를 추가했습니다. (I95a40)
ListenableWatchFaceMetadataClient.Companion#listenableCreateWatchFaceMetadataClient
의 이름을ListenableWatchFaceMetadataClient.Companion#createListenableWatchFaceMetadataClient
로 바꾸었습니다. (I64ce2)- 사용 설정된 정보 표시의 데이터만 포함하도록 EditorState.previewComplicationsData를 수정했습니다. 그리고
EditorSession.DEFAULT_PREVIEW_TIME_MILLIS
를 추가했습니다. 이 요소는renderWatchFaceToBitmap
또는PreviewScreenshotParams
에 전달되는 경우 시계 화면의 기본 미리보기 시간으로 렌더링하도록 요청합니다. (If7b3c) - 공개 API에서 CharSequence를 사용하는 UserStyleSetting 생성자를 삭제했습니다. StringResource ID를 필요로 하는 생성자를 대신 사용하는 것이 좋습니다. (I8537b)
- 이제
CurrentUserStyleRepository.UserStyleChangeListener
가 SAM 전환을 지원합니다. (I85989)
버전 1.0.0-alpha19
2021년 8월 4일
androidx.wear:wear-*:1.0.0-alpha19
가 출시되었습니다. 버전 1.0.0-alpha19에 포함된 커밋을 확인하세요.
API 변경사항
WatchFaceMetadataClient.createWatchFaceMetadataClient
를 위한ListenableFuture
래퍼를 제공하는ListenableWatchFaceMetadataClient.listenableCreateWatchFaceMetadataClient
를 추가했습니다. (I5fa37)- 이제
UserStyleOption.getOptionForId
는 바이트 배열 대신UserStyleOption.Id
를 허용합니다. (I469be) - 상수
BooleanOption.TRUE
및BooleanOption.FALSE
를 제공하고 인스턴스 생성을 허용하지 않습니다. (I46e09) - 이제 RemoteException을 발생시킬 수 있는 wear-watchface-client의 메서드가 적절하게 주석 처리됩니다. (Ib8438)
- 일관성을 위해
EditorSession.createOnWatchEditingSession
의 이름이createOnWatchEditorSession
으로 변경되었으며, 이제createHeadlessEditingSession
이createHeadlessEditorSession
으로 변경되었습니다. guava 래퍼의 이름도 변경되었습니다. (I1526b) - 이제
EditorSession
이 인터페이스가 되었으며ListenableEditorSession.commitChangesOnClose
가 올바르게 위임되었습니다. (I7dc3e) - 이제 충돌하는 ID가 있는 설정 또는 옵션을 지닌 모든 사용자 스타일 스키마가 거부됩니다. (Ic2715)
UserStyleSetting.Id
를 허용하는 오버로드된UserStyle.get
이 추가되었습니다. (I2aa0f)
버전 1.0.0-alpha18
2021년 7월 21일
androidx.wear:wear-*:1.0.0-alpha18
이 출시되었습니다. 버전 1.0.0-alpha18에 포함된 커밋을 확인하세요.
API 변경사항
ComplicationHelperActivity
를androidx.wear:wear-watchface
라이브러리로 이동했습니다. (I39e76)- 일관성과 명확성을 위해
ComplicationProvider
가ComplicationDataSource
로 이름이 바뀌었고 이름에 Provider가 포함된 모든 클래스는 유사한 이름으로 바뀌었습니다. (Iaef0b) CanvasComplication.isHighlighted
가RenderParameters.pressedComplicationSlotIds
로 이동되었습니다. 이는CanvasComplication
을 스테이트리스(Stateless)로 만들기 위한 조치입니다. 이 변경사항을 지원하기 위해 이제CanvasComplication.render
도slotId
를 매개변수로 사용하고ComplicationSlot
을GlesTextureComplication
에 전달합니다. (I50e6e)EditorRequest
가headlessDeviceConfig
에 추가되었습니다. null이 아닌 경우 이 매개변수는 대화형 인스턴스에 따라 작동하는 대신 EditorSession을 지원하는 헤드리스 인스턴스를 구성하는 데 사용됩니다. 이렇게 하면 편집기가 기존 시계 화면이 아닌 다른 시계 화면에서 호출될 수 있습니다. (I0a820)- 실험용
WatchFaceMetadataClient
가 추가되었습니다.UserStyleSchema
와 같은 정적 시계 화면 메타데이터와ComplicationSlots
에 관한 수정된 세부정보를 효율적으로 검색할 수 있습니다. (I6bfdf) CanvasRenderer.uiThreadInit
의 이름이 init으로 변경되었습니다. (I6fff9)- EditorRequest의 새 선택적 매개변수인 PreviewScreenshotParams가 추가되었습니다. 이 매개변수는 관련 매개변수와 함께 커밋 시 미리보기 스크린샷을 촬영하도록 EditorSession에 지시합니다. 미리보기 이미지는
EditorState.previewImage
에 노출됩니다. (Ic2c16)
버그 수정
- 개발자는 더 이상 자체 매니페스트에 ComplicationHelperActivity를 추가할 필요가 없습니다. (I6f0c2)
버전 1.0.0-alpha17
2021년 6월 30일
androidx.wear:wear-*:1.0.0-alpha17
이 출시되었습니다. 버전 1.0.0-alpha17에 포함된 커밋을 확인하세요.
새로운 기능
GlesRenderer
에서makeUiThreadContextCurrent
와makeBackgroundThreadContextCurrent
가Runnable
을 허용하는runUiThreadGlCommands
와runBackgroundThreadGlCommands
에 의해 대체됩니다. 라이브러리는 지정된 시간에 실행 가능한 하나의 GL 명령어만 실행하도록 합니다.UiThread 초기화를 더 쉽게 만들기 위해 렌더링을 호출하기 전에 UiThread에서 한 번 호출되는
CanvasRenderer.uiThreadInit
을 추가했습니다. 또한Renderer
및CanvasComplication
이 상태를 더 쉽게 공유할 수 있도록onRendererCreated
를CanvasComplication
에 추가했습니다.명확성을 위해
Complication
이름을ComplicationSlot
으로 바꾸고 사용 방식에 따라complicationId
이름을complicationSlotId
또는complicationInstanceId
로 바꾸었습니다.
API 변경사항
- 명확성을 위해
Complication
이름을ComplicationSlot
으로 바꾸고 사용 방식에 따라complicationId
이름을complicationSlotId
또는complicationInstanceId
로 바꾸었습니다. Complication을 사용하는 클래스도 비슷하게 이름이 바뀌었습니다. 예를 들어, ComplicationsManager는 이제 ComplicationSlotsManager라고 합니다. (I4da44) - GlesRenderer에서
makeUiThreadContextCurrent
와makeBackgroundThreadContextCurrent
는Runnable
을 허용하는runUiThreadGlCommands
와runBackgroundThreadGlCommands
에 의해 대체됩니다. 이러한 함수는 렌더runBackgroundThreadGlCommands
와onUiThreadGlSurfaceCreated
외부에서 GL 호출을 해야 하는 경우에만 필요합니다. 이는 동일한 프로세스에 있지만 잠재적으로는 다른 시계 모드에서 가져온 자체 컨텍스트를 사용하는 GlesRenderer가 여러 개 있을 수 있기 때문에 필요합니다. 또한 공유된 현재 GL 컨텍스트에 관한 액세스도 이제 동기화됩니다. (I04d59) - 렌더링을 호출하기 전에 UiThread에서 한 번 호출되는
CanvasRenderer.uiThreadInit
을 추가했습니다. 또한 명확성을 위해 GlesRenderer의onGlContextCreated
를onBackgroundThreadGlContextCreated
로,onGlSurfaceCreated
를onUiThreadGlSurfaceCreated
로 이름을 바꾸었습니다. (If86d0) HeadlessWatchFaceClient
와InteractiveWatchFaceClient
의getComplicationsSlotState
는getComplicationSlotsState
로 이름을 바꾸었습니다.ComplicationSlot
에서createRoundRectComplicationBuilder
,createBackgroundComplicationBuilder
및createEdgeComplicationBuilder
는createRoundRectComplicationSlotBuilder
,createBackgroundComplicationSlotBuilder
및createEdgeComplicationSlotBuilder
로 각각 이름이 바뀌었습니다. (Ib9adc)- CanvasComplication에 onRendererCreated를 추가하여 Renderer와 CanvasComplication이 상태를 더 쉽게 공유할 수 있습니다. (I5e1ac)
버전 1.0.0-alpha16
2021년 6월 16일
androidx.wear:wear-*:1.0.0-alpha16
이 출시되었습니다. 버전 1.0.0-alpha16에 포함된 커밋을 확인하세요.
새로운 기능
- 최근 스레딩 모델 변경사항과 관련된 여러 버그를 수정하고 시계 모드 편집기의 기타 문제도 해결했습니다.
버그 수정
onComplicationProviderChooserResult
에서 NPE를 방지했습니다. (b/189594557)- 비활성 표면 및 drawBlack 문제를 수정했습니다. (b/189452267)
complicationsManager.watchState
에 액세스할 때 경합 문제를 수정했습니다. (b/189457893)- 백그라운드 스레드 전체 기간 버그를 수정했습니다. (b/189445428)
- R 이전의 시계 모드 편집기 문제를 수정했습니다. (b/189126313)
- 편집기 스타일 변경에 관한 직접 부팅 매개변수를 업데이트하면 안 됩니다. (b/187177307)
버전 1.0.0-alpha15
2021년 6월 2일
androidx.wear:wear-*:1.0.0-alpha15
가 출시되었습니다. 버전 1.0.0-alpha15에 포함된 커밋을 확인하세요.
새로운 기능
이제 시계 모드 초기화의 대부분이 백그라운드 스레드에서 실행되지만, 모든 시계 모드 렌더링 등을 로드한 후에는 UiThread에서 실행됩니다. 로드와 렌더링 사이에 메모리 장벽이 있으므로 대부분의 사용자 시계 모드는 특별한 조치를 취하지 않아도 됩니다. GLES를 사용하는 시계 모드는 컨텍스트가 스레드마다 다르고 연결된 컨텍스트 두 개를 생성하기 때문에 백그라운드 스레드에서 GL 리소스(예: 텍스처 및 셰이더)를 업로드하고 UiThread에서 사용할 수 있으므로 예외가 될 수 있습니다.
시계 모드의 구성을 createUserStyleSchema, createComplicationsManager, createWatchFace의 세 가지 함수로 분할했습니다. createUserStyleSchema 및 createComplicationsManager는 속도가 빠르고 createWatchFace는 애셋을 로드하는 데 다소 시간이 걸릴 수 있다고 가정합니다. 이를 바탕으로 정보 표시 ID 지도를 DefaultComplicationProviderPolicies 및 기본 ComplicationType으로 반환하는 WatchFaceControlClient.getDefaultProviderPoliciesAndType
을 도입했습니다. 이 방법은 쿼리를 실행하기 위해 시계 모드를 완전히 초기화할 필요가 없기 때문에 헤드리스 인스턴스를 만드는 것보다 속도가 빠릅니다.
마지막으로 정보 표시는 CanvasComplication 렌더기의 지연 생성을 허용하는 CanvasComplicationFactory로 생성됩니다.
API 변경사항
@TargetApi
를@RequiresApi
로 바꿨습니다 (I0184a, b/187447093, b/187447094)- 정보 표시 ID 지도를 DefaultComplicationProviderPolicies 및 기본 ComplicationType으로 반환하는
WatchFaceControlClient.getDefaultProviderPoliciesAndType
을 도입했습니다. 가능한 경우 시계 모드를 완전히 구성하지 않는 빠른 경로가 사용됩니다. 이를 원활하게 하기 위해 WatchFaceService API는 두 가지 새로운 메서드인 createUserStyleSchema와 createComplicationsManager로 변경되어야 하며 그 결과는 createWatchFace로 전달됩니다. 또한 정보 표시는 이제 CanvasComplication 렌더기의 지연 생성을 허용하는 CanvasComplicationFactory로 구성됩니다. (Iad6c1) - SystemProviders에서 MOST_RECENT_APP을 삭제했습니다. (I3df00)
- ObservableWatchData는 이제 봉인 클래스입니다. (Ic940d)
- (일반적으로 io 바인드되는) CanvasComplicationFactory.create는 이제 UI 스레드 렌더링이 시작되기 전에 각 정보 표시의 백그라운드 스레드에서 호출됩니다. 구성과 렌더링 사이에 메모리 장벽이 있으므로 특별한 스레드 프리미티브가 필요하지 않습니다. (Ia18f2)
- 이제 시계 모드 구성은 백그라운드 스레드에서 실행됩니다(단, 모든 렌더링은 UI 스레드에서 실행됩니다). GlesRenderer는 이를 위해 연결된 컨텍스트 두 개를 지원합니다. WatchFaceControlClient.createHeadlessWatchFaceClient와 WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient는 WatchFaceService.createWatchFace가 완료되기 전에 확인될 수 있습니다. 후속 API 호출은 watchFace 초기화가 완료될 때까지 차단됩니다. (Id9f41)
- EXPANSION_DP 및 STROKE_WIDTH_DP는 더 이상 api.txt에 표시되지 않습니다. (I54801)
- 오류가 발생할 경우 null 세션을 전송하는 대신 EditorSession.createOnWatchEditingSession에서 TimeoutCancellationException이 발생하도록 했습니다. 또한 EditorRequest.createFromIntent 및 EditorSession.createOnWatchEditingSession의 반환 값은 이제 NonNull입니다. (I41eb4)
버전 1.0.0-alpha14
2021년 5월 18일
androidx.wear:wear-*:1.0.0-alpha14
가 출시되었습니다. 버전 1.0.0-alpha14에 포함된 커밋을 확인하세요.
새로운 기능
- 이제
EditorSession.openComplicationProviderChooser
가 정보 표시 ID와ComplicationProviderInfo
, 제공자 선택기에서 반환한 추가 extras가 포함된 번들을 포함하는 ChosenComplicationProvider를 반환합니다. - 또한 Google은 Kotlin으로 코드를 꾸준히 이전했으며 이제 시계 모드 API의 대부분이 Kotlin에서 정의됩니다.
API 변경사항
- 이제 GlesRenderer 속성
eglContext
와eglDisplay
가 null을 허용하지 않습니다. 모든 GL 오류는 이제 RuntimeExceptions가 아닌GlesRenderer.GlesException
을 통해 보고됩니다. (Ib1005) androidx.wear.watchface.complications.rendering.ComplicationDrawable
을 자바에서 Kotlin으로 이전했습니다. (Ibc3eb)androidx.wear.watchface.complications.rendering.ComplicationStyle
을 자바에서 Kotlin으로 이전했습니다. (I3375e)- EditorSession 내에 각 정보 표시에 관한 정보 표시 제공자 정보를 추가했습니다. (I37f14)
- 선택된 제공자가 반환한 정보를 포함하도록
EditorSession.openComplicationProviderChooser
결과를 확장했습니다. (Iead6d)
Wear Complications 및 Watchface 버전 1.0.0-alpha13
2021년 5월 5일
androidx.wear:wear-*:1.0.0-alpha13
이 출시되었습니다. 버전 1.0.0-alpha13에 포함된 커밋을 확인하세요.
새로운 기능
시계 모드는 시간 및 정보 표시를 나타내는 것 외에 중요한 시각적 요소를 가질 수 있습니다. 여기에 스크린 리더를 지원하기 위해 이제 시계 모드는 Renderer의 additionalContentDescriptionLabels 속성을 통해 접근성 ContentDescriptionLabels를 지정할 수 있습니다. 또한, ContentDescriptionLabels의 순서를 제어하기 위해 accessibilityTraversalIndex가 정보 표시에 추가되었습니다. 이는 ComplicationsUserStyleSetting에서 수정할 수 있습니다.
개발자가 스크린 리더를 신중하게 고려하도록 하기 위해
ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
및RangedValueComplicationData.Builder
의contentDescription
필드를 생성자에 전달해야 하는 필수 필드로 지정했습니다.contentDescription
을 위해ComplicationText.EMPTY
가 전달되면contentDescription
이 텍스트와 제목에서 자동으로 생성됩니다.이제 init을 실행하는 중에 시계 모드에서 예외가 발생하면
WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient
에서ServiceStartFailureException
이 발생합니다. 이로 인해 시계 모드가 시작할 때 문제를 더 쉽게 진단할 수 있습니다.
API 변경사항
- 이전 버전의 Wear OS를 지원하기 위해 ComplicationProviderInfo에 null인 구성요소 이름을 사용할 수 있도록 지원합니다. (I744d2)
androidx.wear.complications.SystemProviders
를 자바에서 Kotlin으로 이전했습니다. (Ia1f8b)- android.support.wearable.complications의 공개 API에서 모든 클래스를 숨기고 필요한 클래스만 AndroidX에 대응하는 래퍼를 만들었습니다. (I7bd50)
TimeDifferenceComplicationText.Builder
의 메서드 이름을setMinimumUnit
에서setMinimalTimeUnit
으로 바꾸었습니다. (I20c64)ShortTextComplicationData.Builder
,LongTextComplicationData.Builder
및RangedValueComplicationData.Builder
의contentDescription
필드를 생성자에 필수 필드로 전달하도록 했습니다. (I8cb69)- ComplicationProviderService.onComplicationUpdate의 이름을 onComplicationRequest로 바꾸고 이 메서드의 ID 및 유형 매개변수를 data ComplicationRequest로 캡슐화했습니다. 이에 대응하는 리스너 이름을 ComplicationRequestListener와 메서드 ComplicationRequestListener.onComplicationData로 바꿨습니다. (Iaf146)
ComplicationData
에서 메서드isActiveAt
을 삭제하고 그 대신validTimeRange
필드를 노출했습니다. 이 메서드 호출은validTimeRange.contains
로 대체될 수 있습니다. (I65936)- int 대신 ComplicationType을 받도록 ComplicationProviderService.onComplicationActivated 메서드의 설명을 변경했습니다. (Idb5ff)
- Java에서 Koltin으로 ProviderUpdateRequester를 이전했습니다. (Ibce13)
- GlesRender.makeContextCurrent는 이제 공개 메서드입니다. 시계 모드 코드는 render와 onGlContextCreated 외부에서 gl 호출을 해야 할 수 있습니다. 이 메서드를 호출하는 데 필요한 대화형 컨텍스트와 헤드리스 컨텍스트가 모두 있을 수 있기 때문입니다. (I8a43c)
- 이제 init을 실행하는 중에 시계 모드에서 예외가 발생하면 WatchFaceControlClient.getOrCreateInteractiveWatchFaceClient에서 ServiceStartFailureException이 발생합니다. 또한, createWatchFace 실행이 6초 넘게 걸리면 이제 WatchFaceService에서 예외가 발생합니다. (I59b2f)
GlesTextureComplication
의 사용되지 않는 ID 속성을 삭제했습니다. (I28958)- 이제 시계 모드에서
Renderer
의 additionalContentDescriptionLabel 속성을 통해 접근성 ContentDescriptionLabel을 지정할 수 있습니다. ContentDescriptionLabels의 순서를 제어하는 것 외에 accessibilityTraversalIndex가 정보 표시에 추가되었습니다. 이는 ComplicationsUserStyleSetting에서 수정할 수 있습니다. (Ib7362) - 시계 모드에서 터치 이벤트 처리에 관한 문서를 펼칩니다. (Iaf31e)
버그 수정
EditorSession.getComplicationsPreviewData()
는 이제 비어 있지 않은 정보 표시에만 맵을 반환합니다. 빈 정보 표시에는 EmptyComplicationData 인스턴스가 사용됩니다. (I1ef7e)
Wear Complications 및 Watchface 버전 1.0.0-alpha12
2021년 4월 21일
androidx.wear:wear-*:1.0.0-alpha12
가 출시되었습니다. 버전 1.0.0-alpha12에 포함된 커밋을 확인하세요.
새로운 기능
시계 모드 편집기는 시계 모드의 일부를 강조표시하여 시계의 구성 중인 부분을 파악하는 데 도움이 되어야 합니다. RenderParameters를 확장하여 스타일과 정보 표시를 강조표시할 수 있도록 했습니다. 알파 투명도를 사용하여 시계 모드 위에 매팅되도록 하기 위한 신규 HighlightLayer(선택사항)가 있습니다(스크린샷 API는 매팅하거나 유연성을 극대화하도록 직접 HighlightLayer를 제공할 수 있음). 예를 들어, 스타일을 사용하여 시계 침의 모양을 구성한다고 가정해 보겠습니다. 그러면 스타일의 renderHighlightLayer의 렌더기가 시계 침 주위에 윤곽선을 그릴 수 있습니다.
정보 표시 제공자가 접근성을 지원하도록 PhotoImageComplicationData.Builder, MonochromaticImageComplicationData.Builder, SmallImageComplicationData.Builder의 contentDescription 필드를 필수 생성자 인수로 만들었습니다. 화면 가장자리에 그려지는 가장자리 정보 표시를 지원하기 위해 ComplicationTapFilter와 Complication.createEdgeComplicationBuilder를 추가했습니다. 가장자리 정보 표시의 렌더링과 히트 테스트는 시계 모드에서 이루어집니다. 호환 편집기에서는 가장자리 히트 테스트가 지원되지 않습니다.
API 변경사항
- SystemProviders의 상수에
PROVIDER_
접두어를 추가했습니다. (I1e773) PhotoImageComplicationData.Builder
,MonochromaticImageComplicationData.Builder
및SmallImageComplicationData.Builder
의contentDescription
필드를 필수 필드로 생성자에 전달하도록 했습니다. (I9643a)ProviderInfoRetriever.requestPreviewComplicationData
의 이름이retrievePreviewComplicationData
로 변경되었습니다. (I911ee)ComplicationProviderService
를 자바에서 Kotlin으로 이전했습니다. (I849f2)- 이제
ComplicationProviderService.onBind
메서드가 최종입니다. (I39af5) CanvasComplication
인터페이스를 복구하고CanvasComplicaitonDrawable
,GlesTextureComplication
,ComplicationHighlightRenderer
를wear-watchface-complications-rendering
으로 이동했습니다. (I84670)- 확장된 강조표시 렌더링을 지원하도록
RenderParameters
를 리팩터링했습니다. 이제 모든 또는 단일 정보 표시와 스타일의 강조표시 렌더링을 요청할 수 있습니다. 또한, CanvasRenderer 및 GlesRenderer에는 편집기가 요청한 모든 강조표시를 렌더링하는 새로운 추상 renderHighlightLayer 메서드가 있습니다. 레이어 이름이 WatchFaceLayer로 변경되었습니다. (Ic2444) - 가장자리 정보 표시를 지원하는
ComplicationTapFilter
및Complication.createEdgeComplicationBuilder
가 추가되었습니다. 가장자리 정보 표시의 렌더링과 히트 테스트는 시계 모드에서 이루어집니다. 편집기 내에서는 히트 테스트가 지원되지 않습니다. (Ia6604) DoubleRangeUserStyleSetting
및LongRangeUserStyleSetting
에서 이제defaultValue
,maximumValue
,minimumValue
는 Kotlin 속성입니다. 또한, toBooleanOption, toCoplicationOptions, toListOption 등의UserStyleSetting.Option
함수가 삭제되었습니다. (I52899)- 시계 모드에서 사용할 수 있는 기기 속성에 인셋(또는 chin) 크기를 추가합니다. (I76e1e)
- 이제
ComplicationHighlightRenderer
의 생성자가outlineExpansion
및outlineStrokeWidth
매개변수를 허용합니다. (I87009) - 이제
ComplicationDrawable.getNoDataText
는 공개 API의 일부입니다. (I00598)
버전 1.0.0-alpha11
2021년 4월 7일
androidx.wear:wear-*:1.0.0-alpha11
이 출시되었습니다. 버전 1.0.0-alpha11에 포함된 커밋을 확인하세요.
새로운 기능
- 시계 모드 API를 개선했습니다.
InteractiveWatchFaceWcsClient
와InteractiveWatchFaceSysUiClient
가InteractiveWatchFaceClient
로 병합되었으며, 나머지는 대부분 단순한 이름 변경입니다.
API 변경사항
- ContentDescriptionLabel.text는 이제 이전 Wearable 지원 라이브러리의 TimeDependentText가 아니라 ComplicationText입니다. (I80c03)
SystemProviders.GOOGLE_PAY
는 일부 Android R 기기에 존재하지 않을 수 있으므로 목록에서 삭제되었습니다.DefaultComplicationProviderPolicy
를 통해 이 제공자를 계속 사용할 수 있습니다. (If01b5)- 일관성을 위해 ComplicationUpdateCallback의 이름을 ComplicationUpdateListener로 바꾸었습니다. (I61ec7)
- UserStyle 와이어 형식 맵을
Map<String, byte[]>
로 변경했습니다.UserStyleData
클래스는 편의상 공개 API에 추가되었으며 이제 wear-watchface-client와 wear-watchface-editor에서 사용합니다. 또한 CustomValueUserStyleSetting.CustomValueOption.value는 이제String
이 아닌byte[]
입니다. (Iaa103) - 이제
UserStyleSetting
과UserStyleSetting.Option
은 각각UserStyleSetting.Id
와UserStyleSetting.Option.Id
를 사용하여 문자열이 아닌 ID를 저장합니다. (I63f72) InteractiveWatchFaceClient.SystemState
의 이름을WatchUiState
로 바꾸었습니다. (I6a4e0)InteractiveWatchFaceWcsClient
및InteractiveWatchFaceSysUiClient
는 책임 소재를 설명하기가 어려우므로 병합되었습니다. (Iff3fa)- 명확성을 위해 Layer 열거형 값의 이름을 바꾸었습니다.
Layer#TOP_LAYER
는 이제Layer#COMPLICATIONS_OVERLAY
이며,Layer#BASE_LAYER
는 이제Layer#BASE
입니다. (Ia144e) UserStyleListener
의 이름을UserStyleChangeListener
로 바꾸었습니다. (I18524)UserStyleRepository
의 이름을CurrentUserStyleRepository
로 바꾸었습니다. (I6ea53)InteractiveWatchFaceWcsClient.updateInstance
의 이름을updateWatchfaceInstance
로 바꾸었습니다. (I321dc)- WatchFace TapType 이벤트의 이름을 MotionEvents/Compose에 맞게 바꾸었습니다. (I0dfd0)
- takeWatchfaceScreenshot의 이름을 renderWatchFaceToBitmap으로 바꾸었으며, takeComplicationScreenshot의 이름을 renderComplicationToBitmap으로 바꾸었습니다. (Ie0697)
- CanvasComplication 인터페이스를 삭제하고 공개 클래스인 CanvasComplicationDrawable로 대체했습니다. (I1f81f)
WatcfaceControlServiceFactory
를 공개 API에서 삭제했습니다. (I1f8d3)CanvasComplication.setData
의 이름을CanvasComplication.loadData
로 바꾸었습니다. (If1239)ComplicationsManager.bringAttentionToComplication
의 이름을displayPressedAnimation
으로 바꾸었습니다. (Ic4297)- 이제
WatchFaceService.createWatchFace
는@UiThread
주석을 사용합니다. (Ib54c2) - CanvasComplicationDrawable 매개변수 이름을 바꾸어 버그를 수정했습니다. (I50dac)
- AIDL을 통한
HeadlessWatchFaceClient
전송을 지원하기 위해HeadlessWatchFaceClient.toBundle()
과HeadlessWatchFaceClient.createFromBundle
을 추가했습니다. (I07c35) - 이제 HeadlessWatchFaceClient와 InteractiveWatchFaceClient를 사용하여 연결이 끊어진 경우 ClientDisconnectListener와 isConnectionAlive()로 원인을 알아볼 수 있습니다(예: 시계 모드가 종료됨). (Ie446d)
WatchFaceControlClient#getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync
는 이제 일시중지 함수이며getOrCreateInteractiveWatchFaceClient
로 이름을 바꾸었습니다. (Ib745d)EditorState.commitChanges
및hasCommitChanges()
는shouldCommitChanges()
로 이름을 바꾸었습니다. (I06e04)- 지도에 항상 둘 이상의 정보 표시 항목이 있음을 나타내기 위해
previewComplicationData
의 이름을previewComplicationsData
로 바꾸었습니다. (I56c06) ComplicationsManager.displayPressedAnimation
과의 일관성을 위해InteractiveWatchFaceWcsClient.bringAttentionToComplication
의 이름을displayPressedAnimation
으로 바꾸었습니다. (Ic9999)- 시계 모드 인스턴스 ID의 모든 인스턴스가 새로운 WatchFaceId 클래스로 캡슐화되었습니다. (I45fdf)
- 복수형을 나타내기 위해
complicationState
속성의 이름을complicationsState
로 바꾸었습니다. (Ided07) - 여러 wear-watchface-client Binder 변환을 삭제했으며 이는 필수입니다. (Icc4c0)
- 일관성을 위해
EditorServiceClient
를 리팩터링하여 관찰자 대신 리스너를 사용하도록 했습니다. (Iec3a4) - 누락된
@Px
주석 몇 개를InteractiveWatchFaceSysUiClient
와WatchFaceControlClient
에 추가했습니다. (I3277a) - 일관성을 위해 EditorObserverCallback의 이름을 EditorObserverListener로 바꾸었습니다. (Ie572d)
- EditorState.watchFaceInstanceId는 Android R API 수준 이상으로 제한되며 더 이상 null을 허용하지 않습니다. (Id52bb)
EditorSession.launchComplicationProviderChooser
의 이름을openComplicationProviderChooser
로 바꾸었습니다. (I9d441)EditorSession.createOnWatchEditingSessionAsync
의 이름을createOnWatchEditingSession
으로 바꾸었으며 이는 이제 일시중지 함수입니다. (Id257b)- 누락된
@UiThread
주석 몇 개를EditorSession
에 추가했습니다. (I6935c) UserStyleSetting.affectsLayers
의 이름을affectedLayers
로 바꾸었습니다. (I6e22b)
버전 1.0.0-alpha10
2021년 3월 24일
androidx.wear:wear-*:1.0.0-alpha10
이 출시되었습니다. 버전 1.0.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 WatchFaceService.createWatchFace 중에 열리는 gl 객체(예: 텍스처)를 생성할 수 있습니다. 이제 GlesRenderer에는 createWatchFace 내에서 수행할 수 있는 명시적 initOpenGLContext 호출이 필요하기 때문입니다.
API 변경사항
IdAndComplicationData
가 조금 불편해 공개 API에서 삭제되었습니다. 이 클래스와 이 클래스를 사용한 인터페이스가 리팩터링되었습니다. (I4c928)- 설명이 제공되는
CountUpTimeReference
와CountDownTimeReference
로ReferenceTime
이 대체되었습니다. (Ib66c6) - 누락된
@Px
및@ColorInt
주석이 추가되었습니다. (I9bbc3) - 이제
Complication.complicationConfigExtras
는 null이 허용되지 않으며 기본값이Bundle.EMPTY
입니다. (Iad04f) - 이제
GlesRenderer
를 사용하려면 생성 후initOpenGLContext
를 호출해야 합니다. 이 함수는 내부 세부정보였지만 이제는 createWatchFace 내에서 GL 호출이 가능하도록 공개 API에 위치합니다. (I726c2) - 필요하지 않기 때문에
Complication.setRenderer
가 제거되었습니다. (Ie992f) Complicaiton.setComplicationBounds
는 더 이상 공개 API의 일부가 아닙니다. 정보 표시 위치를 조정해야 한다면ComplicationsUserStyleSetting
을 통해 조정할 수 있습니다. (Ibd9e5)ComplicationsManager.TapCallback.onComplicationSingleTapped
의 이름이onComplicationTapped
로 변경되었습니다. (I3a55c)ComplicationOutlineRenderer.drawComplicationSelectOutline
의 이름이drawComplicationOutline
으로 변경되었습니다. (I14b88)
버전 1.0.0-alpha09
2021년 3월 10일
androidx.wear:wear-complications-*:1.0.0-alpha09
및 androidx.wear:wear-watchface-*:1.0.0-alpha09
가 출시되었습니다. 버전 1.0.0-alpha09에 포함된 커밋을 확인하세요.
새로운 기능
- WCS/SysUI 호스트와 시계 모드 간의 인터페이스가 변경되었습니다. 이제 편집기에서 스타일 변경으로 정보 표시 기능을 사용 설정할지 또는 중지할지 결정할 수 있습니다(enabled = initiallyEnabled + ComplicationsUserStyleSetting의 재정의). 또한,
EditorService.closeEditor
를 사용하면 필요한 경우 SysUI에서 원격으로 시계 모드 편집기를 종료할 수 있습니다. - 또한, 더 강력한 명령어
updateInstance
를 사용하여InteractiveWatchFaceWcsClient.setUserStyle
에서 인스턴스 ID 변경, 스타일 설정 및 정보 표시 삭제를 한 번에 할 수 있습니다.
API 변경사항
- TraceEvents를 시계 모드 라이브러리에 추가했습니다. (I1a141)
- 이제
ComplicationState
에는 새로운 속성initiallyEnabled
가 있습니다. 이 속성은 스타일 전환 결과를 예측하는 데 유용합니다. (I8c905) InteractiveWatchFaceWcsClient.setUserStyle
을 더 강력한 명령어updateInstance
로 대체했습니다. 이 명령어는 인스턴스 ID를 변경하고 스타일을 설정하며 정보 표시를 삭제합니다. (Ife6f6)- WatchFaceClient 스크린샷 API는 속도가 느리므로 더 이상 스크린샷을 압축하지 않습니다. 대신, 호출자에게 후처리를 남겨둡니다. (Id35af)
- 이제
EditorService.closeEditor
를 통해 원격으로 시계 모드 편집기를 종료할 수 있습니다. (Ic5aa4) - null 허용 여부 주석을 추가했습니다. (Ic16ed)
버전 1.0.0-alpha08
2021년 2월 24일
androidx.wear:wear-*:1.0.0-alpha08
이 출시되었습니다. 버전 1.0.0-alpha08에 포함된 커밋을 확인하세요.
새로운 기능
- 일부 시계 모드는 하나 이상의 특정 정보 표시를 중심으로 설계되었으며, 이를 지원하기 위해 Complication.Builder#setFixedComplicationProvider를 추가했습니다. true로 설정하면 사용자가 이 슬롯의 정보 표시를 변경할 수 없습니다.
- 시계 모드 라이브러리는 우선 Kotlin이며 코루틴(예: 정지 함수)을 사용합니다. 자바 사용자를 위해 다음 라이브러리에서 상호 운용성을 개선하려는 목적으로 ListenableFuture 래퍼를 제공합니다. wear/wear-watchface-guava, wear/wear-watchface-client-guava & wear/wear-watchface-editor-guava
API 변경사항
- 제공자 선택기를 실행하는 정보 표시를 두 번 탭하는 기능의 지원을 삭제했습니다. 이 기능은 시계 모드에서 흔히 사용되지 않으며 이로 인해 SysUI의 구현이 복잡해졌습니다. (I3ef24)
- 바인더가 예기치 않게 종료되면 ProviderInfoRetriever 메서드가 ServiceDisconnectedException을 발생시킬 수 있습니다. (Ib2cc4)
- Android 11부터는 ProviderChooser를 실행할 수 있는 경우를 제한하고, 새
wear-watchface-editor
로 빌드하여 공개 API에서 ComplicationHelperActivity를 삭제합니다. (Ib19c1) - ComplicationText 정적 메서드를 삭제하고 빌더로 대체합니다. (Ibe399)
- 다양한 시계 모드 라이브러리 정지 메서드용으로 Guava ListenableFuture 래퍼를 도입했습니다. (I16b2c)
- API 명확성을 위해
LayerMode.DRAW_OUTLINED
외에 LayerModes와 사용할 수 있도록 색조가 필수가 아닌 보조 생성자를 RenderParameters에 추가했습니다. (I497ea) - 이전에 ListUserStyleSetting은 기본 인수가 있으므로 다른 요소와 달랐습니다. 이제 모든 StyleSetting 서브클래스 생성자가 기본값을 유지합니다. (I9dbfd)
- 숨겨진 메서드를 사용하도록 CanvasComplication이 리팩터링되었으며, 이를 통해 서브클래스를 더 쉽게 구현할 수 있습니다. (I5b321)
- EditorResult를 리팩터링하고 새로운 EditorService 및
EditorSession.broadcastState()
로 대체했으며 이는 관찰자(일반적으로 SysUI)로 업데이트를 스트리밍하기 위함입니다. (Ic4370) - 일부 시계 모드는 특정 정보 표시를 제공자가 사용자 구성 가능한 요소로 지정할 수 없는 필수적인 시계 모드 부분으로 두고 빌드됩니다. 이를 지원하기 위해
Complication.Builder#setFixedComplicationProvider
를 추가했습니다. (I4509e) - 이제 EditorRequest는 ComponentName 대신 패키지 이름을 지정합니다. SysUI가 편집기의 클래스 이름을 찾기가 어려우며 실제로 패키지 이름만 필요하기 때문입니다. (Ib6814)
버전 1.0.0-alpha07
2021년 2월 10일
androidx.wear:wear-*:1.0.0-alpha07
이 출시되었습니다. 버전 1.0.0-alpha07에 포함된 커밋을 확인하세요.
새로운 기능
- 이제 WatchFaceService.createWatchFace는 정지 함수로 IO 대기 중에 시계 모드에서 UI 스레드를 차단하지 않아도 됩니다. wear-watchface-editor와 wear-Complications-data도 마찬가지입니다.
API 변경사항
- PhotoImage 클래스를 삭제하고 아이콘을 바로 사용합니다. (I8a70b)
- ComplicationData의 validTimeRange를 노출합니다. (I91366)
- 이미지 같은 속성을 더 명시적으로 만듭니다. (I81700)
- wear-watchface-editor와 wear-complications-data가 코루틴 대신 정지 함수를 사용하도록 리팩터링되었습니다. Rx 자바 및 향후 호환성 래퍼를 따르기 위함입니다. (If3c5f)
- requestPreviewComplicationData에서 연결 문제 또는 API 지원 부족으로 미리보기 데이터를 반환할 수 없는 경우 ProviderInfoRetriever에서 PreviewNotAvailableException이 발생합니다. (I4964d)
- 이제 WatchFaceControlService::createWatchFaceControlClient는 정지 함수이고 getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient는
Deferred<InteractiveWatchFaceWcsClient>
를 반환하는 getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClientAsync입니다. RX 자바 및 향후 호환성 래퍼를 따르기 위함입니다. (I5d461) CATEGORY_PROVIDER_CONFIG_ACTION
의 이름을CATEGORY_PROVIDER_CONFIG
로 바꿉니다. (I7c068)- 편집기 활동이 시작된 직후에도 시계 모드를 사용할 수 없는 경우가 있으므로 이제 createOnWatchEditingSession은 정지된 함수입니다. (Ida9aa)
- WatchFaceService.createWatchFace는 이제 비동기 초기화를 허용하는 정지 함수로 이전에는 기본 스레드를 차단해야 했습니다. (If076a)
- 이제 UserStyle에 배열 연산자가 포함되며 UserStyle.Option에 변환 도우미를 추가했습니다. (I35036)
- 불안정한 숨겨진 API 일부를 변경하는 UserStyle wireformat의 마샬링 버그를 수정했습니다. (I8be09)
- CustomValueUserStyleSetting을 추가했습니다. 이 메서드를 사용하면 UserStyle에 단일 애플리케이션별 문자열을 저장할 수 있습니다. 기본 시계 모드 편집기는 이 값을 무시합니다. (Ic04d2)
- InstanceID는 업그레이드가 불가한 Android WearOS R 이하 버전의 인텐트 추가 항목으로 전달되지 않습니다. 이를 지원하기 위해 이제 InstanceID에 null을 허용합니다. (Id8b78)
- 이제 EditorRequest에 WatchFaceEditorContract.createIntent의 구성요소로 설정되는 편집기 ComponentName이 포함됩니다. (I3cd06)
- 이제 시계 모드 EditorResult에 미리보기 ComplicationData가 포함됩니다. 이를 사용하면 호출자가 편집 후 시계 모드에서 스크린샷을 찍을 수 있습니다. (I2c561)
버그 수정
- 클래스를 더 잘 활용할 수 있도록 UserStyle, UserStyleSetting, UserStyleSchema에 toString() 재정의를 추가했습니다. (I9f5ec)
버전 1.0.0-alpha06
2021년 1월 27일
androidx.wear:wear-*:1.0.0-alpha06
이 출시되었습니다. 버전 1.0.0-alpha06에 포함된 커밋을 확인하세요.
새로운 기능
- 시계 모드 개발자와 잠재적인 OEM이 스타일 및 정보 표시 편집기를 빌드할 수 있는 새 라이브러리 wear/wear-watchface-editor를 도입했습니다. SysUI는 새 EditorSession 클래스를 사용하여 WatchFace 세부정보에 액세스하고 Activity.setWatchRequestResult를 통해 결과를 기록하는 시계 모드에 인텐트를 전송합니다. 이를 지원하기 위해 시계 모드 편집기에서 미리보기 ComplicationData를 요청할 수 있는 ProviderInfoRetriever.requestPreviewComplicationData를 추가했습니다. 미리보기 ComplicationData의 이점은 실시간 데이터와 달리 편집기를 렌더링할 때 권한 대화상자 표시를 걱정하지 않아도 된다는 것입니다. 사용자가 권한이 있는 제공자를 선택하는 경우에도 권한을 부여하라는 메시지가 계속 표시됩니다.
API 변경사항
- 이제 ComplicationProviderInfo에 제공자의 ComponentName 필드가 있습니다. 이 필드 지원은 나중에 WearOS에 추가될 예정이며 그동안에는 null입니다. (Id8fc4)
- 시계 모드 편집기에서 미리보기 ComplicationData를 요청할 수 있는 ProviderInfoRetriever.requestPreviewComplicationData를 추가했습니다. 이는 실시간 정보 표시에서 권한을 요구할 수 있고 이제 활성 상태가 아닌 정보 표시의 미리보기 데이터를 표시할 수 있으므로 유용합니다. (I2e1df)
- 이제 ComplicationManager가 WatchFace 생성자의 선택적 매개변수이고 인수가 이를 허용하도록 재정렬되었습니다. (I66c76)
- 세트가 제공자 선택기 활동을 실행하기 위해 전송된 인텐트와 병합되는 Complications에 선택적 번들을 추가했습니다. (Ifd4ad)
- 시계 모드 및 SysUi 호스팅 편집기를 지원하는 새
wear-watchface-editor
라이브러리를 추가했습니다. SysUI는 인텐트를 전송하여 이러한 편집기를 실행합니다. 시계 모드 활동 서비스가 새 EditorSession 클래스를 사용하여 WatchFace 세부정보에 액세스하고 Activity.setWatchRequestResult를 통해 결과를 기록할 수 있습니다. (I2110d) - LayerMode.DRAW_HIGHLIGHTED가 이제 LayerMode.DRAW_OUTLINED로, RenderParameters.highlightComplicationId가 RenderParameters.selectedComplicationId로 이름이 바뀌며 윤곽 외에 지정된 정보 표시에 강조표시를 그립니다. (I90a40)
- WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient의 미래는 이제 시계 모드가 만들어지기를 기다리는 동안 서비스가 종료되면 ServiceStartFailureException으로 해결할 수 있습니다. (I0f509)
- EditorSession.complicationPreviewData가 이제 ListenableFuture입니다. 이 데이터 가져오기가 비동기 프로세스이기 때문입니다. (Iead9d)
버그 수정
- 사용 설정된 것과 complicationBounds를 제외하고 ComplicationOverlay에서 사용되지 않는 필드를 삭제합니다. (I17b71)
버전 1.0.0-alpha05
2021년 1월 13일
androidx.wear:wear-*:1.0.0-alpha05
가 출시되었습니다. 버전 1.0.0-alpha05에 포함된 커밋을 확인하세요.
새로운 기능
시계 모드에서는 화면상 정보 표시의 개수를 변경하는 등 다양한 정보 표시 구성을 지원하는 경우가 종종 있습니다. 이러한 설정을 더 쉽게 만들기 위해 이제 Google은 빌더에서 setEnabled(false)를 호출하여 처음에 사용 중지되는 정보 표시를 지원합니다. 나중에 ComplicationsUserStyleSetting을 통해 사용하도록 설정할 수 있습니다.
API 변경사항
- 이제 ComplicationHelperActivity가 int 배열이 아닌
Collection<ComplicationType>
을 허용하므로 사용하기가 더 쉽습니다. (I1f13d) - 이제
ProviderInfoRetriever.retrieveProviderInfo
가ListenableFuture<ProviderInfo[]>
를 올바르게 반환합니다. (If2710) - 이제 빌더에서 setEnabled(false)를 호출하여 처음에 사용 중지되는 정보 표시를 만들 수 있습니다. (Idaa53)
- 이제 WatchFaceState에는 헤드리스 인스턴스의 경우에만 true인 isHeadless 속성이 있습니다. (Ifa900)
- 이제 ComplicationDrawable이 드로어블의 동기 로드를 선택적으로 지원합니다. 스크린샷 API에서 사용합니다. (I34d4a)
버전 1.0.0-alpha04
2020년 12월 16일
androidx.wear:wear-*:1.0.0-alpha04
가 출시되었습니다. 버전 1.0.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- Wear 시계 모드 라이브러리가 이제 유형별 경계 설정을 지원합니다. 예를 들어 ComplicationType.LONG_TEXT의 경우 넓은 경계 상자로 전환하고 다른 유형에는 더 작은 경계 상자를 사용할 수 있습니다.
API 변경사항
- 이제 Complications는
Map<ComplicationType, RectF>
를 래핑하는 ComplicationBounds를 사용하여 정보 표시 유형 크기를 지원합니다. (I1ebe7) - 이제 RenderParameters를 사용하여 스크린샷에서 사용할 강조 색조를 지정할 수 있습니다. (Iff42b)
- 이제 경계를 제외하고는, 정보 표시를 수정하는 데 ComplicationsUserStyleSetting을 사용해야 하며 그 이유는 OS의 동기화 상태를 유지하기 위해서입니다. (I8dc5d)
- 렌더기가 이제 봉인 클래스입니다. 즉, CanvasRenderer와 GlesRenderer는 이제 렌더기의 내부 클래스입니다. (Iab5d4, b/173803230)
- CanvasComplicationDrawable.drawHighlight의 이름을 drawOutline으로 바꿨습니다. 이제 ObservableWatchData에서 몇 가지 UiThread 주석이 없어졌습니다. ScreenState가 이제 WatchState에서 완전히 삭제되었습니다. (If1393)
- wear-watchface의 최소 API 수준은 이제 25입니다. 하드웨어 캔버스가 지원되려면 API 수준 26 이상이 필요합니다. (Ic9bbd)
- 이제 InteractiveWatchFaceWcsClient에 getComplicationIdAt 도우미가 추가되었습니다. (I05811)
- wear-watchface-client의 API 수준은 25로 낮아졌지만 스크린샷 API에는 수준 27이 필요합니다. (Id31c2)
버그 수정
- 이제 정보 표시의 현재 ComplicationData의 ComplicationType을 ComplicationState에 노출합니다. (I9b390)
- 이제 InteractiveWatchFaceWcs에는 지정된 정보 표시의 주요 특징을 간략하게 설명하는 bringAttentionToComplication 메서드가 있습니다. (I6d31c)
InteractiveWatchFaceWcsClient#setUserStyle
에 이제 Map<string, string="">을 허용하는 오버로드가 있으므로 UserStyle을 구성하는 데 필요한 추가 IPC 왕복을 방지할 수 있습니다. (I24eec)</string,>
버전 1.0.0-alpha03
2020년 12월 2일
androidx.wear:wear-*:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
이제 Complication 클래스에 compicationData 속성이 있어서 시계 모드가 ComplicationData 변경을 관찰할 수 있습니다. 이에 따라 정보 표시 유형을 기반으로 정보 표시의 크기를 변경할 수 있습니다.
이제 Renderer.interactiveDrawModeUpdateDelayMillis에 할당하여 가변 프레임 속도를 지원합니다. 덕분에 1초마다 짧은 애니메이션을 실행하는 시계 모드의 경우 애니메이션 미실행 시 절전 모드로 전환함으로써 많은 전력을 절약할 수 있습니다.
API 변경사항
- 관련 클래스와 함께
BACKGROUND_IMAGE
의 이름을PHOTO_IMAGE
로 바꿨습니다. 이 유형의 정보 표시는 백그라운드에만 사용되지는 않으므로 이름을 변경했습니다. (I995c6) - DefaultComplicationProviderPolicy가 IntDefs로 올바르게 주석 처리됩니다. (I3b431)
- 숨겨진 TimeDependentText 클래스가 더 이상 ContentDescriptionLabel을 통해 노출되지 않습니다. 대신, 지정된 시간에 텍스트를 가져오도록 접근자를 추가합니다. (Ica692)
- ObservableWatchData의 생성자가 이제 내부용입니다. (I30121, b/173802666)
- 이제 Complication에 compicationData가 있어서 시계 모드가 ComplicationData 변경을 관찰할 수 있습니다. 또한 Complication에는 지정된 날짜/시간에 무언가를 렌더링해야 하는지 여부를 지정하는 데 사용할 수 있는 새 isActiveAt 호출이 있습니다. (Ic0e2a)
- 공개 API에 더 이상 빈
SharedMemoryImage
가 없습니다. (I7ee17) - 이제
WatchFace.overridePreviewReferenceTimeMillis
에는 IntRange 주석이 있으며 getter와 setter에 일관된 이름이 사용됩니다. (Ia5f78) - 이제 명확성을 위해
Complication.createRoundRectComplicationBuilder
또는Complication.createBackgroundComplicationBuilder
를 통해Complication.Builder
가 생성됩니다. (I54063) - 정보 표시에서 사용되지 않은 탭을 WatchFace가 관찰할 수 있도록 WatchFace.TapListener를 추가했습니다. (Ic2fe1, b/172721168)
- 이제 WatchFace가
Renderer.interactiveDrawModeUpdateDelayMillis
에 할당하여 가변 프레임 속도를 지원합니다. 이렇게 하면 애니메이션 미실행 시 절전 모드로 전환하여 배터리 수명을 유지하는 데 도움이 됩니다. (I707c9) - WatchFace.Builder가 더 이상 필요하지 않으며, invalidate()와 interactiveUpdateRateMillis를 렌더기로 이동했습니다. (I329ea)
- 자바 상호 운용성을 향상하기 위해 WatchState에서 부울 속성용 getter의 이름을 바꿨습니다. (I6d2f1).
- 일관성을 위해 TapListener의 이름을 TapCallback으로, InvalidateCallback의 이름을 InvalidateListener로 바꿨습니다. (I9414e)
- 명확성을 위해 Wear 2.0 시계 모드 스타일 옵션을 자체 클래스로 이동했습니다. 이제 WatchFace.Builder setter에 대칭되는 WatchFace 클래스 getter가 있습니다. (Iefdfc)
- 배경화면 서비스가 연결되고 엔진을 만든 후에 인스턴스를 생성하거나 기존 인스턴스를 가져오는 InteractiveWatchFaceWcsClient 및
WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
를 추가했습니다. (Id666e) - 이제 WatchFaceControlClient는 모의 테스트를 허용하는 인터페이스입니다. (I875d9)
- 이제 HeadlessWatchFaceClient, InteractiveWatchFaceSysUiClientImpl, InteractiveWatchFaceWcsClient는 테스트를 더 원활하게 하는 인터페이스입니다. (I7cdc3)
wear-watchface-complications-rendering
의 메서드에 주석을 추가했습니다. (I0d65c)
버그 수정
android.content.res.Configuration#isScreenRound()
를 복제하던 DeviceConfig에서 화면 모양을 삭제합니다. (Ifadf4)UserStyle
대신Map<String, String>
을 허용하도록WatchFaceControlClient.getOrCreateWallpaperServiceBackedInteractiveWatchFaceWcsClient
를 변경했습니다. 클라이언트가 생성된 후에만 가져올 수 있는 스키마를 모르면UserStyle
을 만들기가 어렵기 때문입니다. (Iea02a)- 와이어 형식 대신
ComplicationState
를 사용하도록InteractiveWatchFaceWcsClient
를 수정합니다. (Icb8a4) - 시계 모드 편집기는 기본 제공 클래스만 이해할 수 있으므로 이제
UserStyleSettings
는 봉인 클래스입니다. (I2d797)
버전 1.0.0-alpha02
2020년 11월 11일
androidx.wear:wear-*:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
ComplicationDetails
는 이제ComplicationState
라고 불리며 적절하게 래핑됩니다. 웨어러블 지원@ComplicationData.ComplicationType
을 androidxComplicationType
으로 이전하여 사용하게 되었습니다. (I4dd36)- 선택적
highlightedComplicationId
매개변수가 RenderParameters에 추가되어 단일 정보 표시가 스크린샷에 강조표시되도록 요청할 수 있습니다. (I66ce9) ComplicationProviderService
에서 일관성을 위해 새로운 스타일의 정보 표시 API를 사용합니다.(Id5aea 참조)getPreviewReferenceTimeMillis
가 이제DeviceConfig
에서 참조 시간을 가져옵니다. (I779fe 참조)- Renderer API 노출 영역을 단순화하여 대신
SurfaceHolder.Callback
을 사용하여 변경사항을 관찰할 수 있습니다. (I210db 참조) CanvasComplicationRenderer
는Renderer
에서 확장되지 않으므로 명확히 하기 위해 이름이 바뀌었습니다. (Ibe880)
버그 수정
androidx.wear:wear-watchface-client
의 첫 번째 버전(I1e35e 참조)- 명확히 하기 위해
GlesTextureComplication#renderer
의 이름을 바꿈(Ib78f7 참조) - 명확히 하기 위해
StyleCategory
의 이름을StyleSetting
으로 바꿈(I488c7 참조) - 더 깔끔한 API를 위해
UserStyleSchema
추가(If36f8 참조)
버전 1.0.0-alpha01
2020년 10월 28일
androidx.wear:wear-complications-*:1.0.0-alpha01
및 androidx.wear:wear-watchface-*:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 공개 API에 노출할 의도가 아니었던 사항을 삭제했습니다. (I41669 참조)
androidx.wear:wear-complications-provider
라이브러리를 만듭니다. (I77f1f 참조)- ComplicationsUserStyleCategory는 정보 표시 구성에 추천되는 새로운 카테고리(I96909 참조)
- wear-complication-data API를 추가합니다. (I7c268 참조)
- 부울 반환 값이 있는 함수에 'get'이 아닌 'is'라는 접두사를 사용함(If36ff 참조)
- 이 클래스가 생성자를 통해 매개변수를 가져오도록 리팩터링되었으므로 보호 대상 API를 사용하지 않는 것이 좋습니다. (I61644 참조)
- 명확히 하기 위해 setBackgroundComplication의 이름을 바꿉니다. (I96fe3 참조)
- ComplicationDrawable isHighlighted 및 데이터에 Kotlin 속성 사용(I4dcc8 참조)
- ComplicationRenderer.InvalidateCallback 대신 Complication#invalidate() 추가(I4f4c6 참조)
- 이러한 API는 WearableSupport에서 지원 중단되어 여기에서 삭제되었습니다. (Ib425c 참조)
- Wear 2.0 기존 특성을 강조하기 위해 일부 WatchFace 빌더 메서드 이름을 바꿨습니다. (Idb775 참조)
- wear/wear-watchface용 첫 번째 베타 API 후보(Id3981 참조)
- 최초의 추적되는 API 버전입니다. (Ie9fe6 참조)
- ComplicationDrawable.BorderStyle IntDef를 적절하게 숨기고 일관성을 위해 ComplicationStyle로 이동합니다. (I27f7a 참조)
- ComplicationStyle 메서드의 누락된 주석 추가(I838fd 참조)
- 이 라이브러리에는 공개 API 노출 영역이 없습니다. (I88e2b 참조)
- 모든 스타일 카테고리 Option 클래스가 이제 적절하게 마무리되었습니다. (Ib8323 참조)
- 최초의 추적되는 API 버전입니다. (I27c85)
버그 수정
- 명시적인 getComplicationPreviewData 메서드를 포함하도록 ComplicationProviderService를 변경했습니다. (I4905f 참조)
- MissingGetterMatchingBuilder의 API 린트 검사가 androidx용으로 사용 설정되었습니다. (I4bbea, b/138602561 참조)
- wear-complications-rendering의 이름을 바꿉니다. (Ifea02 참조)
- 이제 스타일 카테고리 표시 이름이 CharSequences임(I28990 참조)
- 현재 테마 및 스타일 이름 지정 규칙에 맞게 Override를 Overlay로 대체합니다. (I4fde9 참조)
- 명확히 하기 위해 UserStyle#getOptions의 이름을 바꿨습니다. (I695b6)
버전 1.2.0
버전 1.2.0
2021년 9월 15일
androidx.wear:wear:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 중요 변경사항
뷰에 표현될 수 있는 가장 큰 원의 곡선에 따라 구부러진 텍스트가 쉽게 작성되도록 CurvedText 구성요소를 추가했습니다. 사용 예는 다음과 같습니다.
<androidx.wear.widget.CurvedText android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="example curved text" app:anchorAngleDegrees="180" app:anchorPosition="center" app:clockwise="false" style="@android:style/TextAppearance.Large" />
원호에 시계 방향이나 시계 반대 방향으로 하위 요소를 하나씩 배치하는 ArcLayout 컨테이너를 추가했습니다. 하위 요소는
ArcLayout.Widget
인터페이스를 구현하는 표준 Android 위젯 또는 '구부러진' 위젯일 수 있습니다. (I536da) 사용 예는 다음과 같습니다.<androidx.wear.widget.ArcLayout android:layout_width="match_parent" android:layout_height="match_parent" app:anchorPosition="center"> <ImageView android:layout_width="20dp" android:layout_height="20dp" android:src="@drawable/ic_launcher" /> <androidx.wear.widget.CurvedText android:layout_width="match_parent" android:layout_height="match_parent" android:text="Curved Text" style="@android:style/TextAppearance.Small" android:padding="2dp" /> </androidx.wear.widget.WearArcLayout>
새 레이아웃 컨테이너 DismissibleFrameLayout을 추가했습니다. 활동 내에서 사용되고 스와이프하여 닫기 또는 뒤로 버튼으로 닫기를 처리합니다. 닫기 작업을 처리할 리스너를 하나 이상 추가해야 합니다. 리스너는 일반적으로 포함하는 뷰나 프래그먼트를 현재 활동에서 삭제합니다. 기능을 직접 제어할 수 있도록 setSwipeDismissible(boolean) 및 setBackButtonDismissible(boolean)이 제공됩니다. 이 새로운 레이아웃은 기존의 SwipeDismissFrameLayout을 대체하기 위한 것입니다.
AmbientModeSupport 클래스에서 기기 대기 모드가 종료되면 활동이 '자동 재개'될 수 있음을 나타내는 지원을 추가했습니다. 이전에는 WearableSupportLibrary의 지원 중단된 WearableActivity 클래스에서 이 기능을 제공했습니다. (I336ab)
웨어러블 지원 라이브러리에서 WearableCalendarContract 클래스를 이전했습니다. 이 API는 CalendarContract를 통해 사용할 수 있는 데이터의 하위 집합을 제공하지만 웨어러블 기기에 자동으로 동기화됩니다. (I6f2d7)
주어진 Wear 기기가 중국용인지 확인하기 위해
androidx.wear.utils
에 새로운 APIWearTypeHelper
를 추가했습니다. (Ib01a9)androidx.wear.widget.ConfirmationOverlay
에 접근성 기능을 추가하여 메시지를 소리 내 읽은 후 설정된 경우 애니메이션 설명을 제공합니다. (I524dd)메시지가 제공되지 않으면 ConfirmationActivity가 비정상 종료되는 버그를 수정했습니다. (Ie6055)
가로로 스크롤하는 RecyclerView에서
WearableDrawerLayout
이 모든 상호작용을 미리 볼 수 있는 버그를 수정했습니다. (I24c7f)
버전 1.2.0-rc01
2021년 9월 1일
androidx.wear:wear:1.2.0-rc01
이 지난 베타 이후 변경사항 없이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
버전 1.2.0-beta01
2021년 8월 18일
androidx.wear:wear:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
- 메시지가 제공되지 않으면 ConfirmationActivity가 비정상 종료되는 버그를 수정했습니다. (Ie6055)
버전 1.2.0-alpha13
2021년 8월 4일
androidx.wear:wear:1.2.0-alpha13
이 출시되었습니다. 버전 1.2.0-alpha13에 포함된 커밋을 확인하세요.
API 변경사항
WearTypeHelper.isChinaDevice
이름이WearTypeHelper.isChinaBuild
로 변경되었습니다. (I47302)
버그 수정
androidx.wear.widget.ConfirmationOverlay
에 접근성 기능이 추가되어 메시지를 소리내어 읽은 후 설정된 경우 애니메이션 설명을 제공합니다. (I524dd)
버전 1.2.0-alpha12
2021년 7월 21일
androidx.wear:wear:1.2.0-alpha12
가 출시되었습니다. 버전 1.2.0-alpha12에 포함된 커밋을 확인하세요.
API 변경사항
- 지정된 Wear 기기가 중국용인지 확인하기 위해
androidx.wear.utils
에 새 APIWearTypeHelper
가 추가되었습니다. (Ib01a9)
버전 1.2.0-alpha11
2021년 6월 30일
androidx.wear:wear:1.2.0-alpha11
이 출시되었습니다. 버전 1.2.0-alpha11에 포함된 커밋을 확인하세요.
버그 수정
- 가로로 스크롤하는 RecyclerView에서
WearableDrawerLayout
이 모든 상호작용을 미리 볼 수 있는 버그를 수정했습니다. (I24c7f)
버전 1.2.0-alpha10
2021년 6월 2일
androidx.wear:wear:1.2.0-alpha10
이 출시되었습니다. 버전 1.2.0-alpha10에 포함된 커밋을 확인하세요.
새로운 기능
- Alpha10은 Curved Text 및 ArcLayouts의 접근성 지원을 개선합니다. API를 명확하게 하기 위해 DismissibleFrameLayout에 몇 가지 이름 변경도 추가합니다.
API 변경사항
DismissibleFrameLayout
에서 다음 메소드의 이름을 변경했습니다. (Ib195e)Callback#onDismissed
->Callback#onDismissedFinished
isSwipeDismissible
->isDismissableBySwipe
isBackButtonDismissible
->isDismissableByBackButton
- 다음 메서드를 최종적으로 만들었습니다. (Ib195e)
setBackButtonDismissible
setSwipeDismissible
registerCallback
unregisterCallback
버그 수정
버전 1.2.0-alpha09
2021년 5월 18일
androidx.wear:wear:1.2.0-alpha09
가 출시되었습니다. 버전 1.2.0-alpha09에 포함된 커밋을 확인하세요.
API 변경사항
- 텍스트 글꼴과 굵은/기울임꼴 스타일을 설정하는 새 함수
CurvedTextView.setTypeface()
(TextView
와 유사)를 추가했습니다. (I4653c) WearArcLayout
을ArcLayout
으로,WearCurvedText
를CurvedText
로,WearArcLayout.ArcLayoutWidget
을ArcLayout.Widget
으로 이름을 바꿨습니다. (I6e5ce)ArcLayout.Widget
에서getThicknessPx
를getThickness
로 이름을 바꿨습니다.- 이제
ArcLayout.LayoutParams
의 세로 정렬 상수가 이전의VALIGN_
이 아닌VERTICAL_ALIGN_
으로 이름이 시작됩니다.
CurvedTextView
에서setMinSweepDegrees
및setMaxSweepDegrees
메서드를setSweepRangeDegrees
로 대체했습니다. (I7a9d9)
버전 1.2.0-alpha08
2021년 5월 5일
androidx.wear:wear:1.2.0-alpha08
아 출시되었습니다. 버전 1.2.0-alpha08에 포함된 커밋을 확인하세요.
API 변경사항
- 코드 명확성을 향상하기 위해 일부 각도 매개변수와 반환 유형에
@FloatRange
주석을 추가했습니다. (I430dd) - 이제
WearArcLayout.ArcLayoutWidget
인터페이스에서insideClickArea
메서드는 isPointInsideClickArea라고 합니다. (Ia7307)
버전 1.2.0-alpha07
2021년 3월 24일
androidx.wear:wear:1.2.0-alpha07
이 출시되었습니다. 버전 1.2.0-alpha07에 포함된 커밋을 확인하세요.
버그 수정
- 높이가 너비보다 큰 화면 크기를 사용하면 WearArcLayout 내부의 비 곡선 하위 요소에 발생하던 오류가 수정되었습니다. 그러한 비 곡선 하위 요소는 이제 모든 화면 유형의 원호 안에 적절하게 배치됩니다.
버전 1.2.0-alpha06
2021년 1월 27일
androidx.wear:wear:1.2.0-alpha06
이 출시되었습니다. 버전 1.2.0-alpha06에 포함된 커밋을 확인하세요.
API 변경사항
- Ongoing Activities 라이브러리를 새 하위 라이브러리 wear-ongoing으로 이전합니다. 이제 클래스가 androidx.wear.ongoing 패키지(이전에는 androidx.wear.ongoingactivities)에 있습니다. (I7c029)
- WearableCalendarContract 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전합니다. 이 API는 CalendarContract를 통해 사용할 수 있는 데이터의 하위 집합을 제공하지만 웨어러블 기기에 자동으로 동기화됩니다. (I6f2d7)
버그 수정
- Dismissible FrameLayout에서 기본적으로 뒤로 버튼 닫기 기능을 사용 중지합니다. 스와이프하여 닫기가 Wearable 기기에서 전체 화면으로 돌아가는 주요 방법으로 유지되기 때문입니다. (Ic24e3)
- WearArcLayout에서 하위 가시성을 처리하는 몇 가지 문제를 수정했습니다. (Icf912).
버전 1.2.0-alpha05
2021년 1월 13일
androidx.wear:wear:1.2.0-alpha05
가 출시되었습니다. 버전 1.2.0-alpha05에 포함된 커밋을 확인하세요.
버그 수정
- 이 클래스의 일반적인 사용법을 더 효과적으로 보여주기 위해 샘플 스니펫을 제공하도록 AmbientModeSupport 클래스의 javadoc를 업데이트합니다.
버전 1.2.0-alpha04
2020년 12월 16일
androidx.wear:wear:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
API 변경사항
- AmbientModeSupport 클래스에서 기기 대기 모드가 종료되면 활동이 '자동 재개'될 수 있음을 나타내는 지원을 추가했습니다. 이전에는 WearableSupportLibrary의 지원 중단된 WearableActivity 클래스에서 이 기능을 제공했습니다. (I336ab)
- OngoingActivity
- 이제 OngoingActivity를 생성할 때 카테고리를 설정할 수 있습니다(예:
OngoingActivitiy.Builder.getCategory(String)
). - OngoingActivityData에는 이제 OngoingActivity의 빌드 시점을 나타내는 타임스탬프가 있습니다(
OngoingActivityData.getTimestamp()
). - (I91cb4)
- 이제 OngoingActivity를 생성할 때 카테고리를 설정할 수 있습니다(예:
- MarginLayoutParams를 확장하도록 레이아웃 매개변수를 변경하여 WearArcLayout의 하위 요소에 여백을 설정하는 지원을 추가했습니다. 즉, WearArcLayout.LayoutParams는 android.view.ViewGroup.MarginLayoutParams를 확장합니다. (I2cd88)
- WearCurvedTextView의 앵커 유형 기본값을
WearArcLayout.ANCHOR_CENTER
로 변경합니다(이전에는WearArcLayout.ANCHOR_START
). 이렇게 하면 원호 레이아웃과 구부러진 텍스트 사이의 수축이 간단해집니다. 즉, 구부러진 텍스트가 기본적으로 x축을 중심으로 그려지고 상위 원호 레이아웃은 이 텍스트를 필요한 위치로 회전시킬 수 있습니다. (I105ff)
버전 1.2.0-alpha03
2020년 12월 2일
androidx.wear:wear:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
새 레이아웃 컨테이너인 DismissibleFrameLayout은 활동 내에서 사용되고 스와이프하여 닫기 또는 뒤로 버튼으로 닫기를 처리합니다. 닫기 작업을 처리할 리스너를 하나 이상 추가해야 합니다. 리스너는 일반적으로 포함하는 뷰나 프래그먼트를 현재 활동에서 삭제합니다. 기능을 직접 제어할 수 있도록 setSwipeDismissible(boolean) 및 setBackButtonDismissible(boolean)이 제공됩니다. 이 새로운 레이아웃은 기존의 SwipeDismissFrameLayout을 대체하기 위한 것입니다.
구부러진 위젯이 이제 터치 이벤트를 처리합니다. WearArcLayout 내부의 일반 위젯은 좌표 공간에 매핑된 모든 터치 이벤트를 수신합니다. WearCurvedTextView(WearArcLayout의 내부 여부에 상관없음)는 onClick 핸들러와 onLongClick 핸들러를 설정할 수 있습니다.
진행 중인 활동 클래스는 이제 맞춤 직렬화/역직렬화를 사용하지 않고 VersionedParcelable입니다. 이제 정적 아이콘과 터치 인텐트가 필요합니다.
API 변경사항
- WearCurvedTextView의 'sweepDegrees' 속성이 minSweepDegrees와 maxSweepDegrees로 구분되어 이 위젯의 레이아웃을 더 유연하게 제공합니다.
버전 1.2.0-alpha02
2020년 11월 11일
androidx.wear:wear:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
이 릴리스에서는 새로운 'Ongoing Activities API'를 처음 추가했습니다. 개발자는 이 API를 사용하여 피트니스 운동이나 미디어 재생 세션과 같은 장시간 활동이 진행 중임을 알릴 수 있습니다. 이 API를 통해 개발자는 시계 모드 또는 앱 런처에 표시되도록 '달린 거리 및 시간' 또는 '재생 중인 현재 트랙' 같은 주기적인 상태 업데이트를 제공할 수 있습니다. 이 기능은 진행 중인 활동 기능이 사용 설정되는 미래 기기를 타겟팅합니다.
API 변경사항
- 진행 중인 활동을 위한 새로운 API는 '지원되지 않는 기기'에서 노옵스(no-ops)입니다. (I69a31)
버전 1.2.0-alpha01
2020년 10월 28일
androidx.wear:wear:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- 뷰에 표현될 수 있는 가장 큰 원의 곡선에 따라 구부러진 텍스트가 쉽게 작성되도록 WearCurvedTextView 구성요소를 추가했습니다. 사용 예는 다음과 같습니다.
<androidx.wear.widget.WearCurvedTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="example curved text"
app:anchorAngleDegrees="180"
app:anchorPosition="center"
app:clockwise="false"
style="@android:style/TextAppearance.Large"
/>
- 원호에 시계 방향이나 시계 반대 방향으로 하위 요소를 하나씩 배치하는 WearArcLayout 컨테이너를 추가했습니다. 하위 요소는 ArcLayoutWidget 인터페이스를 구현하는 표준 Android 위젯 또는 '구부러진' 위젯일 수 있습니다. 사용 예는 다음과 같습니다.
<androidx.wear.widget.WearArcLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:anchorPosition="center">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/ic_launcher"
/>
<androidx.wear.widget.WearCurvedTextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Curved Text"
style="@android:style/TextAppearance.Small"
android:padding="2dp"
/>
</androidx.wear.widget.WearArcLayout>
(I536da)
Wear-Input 1.2
버전 1.2.0-alpha02
2021년 9월 29일
androidx.wear:wear-input:1.2.0-alpha02
및 androidx.wear:wear-input-testing:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 그림 이모티콘 그리기 옵션을 표시할지 여부를 설정하는 데 사용할 수 있도록
WearableRemoteInputExtender
의 이름이disallowEmoji
에서setEmojisAllowed
로 변경되었습니다. (I28393)
버전 1.2.0-alpha01
2021년 9월 15일
androidx.wear:wear-input:1.2.0-alpha01
및 androidx.wear:wear-input-testing:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
WearableButtons
에서 모든 버튼 위치 상수를 노출했습니다. (Ibb12c)- android.app.RemoteInput에 Wear 관련 extras를 추가하는 데 사용할 수 있는
WearableRemoteInputExtender
클래스를 추가했습니다. (I01903)
Wear-Input 1.1.0
버전 1.1.0
2021년 8월 18일
androidx.wear:wear-input:1.1.0
및 androidx.wear:wear-input-testing:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
RemoteInputIntentHelper
를 추가했습니다.- 이 클래스를 사용하여 RemoteInput Intent를 빌드할 수 있습니다. 그런 다음 맞춤설정 가능한 활동에서 사용자에게 입력을 요청하는 데 RemoteInput Intent를 사용할 수 있습니다.
버전 1.1.0-rc01
2021년 8월 4일
androidx.wear:wear-input:1.1.0-rc01
및 androidx.wear:wear-input-testing:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
androidx.wear:wear-input:1.1.0-beta01
및 androidx.wear:wear-input-testing:1.1.0-beta01
이후 API가 변경되지 않았습니다.
버전 1.1.0-beta01
2021년 7월 21일
androidx.wear:wear-input:1.1.0-beta01
및 androidx.wear:wear-input-testing:1.1.0-beta01
버전은 1.1.0-alpha03
이후 변경사항 없이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha03
2021년 6월 30일
androidx.wear:wear-input:1.1.0-alpha03
및 androidx.wear:wear-input-testing:1.1.0-alpha03
이 출시되었습니다. 버전 1.1.0-alpha03에 포함된 커밋을 확인하세요.
버그 수정
RemoteInputHelper.putRemoteInputsExtra
를 통해 인텐트에 추가된RemoteInput
이 있는 RemoteInput 인텐트가 거부되는 버그를 수정했습니다.
버전 1.1.0-alpha02
2021년 5월 18일
androidx.wear:wear-input:1.1.0-alpha02
및 androidx.wear:wear-input-testing:1.1.0-alpha02
가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
- 제목, 취소, 확인, 진행 중 라벨을 나타내는 extras를 가져오거나 배치하는 데 사용되는
RemoteInputIntentHelper
의 메서드가 이제 이러한 라벨에String
대신CharSequence
를 사용합니다. (I0e71f)
버전 1.1.0-alpha01
2021년 1월 27일
androidx.wear:wear-input:1.1.0-alpha01
및 androidx.wear:wear-input-testing:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- RemoteInputIntent 클래스를 Wearable 지원 라이브러리에서 AndroidX로 이전합니다. 이전된 클래스는 RemoteInputIntentHelper로 이름이 바뀌고 인텐트 시작을 통해 원격 입력을 지원하는 도우미 함수를 제공합니다. (I47cee)
Wear-Input 1.0.0
버전 1.0.0
2020년 12월 2일
androidx.wear:wear-input:1.0.0
및 androidx.wear:wear-input-testing:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
이 버전은 1.0.0-rc01
버전과 동일합니다.
1.0.0의 주요 기능
WearableButtons 기능을 웨어러블 지원 라이브러리에서 Jetpack으로 이전합니다.
androidx.wear:wear-input
라이브러리로 개발된 애플리케이션의 테스트를 지원하는androidx.wear.input.WearableButtonsProvider
를 구현하는androidx.wear.input.test.TestWearableButtonsProvider
를 추가했습니다.
버전 1.0.0-rc01
2020년 11월 11일
androidx.wear:wear-input:1.0.0-rc01
및 androidx.wear:wear-input-testing:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
이 버전은 1.0.0-beta01
버전과 동일합니다.
버전 1.0.0-beta01
2020년 10월 28일
androidx.wear:wear-input:1.0.0-beta01
및 androidx.wear:wear-input-testing:1.0.0-beta01
버전은 1.1.0-alpha01
이후 변경사항 없이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
Wear-Input-Testing 버전 1.0.0-alpha01
2020년 10월 14일
androidx.wear:wear-input-testing:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
androidx.wear:wear-input
라이브러리로 개발된 애플리케이션의 테스트를 지원하는androidx.wear.input.WearableButtonsProvider
를 구현하는androidx.wear.input.test.TestWearableButtonsProvider
를 추가했습니다. (I0ed0c)
Wear-Input 버전 1.0.0-alpha01
2020년 9월 2일
androidx.wear:wear-input:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
WearableButtons 기능을 웨어러블 지원 라이브러리에서 Jetpack으로 이전합니다. 추가 테스트 지원은 다음 Jetpack 출시의 androidx.wear:wear-input-testing
라이브러리에서 제공됩니다.
버전 1.1.0
버전 1.1.0
2020년 10월 14일
androidx.wear:wear:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 주요 변경사항
- Android 이름 지정 규칙을 준수하기 위해
BoxInsetLayout
의 boxedEdges 속성(현재layout_BoxedEdges
)에layout_
접두사가 추가되었습니다. 이렇게 하면 Android 스튜디오에서 이 속성의 린터 오류가 삭제됩니다. (I4272f 참조) - 확인 대화상자가 표시되는 기간을 허용하도록 선택사항인
EXTRA_ANIMATION_DURATION_MILLIS
가ConfirmationActivity
에 추가되었습니다. (adb83ce, b/143356547) - 창이 처음 열릴 때까지 작업 창 확장을 지연하는
WearableActionDrawView
가 업데이트되었습니다. (I01026, b/163870541)
버전 1.1.0-rc03
2020년 9월 2일
androidx.wear:wear:1.1.0-rc03
이 출시되었습니다. 버전 1.1.0-rc03에 포함된 커밋을 확인하세요.
버그 수정
- 작업 창이 열릴 때 내용이 표시되지 않는 문제가 해결되었습니다. (I01026, b/163870541)
버전 1.1.0-rc02
2020년 6월 24일
androidx.wear:wear:1.1.0-rc02
가 출시되었습니다. 버전 1.1.0-rc02에 포함된 커밋을 확인하세요.
버그 수정
- Android 이름 지정 규칙을 준수하기 위해
BoxInsetLayout
의 boxedEdges 속성(현재layout_boxedEdges
)에layout_
접두사가 추가되었습니다. 이렇게 하면 Android 스튜디오에서 이 속성의 린터 오류가 삭제됩니다.
버전 1.1.0-rc01
2020년 5월 14일
androidx.wear:wear:1.1.0-rc01
이 .1.0-beta01
이후 변경사항 없이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
버전 1.1.0-beta01
2020년 4월 29일
androidx.wear:wear:1.1.0-beta01
이 androidx.wear:wear:1.1.0-alpha01
이후 변경사항 없이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
버전 1.1.0-alpha01
2020년 4월 15일
androidx.wear:wear:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
API 변경사항
- 확인 대화상자가 표시되는 기간을 허용하도록 선택사항인
EXTRA_ANIMATION_DURATION_MILLIS
가ConfirmationActivity
에 추가되었습니다. (adb83ce, 134523c, b/143356547)
버그 수정
- 창이 처음 열릴 때까지 작업 창 확장을 지연하는
WearableActionDrawView
가 업데이트되었습니다. (5cd32f7)