video bug fix
This commit is contained in:
parent
ae6b377acd
commit
da28fd3c2e
|
@ -1,5 +1,6 @@
|
||||||
package org.nuclearfog.twidda.window;
|
package org.nuclearfog.twidda.window;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.Point;
|
import android.graphics.Point;
|
||||||
import android.media.MediaPlayer;
|
import android.media.MediaPlayer;
|
||||||
|
@ -49,7 +50,9 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
|
|
||||||
public static final String KEY_MEDIA_LINK = "link";
|
public static final String KEY_MEDIA_LINK = "link";
|
||||||
public static final String KEY_MEDIA_TYPE = "mediatype";
|
public static final String KEY_MEDIA_TYPE = "mediatype";
|
||||||
|
|
||||||
private static final String[] REQ_WRITE_SD = {WRITE_EXTERNAL_STORAGE};
|
private static final String[] REQ_WRITE_SD = {WRITE_EXTERNAL_STORAGE};
|
||||||
|
private static final int REQCODE_SD = 6;
|
||||||
|
|
||||||
public enum MediaType {
|
public enum MediaType {
|
||||||
IMAGE,
|
IMAGE,
|
||||||
|
@ -106,25 +109,25 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
|
|
||||||
case ANGIF:
|
case ANGIF:
|
||||||
videoWindow.setVisibility(VISIBLE);
|
videoWindow.setVisibility(VISIBLE);
|
||||||
videoView.setOnPreparedListener(this);
|
|
||||||
Uri video = Uri.parse(link[0]);
|
Uri video = Uri.parse(link[0]);
|
||||||
|
videoView.setOnPreparedListener(this);
|
||||||
videoView.setVideoURI(video);
|
videoView.setVideoURI(video);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO:
|
case VIDEO:
|
||||||
videoWindow.setVisibility(VISIBLE);
|
videoWindow.setVisibility(VISIBLE);
|
||||||
|
video = Uri.parse(link[0]);
|
||||||
videoView.setMediaController(videoController);
|
videoView.setMediaController(videoController);
|
||||||
videoView.setOnPreparedListener(this);
|
videoView.setOnPreparedListener(this);
|
||||||
video = Uri.parse(link[0]);
|
|
||||||
videoView.setVideoURI(video);
|
videoView.setVideoURI(video);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIDEO_STORAGE:
|
case VIDEO_STORAGE:
|
||||||
videoWindow.setVisibility(VISIBLE);
|
videoWindow.setVisibility(VISIBLE);
|
||||||
videoView.setMediaController(videoController);
|
|
||||||
videoView.setOnPreparedListener(this);
|
|
||||||
File media = new File(link[0]);
|
File media = new File(link[0]);
|
||||||
video = Uri.fromFile(media);
|
video = Uri.fromFile(media);
|
||||||
|
videoView.setMediaController(videoController);
|
||||||
|
videoView.setOnPreparedListener(this);
|
||||||
videoView.setVideoURI(video);
|
videoView.setVideoURI(video);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -134,19 +137,28 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
@Override
|
@Override
|
||||||
protected void onStart() {
|
protected void onStart() {
|
||||||
super.onStart();
|
super.onStart();
|
||||||
if (imageAsync == null) {
|
switch (type) {
|
||||||
switch (type) {
|
case IMAGE:
|
||||||
case IMAGE:
|
if (imageAsync == null) {
|
||||||
imageAsync = new ImageLoader(this, ONLINE);
|
imageAsync = new ImageLoader(this, ONLINE);
|
||||||
imageAsync.execute(link);
|
imageAsync.execute(link);
|
||||||
break;
|
}
|
||||||
|
|
||||||
case ANGIF_STORAGE:
|
break;
|
||||||
case IMAGE_STORAGE:
|
|
||||||
|
case ANGIF_STORAGE:
|
||||||
|
case IMAGE_STORAGE:
|
||||||
|
if (imageAsync == null) {
|
||||||
imageAsync = new ImageLoader(this, STORAGE);
|
imageAsync = new ImageLoader(this, STORAGE);
|
||||||
imageAsync.execute(link);
|
imageAsync.execute(link);
|
||||||
break;
|
}
|
||||||
}
|
break;
|
||||||
|
|
||||||
|
case VIDEO:
|
||||||
|
case ANGIF:
|
||||||
|
case VIDEO_STORAGE:
|
||||||
|
videoView.start();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -169,6 +181,16 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onActivityResult(int reqCode, int returnCode, Intent intent) {
|
||||||
|
super.onActivityResult(reqCode, returnCode, intent);
|
||||||
|
if (reqCode == REQCODE_SD && returnCode == RESULT_OK) {
|
||||||
|
//storeImage(image); // TODO
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onImageClick(Bitmap image) {
|
public void onImageClick(Bitmap image) {
|
||||||
setImage(image);
|
setImage(image);
|
||||||
|
@ -183,7 +205,7 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
if (check == PERMISSION_GRANTED) {
|
if (check == PERMISSION_GRANTED) {
|
||||||
storeImage(image);
|
storeImage(image);
|
||||||
} else {
|
} else {
|
||||||
requestPermissions(REQ_WRITE_SD, 1);
|
requestPermissions(REQ_WRITE_SD, REQCODE_SD);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
storeImage(image);
|
storeImage(image);
|
||||||
|
@ -223,8 +245,6 @@ public class MediaViewer extends AppCompatActivity implements OnImageClickListen
|
||||||
|
|
||||||
case MEDIA_INFO_VIDEO_RENDERING_START:
|
case MEDIA_INFO_VIDEO_RENDERING_START:
|
||||||
video_progress.setVisibility(INVISIBLE);
|
video_progress.setVisibility(INVISIBLE);
|
||||||
if (videoView.getVisibility() == INVISIBLE)
|
|
||||||
videoView.setVisibility(VISIBLE);
|
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -44,8 +44,7 @@
|
||||||
android:id="@+id/video_view"
|
android:id="@+id/video_view"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center" />
|
||||||
android:visibility="invisible" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/video_load"
|
android:id="@+id/video_load"
|
||||||
|
|
Loading…
Reference in New Issue