[Android] Fix videoplayer controls visibility on RTL devices

Geoffrey Métais git at videolan.org
Thu Feb 15 10:57:05 CET 2018


vlc-android | branch: master | Geoffrey Métais <geoffrey.metais at gmail.com> | Thu Feb 15 10:52:33 2018 +0100| [16ea561c5a6686b8e81a4003918417e04d4009bb] | committer: Geoffrey Métais

Fix videoplayer controls visibility on RTL devices

> https://code.videolan.org/videolan/vlc-android/commit/16ea561c5a6686b8e81a4003918417e04d4009bb
---

 vlc-android/res/layout/player_hud.xml                     |  6 ++++--
 .../org/videolan/vlc/gui/video/VideoPlayerActivity.java   | 15 ++++++++-------
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/vlc-android/res/layout/player_hud.xml b/vlc-android/res/layout/player_hud.xml
index 27aec9d6b..427552dde 100644
--- a/vlc-android/res/layout/player_hud.xml
+++ b/vlc-android/res/layout/player_hud.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:vlc="http://schemas.android.com/apk/res-auto">
+    xmlns:vlc="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools">
     <data>
         <import type="org.videolan.medialibrary.Tools" />
         <variable
@@ -20,7 +21,8 @@
     android:background="@drawable/rounded_corners"
     android:paddingTop="@dimen/overlay_padding_top"
     android:paddingBottom="@dimen/overlay_padding_bottom"
-    android:visibility="invisible" >
+    android:visibility="invisible"
+    tools:visibility="visible" >
 
     <SeekBar
         android:id="@+id/player_overlay_seekbar"
diff --git a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
index 81169f275..9e83d9b1f 100644
--- a/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
+++ b/vlc-android/src/org/videolan/vlc/gui/video/VideoPlayerActivity.java
@@ -33,7 +33,6 @@ import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
-import android.content.SharedPreferences.Editor;
 import android.content.pm.ActivityInfo;
 import android.content.res.Configuration;
 import android.databinding.BindingAdapter;
@@ -620,17 +619,19 @@ public class VideoPlayerActivity extends AppCompatActivity implements IVLCVout.C
     public void resetHudLayout() {
         if (mHudBinding == null) return;
         final RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)mHudBinding.playerOverlayButtons.getLayoutParams();
-        int orientation = getScreenOrientation(100);
-        boolean portrait = orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ||
+        final int orientation = getScreenOrientation(100);
+        final boolean portrait = orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ||
                 orientation == ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT;
+        final int endOf = AndroidUtil.isJellyBeanMR1OrLater ? RelativeLayout.END_OF : RelativeLayout.RIGHT_OF;
+        final int startOf = AndroidUtil.isJellyBeanMR1OrLater ? RelativeLayout.START_OF : RelativeLayout.LEFT_OF;
         if (portrait) {
             layoutParams.addRule(RelativeLayout.BELOW, R.id.player_overlay_length);
-            layoutParams.addRule(RelativeLayout.RIGHT_OF, 0);
-            layoutParams.addRule(RelativeLayout.LEFT_OF, 0);
+            layoutParams.addRule(endOf, 0);
+            layoutParams.addRule(startOf, 0);
         } else {
             layoutParams.addRule(RelativeLayout.BELOW, R.id.player_overlay_seekbar);
-            layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.player_overlay_time);
-            layoutParams.addRule(RelativeLayout.LEFT_OF, R.id.player_overlay_length);
+            layoutParams.addRule(endOf, R.id.player_overlay_time);
+            layoutParams.addRule(startOf, R.id.player_overlay_length);
         }
         mHudBinding.playerOverlayButtons.setLayoutParams(layoutParams);
     }



More information about the Android mailing list