Rocket.Chat.ReactNative/app/containers/message/Audio.tsx

147 lines
3.7 KiB
TypeScript
Raw Normal View History

feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
import React, { useContext, useEffect, useState } from 'react';
import { StyleProp, TextStyle } from 'react-native';
import Markdown from '../markdown';
import MessageContext from './Context';
import { TGetCustomEmoji } from '../../definitions/IEmoji';
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
import { IAttachment, IUserMessage } from '../../definitions';
import {
TDownloadState,
downloadMediaFile,
getMediaCache,
isDownloadActive,
resumeMediaFile
} from '../../lib/methods/handleMediaDownload';
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
import { fetchAutoDownloadEnabled } from '../../lib/methods/autoDownloadPreference';
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
import AudioPlayer from '../AudioPlayer';
import { useAppSelector } from '../../lib/hooks';
interface IMessageAudioProps {
2022-03-21 20:44:06 +00:00
file: IAttachment;
isReply?: boolean;
style?: StyleProp<TextStyle>[];
getCustomEmoji: TGetCustomEmoji;
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
author?: IUserMessage;
msg?: string;
cdnPrefix?: string;
}
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
const MessageAudio = ({ file, getCustomEmoji, author, isReply, style, msg }: IMessageAudioProps) => {
const [downloadState, setDownloadState] = useState<TDownloadState>('loading');
const [fileUri, setFileUri] = useState('');
const { baseUrl, user, id, rid } = useContext(MessageContext);
const { cdnPrefix } = useAppSelector(state => ({
cdnPrefix: state.settings.CDN_PREFIX as string
}));
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
const getUrl = () => {
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
let url = file.audio_url;
if (url && !url.startsWith('http')) {
url = `${cdnPrefix || baseUrl}${file.audio_url}`;
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
}
return url;
};
const onPlayButtonPress = async () => {
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
if (downloadState === 'to-download') {
const isAudioCached = await handleGetMediaCache();
if (isAudioCached) {
return;
}
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
handleDownload();
}
};
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
const handleDownload = async () => {
setDownloadState('loading');
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
try {
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
const url = getUrl();
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
if (url) {
const audio = await downloadMediaFile({
downloadUrl: `${url}?rc_uid=${user.id}&rc_token=${user.token}`,
type: 'audio',
mimeType: file.audio_type
});
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
setFileUri(audio);
setDownloadState('downloaded');
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
}
} catch {
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
setDownloadState('to-download');
feat: add media auto-download (#5076) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * fix blur is hiding the file description * avoid download unsupported video * return void when it is loading the audio
2023-08-07 14:02:30 +00:00
}
};
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
const handleAutoDownload = async () => {
const url = getUrl();
try {
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
if (url) {
const isCurrentUserAuthor = author?._id === user.id;
const isAutoDownloadEnabled = fetchAutoDownloadEnabled('audioPreferenceDownload');
if (isAutoDownloadEnabled || isCurrentUserAuthor) {
await handleDownload();
return;
}
setDownloadState('to-download');
}
} catch {
// Do nothing
}
};
const handleGetMediaCache = async () => {
const cachedAudioResult = await getMediaCache({
type: 'audio',
mimeType: file.audio_type,
urlToCache: getUrl()
});
if (cachedAudioResult?.exists) {
setFileUri(cachedAudioResult.uri);
setDownloadState('downloaded');
}
return !!cachedAudioResult?.exists;
};
const handleResumeDownload = async () => {
try {
setDownloadState('loading');
const url = getUrl();
if (url) {
const videoUri = await resumeMediaFile({
downloadUrl: url
});
setFileUri(videoUri);
setDownloadState('downloaded');
}
} catch (e) {
setDownloadState('to-download');
}
};
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
useEffect(() => {
const handleCache = async () => {
const isAudioCached = await handleGetMediaCache();
if (isAudioCached) {
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
return;
}
const audioUrl = getUrl();
if (audioUrl && isDownloadActive(audioUrl)) {
handleResumeDownload();
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
return;
}
await handleAutoDownload();
};
handleCache();
}, []);
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
if (!baseUrl) {
return null;
}
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
return (
<>
<Markdown msg={msg} style={[isReply && style]} username={user.username} getCustomEmoji={getCustomEmoji} />
<AudioPlayer msgId={id} fileUri={fileUri} downloadState={downloadState} onPlayButtonPress={onPlayButtonPress} rid={rid} />
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
</>
);
};
feat: new audio player (#5160) * feat: media auto-download view * media auto download view completed and saving the settings in mmkv * audio download preference * audio auto download when the user who sent the audio is the same logged on mobile * creation of isAutoDownloadEnabled, evaluate hist hook, Image Full Size preload done * minor tweak audio show play button after download * refactor audioFile to handleMediaDownload and fixed the audio download * desestructured params to download too * image download and autoDownload, algo fix the formatAttachmentUrl to show the image from local * add the possibility to cancel image download and clear local images * refactor blur component * video download and auto download, also keeped the behavior to download unsuportted videos to the gallery * add the possibility to start downloading a video, then exit the room, back again to room and cancel the video previously downloading * remove the custom hook for autoDownload * remove blurcomponent, fix the blur style in image.tsx, minor tweak video function name * send messageId to video * introducing the reducer to keep the downloads in progress * create a media download selector * remove all the redux stuff and do the same as file upload * video download behavior * done for image and audio * fix the try catch download media * clean up * image container uiKit * fix lint * change rn-fetch-blob to expo-filesystem * add pt-br * pass the correct message id when there is an attachment on reply * refactor some changes requested * fix audio and move the netInfo from autoDownloadPreference to redux * variable isAutoDownloadEnable name and handleMediaDownload getExtension * message/Image refactored, change the component to show the image from FastImage to Image * refactor handleMediaDownload and deleteMedia * minor tweak * refactor audio * refactor video * fix the type on the messagesView(the view of files) * minor tweak * fix the name of searchMediaFIleAsync's result * minor tweak, add the default behavior, add the OFF as label * minor tweaks * verify if the media auto download exists on settings view * fix media auto download view layout and minor tweak wifi * avoid auto download from reply * minor tweak at comment * tweak list.section * change the name to netInfoState and Local_document_directory * remove mediaType and refactor audio and image * separate blurview * thumbnail video and video behavior * add Audio to i18n and minor tweak * set the blur as always dark and add the possibility to overlay * don't need to controle the filepath in the view * fix the loading in image and video at begin * save the file with a similar filename as expected * removed the necessity of messageId or id * minor tweak * switch useLayoutEffect to useEffect * avoid onpress do some edge case because of cached at video * minor tweak * tweak at audio comment extension * minor tweak type userpreferences * remove test id from mediaAutoDownloadView * change action's name to SET_NET_INFO_STATE * caching and deleting video's thumbnails * remove generate thumbnail * minor tweak in image * update camera-roll and save the file from local url * remove local_cache_directory and deleteThumbnail * update blur to fix error on android * first commit * fix togglePlayPause * separate audio to a folder inside components and minor tweak attachment * created the slider with text * play/pause button, currentTime equal the sound, can change the slider and reflect to the sound * play/pause, track is working and onEnd * update the icons with play-shaped-filled, pause-shape-filled, loading * start the tweaks on layout * can play multiple audios, pausing the previous to execute the new one * loading animated * added the audio rate * layout fixed * removed the sound manipulation from Slider to manipulate only in the index * fix time margin horizontal * fix play 2 audios and play/pause properly * change the way we treat the audio * remove audio copy * minor tweak * fix rate state * remove the PAUSE_AUDIO * fix unloadAll, add hit slop to slider, show the duration on the first render * refactor colors to be the same as figmas name * change the class' name and add the method pauseCurrentAudio * pause audio when unmount a RoomView and unloadAll when focusing at RoomsListView * pause audio when entering a thread * fix where call the pauseCurrentAudio * moved the player from messageAudio to audioPlayer * refactor audio component * remove loading * update snapshot * fix colors name * pauseAudio when roomview is blur * moved audio from message/component/audio to message/Audio * add navigation focus to AudioPlayer component and fix the jest * add the { androidImplementation: 'MediaPlayer' } * fix action sheet swipe 02-room * fix action sheet swipe 05-threads * tweak touchable * remove react.memo from playbutton * hitSlop * speed playback from array * textinputprops * tweak at names * minor tweak at onEnd * minor tweak at names * update styles * thumb seek size * change marginBottom * add the clamp, adjust the thumb position, remove the necessity of OnEndGestureHandler * change the utils to constants * change to audioState * fix the seek for android * TDownloadState * speed array * pause audio from messagesView when open the files * update test * minor tweak * change the time after ony one click, fixes the thumb to move sync with the click * Fix seek * minor tweak Sound to Audio.Sound * name of Icon * enable PlaybackSpeed only when playing the audio * playbackSpeed to mmkv * mock implementation * create native button * minor tweak * minor tweaks * playbackSpeed after loadAudio * avoid show the error when try to setRate without audio * add messageID to differ audios inside a quote/forward from original one * unloadRoomAudios instead of unloadAllAudios inside the roomsListView * minor tweak --------- Co-authored-by: Diego Mello <diegolmello@gmail.com> Co-authored-by: Gleidson Daniel Silva <gleidson10daniel@hotmail.com>
2023-11-20 14:13:15 +00:00
export default MessageAudio;