11import AsyncStorage from '@react-native-async-storage/async-storage' ;
22import { useNavigation } from '@react-navigation/native' ;
33import { useAtom , useAtomValue } from 'jotai' ;
4- import React , { useCallback , useEffect , useMemo , useState } from 'react' ;
4+ import React , { useCallback , useMemo , useState } from 'react' ;
55import {
66 Alert ,
77 type GestureResponderEvent ,
8- Platform ,
98 Pressable ,
109 StyleSheet ,
1110 View ,
@@ -23,7 +22,6 @@ import Typography from '~/components/Typography';
2322import speechState from '~/store/atoms/speech' ;
2423import { isLEDThemeAtom } from '~/store/atoms/theme' ;
2524import { translate } from '~/translation' ;
26- import { isDevApp } from '~/utils/isDevApp' ;
2725import { ASYNC_STORAGE_KEYS } from '../constants' ;
2826
2927type SettingItem = {
@@ -114,18 +112,6 @@ const TTSSettingsScreen: React.FC = () => {
114112
115113 const navigation = useNavigation ( ) ;
116114
117- // Android 16 (API 36) ではバックグラウンド音声再生が制限されるため無効化
118- const isAndroid16OrHigher =
119- ! isDevApp && Platform . OS === 'android' && Number ( Platform . Version ) >= 36 ;
120-
121- // Android 16以上ではバックグラウンド再生を強制的にfalseにする
122- useEffect ( ( ) => {
123- if ( isAndroid16OrHigher && backgroundEnabled ) {
124- setSpeechState ( ( prev ) => ( { ...prev , backgroundEnabled : false } ) ) ;
125- AsyncStorage . setItem ( ASYNC_STORAGE_KEYS . BG_TTS_ENABLED , 'false' ) ;
126- }
127- } , [ isAndroid16OrHigher , backgroundEnabled , setSpeechState ] ) ;
128-
129115 const SETTING_ITEMS : SettingItem [ ] = [
130116 {
131117 id : 'enable_tts' ,
@@ -335,16 +321,8 @@ const TTSSettingsScreen: React.FC = () => {
335321 isFirst = { index === 0 }
336322 isLast = { index === SETTING_ITEMS . length - 1 }
337323 onToggle = { onToggle }
338- state = {
339- item . id === 'enable_bg_tts' &&
340- ( ! speechEnabled || isAndroid16OrHigher )
341- ? false
342- : state
343- }
344- disabled = {
345- item . id === 'enable_bg_tts' &&
346- ( ! speechEnabled || isAndroid16OrHigher )
347- }
324+ state = { item . id === 'enable_bg_tts' && ! speechEnabled ? false : state }
325+ disabled = { item . id === 'enable_bg_tts' && ! speechEnabled }
348326 />
349327 ) ;
350328 } ,
@@ -353,7 +331,6 @@ const TTSSettingsScreen: React.FC = () => {
353331 handleToggleBgTTS ,
354332 speechEnabled ,
355333 backgroundEnabled ,
356- isAndroid16OrHigher ,
357334 SETTING_ITEMS . length ,
358335 ]
359336 ) ;
@@ -379,17 +356,6 @@ const TTSSettingsScreen: React.FC = () => {
379356 onScroll = { handleScroll }
380357 ListFooterComponent = { ( ) => (
381358 < >
382- { isAndroid16OrHigher ? (
383- < Typography
384- style = { {
385- marginTop : 12 ,
386- fontSize : 14 ,
387- color : isLEDTheme ? '#ccc' : '#666' ,
388- } }
389- >
390- { translate ( 'bgTtsUnavailableOnAndroid16' ) }
391- </ Typography >
392- ) : null }
393359 < View style = { { marginTop : 16 } } >
394360 { TTS_LANGUAGE_ITEMS . map ( ( item , index ) => {
395361 const state = ttsEnabledLanguages . includes ( item . id ) ;
0 commit comments