Commit f83a1b56 authored by DrKLO's avatar DrKLO
parent dff98476
...@@ -80,7 +80,7 @@ android { ...@@ -80,7 +80,7 @@ android {
defaultConfig { defaultConfig {
minSdkVersion 8 minSdkVersion 8
targetSdkVersion 19 targetSdkVersion 19
versionCode 331 versionCode 332
versionName "1.9.0" versionName "1.9.0"
} }
} }
...@@ -1364,7 +1364,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not ...@@ -1364,7 +1364,7 @@ public class ChatActivity extends BaseFragment implements NotificationCenter.Not
args.putString("videoPath", videoPath); args.putString("videoPath", videoPath);
VideoEditorActivity fragment = new VideoEditorActivity(args); VideoEditorActivity fragment = new VideoEditorActivity(args);
fragment.setDelegate(this); fragment.setDelegate(this);
presentFragment(fragment); presentFragment(fragment, false, true);
} else { } else {
processSendingVideo(videoPath, 0, 0, 0, 0, null); processSendingVideo(videoPath, 0, 0, 0, 0, null);
} }
......
...@@ -629,7 +629,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen ...@@ -629,7 +629,7 @@ public class ChatProfileActivity extends BaseFragment implements NotificationCen
count = info.participants.size(); count = info.participants.size();
} }
if (count != 0 && onlineCount > 0) { if (count != 0 && onlineCount > 1) {
onlineText.setText(Html.fromHtml(String.format("%s, <font color='#357aa8'>%d %s</font>", LocaleController.formatPluralString("Members", count), onlineCount, LocaleController.getString("Online", R.string.Online)))); onlineText.setText(Html.fromHtml(String.format("%s, <font color='#357aa8'>%d %s</font>", LocaleController.formatPluralString("Members", count), onlineCount, LocaleController.getString("Online", R.string.Online))));
} else { } else {
onlineText.setText(LocaleController.formatPluralString("Members", count)); onlineText.setText(LocaleController.formatPluralString("Members", count));
......
...@@ -760,15 +760,16 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa ...@@ -760,15 +760,16 @@ public class LaunchActivity extends Activity implements ActionBarLayout.ActionBa
public void fixLayout() { public void fixLayout() {
if (AndroidUtilities.isTablet()) { if (AndroidUtilities.isTablet()) {
final ViewTreeObserver obs = actionBarLayout.getViewTreeObserver(); actionBarLayout.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
obs.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override @Override
public void onGlobalLayout() { public void onGlobalLayout() {
needLayout(); needLayout();
if (Build.VERSION.SDK_INT < 16) { if (actionBarLayout != null) {
obs.removeGlobalOnLayoutListener(this); if (Build.VERSION.SDK_INT < 16) {
} else { actionBarLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
obs.removeOnGlobalLayoutListener(this); } else {
actionBarLayout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
} }
} }
}); });
......
...@@ -12,6 +12,7 @@ import android.annotation.TargetApi; ...@@ -12,6 +12,7 @@ import android.annotation.TargetApi;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.graphics.SurfaceTexture; import android.graphics.SurfaceTexture;
import android.media.MediaPlayer; import android.media.MediaPlayer;
import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.view.Gravity; import android.view.Gravity;
import android.view.LayoutInflater; import android.view.LayoutInflater;
...@@ -76,6 +77,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -76,6 +77,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
private final Object sync = new Object(); private final Object sync = new Object();
private Thread thread = null; private Thread thread = null;
private long createTime = 0;
private int rotationValue = 0; private int rotationValue = 0;
private int originalWidth = 0; private int originalWidth = 0;
...@@ -106,7 +108,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -106,7 +108,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
AndroidUtilities.RunOnUIThread(new Runnable() { AndroidUtilities.RunOnUIThread(new Runnable() {
@Override @Override
public void run() { public void run() {
if (videoPlayer.isPlaying()) { if (videoPlayer != null && videoPlayer.isPlaying()) {
float startTime = videoTimelineView.getLeftProgress() * videoDuration; float startTime = videoTimelineView.getLeftProgress() * videoDuration;
float endTime = videoTimelineView.getRightProgress() * videoDuration; float endTime = videoTimelineView.getRightProgress() * videoDuration;
if (startTime == endTime) { if (startTime == endTime) {
...@@ -186,6 +188,15 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -186,6 +188,15 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
if (videoTimelineView != null) { if (videoTimelineView != null) {
videoTimelineView.destroy(); videoTimelineView.destroy();
} }
if (videoPlayer != null) {
try {
videoPlayer.stop();
videoPlayer.release();
videoPlayer = null;
} catch (Exception e) {
FileLog.e("tmessages", e);
}
}
super.onFragmentDestroy(); super.onFragmentDestroy();
} }
...@@ -323,13 +334,15 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -323,13 +334,15 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
parent.removeView(fragmentView); parent.removeView(fragmentView);
} }
} }
fixLayoutInternal();
createTime = System.currentTimeMillis();
return fragmentView; return fragmentView;
} }
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
fixLayout(); fixLayoutInternal();
} }
@Override @Override
...@@ -479,64 +492,77 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -479,64 +492,77 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
textureView.setLayoutParams(layoutParams); textureView.setLayoutParams(layoutParams);
} }
private void fixLayoutInternal() {
if (!AndroidUtilities.isTablet() && getParentActivity().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) videoContainerView.getLayoutParams();
layoutParams.topMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(16);
layoutParams.width = AndroidUtilities.displaySize.x / 3 - AndroidUtilities.dp(24);
layoutParams.leftMargin = AndroidUtilities.dp(16);
videoContainerView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) controlView.getLayoutParams();
layoutParams.topMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = 0;
layoutParams.width = AndroidUtilities.displaySize.x / 3 * 2 - AndroidUtilities.dp(32);
layoutParams.leftMargin = AndroidUtilities.displaySize.x / 3 + AndroidUtilities.dp(16);
layoutParams.gravity = Gravity.TOP;
controlView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) textContainerView.getLayoutParams();
layoutParams.width = AndroidUtilities.displaySize.x / 3 * 2 - AndroidUtilities.dp(32);
layoutParams.leftMargin = AndroidUtilities.displaySize.x / 3 + AndroidUtilities.dp(16);
layoutParams.rightMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(16);
textContainerView.setLayoutParams(layoutParams);
} else {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) videoContainerView.getLayoutParams();
layoutParams.topMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(260);
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = 0;
videoContainerView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) controlView.getLayoutParams();
layoutParams.topMargin = 0;
layoutParams.leftMargin = 0;
layoutParams.bottomMargin = AndroidUtilities.dp(150);
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.gravity = Gravity.BOTTOM;
controlView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) textContainerView.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(16);
layoutParams.rightMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(16);
textContainerView.setLayoutParams(layoutParams);
}
fixVideoSize();
videoTimelineView.clearFrames();
}
private void fixLayout() { private void fixLayout() {
if (originalSizeTextView == null) { if (originalSizeTextView == null) {
return; return;
} }
originalSizeTextView.getViewTreeObserver().addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { if (createTime < System.currentTimeMillis() - 3000) {
@Override originalSizeTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
public boolean onPreDraw() { @Override
originalSizeTextView.getViewTreeObserver().removeOnPreDrawListener(this); public void onGlobalLayout() {
if (!AndroidUtilities.isTablet() && getParentActivity().getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { if (originalSizeTextView != null) {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) videoContainerView.getLayoutParams(); if (Build.VERSION.SDK_INT < 16) {
layoutParams.topMargin = AndroidUtilities.dp(16); originalSizeTextView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
layoutParams.bottomMargin = AndroidUtilities.dp(16); } else {
layoutParams.width = AndroidUtilities.displaySize.x / 3 - AndroidUtilities.dp(24); originalSizeTextView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
layoutParams.leftMargin = AndroidUtilities.dp(16); }
videoContainerView.setLayoutParams(layoutParams); }
fixLayoutInternal();
layoutParams = (FrameLayout.LayoutParams) controlView.getLayoutParams();
layoutParams.topMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = 0;
layoutParams.width = AndroidUtilities.displaySize.x / 3 * 2 - AndroidUtilities.dp(32);
layoutParams.leftMargin = AndroidUtilities.displaySize.x / 3 + AndroidUtilities.dp(16);
layoutParams.gravity = Gravity.TOP;
controlView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) textContainerView.getLayoutParams();
layoutParams.width = AndroidUtilities.displaySize.x / 3 * 2 - AndroidUtilities.dp(32);
layoutParams.leftMargin = AndroidUtilities.displaySize.x / 3 + AndroidUtilities.dp(16);
layoutParams.rightMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(16);
textContainerView.setLayoutParams(layoutParams);
} else {
FrameLayout.LayoutParams layoutParams = (FrameLayout.LayoutParams) videoContainerView.getLayoutParams();
layoutParams.topMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(260);
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = 0;
videoContainerView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) controlView.getLayoutParams();
layoutParams.topMargin = 0;
layoutParams.leftMargin = 0;
layoutParams.bottomMargin = AndroidUtilities.dp(150);
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.gravity = Gravity.BOTTOM;
controlView.setLayoutParams(layoutParams);
layoutParams = (FrameLayout.LayoutParams) textContainerView.getLayoutParams();
layoutParams.width = FrameLayout.LayoutParams.MATCH_PARENT;
layoutParams.leftMargin = AndroidUtilities.dp(16);
layoutParams.rightMargin = AndroidUtilities.dp(16);
layoutParams.bottomMargin = AndroidUtilities.dp(16);
textContainerView.setLayoutParams(layoutParams);
} }
fixVideoSize(); });
videoTimelineView.clearFrames(); } else {
return false; fixLayoutInternal();
} }
});
} }
private void play() { private void play() {
...@@ -571,7 +597,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur ...@@ -571,7 +597,7 @@ public class VideoEditorActivity extends BaseFragment implements TextureView.Sur
}); });
videoPlayer.start(); videoPlayer.start();
synchronized (sync) { synchronized (sync) {
if (thread != null) { if (thread == null) {
thread = new Thread(progressRunnable); thread = new Thread(progressRunnable);
thread.start(); thread.start();
} }
......
...@@ -69,7 +69,7 @@ public class AvatarUpdater implements NotificationCenter.NotificationCenterDeleg ...@@ -69,7 +69,7 @@ public class AvatarUpdater implements NotificationCenter.NotificationCenterDeleg
public void openGallery() { public void openGallery() {
try { try {
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); Intent photoPickerIntent = new Intent(Intent.ACTION_GET_CONTENT);
photoPickerIntent.setType("image/*"); photoPickerIntent.setType("image/*");
parentFragment.getParentActivity().startActivityForResult(photoPickerIntent, 14); parentFragment.getParentActivity().startActivityForResult(photoPickerIntent, 14);
} catch (Exception e) { } catch (Exception e) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment