summaryrefslogtreecommitdiffstats
path: root/android
diff options
context:
space:
mode:
authorTomaž Vajngerl <tomaz.vajngerl@collabora.co.uk>2015-03-31 18:20:25 +0900
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-04-07 09:18:04 +0200
commit626e1a2d6d3c3ca1e50515fa591e1888f1beb67c (patch)
tree5a27d8d01e20f38223c584d5f248dada5d795b28 /android
parentandroid: register TextSelection & TextCursorLayer once at creation (diff)
downloadcore-626e1a2d6d3c3ca1e50515fa591e1888f1beb67c.tar.gz
core-626e1a2d6d3c3ca1e50515fa591e1888f1beb67c.zip
android: set layerView to TextCursorView{Layer} when available
Change-Id: I3dbb7747ad6d5ce44ca286023e6c8fbc5a19a6b7
Diffstat (limited to 'android')
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java13
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java4
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java18
3 files changed, 17 insertions, 18 deletions
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
index 9b1426572f47..c3453bb751b5 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LibreOfficeMainActivity.java
@@ -155,18 +155,19 @@ public class LibreOfficeMainActivity extends ActionBarActivity {
sLOKitThread.clearQueue();
}
- mTextSelection = new TextSelection(mAppContext);
- mTextCursorLayer = new TextCursorLayer(mAppContext);
-
mLayerClient = new GeckoLayerClient(this);
mLayerClient.setZoomConstraints(new ZoomConstraints(true));
LayerView layerView = (LayerView) findViewById(R.id.layer_view);
- // register TextSelection and TextCursorLayer in LayerView
mLayerClient.setView(layerView);
- layerView.addLayer(mTextSelection);
- layerView.addLayer(mTextCursorLayer);
layerView.setInputConnectionHandler(new LOKitInputConnectionHandler());
mLayerClient.notifyReady();
+
+ // create and register TextSelection in LayerView
+ mTextSelection = new TextSelection(mAppContext);
+ layerView.addLayer(mTextSelection);
+
+ // create TextCursorLayer
+ mTextCursorLayer = new TextCursorLayer(mAppContext, layerView);
}
private boolean copyFileToTemp() {
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java
index 2429ad3662a9..9c4ab8120a3a 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorLayer.java
@@ -32,11 +32,13 @@ public class TextCursorLayer extends Layer {
private float mViewTop;
private float mViewZoom;
- public TextCursorLayer(Activity context) {
+ public TextCursorLayer(Activity context, LayerView layerView) {
mCursorView = (TextCursorView) context.findViewById(R.id.text_cursor_view);
if (mCursorView == null) {
Log.e(LOGTAG, "Failed to initialize TextCursorLayer - CursorView is null");
}
+ layerView.addLayer(this);
+ mCursorView.initialize(layerView);
}
/**
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
index af3237ea3bdb..319ea3530fda 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/overlay/TextCursorView.java
@@ -57,25 +57,23 @@ public class TextCursorView extends View implements View.OnTouchListener {
public TextCursorView(Context context) {
super(context);
- initialize();
}
public TextCursorView(Context context, AttributeSet attrs) {
super(context, attrs);
- initialize();
}
public TextCursorView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- initialize();
}
/**
* Initialize the selection and cursor view.
*/
- private void initialize() {
+ public void initialize(LayerView layerView) {
if (!mInitialized) {
setOnTouchListener(this);
+ mLayerView = layerView;
mCursorPaint.setColor(Color.BLACK);
mCursorPaint.setAlpha(0xFF);
@@ -100,15 +98,9 @@ public class TextCursorView extends View implements View.OnTouchListener {
* @param position - new position of the cursor
*/
public void changeCursorPosition(RectF position) {
- LayerView layerView = LOKitShell.getLayerView();
- if (layerView == null) {
- Log.e(LOGTAG, "Can't position cursor because layerView is null");
- return;
- }
-
mCursorPosition = position;
- ImmutableViewportMetrics metrics = layerView.getViewportMetrics();
+ ImmutableViewportMetrics metrics = mLayerView.getViewportMetrics();
repositionWithViewport(metrics.viewportRectLeft, metrics.viewportRectTop, metrics.zoomFactor);
}
@@ -287,6 +279,10 @@ public class TextCursorView extends View implements View.OnTouchListener {
}
return false;
}
+
+ public void setLayerView(LayerView layerView) {
+ this.mLayerView = layerView;
+ }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */