android/source/src/java/org/libreoffice/FormattingController.java | 8 +++----- android/source/src/java/org/libreoffice/LOKitTileProvider.java | 8 -------- android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java | 1 - 3 files changed, 3 insertions(+), 14 deletions(-)
New commits: commit a3f682f90f85d69270f4d10ee1d661f25257bf21 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Fri May 21 15:44:46 2021 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Fri May 21 21:59:01 2021 +0200 tdf#106370 android: Make inserting pictures work Instead of just setting LibreOfficeMainActivity's 'pendingInsertGraphic' member when inserting an image, call the method responsible for asking what compression to apply, doing the actual compression and sending the event so the picture is actually inserted right away. 'LibreOfficeMainActivity#pendingInsertGraphic' is (by now) only evaluated in 'LOKitTileProvider' when the document is initially loaded, therefore just setting it had no effect. The more complicated handling used previously instead of just inserting the picture right away was probably necessary/used because 'LibreOfficeMainActivity#onStart' used to reload the whole document before commit 1bc42472200c32c9a0a10dd1c3cd6c6a8a5d47d2 Author: Michael Weghorn <m.wegh...@posteo.de> Date: Fri Apr 9 13:59:43 2021 +0200 tdf#95517 android: Rework app/doc lifecycle handling and that was called when returning to the main activity from the picture chooser. (That is just a guess, I didn't actually verify this). While this fix probably doesn't have much to do with what caused that functionality to not work back in 2018, when most of the feature was introduced but it did not yet fully work as mentioned in commit 8d977511e3ab755da65d34a0bd618ef3c9db90c7 Date: Mon Aug 14 11:41:30 2017 -0500 tdf#106370 Android: add ability to insert pictures Added ability to insert pictures to Android Viewer. You can take photo or select photo from device or the cloud (Google photos, Dropbox). You can also compress the picture before inserting it with multiple compress grades. So far, inserting doesn't work for Writer due LO native library issues (I think). it still makes inserting pictures "just work" by now. Change-Id: Idad9dcbba177ea12f056bc31bd6b9c08621062cf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115932 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/android/source/src/java/org/libreoffice/FormattingController.java b/android/source/src/java/org/libreoffice/FormattingController.java index a729e357bfe9..9259b2ea6cae 100644 --- a/android/source/src/java/org/libreoffice/FormattingController.java +++ b/android/source/src/java/org/libreoffice/FormattingController.java @@ -421,15 +421,14 @@ class FormattingController implements View.OnClickListener { void handleActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == TAKE_PHOTO && resultCode == Activity.RESULT_OK) { - mContext.pendingInsertGraphic = true; + compressAndInsertImage(); } else if (requestCode == SELECT_PHOTO && resultCode == Activity.RESULT_OK) { getFileFromURI(data.getData()); - mContext.pendingInsertGraphic = true; + compressAndInsertImage(); } } - // Called by LOKitTileProvider when activity is resumed from photo/gallery/camera/cloud apps - void popCompressImageGradeSelection() { + void compressAndInsertImage() { AlertDialog.Builder builder = new AlertDialog.Builder(mContext); String[] options = {mContext.getResources().getString(R.string.compress_photo_smallest_size), mContext.getResources().getString(R.string.compress_photo_medium_size), @@ -493,7 +492,6 @@ class FormattingController implements View.OnClickListener { LOKitShell.sendEvent(new LOEvent(LOEvent.UNO_COMMAND, ".uno:InsertGraphic", rootJson.toString())); LOKitShell.sendEvent(new LOEvent(LOEvent.REFRESH)); mContext.setDocumentChanged(true); - mContext.pendingInsertGraphic = false; } private void compressImage(int grade) { diff --git a/android/source/src/java/org/libreoffice/LOKitTileProvider.java b/android/source/src/java/org/libreoffice/LOKitTileProvider.java index 1c04fbe5a43a..579162931d3a 100644 --- a/android/source/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/source/src/java/org/libreoffice/LOKitTileProvider.java @@ -160,14 +160,6 @@ class LOKitTileProvider implements TileProvider { mContext.getDocumentPartViewListAdapter().notifyDataSetChanged(); } }); - mContext.runOnUiThread(new Runnable() { - @Override - public void run() { - if (mContext.pendingInsertGraphic) { - mContext.getFormattingController().popCompressImageGradeSelection(); - } - } - }); } public void addPart(){ diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index 3927cc744eb4..5ce176716d66 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -101,7 +101,6 @@ public class LibreOfficeMainActivity extends AppCompatActivity implements Settin private String mPassword; private boolean mPasswordProtected; private boolean mbSkipNextRefresh; - public boolean pendingInsertGraphic; // boolean indicating a pending insert graphic action, used in LOKitTileProvider.postLoad() public GeckoLayerClient getLayerClient() { return mLayerClient; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits