android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java 
      |   17 
 
android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
 |   13 
 android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java 
       |    5 
 
android/experimental/LOAndroid3/src/java/org/libreoffice/OnSlideSwipeListener.java
    |   62 -
 android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java     
       |    5 
 
android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
  |   85 ++
 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java  
       |  349 +++++-----
 7 files changed, 282 insertions(+), 254 deletions(-)

New commits:
commit b5c0ecc7c4821df800b69aad0e14f2fddac2be96
Author: Siqi Liu <m...@siqi.fr>
Date:   Thu Mar 5 14:26:03 2015 +0100

    add getPartsCount() to TileProvider
    
    Change-Id: I8f1f61110d06333bc1140caf13d9e96e669fc231

diff --git 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
index c37fdff..6550cc2 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java
@@ -10,6 +10,7 @@ import org.libreoffice.kit.DirectBufferAllocator;
 import org.libreoffice.kit.Document;
 import org.libreoffice.kit.LibreOfficeKit;
 import org.libreoffice.kit.Office;
+import org.libreoffice.R;
 
 //import org.mozilla.gecko.TextSelection;
 //import org.mozilla.gecko.TextSelectionHandle;
@@ -19,6 +20,7 @@ import org.mozilla.gecko.gfx.GeckoLayerClient;
 import org.mozilla.gecko.gfx.IntSize;
 import org.mozilla.gecko.gfx.LayerView;
 
+
 import java.nio.ByteBuffer;
 
 /**
@@ -144,19 +146,22 @@ public class LOKitTileProvider implements TileProvider, 
Document.MessageCallback
     }
 
     @Override
+    public int getPartsCount() {
+        return mDocument.getParts();
+    }
+
+    @Override
     public void onSwipeLeft() {
-        Log.d(LOGTAG, "onSwipeLeft received");
-        if (mDocument.getDocumentType() == Document.DOCTYPE_PRESENTATION
-                && getCurrentPartNumber() < mDocument.getParts()-1) {
+        if (mDocument.getDocumentType() == Document.DOCTYPE_PRESENTATION &&
+                getCurrentPartNumber() < getPartsCount()-1) {
             LOKitShell.sendChangePartEvent(getCurrentPartNumber()+1);
         }
     }
 
     @Override
     public void onSwipeRight() {
-        Log.d(LOGTAG, "onSwipeRight received");
-        if (mDocument.getDocumentType() == Document.DOCTYPE_PRESENTATION
-                && getCurrentPartNumber() > 0) {
+        if (mDocument.getDocumentType() == Document.DOCTYPE_PRESENTATION &&
+                getCurrentPartNumber() > 0) {
             LOKitShell.sendChangePartEvent(getCurrentPartNumber()-1);
         }
     }
diff --git 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
index cb86ef0..c3cb586 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java
@@ -114,6 +114,11 @@ public class MockTileProvider implements TileProvider {
     }
 
     @Override
+    public int getPartsCount() {
+        return 0;
+    }
+
+    @Override
     public void onSwipeLeft() {
     }
 
diff --git 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
index 15a66dd..d7bcc7f 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java
@@ -43,6 +43,11 @@ public interface TileProvider {
      */
     int getCurrentPartNumber();
 
+    /**
+     * Get the total number of parts.
+     */
+    int getPartsCount();
+
     Bitmap thumbnail(int size);
 
     /**
commit da4367b2bd50f12a12b371a95bbeb4251234fb46
Author: Siqi Liu <m...@siqi.fr>
Date:   Thu Mar 5 13:58:15 2015 +0100

    tdf#89174:disable swipe gesture when zoomed in.
    
    Change-Id: I0c3a565a3ae276fb60bf99ec32941715f1556127

diff --git 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
index 176faa5..0f231b0 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
@@ -9,15 +9,19 @@ import android.view.View.OnTouchListener;
 import android.util.Log;
 
 import org.libreoffice.LOKitShell;
+import org.mozilla.gecko.gfx.GeckoLayerClient;
+import org.mozilla.gecko.gfx.ImmutableViewportMetrics;
 
 
 public class OnSlideSwipeListener implements OnTouchListener {
     private static String LOGTAG = OnSlideSwipeListener.class.getName();
 
     private final GestureDetector mGestureDetector;
+    private GeckoLayerClient mLayerClient;
 
-    public OnSlideSwipeListener(Context ctx){
+    public OnSlideSwipeListener(Context ctx, GeckoLayerClient client){
         mGestureDetector = new GestureDetector(ctx, new GestureListener());
+        mLayerClient = client;
     }
 
     private final class GestureListener extends SimpleOnGestureListener {
@@ -32,6 +36,16 @@ public class OnSlideSwipeListener implements OnTouchListener 
{
 
         @Override
         public boolean onFling(MotionEvent e1, MotionEvent e2, float velX, 
float velY) {
+            // Check if the page is already zoomed-in.
+            // Disable swiping gesture if that's the case.
+            ImmutableViewportMetrics viewportMetrics = 
mLayerClient.getViewportMetrics();
+            if (viewportMetrics.viewportRectLeft > 
viewportMetrics.pageRectLeft ||
+                    viewportMetrics.viewportRectRight < 
viewportMetrics.pageRectRight) {
+                return false;
+            }
+
+            // Otherwise, the page is smaller than viewport, perform swipe
+            // gesture.
             try {
                 float diffY = e2.getY() - e1.getY();
                 float diffX = e2.getX() - e1.getX();
diff --git 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
index 7a5ff64..c5b24fd 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
@@ -112,7 +112,7 @@ public class LayerView extends FrameLayout {
 
         createGLThread();
 
-        setOnTouchListener(new OnSlideSwipeListener(getContext()));
+        setOnTouchListener(new OnSlideSwipeListener(getContext(), 
mLayerClient));
     }
 
     public void show() {
commit d39e82008e671ec745230c18000d775d297caf4a
Author: Siqi Liu <m...@siqi.fr>
Date:   Thu Mar 5 13:25:05 2015 +0100

    refactor swipegesture to be handled by layerview
    
    Change-Id: Id094ffa7972df0477ad26b2fc579fe010e745550

diff --git 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
index d19d483..13225c3 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
@@ -145,19 +145,6 @@ public class LibreOfficeMainActivity extends LOAbout {
         LayerView layerView = (LayerView) findViewById(R.id.layer_view);
         mLayerClient.setView(layerView);
         layerView.setInputConnectionHandler(new LOKitInputConnectionHandler());
-        layerView.setOnTouchListener(new OnSlideSwipeListener(this) {
-            @Override
-            public void onSwipeRight() {
-                Log.d(LOGTAG, "onSwipeRight");
-                LOKitShell.sendSwipeRightEvent();
-            }
-
-            @Override
-            public void onSwipeLeft() {
-                Log.d(LOGTAG, "onSwipeLeft");
-                LOKitShell.sendSwipeLeftEvent();
-            }
-        });
         mLayerClient.notifyReady();
     }
 
diff --git 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/OnSlideSwipeListener.java
 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
similarity index 85%
rename from 
android/experimental/LOAndroid3/src/java/org/libreoffice/OnSlideSwipeListener.java
rename to 
android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
index b1ee37e..176faa5 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/libreoffice/OnSlideSwipeListener.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/OnSlideSwipeListener.java
@@ -1,4 +1,4 @@
-package org.libreoffice;
+package org.mozilla.gecko;
 
 import android.content.Context;
 import android.view.GestureDetector;
@@ -6,8 +6,13 @@ import android.view.GestureDetector.SimpleOnGestureListener;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.View.OnTouchListener;
+import android.util.Log;
+
+import org.libreoffice.LOKitShell;
+
 
 public class OnSlideSwipeListener implements OnTouchListener {
+    private static String LOGTAG = OnSlideSwipeListener.class.getName();
 
     private final GestureDetector mGestureDetector;
 
@@ -48,9 +53,13 @@ public class OnSlideSwipeListener implements OnTouchListener 
{
     }
 
     public void onSwipeRight() {
+        Log.d(LOGTAG, "onSwipeRight");
+        LOKitShell.sendSwipeRightEvent();
     }
 
     public void onSwipeLeft() {
+        Log.d(LOGTAG, "onSwipeLeft");
+        LOKitShell.sendSwipeLeftEvent();
     }
 
     @Override
diff --git 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
index 3f0fb78..7a5ff64 100644
--- 
a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
+++ 
b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/LayerView.java
@@ -28,6 +28,7 @@ import android.widget.FrameLayout;
 import org.libreoffice.LibreOfficeMainActivity;
 import org.libreoffice.R;
 import org.mozilla.gecko.OnInterceptTouchListener;
+import org.mozilla.gecko.OnSlideSwipeListener;
 
 /**
  * A view rendered by the layer compositor.
@@ -110,347 +111,349 @@ public class LayerView extends FrameLayout {
         setFocusableInTouchMode(true);
 
         createGLThread();
+
+        setOnTouchListener(new OnSlideSwipeListener(getContext()));
     }
 
     public void show() {
-        // Fix this if TextureView support is turned back on above
-        mSurfaceView.setVisibility(View.VISIBLE);
+            // Fix this if TextureView support is turned back on above
+            mSurfaceView.setVisibility(View.VISIBLE);
     }
 
     public void hide() {
-        // Fix this if TextureView support is turned back on above
-        mSurfaceView.setVisibility(View.INVISIBLE);
+            // Fix this if TextureView support is turned back on above
+            mSurfaceView.setVisibility(View.INVISIBLE);
     }
 
     public void destroy() {
-        if (mLayerClient != null) {
-            mLayerClient.destroy();
-        }
-        if (mRenderer != null) {
-            mRenderer.destroy();
-        }
+            if (mLayerClient != null) {
+                    mLayerClient.destroy();
+            }
+            if (mRenderer != null) {
+                    mRenderer.destroy();
+            }
     }
 
     public void setTouchIntercepter(final OnInterceptTouchListener 
touchIntercepter) {
-        // this gets run on the gecko thread, but for thread safety we want 
the assignment
-        // on the UI thread.
-        post(new Runnable() {
-            public void run() {
-                mTouchIntercepter = touchIntercepter;
-            }
-        });
+            // this gets run on the gecko thread, but for thread safety we 
want the assignment
+            // on the UI thread.
+            post(new Runnable() {
+                    public void run() {
+                            mTouchIntercepter = touchIntercepter;
+                    }
+            });
     }
 
     public void setInputConnectionHandler(InputConnectionHandler 
inputConnectionHandler) {
-        mInputConnectionHandler = inputConnectionHandler;
+            mInputConnectionHandler = inputConnectionHandler;
     }
 
     @Override
     public boolean onTouchEvent(MotionEvent event) {
-        if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
-            requestFocus();
-        }
+            if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
+                    requestFocus();
+            }
 
-        if (mTouchIntercepter != null && 
mTouchIntercepter.onInterceptTouchEvent(this, event)) {
-            return true;
-        }
-        if (mPanZoomController != null && 
mPanZoomController.onTouchEvent(event)) {
-            return true;
-        }
-        if (mTouchIntercepter != null && mTouchIntercepter.onTouch(this, 
event)) {
-            return true;
-        }
-        return false;
+            if (mTouchIntercepter != null && 
mTouchIntercepter.onInterceptTouchEvent(this, event)) {
+                    return true;
+            }
+            if (mPanZoomController != null && 
mPanZoomController.onTouchEvent(event)) {
+                    return true;
+            }
+            if (mTouchIntercepter != null && mTouchIntercepter.onTouch(this, 
event)) {
+                    return true;
+            }
+            return false;
     }
 
     @Override
     public boolean onHoverEvent(MotionEvent event) {
-        if (mTouchIntercepter != null && mTouchIntercepter.onTouch(this, 
event)) {
-            return true;
-        }
-        return false;
+            if (mTouchIntercepter != null && mTouchIntercepter.onTouch(this, 
event)) {
+                    return true;
+            }
+            return false;
     }
 
     @Override
     public boolean onGenericMotionEvent(MotionEvent event) {
-        if (mPanZoomController != null && 
mPanZoomController.onMotionEvent(event)) {
-            return true;
-        }
-        return false;
+            if (mPanZoomController != null && 
mPanZoomController.onMotionEvent(event)) {
+                    return true;
+            }
+            return false;
     }
 
     public GeckoLayerClient getLayerClient() { return mLayerClient; }
     public PanZoomController getPanZoomController() { return 
mPanZoomController; }
 
     public void setViewportSize(IntSize size) {
-        mLayerClient.setViewportSize(new FloatSize(size));
+            mLayerClient.setViewportSize(new FloatSize(size));
     }
 
     public ImmutableViewportMetrics getViewportMetrics() {
-        return mLayerClient.getViewportMetrics();
+            return mLayerClient.getViewportMetrics();
     }
 
     @Override
     public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onCreateInputConnection(outAttrs);
-        return null;
+            if (mInputConnectionHandler != null)
+                    return 
mInputConnectionHandler.onCreateInputConnection(outAttrs);
+            return null;
     }
 
     @Override
     public boolean onKeyPreIme(int keyCode, KeyEvent event) {
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onKeyPreIme(keyCode, event);
-        return false;
+            if (mInputConnectionHandler != null)
+                    return mInputConnectionHandler.onKeyPreIme(keyCode, event);
+            return false;
     }
 
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onKeyDown(keyCode, event);
-        return false;
+            if (mInputConnectionHandler != null)
+                    return mInputConnectionHandler.onKeyDown(keyCode, event);
+            return false;
     }
 
     @Override
     public boolean onKeyLongPress(int keyCode, KeyEvent event) {
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onKeyLongPress(keyCode, event);
-        return false;
+            if (mInputConnectionHandler != null)
+                    return mInputConnectionHandler.onKeyLongPress(keyCode, 
event);
+            return false;
     }
 
     @Override
     public boolean onKeyMultiple(int keyCode, int repeatCount, KeyEvent event) 
{
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onKeyMultiple(keyCode, repeatCount, 
event);
-        return false;
+            if (mInputConnectionHandler != null)
+                    return mInputConnectionHandler.onKeyMultiple(keyCode, 
repeatCount, event);
+            return false;
     }
 
     @Override
     public boolean onKeyUp(int keyCode, KeyEvent event) {
-        if (mInputConnectionHandler != null)
-            return mInputConnectionHandler.onKeyUp(keyCode, event);
-        return false;
+            if (mInputConnectionHandler != null)
+                    return mInputConnectionHandler.onKeyUp(keyCode, event);
+            return false;
     }
 
     public boolean isIMEEnabled() {
-        /*if (mInputConnectionHandler != null) {
-            return mInputConnectionHandler.isIMEEnabled();
-        }*/
-        return false;
+            /*if (mInputConnectionHandler != null) {
+              return mInputConnectionHandler.isIMEEnabled();
+              }*/
+            return false;
     }
 
     public void requestRender() {
-        if (mListener != null) {
-            mListener.renderRequested();
-        }
+            if (mListener != null) {
+                    mListener.renderRequested();
+            }
     }
 
     public void addLayer(Layer layer) {
-        mRenderer.addLayer(layer);
+            mRenderer.addLayer(layer);
     }
 
     public void removeLayer(Layer layer) {
-        mRenderer.removeLayer(layer);
+            mRenderer.removeLayer(layer);
     }
 
     public int getMaxTextureSize() {
-        return mRenderer.getMaxTextureSize();
+            return mRenderer.getMaxTextureSize();
     }
 
     public void setLayerRenderer(LayerRenderer renderer) {
-        mRenderer = renderer;
+            mRenderer = renderer;
     }
 
     public LayerRenderer getLayerRenderer() {
-        return mRenderer;
+            return mRenderer;
     }
 
     /* paintState must be a PAINT_xxx constant. The state will only be changed
      * if paintState represents a state that occurs after the current state. */
     public void setPaintState(int paintState) {
-        if (paintState > mPaintState) {
-            Log.d(LOGTAG, "LayerView paint state set to " + paintState);
-            mPaintState = paintState;
-        }
+            if (paintState > mPaintState) {
+                    Log.d(LOGTAG, "LayerView paint state set to " + 
paintState);
+                    mPaintState = paintState;
+            }
     }
 
     public int getPaintState() {
-        return mPaintState;
+            return mPaintState;
     }
 
     public LayerRenderer getRenderer() {
-        return mRenderer;
+            return mRenderer;
     }
 
     public void setListener(Listener listener) {
-        mListener = listener;
+            mListener = listener;
     }
 
     Listener getListener() {
-        return mListener;
+            return mListener;
     }
 
     public GLController getGLController() {
-        return mGLController;
+            return mGLController;
     }
 
     public Bitmap getDrawable(String name) {
-        Context context = getContext();
-        Resources resources = context.getResources();
-        String packageName = 
resources.getResourcePackageName(R.id.dummy_id_for_package_name_resolution);
-        int resourceID = resources.getIdentifier(name, "drawable", 
packageName);
-        BitmapFactory.Options options = new BitmapFactory.Options();
-        options.inScaled = false;
-        return BitmapFactory.decodeResource(context.getResources(), 
resourceID, options);
+            Context context = getContext();
+            Resources resources = context.getResources();
+            String packageName = 
resources.getResourcePackageName(R.id.dummy_id_for_package_name_resolution);
+            int resourceID = resources.getIdentifier(name, "drawable", 
packageName);
+            BitmapFactory.Options options = new BitmapFactory.Options();
+            options.inScaled = false;
+            return BitmapFactory.decodeResource(context.getResources(), 
resourceID, options);
     }
 
     Bitmap getBackgroundPattern() {
-        return getDrawable("background");
+            return getDrawable("background");
     }
 
     Bitmap getShadowPattern() {
-        return getDrawable("shadow");
+            return getDrawable("shadow");
     }
 
     private void onSizeChanged(int width, int height) {
-        mGLController.surfaceChanged(width, height);
+            mGLController.surfaceChanged(width, height);
 
-        mLayerClient.setViewportSize(new FloatSize(width, height));
+            mLayerClient.setViewportSize(new FloatSize(width, height));
 
-        if (mListener != null) {
-            mListener.surfaceChanged(width, height);
-        }
+            if (mListener != null) {
+                    mListener.surfaceChanged(width, height);
+            }
     }
 
     private void onDestroyed() {
-        mGLController.surfaceDestroyed();
+            mGLController.surfaceDestroyed();
 
-        if (mListener != null) {
-            mListener.compositionPauseRequested();
-        }
+            if (mListener != null) {
+                    mListener.compositionPauseRequested();
+            }
     }
 
     public Object getNativeWindow() {
-        if (mSurfaceView != null)
-            return mSurfaceView.getHolder();
+            if (mSurfaceView != null)
+                    return mSurfaceView.getHolder();
 
-        return mTextureView.getSurfaceTexture();
+            return mTextureView.getSurfaceTexture();
     }
 
     /** This function is invoked by Gecko (compositor thread) via JNI; be 
careful when modifying signature. */
     public static GLController registerCxxCompositor() {
-        try {
-            LayerView layerView = 
LibreOfficeMainActivity.mAppContext.getLayerClient().getView();
-            layerView.mListener.compositorCreated();
-            return layerView.getGLController();
-        } catch (Exception e) {
-            Log.e(LOGTAG, "Error registering compositor!", e);
-            return null;
-        }
+            try {
+                    LayerView layerView = 
LibreOfficeMainActivity.mAppContext.getLayerClient().getView();
+                    layerView.mListener.compositorCreated();
+                    return layerView.getGLController();
+            } catch (Exception e) {
+                    Log.e(LOGTAG, "Error registering compositor!", e);
+                    return null;
+            }
     }
 
     public interface Listener {
-        void compositorCreated();
-        void renderRequested();
-        void compositionPauseRequested();
-        void compositionResumeRequested(int width, int height);
-        void surfaceChanged(int width, int height);
+            void compositorCreated();
+            void renderRequested();
+            void compositionPauseRequested();
+            void compositionResumeRequested(int width, int height);
+            void surfaceChanged(int width, int height);
     }
 
     private class SurfaceListener implements SurfaceHolder.Callback {
-        public void surfaceChanged(SurfaceHolder holder, int format, int width,
-                                                int height) {
-            onSizeChanged(width, height);
-        }
+            public void surfaceChanged(SurfaceHolder holder, int format, int 
width,
+                            int height) {
+                    onSizeChanged(width, height);
+            }
 
-        public void surfaceCreated(SurfaceHolder holder) {
-            if (mRenderControllerThread != null) {
-                mRenderControllerThread.surfaceCreated();
+            public void surfaceCreated(SurfaceHolder holder) {
+                    if (mRenderControllerThread != null) {
+                            mRenderControllerThread.surfaceCreated();
+                    }
             }
-        }
 
-        public void surfaceDestroyed(SurfaceHolder holder) {
-            onDestroyed();
-        }
+            public void surfaceDestroyed(SurfaceHolder holder) {
+                    onDestroyed();
+            }
     }
 
     @Override
     protected void onLayout(boolean changed, int left, int top, int right, int 
bottom) {
-        super.onLayout(changed, left, top, right, bottom);
-        if (changed) {
-            setViewportSize(new IntSize(right - left, bottom - top));
-        }
+            super.onLayout(changed, left, top, right, bottom);
+            if (changed) {
+                    setViewportSize(new IntSize(right - left, bottom - top));
+            }
     }
 
     private class SurfaceTextureListener implements 
TextureView.SurfaceTextureListener {
-        public void onSurfaceTextureAvailable(SurfaceTexture surface, int 
width, int height) {
-            // We don't do this for surfaceCreated above because it is always 
followed by a surfaceChanged,
-            // but that is not the case here.
-            if (mRenderControllerThread != null) {
-                mRenderControllerThread.surfaceCreated();
+            public void onSurfaceTextureAvailable(SurfaceTexture surface, int 
width, int height) {
+                    // We don't do this for surfaceCreated above because it is 
always followed by a surfaceChanged,
+                    // but that is not the case here.
+                    if (mRenderControllerThread != null) {
+                            mRenderControllerThread.surfaceCreated();
+                    }
+                    onSizeChanged(width, height);
             }
-            onSizeChanged(width, height);
-        }
 
-        public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
-            onDestroyed();
-            return true; // allow Android to call release() on the 
SurfaceTexture, we are done drawing to it
-        }
+            public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
+                    onDestroyed();
+                    return true; // allow Android to call release() on the 
SurfaceTexture, we are done drawing to it
+            }
 
-        public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int 
width, int height) {
-            onSizeChanged(width, height);
-        }
+            public void onSurfaceTextureSizeChanged(SurfaceTexture surface, 
int width, int height) {
+                    onSizeChanged(width, height);
+            }
 
-        public void onSurfaceTextureUpdated(SurfaceTexture surface) {
-        }
+            public void onSurfaceTextureUpdated(SurfaceTexture surface) {
+            }
     }
 
     private RenderControllerThread mRenderControllerThread;
 
     public synchronized void createGLThread() {
-        if (mRenderControllerThread != null) {
-            throw new LayerViewException ("createGLThread() called with a GL 
thread already in place!");
-        }
+            if (mRenderControllerThread != null) {
+                    throw new LayerViewException ("createGLThread() called 
with a GL thread already in place!");
+            }
 
-        Log.e(LOGTAG, "### Creating GL thread!");
-        mRenderControllerThread = new RenderControllerThread(mGLController);
-        mRenderControllerThread.start();
-        setListener(mRenderControllerThread);
-        notifyAll();
+            Log.e(LOGTAG, "### Creating GL thread!");
+            mRenderControllerThread = new 
RenderControllerThread(mGLController);
+            mRenderControllerThread.start();
+            setListener(mRenderControllerThread);
+            notifyAll();
     }
 
     public synchronized Thread destroyGLThread() {
-        // Wait for the GL thread to be started.
-        Log.e(LOGTAG, "### Waiting for GL thread to be created...");
-        while (mRenderControllerThread == null) {
-            try {
-                wait();
-            } catch (InterruptedException e) {
-                throw new RuntimeException(e);
+            // Wait for the GL thread to be started.
+            Log.e(LOGTAG, "### Waiting for GL thread to be created...");
+            while (mRenderControllerThread == null) {
+                    try {
+                            wait();
+                    } catch (InterruptedException e) {
+                            throw new RuntimeException(e);
+                    }
             }
-        }
 
-        Log.e(LOGTAG, "### Destroying GL thread!");
-        Thread thread = mRenderControllerThread;
-        mRenderControllerThread.shutdown();
-        setListener(null);
-        mRenderControllerThread = null;
-        return thread;
+            Log.e(LOGTAG, "### Destroying GL thread!");
+            Thread thread = mRenderControllerThread;
+            mRenderControllerThread.shutdown();
+            setListener(null);
+            mRenderControllerThread = null;
+            return thread;
     }
 
     public static class LayerViewException extends RuntimeException {
-        public static final long serialVersionUID = 1L;
+            public static final long serialVersionUID = 1L;
 
-        LayerViewException(String e) {
-            super(e);
-        }
+            LayerViewException(String e) {
+                    super(e);
+            }
     }
 
     public void setFullScreen(boolean fullScreen) {
-        mFullScreen = fullScreen;
+            mFullScreen = fullScreen;
     }
 
     public boolean isFullScreen() {
-        return mFullScreen;
+            return mFullScreen;
     }
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to