Skip to content

Commit 2c6d1d4

Browse files
committedNov 22, 2014
video can be played
1 parent 11f572a commit 2c6d1d4

File tree

10 files changed

+200
-111
lines changed

10 files changed

+200
-111
lines changed
 

‎.idea/gradle.xml

-19
This file was deleted.

‎.idea/misc.xml

-26
This file was deleted.

‎.idea/modules.xml

-11
This file was deleted.

‎app/app-app.iml

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="app" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="app" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -13,6 +13,7 @@
1313
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
1414
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
1515
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
16+
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
1617
<option name="ALLOW_USER_CONFIGURATION" value="false" />
1718
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
1819
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
@@ -37,22 +38,22 @@
3738
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/test/debug" type="java-test-resource" />
3839
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
3940
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
41+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
4042
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
41-
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
4243
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
4344
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
4445
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
4546
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
4647
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
48+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
4749
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
48-
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
4950
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
5051
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
5152
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
5253
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
5354
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
55+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
5456
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
55-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" isTestSource="true" />
5657
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
5758
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
5859
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
@@ -84,7 +85,7 @@
8485
<orderEntry type="library" exported="" name="support-annotations-20.0.0" level="project" />
8586
<orderEntry type="library" exported="" name="support-v4-20.0.0" level="project" />
8687
<orderEntry type="library" exported="" name="android-async-http-1.4.6" level="project" />
88+
<orderEntry type="module" module-name="vitamio" exported="" />
8789
<orderEntry type="module" module-name="swipeMenuListView" exported="" />
8890
</component>
89-
</module>
90-
91+
</module>

‎app/build.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,7 @@ dependencies {
3131
compile 'de.greenrobot:eventbus:2.2.1'
3232
compile 'com.github.johnpersano:supertoasts:1.3.4@aar'
3333
compile project(':swipeMenuListView')
34+
compile project(':vitamio')
35+
3436
// compile 'com.viewpagerindicator:library:2.4.1@aar'
3537
}

‎app/src/main/java/com/eduinfinity/dimu/translatehelper/activity/TranslateActivity.java

+168-38
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,39 @@
11
package com.eduinfinity.dimu.translatehelper.activity;
22

33
import android.content.Intent;
4+
import android.graphics.Matrix;
5+
import android.graphics.SurfaceTexture;
6+
import android.media.AudioManager;
47
import android.os.Bundle;
58
import android.support.v4.app.FragmentActivity;
69
import android.support.v4.view.PagerAdapter;
710
import android.support.v4.view.ViewPager;
811
import android.util.Log;
912
import android.view.LayoutInflater;
13+
import android.view.Surface;
14+
import android.view.TextureView;
1015
import android.view.View;
11-
import android.widget.EditText;
12-
16+
import android.widget.Toast;
1317
import com.eduinfinity.dimu.translatehelper.R;
1418
import com.eduinfinity.dimu.translatehelper.adapter.Center;
1519
import com.eduinfinity.dimu.translatehelper.adapter.SrtPageAdapter;
1620
import com.eduinfinity.dimu.translatehelper.adapter.model.Model;
17-
import com.eduinfinity.dimu.translatehelper.adapter.model.Resource;
1821
import com.eduinfinity.dimu.translatehelper.utils.Config;
1922
import com.eduinfinity.dimu.translatehelper.utils.FileUtils;
2023
import com.eduinfinity.dimu.translatehelper.utils.SrtParse;
2124
import com.eduinfinity.dimu.translatehelper.utils.TextTrackImpl;
25+
import de.greenrobot.event.EventBus;
26+
import io.vov.vitamio.LibsChecker;
27+
import io.vov.vitamio.MediaPlayer;
28+
import io.vov.vitamio.MediaPlayer.OnBufferingUpdateListener;
29+
import io.vov.vitamio.MediaPlayer.OnCompletionListener;
30+
import io.vov.vitamio.MediaPlayer.OnPreparedListener;
2231

2332
import java.util.ArrayList;
2433
import java.util.List;
2534

26-
import de.greenrobot.event.EventBus;
27-
28-
29-
public class TranslateActivity extends FragmentActivity {
35+
public class TranslateActivity extends FragmentActivity implements OnBufferingUpdateListener,
36+
OnCompletionListener, OnPreparedListener, TextureView.SurfaceTextureListener {
3037
private static final String TAG = "TranslateActivity";
3138

3239
public static final String ResourceSlug = "ResourceSlug";
@@ -42,6 +49,17 @@ public class TranslateActivity extends FragmentActivity {
4249

4350
private String resourceSlug, projectSlug, name;
4451
private int status;
52+
private EventBus translateBus = new EventBus();
53+
54+
//for vedio
55+
private boolean isVideoPlayerOK = true;
56+
private int mVideoWidth;
57+
private int mVideoHeight;
58+
private MediaPlayer mMediaPlayer;
59+
private TextureView mTextureView;
60+
private String path;
61+
private boolean mIsVideoSizeKnown = false;
62+
private boolean mIsVideoReadyToBePlayed = false;
4563

4664
@Override
4765
protected void onCreate(Bundle savedInstanceState) {
@@ -58,12 +76,14 @@ protected void onCreate(Bundle savedInstanceState) {
5876
loadSrt();
5977
srtAdapter = new SrtPageAdapter(getSupportFragmentManager(), lineList);
6078
mViewPager.setAdapter(srtAdapter);
79+
if (!LibsChecker.checkVitamioLibs(this)) isVideoPlayerOK = false;
80+
mTextureView = (TextureView) findViewById(R.id.surface);
81+
mTextureView.setSurfaceTextureListener(this);
6182
// CirclePageIndicator circlePageIndicator = (CirclePageIndicator) findViewById(R.id.indicator);
6283
// circlePageIndicator.setViewPager(mViewPager);
6384
// srtAdapter = new SrtViewPageAdapter(viewList);
6485
// mViewPager.setAdapter(srtAdapter);
6586

66-
6787
// switch (status) {
6888
// case Model.INIT:
6989
// TXRestClientUsage.getResourceContent(projectSlug, resourceSlug);
@@ -76,8 +96,26 @@ protected void onCreate(Bundle savedInstanceState) {
7696
//
7797
// break;
7898
// }
79-
// CirclePageIndicator circlePageIndicator = (CirclePageIndicator) findViewById(R.id.indicator);
80-
// circlePageIndicator.setViewPager(viewPager);
99+
100+
mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
101+
@Override
102+
public void onPageScrolled(int i, float v, int i1) {
103+
104+
}
105+
106+
@Override
107+
public void onPageSelected(int i) {
108+
if(mIsVideoReadyToBePlayed){
109+
mMediaPlayer.seekTo(lineList.get(i).startTime);
110+
mMediaPlayer.getDuration();
111+
}
112+
}
113+
114+
@Override
115+
public void onPageScrollStateChanged(int i) {
116+
117+
}
118+
});
81119
}
82120

83121
@Override
@@ -95,43 +133,19 @@ private void loadSrt() {
95133
if (FileUtils.isExist("/" + projectSlug + Config.TransFolder, resourceSlug + ".srt")) {
96134
FileUtils.readTrans2track("/" + projectSlug + Config.TransFolder, resourceSlug + ".srt", tack, this);
97135
}
98-
if (FileUtils.isExist("/" + projectSlug + Config.VideosFolder, resourceSlug + ".mp4")) {
99-
}
136+
100137

101138
lineList = tack.getSubs();
102-
// for (int i = 0; i < lineList.size(); i++) {
103-
// View view = inflate.inflate(R.layout.viewpage_srt, null);
104-
// TextView index = (TextView) view.findViewById(R.id.textView_index);
105-
// TextView s = (TextView) view.findViewById(R.id.textView_startTime);
106-
// TextView e = (TextView) view.findViewById(R.id.textView_endTime);
107-
// TextView l = (TextView) view.findViewById(R.id.textView_lineString);
108-
// EditText t = (EditText) view.findViewById(R.id.editText_trans);
109-
//
110-
// index.setText("" + lineList.get(i).index);
111-
// s.setText("" + SrtParse.convertTime2String(lineList.get(i).startTime));
112-
// e.setText("" + SrtParse.convertTime2String(lineList.get(i).endTime));
113-
// l.setText("" + lineList.get(i).lineString);
114-
// t.setText("" + lineList.get(i).getTrans());
115-
// PageHolder holder = new PageHolder();
116-
// holder.editText = t;
117-
// view.setTag(holder);
118-
// viewList.add(view);
119-
// }
120-
// Log.e(TAG, "" + lineList.size());
121-
// Log.e(TAG, "" + viewList.size());
122-
// if (viewList.size() == 0)
123-
// Toast.makeText(this, R.string.parseSRTError, Toast.LENGTH_SHORT).show();
124-
// srtAdapter.notifyDataSetChanged();
125139
}
126140

127141

128-
EventBus translateBus = new EventBus();
129-
130142
@Override
131143
protected void onPause() {
132144
Log.i("Activity", "Activity on pause");
133-
translateBus.post(new SaveEvent());
134145
super.onPause();
146+
translateBus.post(new SaveEvent());
147+
releaseMediaPlayer();
148+
doCleanUp();
135149
}
136150

137151
public void onEventAsync(SaveEvent event) {
@@ -146,4 +160,120 @@ class SaveEvent {
146160

147161
}
148162

163+
private void playVideo(SurfaceTexture surfaceTexture) {
164+
doCleanUp();
165+
path = "";
166+
// path=
167+
try {
168+
if (FileUtils.isExist("/" + projectSlug + Config.VideosFolder, resourceSlug + ".mp4")) {
169+
path = FileUtils.getFileRootPath() +"/"+ projectSlug + Config.VideosFolder +"/"+ resourceSlug + ".mp4";
170+
}
171+
if (path == "") {
172+
// Tell the user to provide a media file URL.
173+
Toast.makeText(TranslateActivity.this, "not find video", Toast.LENGTH_LONG).show();
174+
return;
175+
}
176+
// Create a new media player and set the listeners
177+
mMediaPlayer = new MediaPlayer(this, true);
178+
mMediaPlayer.setDataSource(path);
179+
mMediaPlayer.setSurface(new Surface(surfaceTexture));
180+
mMediaPlayer.prepareAsync();
181+
mMediaPlayer.setOnBufferingUpdateListener(this);
182+
mMediaPlayer.setOnCompletionListener(this);
183+
mMediaPlayer.setOnPreparedListener(this);
184+
setVolumeControlStream(AudioManager.STREAM_MUSIC);
185+
186+
} catch (Exception e) {
187+
Log.e(TAG, "error: " + e.getMessage(), e);
188+
}
189+
}
190+
191+
public void onBufferingUpdate(MediaPlayer arg0, int percent) {
192+
// Log.d(TAG, "onBufferingUpdate percent:" + percent);
193+
194+
}
195+
196+
public void onCompletion(MediaPlayer arg0) {
197+
Log.d(TAG, "onCompletion called");
198+
}
199+
200+
public void onPrepared(MediaPlayer mediaplayer) {
201+
Log.d(TAG, "onPrepared called");
202+
mIsVideoReadyToBePlayed = true;
203+
if (mIsVideoReadyToBePlayed) {
204+
startVideoPlayback();
205+
}
206+
}
207+
208+
private void releaseMediaPlayer() {
209+
if (mMediaPlayer != null) {
210+
mMediaPlayer.release();
211+
mMediaPlayer = null;
212+
}
213+
}
214+
215+
private void doCleanUp() {
216+
mVideoWidth = 0;
217+
mVideoHeight = 0;
218+
mIsVideoReadyToBePlayed = false;
219+
mIsVideoSizeKnown = false;
220+
}
221+
222+
private void startVideoPlayback() {
223+
Log.v(TAG, "startVideoPlayback");
224+
adjustAspectRatio(mMediaPlayer.getVideoWidth(), mMediaPlayer.getVideoHeight());
225+
mMediaPlayer.start();
226+
}
227+
228+
/**
229+
* Sets the TextureView transform to preserve the aspect ratio of the video.
230+
*/
231+
private void adjustAspectRatio(int videoWidth, int videoHeight) {
232+
int viewWidth = mTextureView.getWidth();
233+
int viewHeight = mTextureView.getHeight();
234+
double aspectRatio = (double) videoHeight / videoWidth;
235+
236+
int newWidth, newHeight;
237+
if (viewHeight > (int) (viewWidth * aspectRatio)) {
238+
// limited by narrow width; restrict height
239+
newWidth = viewWidth;
240+
newHeight = (int) (viewWidth * aspectRatio);
241+
} else {
242+
// limited by short height; restrict width
243+
newWidth = (int) (viewHeight / aspectRatio);
244+
newHeight = viewHeight;
245+
}
246+
int xoff = (viewWidth - newWidth) / 2;
247+
int yoff = (viewHeight - newHeight) / 2;
248+
Log.v(TAG, "video=" + videoWidth + "x" + videoHeight + " view=" + viewWidth + "x" + viewHeight
249+
+ " newView=" + newWidth + "x" + newHeight + " off=" + xoff + "," + yoff);
250+
251+
Matrix txform = new Matrix();
252+
mTextureView.getTransform(txform);
253+
txform.setScale((float) newWidth / viewWidth, (float) newHeight / viewHeight);
254+
//txform.postRotate(10); // just for fun
255+
txform.postTranslate(xoff, yoff);
256+
mTextureView.setTransform(txform);
257+
}
258+
259+
@Override
260+
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
261+
playVideo(surface);
262+
}
263+
264+
@Override
265+
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
266+
267+
}
268+
269+
@Override
270+
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
271+
return false;
272+
}
273+
274+
@Override
275+
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
276+
277+
}
278+
149279
}

‎app/src/main/java/com/eduinfinity/dimu/translatehelper/utils/fileUtils.java

+7-4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
*/
2222
public class FileUtils {
2323
private static final String TAG = "FileUtils";
24+
public static String getFileRootPath(){
25+
return Environment.getExternalStorageDirectory().toString() + Config.rootFolderName ;
26+
}
2427
public static TextTrackImpl readTrans2track(String path, String fileName, TextTrackImpl textTrackImpl, Activity activity) {
2528
String allString = "";
2629
try {
@@ -122,7 +125,7 @@ public static boolean writeFileOUTStorage(String path, String fileName, String a
122125
FileOutputStream fos = null;
123126
if (allString == null) return false;
124127
// File file = getFile(fileName, activity);
125-
File file = new File(Environment.getExternalStorageDirectory().toString() + Config.rootFolderName + path, fileName);
128+
File file = new File(getFileRootPath()+ path, fileName);
126129
file.getParentFile().mkdirs();
127130
try {
128131
fos = new FileOutputStream(file);
@@ -228,7 +231,7 @@ public static Bitmap readBitmap(String fileName) {
228231

229232
Bitmap bitmap = null;
230233
try {
231-
String filePath = Environment.getExternalStorageDirectory().toString() + Config.rootFolderName + "/" + fileName + ".png";
234+
String filePath = getFileRootPath()+ "/" + fileName + ".png";
232235
File file = new File(filePath);
233236
if (file.exists()) {
234237
bitmap = BitmapFactory.decodeFile(filePath);
@@ -242,15 +245,15 @@ public static Bitmap readBitmap(String fileName) {
242245
}
243246

244247
public static void delBitmap(String fileName) {
245-
String filePath = Environment.getExternalStorageDirectory().toString() + Config.rootFolderName + "/" + fileName + ".png";
248+
String filePath = getFileRootPath()+ "/" + fileName + ".png";
246249
File file = new File(filePath);
247250
if (file.exists()) {
248251
file.delete();
249252
}
250253
}
251254

252255
public static void delResource(String pro, String res) {
253-
String filePath = Environment.getExternalStorageDirectory().toString() + Config.rootFolderName + "/" + pro;
256+
String filePath = getFileRootPath()+ "/" + pro;
254257
File file1 = new File(filePath + Config.SourceFolder, res + "srt");
255258
File file2 = new File(filePath + Config.TransFolder, res + "srt");
256259
if (file1.exists()) {

‎app/src/main/res/layout/activity_translate.xml

+8-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,14 @@
1212
android:text="视频位置,待做"
1313
android:textColor="@color/littleWhite"
1414
android:background="@color/black"
15-
android:gravity="center"/>
15+
android:gravity="center"
16+
android:visibility="gone"/>
17+
<TextureView
18+
android:id="@+id/surface"
19+
android:layout_width="wrap_content"
20+
android:layout_height="0dp"
21+
android:layout_weight="1" >
22+
</TextureView>
1623

1724
<android.support.v4.view.ViewPager
1825
android:id="@+id/subtitle_list_pager"

‎settings.gradle

+2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
include ':app'
2+
include ':vitamio'
23
include ':swipeMenuListView'
4+
project(':vitamio').projectDir = new File('/Users/Dimu/work/eduinfinity/VitamioBundle/vitamio')

‎swipeMenuListView/swipeMenuListView.iml

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="app" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":swipeMenuListView" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="app" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -13,6 +13,7 @@
1313
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugJava" />
1414
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugTest" />
1515
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
16+
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugTestSources" />
1617
<option name="ALLOW_USER_CONFIGURATION" value="false" />
1718
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
1819
<option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
@@ -38,22 +39,22 @@
3839
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/test/debug" type="java-test-resource" />
3940
<sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
4041
<sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
42+
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
4143
<sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
42-
<sourceFolder url="file://$MODULE_DIR$/src/debug/assets" isTestSource="false" />
4344
<sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
4445
<sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
4546
<sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
4647
<sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
4748
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
49+
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
4850
<sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
49-
<sourceFolder url="file://$MODULE_DIR$/src/main/assets" isTestSource="false" />
5051
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
5152
<sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
5253
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
5354
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
5455
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
56+
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
5557
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
56-
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" isTestSource="true" />
5758
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
5859
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
5960
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
@@ -84,5 +85,4 @@
8485
<orderEntry type="library" exported="" name="support-annotations-20.0.0" level="project" />
8586
<orderEntry type="library" exported="" name="support-v4-20.0.0" level="project" />
8687
</component>
87-
</module>
88-
88+
</module>

0 commit comments

Comments
 (0)
Please sign in to comment.