diff --git a/mobile/android/app/src/main/AndroidManifest.xml b/mobile/android/app/src/main/AndroidManifest.xml index f289b99..d242d61 100644 --- a/mobile/android/app/src/main/AndroidManifest.xml +++ b/mobile/android/app/src/main/AndroidManifest.xml @@ -7,6 +7,16 @@ + + + + + @@ -14,7 +24,7 @@ - + - + @@ -51,5 +61,14 @@ + + + + + + + \ No newline at end of file diff --git a/mobile/android/app/src/main/java/com/goon/mobile/MainActivity.kt b/mobile/android/app/src/main/java/com/goon/mobile/MainActivity.kt index b27e53a..1585701 100644 --- a/mobile/android/app/src/main/java/com/goon/mobile/MainActivity.kt +++ b/mobile/android/app/src/main/java/com/goon/mobile/MainActivity.kt @@ -13,7 +13,8 @@ import com.reactnative.googlecast.api.RNGCCastContext import expo.modules.ReactActivityDelegateWrapper -class MainActivity : ReactActivity() { +// open, bo dziedziczy z niej TvMainActivity (to samo, tylko bez blokady pionu). +open class MainActivity : ReactActivity() { override fun onCreate(savedInstanceState: Bundle?) { // Set the theme to AppTheme BEFORE onCreate to support // coloring the background, status bar, and navigation bar. diff --git a/mobile/android/app/src/main/java/com/goon/mobile/TvMainActivity.kt b/mobile/android/app/src/main/java/com/goon/mobile/TvMainActivity.kt new file mode 100644 index 0000000..6b37da3 --- /dev/null +++ b/mobile/android/app/src/main/java/com/goon/mobile/TvMainActivity.kt @@ -0,0 +1,19 @@ +package com.goon.mobile + +/** + * Wejscie dla Android TV. Ta sama aktywnosc co na telefonie, rozni sie WYLACZNIE wpisem + * w manifescie: telefon ma blokade pionu, telewizor jej nie ma, bo ekran telewizora jest + * na stale poziomy i pionowa aplikacja wychodzi tam waskim paskiem na srodku. + * + * Dlaczego osobna klasa, a nie jedna aktywnosc: + * - `setRequestedOrientation` w `onCreate` to zmiana konfiguracji, wiec system + * relaunchuje aktywnosc tuz po starcie i na TV zostawal bialy ekran (widok Reacta nie + * wracal; emulator android-34 android-tv, 2026-09-17), + * - orientacja z zasobu (`values-television`) nie przechodzi, bo manifest czyta zasoby + * bez kontekstu konfiguracji (lint ManifestResource), + * - `activity-alias` nie pozwala nadpisac `screenOrientation`. + * + * Telewizorowy launcher pyta o `LEANBACK_LAUNCHER`, wiec na telefonie ta klasa jest + * niewidoczna, a na TV widoczna jest tylko ona. + */ +class TvMainActivity : MainActivity() diff --git a/mobile/android/app/src/main/res/drawable/tv_banner.png b/mobile/android/app/src/main/res/drawable/tv_banner.png new file mode 100644 index 0000000..334fb9d Binary files /dev/null and b/mobile/android/app/src/main/res/drawable/tv_banner.png differ