diff options
author | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2018-01-29 15:18:51 +0100 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2018-01-29 15:21:41 +0100 |
commit | 2ff6afcce2c4df59d81f9d07cd9b7ffda00da479 (patch) | |
tree | 65067b9c6dc10cd443ab2f7a520cda9e7a9be5ac /android | |
parent | daa254b71e8df81b9de1207c7fc99f73682e9447 (diff) |
tdf#89215 only process state changes after TileProvider is ready
otherwise the handling tries to access properties like fonts too early
and trigger NPEs
Change-Id: I132c02f936c7b3e70fced1e1e022a6cf803ed5ff
Diffstat (limited to 'android')
-rw-r--r-- | android/source/src/java/org/libreoffice/InvalidationHandler.java | 5 | ||||
-rw-r--r-- | android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/android/source/src/java/org/libreoffice/InvalidationHandler.java b/android/source/src/java/org/libreoffice/InvalidationHandler.java index b3b654346256..a79ecde2ad01 100644 --- a/android/source/src/java/org/libreoffice/InvalidationHandler.java +++ b/android/source/src/java/org/libreoffice/InvalidationHandler.java @@ -239,7 +239,10 @@ public class InvalidationHandler implements Document.MessageCallback, Office.Mes } final String value = parts[1]; boolean pressed = Boolean.parseBoolean(value); - + if (!mContext.getTileProvider().isReady()) { + Log.w(LOGTAG, "tile provider not ready, ignoring payload "+payload); + return; + } if (parts[0].equals(".uno:Bold")) { mContext.getFormattingController().onToggleStateChanged(Document.BOLD, pressed); } else if (parts[0].equals(".uno:Italic")) { diff --git a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java index 48722dcd9bfd..0b3f8b8e0e06 100644 --- a/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java +++ b/android/source/src/java/org/libreoffice/LibreOfficeMainActivity.java @@ -719,6 +719,10 @@ public class LibreOfficeMainActivity extends AppCompatActivity implements Settin mTileProvider = loKitTileProvider; } + public LOKitTileProvider getTileProvider() { + return mTileProvider; + } + public void savePassword(String pwd) { mPassword = pwd; synchronized (mTileProvider.getMessageCallback()) { |