The view to setup can be either mSurfaceVideo or mSurfaceTexture but
mSurfaceVideo was unconditionnaly setup and mSurfaceTexture was never
setup. In addition, the SurfaceTexture was extracted from the
TextureView before it's creation so it was null.
Instead, only setup the SurfaceTexture from the listener call and use
an intermediate variable to configure the correct surface.
fix#1359
At least with LibVLC 4, the video surface stays black until the
orientation of the phone is changed, calling this event again after the
creation of the VLC vout display.
It might come from a wrong ordering and reporting of parent layout
events while the inner views are not reading for display, so post an
event at the end of the current mainloop re-updating the surfaces to be
sure that the video surface is visible in LibVLC client applications.
This a hack, but it is what the VLC for Android application is currently
doing too.
Refs #1433
Inside JNI_OnLoad function, macro GET_CLASS leak a JNI LocalRef when the macro
get a GlobalRef and assign it, the LocalRef is lost.
JNI_OnLoad acquire many GlobalRef, but they are not all released in JNI_UnLoad.
- Fix the ANDROID_MANIFEST path (app/build instead of vlc-android/build).
- Remove useless copies (libs folder, Android.mk, whole obj/local/*/ when only
the so are needed)
- Configure it only for the arch of the last built APK. This fixes armv7 builds
that could not be debugged on armv8 arches.
Used Abstract Factory Manager design pattern for LibVLC components
Tests done: StreamsModel, SubtitlesModel, HistoryModel, FilePickerModel,
BrowserModel, StorageModel, FileBrowserModel, NetworkModel,
VideosViewModel
Used CoroutineContextProvider to replace context on-demand.
Added extension function for the child of SingletonHolder used in ExternalSubRepository.
Replaced OpenSubtitleRepository.getInstance to use lazy value, so it can be replaced in tests.
Added Dependency Provider for BrowserProvider
Updated StubDataSource to configure data set to provide
LibVLC: Refactored interfaces
Signed-off-by: Shivansh Saini <shivanshs9@gmail.com>