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>
The smb2 module is back to higher priority again. A lot of bugs has been fixed
since the first release, notably the signing security mode. This fixes
impossible login to smb2 servers, when dsm requested first a login and smb2 was
never tried.
There is also a new patch that prevent to request 2 dialogs from both smb2 and
dsm from the same input. If smb2 login failed, it is useless to request
credentials via the dsm plugin.
PS: if the module smb2 failed because it tried to connect to a smb1 server, it
will fail without requesting any credentials, therefore the dsm module will be
able to request them.
Use the Message-Id header in patch files to check whether they have
already been applied to vlc sources.
To perform that:
- patch files are generated with the '--thread' option to generate the
Message-Id header
- patch files are applied with 'git am --message-id ...' to keep the
Message-Id in the commit description