Skip to content
Snippets Groups Projects
Commit 8e88e4bb authored by Shivansh Saini's avatar Shivansh Saini Committed by Geoffrey Métais
Browse files

Fixed JNI issues in libVLC & added 'test' option in compile.sh


Signed-off-by: default avatarShivansh Saini <shivanshs9@gmail.com>
parent ff514d4a
No related branches found
No related tags found
1 merge request!214GSoC'19 | Unit & UI tests
......@@ -370,7 +370,9 @@ fi
# Compile the UI #
##################
BUILDTYPE="Dev"
if [ "$SIGNED_RELEASE" = 1 ]; then
if [ "$TEST" = 1 ]; then
BUILDTYPE="Debug"
elif [ "$SIGNED_RELEASE" = 1 ]; then
BUILDTYPE="signedRelease"
elif [ "$RELEASE" = 1 ]; then
BUILDTYPE="Release"
......@@ -389,13 +391,21 @@ elif [ "$BUILD_MEDIALIB" = 1 ]; then
GRADLE_ABI=$GRADLE_ABI ./gradlew -p medialibrary install bintrayUpload
fi
else
if [ "$RUN" = 1 ]; then
if [ "$TEST" = 1 -o "$RUN" = 1 ]; then
ACTION="install"
else
ACTION="assemble"
fi
TARGET="${ACTION}${BUILDTYPE}"
GRADLE_VLC_SRC_DIRS="$GRADLE_VLC_SRC_DIRS" CLI="" GRADLE_ABI=$GRADLE_ABI ./gradlew $TARGET
if [ "$TEST" = 1 ]; then
TARGET="vlc-android:install${BUILDTYPE}AndroidTest"
GRADLE_VLC_SRC_DIRS="$GRADLE_VLC_SRC_DIRS" CLI="" GRADLE_ABI=$GRADLE_ABI ./gradlew $TARGET
echo -e "\n===================================\nRun following for UI tests:"
echo "adb shell am instrument -w -e package org.videolan.vlc.gui org.videolan.vlc.debug.test/org.videolan.vlc.MultidexTestRunner 1> result_UI_test.txt"
fi
fi
#######
......
......@@ -169,9 +169,9 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved)
GET_CLASS(fields.Media.clazz,
"org/videolan/libvlc/Media", true);
GET_CLASS(fields.Media.Track.clazz,
"org/videolan/libvlc/Media$Track", true);
"org/videolan/libvlc/interfaces/IMedia$Track", true);
GET_CLASS(fields.Media.Slave.clazz,
"org/videolan/libvlc/Media$Slave", true);
"org/videolan/libvlc/interfaces/IMedia$Slave", true);
GET_CLASS(fields.MediaPlayer.clazz,
"org/videolan/libvlc/MediaPlayer", true);
GET_CLASS(fields.MediaPlayer.Title.clazz,
......@@ -213,42 +213,42 @@ jint JNI_OnLoad(JavaVM *vm, void *reserved)
fields.Media.clazz,
"createAudioTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;II)"
"Lorg/videolan/libvlc/Media$Track;");
"Lorg/videolan/libvlc/interfaces/IMedia$Track;");
GET_ID(GetStaticMethodID,
fields.Media.createVideoTrackFromNativeID,
fields.Media.clazz,
"createVideoTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;IIIIIIII)"
"Lorg/videolan/libvlc/Media$Track;");
"Lorg/videolan/libvlc/interfaces/IMedia$Track;");
GET_ID(GetStaticMethodID,
fields.Media.createSubtitleTrackFromNativeID,
fields.Media.clazz,
"createSubtitleTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)"
"Lorg/videolan/libvlc/Media$Track;");
"Lorg/videolan/libvlc/interfaces/IMedia$Track;");
GET_ID(GetStaticMethodID,
fields.Media.createUnknownTrackFromNativeID,
fields.Media.clazz,
"createUnknownTrackFromNative",
"(Ljava/lang/String;Ljava/lang/String;IIIILjava/lang/String;Ljava/lang/String;)"
"Lorg/videolan/libvlc/Media$Track;");
"Lorg/videolan/libvlc/interfaces/IMedia$Track;");
GET_ID(GetStaticMethodID,
fields.Media.createSlaveFromNativeID,
fields.Media.clazz,
"createSlaveFromNative",
"(IILjava/lang/String;)"
"Lorg/videolan/libvlc/Media$Slave;");
"Lorg/videolan/libvlc/interfaces/IMedia$Slave;");
GET_ID(GetStaticMethodID,
fields.Media.createStatsFromNativeID,
fields.Media.clazz,
"createStatsFromNative",
"(IFIFIIIIIIIIIIF)"
"Lorg/videolan/libvlc/Media$Stats;");
"Lorg/videolan/libvlc/interfaces/IMedia$Stats;");
GET_ID(GetStaticMethodID,
fields.MediaPlayer.createTitleFromNativeID,
......
package org.videolan.vlc
import android.os.Bundle
import androidx.multidex.MultiDex
import androidx.test.runner.AndroidJUnitRunner
class MultidexTestRunner: AndroidJUnitRunner() {
override fun onCreate(arguments: Bundle?) {
MultiDex.install(targetContext)
super.onCreate(arguments)
}
}
......@@ -57,7 +57,7 @@ android {
resValue 'string', 'tv_provider_authority', "${applicationId}.tv"
resValue 'string', 'moviepedia_api_url', getNextApiUrl(project)
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunner "org.videolan.vlc.MultidexTestRunner"
// The following argument makes the Android Test Orchestrator run its
// "pm clear" command after each test invocation. This command ensures
// that the app's state is completely cleared between tests.
......
......@@ -17,10 +17,6 @@
name="item"
type="MediaLibraryItem" />
<variable
name="cover"
type="android.graphics.drawable.BitmapDrawable" />
<variable
name="title"
type="String" />
......
......@@ -40,7 +40,7 @@
<ImageView
android:id="@+id/cover"
android:id="@+id/im_cover"
android:layout_width="0dp"
android:layout_height="48dp"
android:background="@{cover}"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment