feat: Add support for tvOS and Android TV#31
Merged
Conversation
BREAKING CHANGE: Add TV support
Contributor
There was a problem hiding this comment.
Pull request overview
Adds tvOS and Android TV support to the library, alongside a breaking rename of the x-light blur type to extra-light, introduction of a new extra-dark type, and a substantial upgrade of the example app's React Native (0.85.3), tooling, and build configuration.
Changes:
- Add tvOS support via
TARGET_OS_TVconditional compilation in the iOS sources, gatingVibrancyViewfeatures unavailable on tvOS, and addtvos => "12.0"to the podspec; mirror new blur types on Android. - Rename
x-light→extra-lightand add a newextra-darkblur type across TypeScript types, iOS (BlurUtils.mm), Android (BlurOverlayColor.kt), and the example app constants/screens. - Upgrade example app to RN 0.85.3 (new Pods graph including
React-Core-prebuilt/ReactNativeDependencies), bump Node engine to 22.x, simplifyMainApplication.ktusingloadReactNative, update Gradle to 9.3.1, AGP/SDK 36, and reworkCONTRIBUTING.md/scripts (yarn setup).
Reviewed changes
Copilot reviewed 31 out of 38 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Rewrites migration section for 3.x; documents new types, tvOS support, and platform fallbacks (has several grammar/correctness issues). |
| BlurView.podspec | Adds tvOS 12.0 platform. |
| ios/BlurUtils.{h,mm} | Renames x-light; adds extra-dark with TARGET_OS_TV branch; guards vibrancyEffectStyle on tvOS. |
| ios/BlurView.mm, ios/VibrancyView.mm, ios/VibrancyViewManager.mm | Adds RCTViewComponentView.h import and minor whitespace. |
| src/@types/BlurType.ts, src/BlurView.tsx | Renames type and includes extra-dark in primary-type check. |
| android/src/main/java/com/blurview/BlurOverlayColor.kt | Renames X_LIGHT→EXTRA_LIGHT, adds EXTRA_DARK color. |
| example/src/* | Updates blur type list/labels and replaces useBlur with useColorScheme in App.tsx. |
| example/package.json, example/jest.config.js | Renames package, bumps RN ecosystem deps to 0.85.x, requires Node ≥22.11. |
| example/ios/* (Podfile, Podfile.lock, Info.plist, project.pbxproj) | RN 0.85.3 Pod regeneration, new-arch flags, frame duration key, orientation split. |
| example/android/* (gradle, gradlew(.bat), build.gradle, MainApplication.kt, AndroidManifest.xml) | Gradle 9.3.1, SDK/Kotlin bumps, switch to loadReactNative, remove debug manifest. |
| example/Gemfile(.lock) | Adds nkf dependency and bumps gems. |
| tsconfig.json | Adds path mappings for react-native. |
| package.json | Removes example/setup:example scripts in favor of setup. |
| CONTRIBUTING.md | Rewrites contributor workflow around yarn setup and cd example && yarn .... |
| .nvmrc, .gitignore | Node 22, broaden Pods/vendor ignores. |
Comments suppressed due to low confidence (1)
README.md:427
- This sentence is grammatically incomplete: "On tvOS, the blur types
extra-light,light,dark,extra-dark,regular, andprominent." is missing a verb (e.g., "are supported"). Consider rephrasing to something like: "On tvOS, the supported blur types areextra-light,light,dark,extra-dark,regular, andprominent. For the other types, although they are available, thelightblur type is used as a fallback."
On tvOS, the blur types `extra-light`, `light`, `dark`, `extra-dark`, `regular`, and `prominent`. As for the other types, although they are available, we use `light` blur type as a **fallback**.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…Phones devices Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Added support for tvOS and Android TV (#30).
React Native Side
Android
extra-darktype forBlurView.x-lighttoextra-light.iOS
BlurViewandVibrancyViewcomponents.extra-darktype forBlurViewandVibrancyView.x-lighttoextra-light.References
--