Some tests

This commit is contained in:
Thomas 2020-06-24 21:37:38 +02:00
parent f097ac0854
commit a67c4170e8
7 changed files with 144 additions and 124 deletions

View File

@ -16,7 +16,6 @@ package app.fedilab.android.drawers;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.Activity; import android.app.Activity;
import android.app.ActivityOptions;
import android.content.ClipData; import android.content.ClipData;
import android.content.ClipboardManager; import android.content.ClipboardManager;
import android.content.Context; import android.content.Context;
@ -2152,32 +2151,18 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
if (status.getReblog() == null) { if (status.getReblog() == null) {
if (status.getWebviewURL() != null) { if (status.getWebviewURL() != null) {
String url = status.getWebviewURL().replaceAll("&amp;", "&"); String url = status.getWebviewURL().replaceAll("&amp;", "&");
try {
holder.status_cardview_webview.loadUrl(url);
} catch (Exception e) {
e.printStackTrace();
}
holder.status_cardview_webview.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.VISIBLE); holder.status_cardview_video.setVisibility(View.VISIBLE);
holder.webview_preview.setVisibility(View.GONE); holder.webview_preview.setVisibility(View.GONE);
} else { } else {
holder.status_cardview_webview.setVisibility(View.GONE);
holder.status_cardview_video.setVisibility(View.GONE); holder.status_cardview_video.setVisibility(View.GONE);
holder.webview_preview.setVisibility(View.VISIBLE); holder.webview_preview.setVisibility(View.VISIBLE);
} }
} else { } else {
if (status.getReblog().getWebviewURL() != null) { if (status.getReblog().getWebviewURL() != null) {
String url = status.getReblog().getWebviewURL().replaceAll("&amp;", "&"); String url = status.getReblog().getWebviewURL().replaceAll("&amp;", "&");
try {
holder.status_cardview_webview.loadUrl(url);
} catch (Exception e) {
e.printStackTrace();
}
holder.status_cardview_webview.setVisibility(View.VISIBLE);
holder.status_cardview_video.setVisibility(View.VISIBLE); holder.status_cardview_video.setVisibility(View.VISIBLE);
holder.webview_preview.setVisibility(View.GONE); holder.webview_preview.setVisibility(View.GONE);
} else { } else {
holder.status_cardview_webview.setVisibility(View.GONE);
holder.status_cardview_video.setVisibility(View.GONE); holder.status_cardview_video.setVisibility(View.GONE);
holder.webview_preview.setVisibility(View.VISIBLE); holder.webview_preview.setVisibility(View.VISIBLE);
} }
@ -2309,6 +2294,7 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
Helper.openBrowser(context, url); Helper.openBrowser(context, url);
}); });
} else if (card.getType().toLowerCase().equals("video") && (display_video_preview || (type == RetrieveFeedsAsyncTask.Type.CONTEXT && viewHolder.getAdapterPosition() == conversationPosition))) { } else if (card.getType().toLowerCase().equals("video") && (display_video_preview || (type == RetrieveFeedsAsyncTask.Type.CONTEXT && viewHolder.getAdapterPosition() == conversationPosition))) {
Glide.with(holder.status_cardview_image.getContext()) Glide.with(holder.status_cardview_image.getContext())
.load(card.getImage()) .load(card.getImage())
.apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10))) .apply(new RequestOptions().transform(new CenterCrop(), new RoundedCorners(10)))
@ -2316,10 +2302,7 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
holder.status_cardview.setVisibility(View.GONE); holder.status_cardview.setVisibility(View.GONE);
holder.status_cardview_video.setVisibility(View.VISIBLE); holder.status_cardview_video.setVisibility(View.VISIBLE);
String user_agent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT); String user_agent = sharedpreferences.getString(Helper.SET_CUSTOM_USER_AGENT, Helper.USER_AGENT);
if (user_agent != null) {
holder.status_cardview_webview.getSettings().setUserAgentString(user_agent);
}
holder.status_cardview_webview.getSettings().setJavaScriptEnabled(true);
String html = card.getHtml(); String html = card.getHtml();
String src = card.getUrl(); String src = card.getUrl();
if (html != null) { if (html != null) {
@ -2328,12 +2311,7 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
src = matcher.group(1); src = matcher.group(1);
} }
final String finalSrc = src; final String finalSrc = src;
holder.status_cardview_webview.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
holder.status_cardview_video.setVisibility(View.GONE);
}
});
holder.webview_preview.setOnClickListener(v -> { holder.webview_preview.setOnClickListener(v -> {
String url = finalSrc; String url = finalSrc;
if (url != null) { if (url != null) {
@ -2351,12 +2329,27 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
} }
} }
} }
if (status.getReblog() == null) { Intent intent = new Intent(context, SlideMediaActivity.class);
status.setWebviewURL(url); Bundle b = new Bundle();
} else { Attachment attachment = new Attachment();
status.getReblog().setWebviewURL(url); attachment.setType("web");
attachment.setUrl(url);
attachment.setPreview_url(card.getImage());
ArrayList<Attachment> attachmentArrayList = new ArrayList<>();
attachmentArrayList.add(attachment);
intent.putParcelableArrayListExtra("mediaArray", attachmentArrayList);
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
b.putInt("position", 1);
intent.putExtras(b);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
ActivityOptionsCompat options = ActivityOptionsCompat
.makeSceneTransitionAnimation((Activity)context, holder.webview_preview, attachment.getUrl());
// start the new activity
context.startActivity(intent, options.toBundle());
}else{
// start the new activity
context.startActivity(intent);
} }
notifyStatusChanged(status);
}); });
} else { } else {
holder.status_cardview.setVisibility(View.GONE); holder.status_cardview.setVisibility(View.GONE);
@ -3410,10 +3403,8 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark)); b.putInt("bgcolor", context.getResources().getColor(R.color.cyanea_primary_dark));
b.putInt("position", finalPosition); b.putInt("position", finalPosition);
intent.putExtras(b); intent.putExtras(b);
ActivityOptionsCompat options = null; if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP && attachment.getType().compareTo("image") == 0) { ActivityOptionsCompat options = ActivityOptionsCompat
imageView.setTransitionName(attachment.getText_url());
options = ActivityOptionsCompat
.makeSceneTransitionAnimation((Activity)context, imageView, attachment.getUrl()); .makeSceneTransitionAnimation((Activity)context, imageView, attachment.getUrl());
// start the new activity // start the new activity
context.startActivity(intent, options.toBundle()); context.startActivity(intent, options.toBundle());
@ -4091,7 +4082,6 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
ImageView status_cardview_image; ImageView status_cardview_image;
TextView status_cardview_title, status_cardview_content, status_cardview_url; TextView status_cardview_title, status_cardview_content, status_cardview_url;
FrameLayout status_cardview_video; FrameLayout status_cardview_video;
CustomWebview status_cardview_webview;
ImageView hide_preview, hide_preview_h; ImageView hide_preview, hide_preview_h;
TextView status_toot_app; TextView status_toot_app;
RelativeLayout webview_preview; RelativeLayout webview_preview;
@ -4205,8 +4195,6 @@ public class StatusListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
status_cardview_content = itemView.findViewById(R.id.status_cardview_content); status_cardview_content = itemView.findViewById(R.id.status_cardview_content);
status_cardview_url = itemView.findViewById(R.id.status_cardview_url); status_cardview_url = itemView.findViewById(R.id.status_cardview_url);
status_cardview_video = itemView.findViewById(R.id.status_cardview_video); status_cardview_video = itemView.findViewById(R.id.status_cardview_video);
status_cardview_webview = Helper.initializeWebview((Activity) context, R.id.status_cardview_webview, itemView);
status_cardview_webview.getSettings().setJavaScriptEnabled(true);
hide_preview = itemView.findViewById(R.id.hide_preview); hide_preview = itemView.findViewById(R.id.hide_preview);
hide_preview_h = itemView.findViewById(R.id.hide_preview_h); hide_preview_h = itemView.findViewById(R.id.hide_preview_h);
status_toot_app = itemView.findViewById(R.id.status_toot_app); status_toot_app = itemView.findViewById(R.id.status_toot_app);

View File

@ -119,6 +119,11 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
private boolean swipeEnabled; private boolean swipeEnabled;
private int bgColor; private int bgColor;
private RelativeLayout media_fragment_container; private RelativeLayout media_fragment_container;
private RelativeLayout content_audio;
private PlayerView videoView;
private CustomWebview webview_video;
private FrameLayout webview_container;
private RelativeLayout videoLayout;
public MediaSliderFragment() { public MediaSliderFragment() {
} }
@ -138,7 +143,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
swipeEnabled = true; swipeEnabled = true;
message_ready = rootView.findViewById(R.id.message_ready); message_ready = rootView.findViewById(R.id.message_ready);
RelativeLayout content_audio = rootView.findViewById(R.id.content_audio); content_audio = rootView.findViewById(R.id.content_audio);
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK); int theme = sharedpreferences.getInt(Helper.SET_THEME, Helper.THEME_DARK);
@ -148,7 +153,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
ImageView next = rootView.findViewById(R.id.media_next); ImageView next = rootView.findViewById(R.id.media_next);
imageView = rootView.findViewById(R.id.media_picture); imageView = rootView.findViewById(R.id.media_picture);
PlayerView videoView = rootView.findViewById(R.id.media_video); videoView = rootView.findViewById(R.id.media_video);
if (theme == Helper.THEME_BLACK) { if (theme == Helper.THEME_BLACK) {
changeDrawableColor(context, prev, R.color.dark_icon); changeDrawableColor(context, prev, R.color.dark_icon);
changeDrawableColor(context, next, R.color.dark_icon); changeDrawableColor(context, next, R.color.dark_icon);
@ -187,74 +192,85 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
attachment.setType(type); attachment.setType(type);
} }
media_fragment_container = rootView.findViewById(R.id.media_fragment_container); media_fragment_container = rootView.findViewById(R.id.media_fragment_container);
switch (type.toLowerCase()) { imageView.setVisibility(View.VISIBLE);
case "image": Glide.with(context)
pbar_inf.setScaleY(1f); .asBitmap()
imageView.setVisibility(View.VISIBLE); .load(preview_url).into(
pbar_inf.setIndeterminate(true); new CustomTarget<Bitmap>() {
loader.setVisibility(View.VISIBLE); @Override
if (!url.endsWith(".gif")) { public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) {
Glide.with(context) //Bitmap imageCompressed = Helper.compressImageIfNeeded(resource);
.asBitmap() imageView.setImageBitmap(resource);
.load(preview_url).into( if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
new CustomTarget<Bitmap>() { imageView.setTransitionName(attachment.getUrl());
@Override scheduleStartPostponedTransition(imageView);
public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) { }
//Bitmap imageCompressed = Helper.compressImageIfNeeded(resource); if (bgColor != -1) {
imageView.setImageBitmap(resource); media_fragment_container.setBackgroundColor(bgColor);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { }
imageView.setTransitionName(attachment.getUrl()); if( attachment.getType().toLowerCase().compareTo("image") == 0 && !attachment.getUrl().endsWith(".gif")) {
scheduleStartPostponedTransition(imageView); pbar_inf.setScaleY(1f);
} imageView.setVisibility(View.VISIBLE);
if (bgColor != -1) { pbar_inf.setIndeterminate(true);
media_fragment_container.setBackgroundColor(bgColor); loader.setVisibility(View.VISIBLE);
} Glide.with(context)
Glide.with(context) .asBitmap()
.asBitmap() .load(url).into(
.load(url).into( new CustomTarget<Bitmap>() {
new CustomTarget<Bitmap>() { @Override
@Override public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) {
public void onResourceReady(@NonNull final Bitmap resource, Transition<? super Bitmap> transition) { loader.setVisibility(View.GONE);
loader.setVisibility(View.GONE); Bitmap imageCompressed = Helper.compressImageIfNeeded(resource);
Bitmap imageCompressed = Helper.compressImageIfNeeded(resource); if (imageView.getScale() < 1.1) {
if (imageView.getScale() < 1.1) { imageView.setImageBitmap(imageCompressed);
imageView.setImageBitmap(imageCompressed); } else {
} else { message_ready.setVisibility(View.VISIBLE);
message_ready.setVisibility(View.VISIBLE);
}
message_ready.setOnClickListener(view -> {
imageView.setImageBitmap(imageCompressed);
message_ready.setVisibility(View.GONE);
});
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
} }
); message_ready.setOnClickListener(view -> {
} imageView.setImageBitmap(imageCompressed);
message_ready.setVisibility(View.GONE);
});
}
@Override @Override
public void onLoadCleared(@Nullable Drawable placeholder) { public void onLoadCleared(@Nullable Drawable placeholder) {
} }
}
);
}else if (attachment.getType().toLowerCase().compareTo("image") == 0 && attachment.getUrl().endsWith(".gif")) {
loader.setVisibility(View.GONE);
Glide.with(context)
.load(url).into(imageView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl());
scheduleStartPostponedTransition(imageView);
} }
); }
} else {
loader.setVisibility(View.GONE);
Glide.with(context)
.load(url).into(imageView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl());
scheduleStartPostponedTransition(imageView);
} }
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl());
scheduleStartPostponedTransition(imageView);
}
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) {
}
} }
break; );
switch (type.toLowerCase()) {
case "video": case "video":
case "gifv": case "gifv":
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
imageView.setTransitionName(attachment.getUrl());
scheduleStartPostponedTransition(imageView);
imageView.setVisibility(View.GONE);
}
if (bgColor != -1) { if (bgColor != -1) {
media_fragment_container.setBackgroundColor(bgColor); media_fragment_container.setBackgroundColor(bgColor);
} }
@ -286,6 +302,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
player.setRepeatMode(Player.REPEAT_MODE_ONE); player.setRepeatMode(Player.REPEAT_MODE_ONE);
videoView.setPlayer(player); videoView.setPlayer(player);
loader.setVisibility(View.GONE); loader.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);
player.prepare(videoSource); player.prepare(videoSource);
player.setPlayWhenReady(true); player.setPlayWhenReady(true);
break; break;
@ -294,14 +311,14 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
media_fragment_container.setBackgroundColor(bgColor); media_fragment_container.setBackgroundColor(bgColor);
} }
loader.setVisibility(View.GONE); loader.setVisibility(View.GONE);
CustomWebview webview_video = Helper.initializeWebview((Activity) context, R.id.webview_video, null); imageView.setVisibility(View.GONE);
webview_video = Helper.initializeWebview((Activity) context, R.id.webview_video, rootView);
webview_video.setVisibility(View.VISIBLE); webview_video.setVisibility(View.VISIBLE);
FrameLayout webview_container = rootView.findViewById(R.id.main_media_frame); webview_container = rootView.findViewById(R.id.main_media_frame);
final ViewGroup videoLayout = rootView.findViewById(R.id.videoLayout); videoLayout = rootView.findViewById(R.id.videoLayout);
MastalabWebChromeClient mastalabWebChromeClient = new MastalabWebChromeClient((Activity) context, webview_video, webview_container, videoLayout); MastalabWebChromeClient mastalabWebChromeClient = new MastalabWebChromeClient((Activity) context, webview_video, webview_container, videoLayout);
mastalabWebChromeClient.setOnToggledFullscreen(fullscreen -> { mastalabWebChromeClient.setOnToggledFullscreen(fullscreen -> {
if (fullscreen) { if (fullscreen) {
videoLayout.setVisibility(View.VISIBLE); videoLayout.setVisibility(View.VISIBLE);
WindowManager.LayoutParams attrs = ((Activity) context).getWindow().getAttributes(); WindowManager.LayoutParams attrs = ((Activity) context).getWindow().getAttributes();
@ -333,6 +350,7 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
media_fragment_container.setBackgroundColor(bgColor); media_fragment_container.setBackgroundColor(bgColor);
} }
loader.setVisibility(View.GONE); loader.setVisibility(View.GONE);
imageView.setVisibility(View.GONE);
content_audio.setVisibility(View.VISIBLE); content_audio.setVisibility(View.VISIBLE);
int color = getResources().getColor(R.color.mastodonC1); int color = getResources().getColor(R.color.mastodonC1);
visualizerView = new GLAudioVisualizationView.Builder(context) visualizerView = new GLAudioVisualizationView.Builder(context)
@ -478,6 +496,9 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
if (playeraudio != null) { if (playeraudio != null) {
playeraudio.pause(); playeraudio.pause();
} }
if( webview_video != null) {
webview_video.onPause();
}
try { try {
visualizerView.onPause(); visualizerView.onPause();
} catch (Exception ignored) { } catch (Exception ignored) {
@ -498,6 +519,9 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
} }
} catch (Exception ignored) { } catch (Exception ignored) {
} }
if( webview_video != null) {
webview_video.destroy();
}
if (timer != null) { if (timer != null) {
timer.cancel(); timer.cancel();
timer = null; timer = null;
@ -524,6 +548,9 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
visualizerView.onResume(); visualizerView.onResume();
} catch (Exception ignored) { } catch (Exception ignored) {
} }
if( webview_video != null) {
webview_video.onResume();
}
if (slidrInterface == null && rootView != null) { if (slidrInterface == null && rootView != null) {
slidrInterface = Slidr.replace(rootView.findViewById(R.id.media_fragment_container), new SlidrConfig.Builder().sensitivity(1f) slidrInterface = Slidr.replace(rootView.findViewById(R.id.media_fragment_container), new SlidrConfig.Builder().sensitivity(1f)
.scrimColor(Color.BLACK) .scrimColor(Color.BLACK)
@ -542,6 +569,26 @@ public class MediaSliderFragment extends Fragment implements MediaPlayer.OnCompl
@Override @Override
public void onSlideChange(float percent) { public void onSlideChange(float percent) {
if( percent < 0.80 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if( percent < 0.80 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
if( imageView != null) {
imageView.setVisibility(View.VISIBLE);
}
if(content_audio != null) {
content_audio.setVisibility(View.GONE);
}
if( videoView != null) {
videoView.setVisibility(View.GONE);
}
if( webview_video != null) {
webview_video.setVisibility(View.GONE);
webview_video.destroy();
}
if( webview_container != null) {
webview_container.setVisibility(View.GONE);
}
if( videoLayout != null) {
videoLayout.setVisibility(View.GONE);
}
ActivityCompat.finishAfterTransition((AppCompatActivity) context); ActivityCompat.finishAfterTransition((AppCompatActivity) context);
} }

View File

@ -555,11 +555,6 @@
</RelativeLayout> </RelativeLayout>
<app.fedilab.android.webview.CustomWebview
android:id="@+id/status_cardview_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
<RelativeLayout <RelativeLayout

View File

@ -479,12 +479,6 @@
android:contentDescription="@string/play_video" android:contentDescription="@string/play_video"
android:src="@drawable/ic_play_arrow" /> android:src="@drawable/ic_play_arrow" />
</RelativeLayout> </RelativeLayout>
<app.fedilab.android.webview.CustomWebview
android:id="@+id/status_cardview_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
<RelativeLayout <RelativeLayout

View File

@ -431,11 +431,6 @@
android:src="@drawable/ic_play_arrow" /> android:src="@drawable/ic_play_arrow" />
</RelativeLayout> </RelativeLayout>
<app.fedilab.android.webview.CustomWebview
android:id="@+id/status_cardview_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
<RelativeLayout <RelativeLayout

View File

@ -412,12 +412,6 @@
android:src="@drawable/ic_play_arrow" /> android:src="@drawable/ic_play_arrow" />
</RelativeLayout> </RelativeLayout>
<app.fedilab.android.webview.CustomWebview
android:id="@+id/status_cardview_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</FrameLayout> </FrameLayout>
<RelativeLayout <RelativeLayout

View File

@ -39,6 +39,7 @@
</RelativeLayout> </RelativeLayout>
<FrameLayout <FrameLayout
android:id="@+id/main_media_frame"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_centerInParent="true"> android:layout_centerInParent="true">
@ -49,6 +50,12 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:visibility="gone" /> android:visibility="gone" />
</FrameLayout> </FrameLayout>
<RelativeLayout
android:id="@+id/videoLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:visibility="gone" />
<FrameLayout <FrameLayout
android:id="@+id/media_picture_container" android:id="@+id/media_picture_container"