[Libreoffice-commits] online.git: 2 commits - android/app android/lib loleaflet/po
android/app/src/main/res/values-id/strings.xml | 15 +- android/lib/src/main/res/values-cs/strings.xml |1 android/lib/src/main/res/values-cy/strings.xml |1 android/lib/src/main/res/values-dsb/strings.xml|1 android/lib/src/main/res/values-el/strings.xml |1 android/lib/src/main/res/values-eo/strings.xml |3 android/lib/src/main/res/values-eu/strings.xml |1 android/lib/src/main/res/values-fr/strings.xml |1 android/lib/src/main/res/values-hsb/strings.xml|1 android/lib/src/main/res/values-hu/strings.xml |1 android/lib/src/main/res/values-id/strings.xml |1 android/lib/src/main/res/values-it/strings.xml |1 android/lib/src/main/res/values-nb-rNO/strings.xml |1 android/lib/src/main/res/values-pl/strings.xml |1 android/lib/src/main/res/values-sl/strings.xml |1 android/lib/src/main/res/values-uk/strings.xml |1 android/lib/src/main/res/values-zh-rCN/strings.xml |1 loleaflet/po/help-ca-valencia.po | 104 ++--- loleaflet/po/help-eo.po| 128 - loleaflet/po/help-id.po| 31 +--- loleaflet/po/help-tr.po|6 loleaflet/po/ios-id.po | 15 +- loleaflet/po/ui-ab.po | 12 + loleaflet/po/ui-af.po | 12 + loleaflet/po/ui-am.po | 12 + loleaflet/po/ui-an.po | 14 + loleaflet/po/ui-anp.po | 12 + loleaflet/po/ui-ar.po | 12 + loleaflet/po/ui-as.po | 12 + loleaflet/po/ui-ast.po | 18 +- loleaflet/po/ui-az.po | 12 + loleaflet/po/ui-bar.po | 12 + loleaflet/po/ui-be.po | 12 + loleaflet/po/ui-bg.po | 14 + loleaflet/po/ui-bm.po | 12 + loleaflet/po/ui-bn.po | 12 + loleaflet/po/ui-bn_IN.po | 12 + loleaflet/po/ui-bo.po | 12 + loleaflet/po/ui-br.po | 12 + loleaflet/po/ui-brx.po | 12 + loleaflet/po/ui-bs.po | 12 + loleaflet/po/ui-ca-valencia.po | 70 - loleaflet/po/ui-ca.po | 14 + loleaflet/po/ui-ce.po | 12 + loleaflet/po/ui-cs.po | 20 ++ loleaflet/po/ui-cy.po | 20 ++ loleaflet/po/ui-da.po | 12 + loleaflet/po/ui-de.po | 14 + loleaflet/po/ui-dgo.po | 12 + loleaflet/po/ui-dsb.po | 14 + loleaflet/po/ui-dz.po | 12 + loleaflet/po/ui-el.po | 52 -- loleaflet/po/ui-en_AU.po | 12 + loleaflet/po/ui-en_GB.po | 14 + loleaflet/po/ui-en_ZA.po | 12 + loleaflet/po/ui-eo.po | 20 ++ loleaflet/po/ui-es.po | 14 + loleaflet/po/ui-et.po | 12 + loleaflet/po/ui-eu.po | 14 + loleaflet/po/ui-fa.po | 12 + loleaflet/po/ui-fi.po | 14 + loleaflet/po/ui-fr.po | 14 + loleaflet/po/ui-fur.po | 12 + loleaflet/po/ui-fy.po | 12 + loleaflet/po/ui-ga.po | 12 + loleaflet/po/ui-gbm.po | 12 + loleaflet/po/ui-gd.po | 12 + loleaflet/po/ui-gl.po | 14 + loleaflet/po/ui-gu.po | 12 + loleaflet/po/ui-gug.po | 12 + loleaflet/po/ui-he.po | 14 + loleaflet/po/ui-hi.po | 12 + loleaflet/po/ui-hr.po | 14 + loleaflet/po/ui-hsb.po | 14 + loleaflet/po/ui-hu.po | 36 ++-- loleaflet/po/ui-hy.po | 12 + loleaflet/po/ui-id.po | 157 + loleaflet/po/ui-is.po | 14 + loleaflet/po/ui-it.po | 20 ++ loleaflet/po/ui-ja.po | 12 + loleaflet/po/ui-jv.po | 12 +
[Libreoffice-commits] online.git: 2 commits - android/app ios/Mobile
android/app/src/main/AndroidManifest.xml |1 - ios/Mobile/Info.plist.in |2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) New commits: commit 61ad718671b7a317573017120ce9ff9e664d868c Author: Jan Holesovsky AuthorDate: Tue Apr 7 20:47:15 2020 +0200 Commit: Andras Timar CommitDate: Tue Apr 7 21:04:08 2020 +0200 Revert "Force portrait for the moment also for iPhone in the iOS app" Landscape is supposedly working fine now. This reverts commit d474f060409328c1f40c63074396b1bc579de72e. Change-Id: I28e6d521ee0c4906e07b99b8cc6c24761b20f2b3 Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91849 Tested-by: Jenkins CollaboraOffice Reviewed-by: Andras Timar diff --git a/ios/Mobile/Info.plist.in b/ios/Mobile/Info.plist.in index c5b9ea0df..b210255bf 100644 --- a/ios/Mobile/Info.plist.in +++ b/ios/Mobile/Info.plist.in @@ -430,6 +430,8 @@ UISupportedInterfaceOrientations UIInterfaceOrientationPortrait +UIInterfaceOrientationLandscapeLeft +UIInterfaceOrientationLandscapeRight UISupportedInterfaceOrientations~ipad commit af4e93010715bb25d68ecf165ec051b293335186 Author: Jan Holesovsky AuthorDate: Tue Apr 7 17:08:19 2020 +0200 Commit: Andras Timar CommitDate: Tue Apr 7 21:03:59 2020 +0200 Revert "android: Force portrait for the moment." Landscape is OK again. This reverts commit db585f8c64b32ba423f5c311ddd04d39809d34b4. Change-Id: I82cafe8229a5c170eee66467ad15dbdab668f1dd Reviewed-on: https://gerrit.libreoffice.org/c/online/+/91843 Tested-by: Jenkins CollaboraOffice Reviewed-by: Andras Timar diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index ecda89bbb..6912a0b57 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -51,7 +51,6 @@ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] online.git: 2 commits - android/app
android/app/src/main/res/drawable/ic_sort_black_24dp.xml | 13 -- android/app/src/main/res/drawable/ic_sort_by_alpha_black_24dp.xml |9 ++ android/app/src/main/res/menu/view_menu.xml |2 - android/app/src/main/res/values/arrays.xml|4 +-- 4 files changed, 12 insertions(+), 16 deletions(-) New commits: commit 3ecc73d37ff5d57050ccb6f29028a7a3c51a8fcc Author: Jan Holesovsky AuthorDate: Fri Dec 6 16:06:38 2019 +0100 Commit: Jan Holesovsky CommitDate: Fri Dec 6 23:35:55 2019 +0100 android: Set only English as the supported language for now. Change-Id: I55a66b8e8f83252267fb9959cf563bc584fe682d Reviewed-on: https://gerrit.libreoffice.org/84645 Reviewed-by: Jan Holesovsky Tested-by: Jenkins CollaboraOffice diff --git a/android/app/src/main/res/values/arrays.xml b/android/app/src/main/res/values/arrays.xml index 116e7a4fc..7adfbd56d 100644 --- a/android/app/src/main/res/values/arrays.xml +++ b/android/app/src/main/res/values/arrays.xml @@ -10,7 +10,7 @@ en -tr + 0 @@ -38,7 +38,7 @@ English -Turkçe + @string/sort_az commit 4ca81d1b2c02b996f2a47aa8938875213a74f0f6 Author: Jan Holesovsky AuthorDate: Fri Dec 6 16:00:16 2019 +0100 Commit: Jan Holesovsky CommitDate: Fri Dec 6 23:35:49 2019 +0100 android: Change the sort icon to distinguish it from the other. Recommended by Pedro - thank you! Change-Id: Ic4e0f42566a8d565d14c359cd479edf5ddc62525 Reviewed-on: https://gerrit.libreoffice.org/84643 Reviewed-by: Jan Holesovsky Tested-by: Jenkins CollaboraOffice diff --git a/android/app/src/main/res/drawable/ic_sort_black_24dp.xml b/android/app/src/main/res/drawable/ic_sort_black_24dp.xml deleted file mode 100644 index d582deea6..0 --- a/android/app/src/main/res/drawable/ic_sort_black_24dp.xml +++ /dev/null @@ -1,13 +0,0 @@ - - -http://schemas.android.com/apk/res/android;> - - diff --git a/android/app/src/main/res/drawable/ic_sort_by_alpha_black_24dp.xml b/android/app/src/main/res/drawable/ic_sort_by_alpha_black_24dp.xml new file mode 100644 index 0..97bf945e8 --- /dev/null +++ b/android/app/src/main/res/drawable/ic_sort_by_alpha_black_24dp.xml @@ -0,0 +1,9 @@ +http://schemas.android.com/apk/res/android; +android:width="24dp" +android:height="24dp" +android:viewportWidth="24.0" +android:viewportHeight="24.0"> + + diff --git a/android/app/src/main/res/menu/view_menu.xml b/android/app/src/main/res/menu/view_menu.xml index 67f059647..f7dfa6521 100644 --- a/android/app/src/main/res/menu/view_menu.xml +++ b/android/app/src/main/res/menu/view_menu.xml @@ -32,7 +32,7 @@ ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] online.git: 2 commits - android/app android/lib
android/app/src/main/AndroidManifest.xml |6 +-- android/app/src/main/java/org/libreoffice/androidapp/AboutDialogFragment.java |4 +- android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java | 17 -- android/app/src/main/java/org/libreoffice/androidapp/ui/LibreOfficeUIActivity.java | 10 ++--- android/app/src/main/res/layout/activity_show_html.xml |2 - android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java | 10 ++--- 6 files changed, 17 insertions(+), 32 deletions(-) New commits: commit 1d549fa9dd423d91cba23ea10acc2d8a36ef5122 Author: Jan Holesovsky AuthorDate: Tue Jul 23 12:38:41 2019 +0200 Commit: Jan Holesovsky CommitDate: Tue Jul 23 12:40:09 2019 +0200 android: Obviously we need to request for writing, not only reading. Change-Id: I68927593bd17a6ee6de0c1d879d6b05372c1350e diff --git a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java index 3d6838a12..ce1243348 100644 --- a/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java +++ b/android/lib/src/main/java/org/libreoffice/androidlib/LOActivity.java @@ -64,7 +64,7 @@ public class LOActivity extends AppCompatActivity { final static String TAG = "LOActivity"; private static final String ASSETS_EXTRACTED_PREFS_KEY = "ASSETS_EXTRACTED"; -private static final int PERMISSION_READ_EXTERNAL_STORAGE = 777; +private static final int PERMISSION_WRITE_EXTERNAL_STORAGE = 777; private static final String KEY_ENABLE_SHOW_DEBUG_INFO = "ENABLE_SHOW_DEBUG_INFO"; private static final String KEY_PROVIDER_ID = "providerID"; @@ -327,11 +327,11 @@ public class LOActivity extends AppCompatActivity { } }); -if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { +if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { Log.i(TAG, "asking for read storage permission"); ActivityCompat.requestPermissions(this, -new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, -PERMISSION_READ_EXTERNAL_STORAGE); +new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, +PERMISSION_WRITE_EXTERNAL_STORAGE); } else { loadDocument(); } @@ -352,7 +352,7 @@ public class LOActivity extends AppCompatActivity { @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { switch (requestCode) { -case PERMISSION_READ_EXTERNAL_STORAGE: +case PERMISSION_WRITE_EXTERNAL_STORAGE: if (permissions.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { loadDocument(); } else { commit a04ed68104b3091ebac767fdd5f4157596135a87 Author: Jan Holesovsky AuthorDate: Tue Jul 23 09:46:04 2019 +0200 Commit: Jan Holesovsky CommitDate: Tue Jul 23 12:40:09 2019 +0200 android: No need for the extra wrapper, use the LOActivity directly. Change-Id: Ie4afaedcc3b255c83c570acea02101d284e85653 diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 8a776f3be..ae17c0878 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ android:supportsRtl="true" android:theme="@style/LibreOfficeTheme"> - @@ -43,7 +43,7 @@ - + @@ -128,4 +128,4 @@ android:theme="@style/Theme.AppCompat.Light" /> - \ No newline at end of file + diff --git a/android/app/src/main/java/org/libreoffice/androidapp/AboutDialogFragment.java b/android/app/src/main/java/org/libreoffice/androidapp/AboutDialogFragment.java index 397cde677..d101c2914 100644 --- a/android/app/src/main/java/org/libreoffice/androidapp/AboutDialogFragment.java +++ b/android/app/src/main/java/org/libreoffice/androidapp/AboutDialogFragment.java @@ -25,6 +25,8 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.fragment.app.DialogFragment; +import org.libreoffice.androidlib.LOActivity; + public class AboutDialogFragment extends DialogFragment { private static final String DEFAULT_DOC_PATH = "/assets/example.odt"; @@ -103,7 +105,7 @@ public class AboutDialogFragment extends DialogFragment { .setNeutralButton(R.string.about_moreinfo, new DialogInterface.OnClickListener() { @Override
[Libreoffice-commits] online.git: 2 commits - android/app loleaflet/src
android/app/src/main/cpp/androidapp.cpp|2 - android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java | 15 -- loleaflet/src/control/Control.Toolbar.js | 10 +++--- 3 files changed, 19 insertions(+), 8 deletions(-) New commits: commit 720fffedf28b177c42498eb35daedd78a80e4251 Author: Jan Holesovsky AuthorDate: Wed May 22 10:14:01 2019 +0200 Commit: Jan Holesovsky CommitDate: Wed May 22 10:16:12 2019 +0200 mobile: Avoid uncaught exceptions when some toolbars don't exist at all. Change-Id: Ie29c2cdf83bce5d65bf64cd982917186f7adbc8e diff --git a/loleaflet/src/control/Control.Toolbar.js b/loleaflet/src/control/Control.Toolbar.js index 648eb338a..17cf8381a 100644 --- a/loleaflet/src/control/Control.Toolbar.js +++ b/loleaflet/src/control/Control.Toolbar.js @@ -91,23 +91,23 @@ function onClick(e, id, item, subItem) { var toolbar = w2ui['editbar']; item = toolbar.get(id); } - else if (w2ui.formulabar.get(id) !== null) { - toolbar = w2ui.formulabar; + else if ('formulabar' in w2ui && w2ui['formulabar'].get(id) !== null) { + toolbar = w2ui['formulabar']; item = toolbar.get(id); } else if ('document-signing-bar' in w2ui && w2ui['document-signing-bar'].get(id) !== null) { toolbar = w2ui['document-signing-bar']; item = toolbar.get(id); } - else if (w2ui['actionbar'].get(id) !== null) { + else if ('actionbar' in w2ui && w2ui['actionbar'].get(id) !== null) { toolbar = w2ui['actionbar']; item = toolbar.get(id); } - else if (w2ui['spreadsheet-toolbar'].get(id) !== null) { + else if ('spreadsheet-toolbar' in w2ui && w2ui['spreadsheet-toolbar'].get(id) !== null) { toolbar = w2ui['spreadsheet-toolbar']; item = toolbar.get(id); } - else if (w2ui['presentation-toolbar'].get(id) !== null) { + else if ('presentation-toolbar' in w2ui && w2ui['presentation-toolbar'].get(id) !== null) { toolbar = w2ui['presentation-toolbar']; item = toolbar.get(id); } commit 4bf4ba0212241540c3d8be3a72a5fd4d25675f89 Author: Florin Ciornei AuthorDate: Fri Mar 29 18:23:16 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed May 22 10:16:11 2019 +0200 android: Implement returning using the back button Pressing back button now returns you to the document browser. Change-Id: I93f281bd6251522422a578e2e23bd68e75c9af7d diff --git a/android/app/src/main/cpp/androidapp.cpp b/android/app/src/main/cpp/androidapp.cpp index b41571e51..e10639eba 100644 --- a/android/app/src/main/cpp/androidapp.cpp +++ b/android/app/src/main/cpp/androidapp.cpp @@ -125,7 +125,7 @@ static void send2JS(jclass mainActivityClz, jobject mainActivityObj, const std:: /// Handle a message from JavaScript. extern "C" JNIEXPORT void JNICALL -Java_org_libreoffice_androidapp_MainActivity_postMobileMessage(JNIEnv *env, jobject instance, jstring message) +Java_org_libreoffice_androidapp_MainActivity_postMobileMessageNative(JNIEnv *env, jobject instance, jstring message) { const char *string_value = env->GetStringUTFChars(message, nullptr); diff --git a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java index 43315e7c9..586a64ee5 100644 --- a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java +++ b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java @@ -316,7 +316,7 @@ public class MainActivity extends AppCompatActivity { protected void onStop() { super.onStop(); Log.d(TAG, "Stop LOOLWSD instance"); -postMobileMessage("BYE"); +postMobileMessageNative("BYE"); } private void loadDocument() { @@ -346,7 +346,18 @@ public class MainActivity extends AppCompatActivity { * Passing messages from JS (instead of the websocket communication). */ @JavascriptInterface -public native void postMobileMessage(String message); +public void postMobileMessage(String message) { +Log.d(TAG, "postMobileMessage: " + message); + +postMobileMessageNative(message); + +// Going back to document browser on BYE (called when pressing the top left exit button) +if (message.equals("BYE")) +finish(); +}; + +/** Call the post method form C++ */ +public native void postMobileMessageNative(String message); /** * Passing messages from JS (instead of the websocket communication). ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] online.git: 2 commits - android/app gtk/mobile.cpp ios/Mobile loleaflet/html loleaflet/src
android/app/src/main/cpp/androidapp.cpp|8 -- android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java |2 - gtk/mobile.cpp |6 ++--- ios/Mobile/Document.mm |6 ++--- loleaflet/html/loleaflet.html.m4 | 12 +- loleaflet/src/core/Socket.js |5 6 files changed, 24 insertions(+), 15 deletions(-) New commits: commit 354c2ce2a366073a4fbfe2cb72e08b6a30fc4a4f Author: Jan Holesovsky AuthorDate: Wed Feb 20 00:34:19 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed Feb 20 00:38:16 2019 +0100 android: Fix passing of the base64-encoded messages. Change-Id: I8519bff3ec96d7a2acf25ef4b5258b5493befd4f diff --git a/android/app/src/main/cpp/androidapp.cpp b/android/app/src/main/cpp/androidapp.cpp index 89a703ceb..a54ff86fc 100644 --- a/android/app/src/main/cpp/androidapp.cpp +++ b/android/app/src/main/cpp/androidapp.cpp @@ -79,6 +79,7 @@ static void send2JS(jclass mainActivityClz, jobject mainActivityObj, const std:: { const unsigned char *ubufp = (const unsigned char *)buffer.data(); std::vector data; +data.push_back('\''); for (int i = 0; i < buffer.size(); i++) { if (ubufp[i] < ' ' || ubufp[i] == '\'' || ubufp[i] == '\\') @@ -93,7 +94,7 @@ static void send2JS(jclass mainActivityClz, jobject mainActivityObj, const std:: data.push_back(ubufp[i]); } } -data.push_back(0); +data.push_back('\''); js = std::string(data.data(), data.size()); } diff --git a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java index 564df1911..c1eea24cf 100644 --- a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java +++ b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java @@ -181,7 +181,7 @@ public class MainActivity extends AppCompatActivity { mWebView.post(new Runnable() { public void run() { Log.i(TAG,"Forwarding to the WebView: " + message); - mWebView.loadUrl("javascript:window.TheFakeWebSocket.onmessage({'data': '" + message + "'});"); + mWebView.loadUrl("javascript:window.TheFakeWebSocket.onmessage({'data':" + message + "});"); } }); } commit 4f5e262344e76eca3791b2602afa4c542b37e1e4 Author: Jan Holesovsky AuthorDate: Tue Feb 19 23:56:59 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed Feb 20 00:38:16 2019 +0100 Revert "android: Various fixes to make the sending from the core to JS..." Lets leave this optimization for later, this is incomplete, and does not fix the problem which it was originally supposed to address. This reverts commit bce922e8fd50b5344b083aedfe04ed072661795b. Change-Id: I5d2ee19058261c7612d36014181f509604c8acde diff --git a/android/app/src/main/cpp/androidapp.cpp b/android/app/src/main/cpp/androidapp.cpp index 97000797a..89a703ceb 100644 --- a/android/app/src/main/cpp/androidapp.cpp +++ b/android/app/src/main/cpp/androidapp.cpp @@ -64,14 +64,14 @@ static void send2JS(jclass mainActivityClz, jobject mainActivityObj, const std:: { // The data needs to be an ArrayBuffer std::stringstream ss; -ss << "{'base64data':'"; +ss << "Base64ToArrayBuffer('"; Poco::Base64Encoder encoder(ss); encoder.rdbuf()->setLineLength(0); // unlimited encoder << std::string(buffer.data(), buffer.size()); encoder.close(); -ss << "'}"; +ss << "')"; js = ss.str(); } @@ -93,8 +93,9 @@ static void send2JS(jclass mainActivityClz, jobject mainActivityObj, const std:: data.push_back(ubufp[i]); } } +data.push_back(0); -js = "{'data':'" + std::string(data.data(), data.size()) + "'}"; +js = std::string(data.data(), data.size()); } std::string subjs = js.substr(0, std::min(std::string::size_type(SHOW_JS_MAXLEN), js.length())); diff --git a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java index 88601d0be..564df1911 100644 --- a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java +++ b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java @@ -181,7 +181,7 @@ public class MainActivity extends AppCompatActivity { mWebView.post(new Runnable() { public void run() { Log.i(TAG,"Forwarding to the WebView: " + message); - mWebView.loadUrl("javascript:window.TheFakeWebSocket.onmessage(" +
[Libreoffice-commits] online.git: 2 commits - android/app .gitignore loleaflet/Makefile.am wsd/LOOLWSD.cpp
.gitignore |1 android/app/src/main/cpp/CMakeLists.txt.in |2 android/app/src/main/cpp/androidapp.c | 14 android/app/src/main/cpp/androidapp.cpp| 274 ++ android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java | 12 loleaflet/Makefile.am |7 wsd/LOOLWSD.cpp|2 7 files changed, 293 insertions(+), 19 deletions(-) New commits: commit dc37e633efd7bf61072f7c3804d23928249f97e2 Author: Jan Holesovsky AuthorDate: Wed Feb 13 15:09:37 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed Feb 13 15:17:50 2019 +0100 android: JNI for the LOOLWSD initialization. For the moment it crashes, so the actual call is commented out. Change-Id: Ie4acb2a91f280dcc08951dcce417b8d4552cbfe7 diff --git a/android/app/src/main/cpp/CMakeLists.txt.in b/android/app/src/main/cpp/CMakeLists.txt.in index c6b293da9..8a1c4a925 100644 --- a/android/app/src/main/cpp/CMakeLists.txt.in +++ b/android/app/src/main/cpp/CMakeLists.txt.in @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.4.1) add_library(androidapp SHARED -androidapp.c +androidapp.cpp ../../../../../common/FileUtil.cpp ../../../../../common/Log.cpp ../../../../../common/MessageQueue.cpp diff --git a/android/app/src/main/cpp/androidapp.c b/android/app/src/main/cpp/androidapp.c deleted file mode 100644 index 532a9e59b..0 --- a/android/app/src/main/cpp/androidapp.c +++ /dev/null @@ -1,14 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -#include "androidapp.h" - -int loolwsd_server_socket_fd = -1; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/android/app/src/main/cpp/androidapp.cpp b/android/app/src/main/cpp/androidapp.cpp new file mode 100644 index 0..25dfc63c7 --- /dev/null +++ b/android/app/src/main/cpp/androidapp.cpp @@ -0,0 +1,274 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#include +#include +#include + +#include + +#include +#include +#include +#include +#include + +const int SHOW_JS_MAXLEN = 70; + +int loolwsd_server_socket_fd = -1; + +static std::string fileURL; +static LOOLWSD *loolwsd = nullptr; +static int fakeClientFd; +static int closeNotificationPipeForForwardingThread[2]; + +#if 0 +static void send2JS_ready_callback(GObject *source_object, + GAsyncResult *res, + gpointer user_data) +{ +free(user_data); +} + +static void send2JS(const std::vector& buffer) +{ +LOG_TRC_NOFILE("Send to JS: " << LOOLProtocol::getAbbreviatedMessage(buffer.data(), buffer.size())); + +std::string js; + +// Check if the message is binary. We say that any message that isn't just a single line is +// "binary" even if that strictly speaking isn't the case; for instance the commandvalues: +// message has a long bunch of non-binary JSON on multiple lines. But _onMessage() in Socket.js +// handles it fine even if such a message, too, comes in as an ArrayBuffer. (Look for the +// "textMsg = String.fromCharCode.apply(null, imgBytes);".) + +const char *newline = (const char *)memchr(buffer.data(), '\n', buffer.size()); +if (newline != nullptr) +{ +// The data needs to be an ArrayBuffer +js = "window.TheFakeWebSocket.onmessage({'data': Base64ToArrayBuffer('"; +gchar *base64 = g_base64_encode((const guchar*)buffer.data(), buffer.size()); +js = js + std::string(base64); +g_free(base64); +js = js + "')});"; +} +else +{ +const unsigned char *ubufp = (const unsigned char *)buffer.data(); +std::vector data; +for (int i = 0; i < buffer.size(); i++) +{ +if (ubufp[i] < ' ' || ubufp[i] == '\'' || ubufp[i] == '\\') +{ +data.push_back('\\'); +data.push_back('x'); +data.push_back("0123456789abcdef"[(ubufp[i] >> 4) & 0x0F]); +data.push_back("0123456789abcdef"[ubufp[i] & 0x0F]); +
[Libreoffice-commits] online.git: 2 commits - android/app android/gradle.properties android/README configure.ac .gitignore loleaflet/html loleaflet/Makefile.am Makefile.am
.gitignore |4 + Makefile.am| 11 +--- android/README |7 ++- android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java |2 android/gradle.properties | 19 configure.ac |4 + loleaflet/Makefile.am | 23 ++ loleaflet/html/loleaflet.html.m4 |1 8 files changed, 53 insertions(+), 18 deletions(-) New commits: commit e79f5f7ec689facbd96f3fbeee3cfa72aded7201 Author: Jan Holesovsky AuthorDate: Wed Feb 13 13:22:25 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed Feb 13 13:22:25 2019 +0100 android: Create the html, js and css and copy it to the right place. Change-Id: I3efbba0ae369387796e2d08b3003e4f469610dda diff --git a/.gitignore b/.gitignore index a5c7420b4..aa2c717fb 100644 --- a/.gitignore +++ b/.gitignore @@ -91,6 +91,10 @@ pocolib-symlink ICU.dat ios/Mobile/Assets.xcassets/AppIcon.appiconset +# android stuff +/android/app/src/main/assets/dist +/android/app/src/main/cpp/CMakeLists.txt + # backup and temporary editor files: the only convenience rules allowed here. *~ .*sw? diff --git a/Makefile.am b/Makefile.am index 62f74125c..401ad72e6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,14 +1,12 @@ ETAGS=ctags -e -if ENABLE_IOSAPP - -SUBDIRS = loleaflet - -else +if ENABLE_MOBILEAPP if ENABLE_GTKAPP - SUBDIRS = gtk loleaflet +else +SUBDIRS = loleaflet +endif else @@ -392,4 +390,3 @@ endif build-nocheck: all-am endif -endif diff --git a/android/README b/android/README index 83b1debde..b1580fdb3 100644 --- a/android/README +++ b/android/README @@ -28,7 +28,12 @@ ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-androidapp --with-lo-builddir=/local/libreoffice/master-android --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android/lib --disable-setcap --enable-silent-rules --enable-debug -* Build it +* Build the JavaScript, HTML and CSS files + + # just run 'make' + make + +* Build the actual app + Start Android Studio + Open this 'android' subdir as a project diff --git a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java index 121e9cc9c..9388372b4 100644 --- a/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java +++ b/android/app/src/main/java/org/libreoffice/androidapp/MainActivity.java @@ -32,7 +32,7 @@ public class MainActivity extends AppCompatActivity { browserSettings.setJavaScriptEnabled(true); browser.addJavascriptInterface(new JavaScriptInterface(), "MainHandler"); -browser.loadUrl("file:///android_asset/html/index.html"); +browser.loadUrl("file:///android_asset/dist/loleaflet.html"); Button jsButton = findViewById(R.id.js_button); jsButton.setOnClickListener(new View.OnClickListener() { diff --git a/configure.ac b/configure.ac index b1ce4a7fb..32cf66d8f 100644 --- a/configure.ac +++ b/configure.ac @@ -485,16 +485,20 @@ AS_IF([test "$ENABLE_GTKAPP" = true], AM_CONDITIONAL([ENABLE_DEBUG], [test "$ENABLE_DEBUG" = "true"]) mobile_app= +ENABLE_MOBILEAPP= MOBILEAPP=0 AC_MSG_CHECKING([Is this a mobile app]) if test "$enable_gtkapp" = "yes" -o "$enable_iosapp" = "yes" -o "$enable_androidapp"; then AC_MSG_RESULT([Yes]) mobile_app=true; MOBILEAPP=1 + ENABLE_MOBILEAPP=true else AC_MSG_RESULT([No]) fi AC_DEFINE_UNQUOTED([MOBILEAPP],[$MOBILEAPP],[Define to 1 if this is a mobileapp (eg. Android) build.]) +AC_SUBST(ENABLE_MOBILEAPP) +AM_CONDITIONAL([ENABLE_MOBILEAPP], [test "$ENABLE_MOBILEAPP" = "true"]) ENABLE_SSL=true if test "$enable_ssl" != "no" -a "$mobile_app" != "true"; then diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am index 2732e1928..dcdcf31fc 100644 --- a/loleaflet/Makefile.am +++ b/loleaflet/Makefile.am @@ -3,11 +3,9 @@ DRAW_VERSION=0.2.4 L10N_PO = $(wildcard $(srcdir)/po/*.po) -if !ENABLE_IOSAPP -if !ENABLE_GTKAPP +if !ENABLE_MOBILEAPP L10N_JSON = $(patsubst $(srcdir)/po/%.po,$(builddir)/dist/l10n/%.json,$(L10N_PO)) endif -endif if ENABLE_IOSAPP L10N_IOS_ALL_JS = $(builddir)/dist/l10n-all.js @@ -111,12 +109,10 @@ NODE_MODULES_JS =\ node_modules/vex-js/js/vex.js \ node_modules/vex-js/js/vex.dialog.js -if !ENABLE_IOSAPP -if !ENABLE_GTKAPP +if !ENABLE_MOBILEAPP NODE_MODULES_JS +=\
[Libreoffice-commits] online.git: 2 commits - android/app android/README configure.ac
android/README |2 android/app/src/main/cpp/CMakeLists.txt.in | 28 +++--- configure.ac | 133 + 3 files changed, 94 insertions(+), 69 deletions(-) New commits: commit 6d8d40a2677da7318751eb216d5cb8c1967d3a67 Author: Jan Holesovsky AuthorDate: Wed Feb 13 12:09:36 2019 +0100 Commit: Jan Holesovsky CommitDate: Wed Feb 13 12:09:36 2019 +0100 android: Use configure for the rest of the hardcoded stuff in CMakeLists.txt. Change-Id: I61ae98c87f439dffe6df4b9c61da7e7c5f968786 diff --git a/android/README b/android/README index cbb4d2d1e..83b1debde 100644 --- a/android/README +++ b/android/README @@ -26,7 +26,7 @@ * Configure the online.git - ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-silent-rules --with-lo-builddir=/local/libreoffice/master-android --with-lokit-path=/local/libreoffice/master-android/include --with-lo-path=/local/libreoffice/master-android/instdir --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android --with-libpng-includes=/local/libreoffice/master-android/workdir/UnpackedTarball/libpng --with-libpng-libs=/local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary --disable-setcap --enable-androidapp --with-logfile=/tmp/loolwsd.log --enable-debug + ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-androidapp --with-lo-builddir=/local/libreoffice/master-android --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android/lib --disable-setcap --enable-silent-rules --enable-debug * Build it diff --git a/android/app/src/main/cpp/CMakeLists.txt.in b/android/app/src/main/cpp/CMakeLists.txt.in index 838b8ec35..c6b293da9 100644 --- a/android/app/src/main/cpp/CMakeLists.txt.in +++ b/android/app/src/main/cpp/CMakeLists.txt.in @@ -24,21 +24,21 @@ add_library(androidapp SHARED target_compile_definitions(androidapp PRIVATE LOOLWSD_CONFIGDIR="/etc/loolwsd") # TODO somewhere in assets maybe? target_include_directories(androidapp PRIVATE - . # path to androidapp.h - ../../../../..# path to config.h - ../../../../../common # the needed loolwsd includes + . # path to androidapp.h + ../../../../..# path to config.h + ../../../../../common # the needed loolwsd includes ../../../../../kit ../../../../../net ../../../../../wsd - @POCOINCLUDE@ # POCO - /local/libreoffice/master-android/workdir/UnpackedTarball/libpng # libpng - /local/libreoffice/master-android/include # LibreOfficeKit + @POCOINCLUDE@ # POCO + @LIBPNG_INCLUDES@ # libpng + @LOKIT_PATH@ # LibreOfficeKit ) target_link_libraries(androidapp android log - /local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary/liblibpng.a + @LIBPNG_LIBS@/liblibpng.a @POCOLIB@/libPocoEncodings.a @POCOLIB@/libPocoNet.a @POCOLIB@/libPocoRedis.a diff --git a/configure.ac b/configure.ac index ad1878fe5..b1ce4a7fb 100644 --- a/configure.ac +++ b/configure.ac @@ -281,6 +281,24 @@ AC_SUBST(LOBUILDDIR) AC_SUBST(POCOINCLUDE) AC_SUBST(POCOLIB) +LIBPNG_INCLUDES="$with_libpng_includes" +LIBPNG_LIBS="$with_libpng_libs" +LOKIT_PATH=`readlink -f $with_lokit_path` +if test "$enable_androidapp" = "yes"; then + if test -z "$LIBPNG_INCLUDES" ; then + LIBPNG_INCLUDES="$LOBUILDDIR/workdir/UnpackedTarball/libpng" + fi + if test -z "$LIBPNG_LIBS" ; then + LIBPNG_LIBS="$LOBUILDDIR/workdir/LinkTarget/StaticLibrary" + fi + if test -z "$LOKIT_PATH" ; then + LOKIT_PATH=`readlink -f $LOBUILDDIR/include` + fi +fi +AC_SUBST(LIBPNG_INCLUDES) +AC_SUBST(LIBPNG_LIBS) +AC_SUBST(LOKIT_PATH) + ENABLE_IOSAPP= MOBILE_APP_NAME="Mobile" @@ -371,10 +389,9 @@ else AC_MSG_ERROR(no) fi -with_lokit_path=`readlink -f $with_lokit_path` -AS_IF([test -n "$with_lokit_path"],
[Libreoffice-commits] online.git: 2 commits - android/app android/README
android/README |8 android/app/src/main/cpp/CMakeLists.txt |5 ++--- 2 files changed, 6 insertions(+), 7 deletions(-) New commits: commit b5c50021c7b16ef24b4e739a680aa0f3be1e8531 Author: Jan Holesovsky AuthorDate: Tue Feb 12 13:24:52 2019 +0100 Commit: Jan Holesovsky CommitDate: Tue Feb 12 13:24:52 2019 +0100 android: POCO 1.9.1 is fine too - simplify the build instructions. diff --git a/android/README b/android/README index d43ac6cb0..1183e77dc 100644 --- a/android/README +++ b/android/README @@ -12,17 +12,17 @@ * Build the POCO for Android - # use the 1.9.0 branch; the 1.9.1 and master did not compile for me - git checkout -b poco-1.9.0 origin/poco-1.9.0 + # use the 1.9.1 branch + git checkout -b poco-1.9.1 origin/poco-1.9.1 # configure ./configure --config=Android --no-samples --no-tests --minimal # make it - make ANDROID_ABI=armeabi-v7a TOOL=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ + PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++ # install it to /opt/poco-android - make ANDROID_ABI=armeabi-v7a TOOL=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ install INSTALLDIR=/opt/poco-android + PATH="$PATH":~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin make -j8 ANDROID_ABI=armeabi-v7a CC=armv7a-linux-androideabi21-clang CXX=armv7a-linux-androideabi21-clang++ SYSLIBS=-static-libstdc++ install INSTALLDIR=/opt/poco-android * Configure the online.git commit 4771ad0c4abd2c2825681b3d76812a971a4736e8 Author: Jan Holesovsky AuthorDate: Tue Feb 12 13:24:04 2019 +0100 Commit: Jan Holesovsky CommitDate: Tue Feb 12 13:24:04 2019 +0100 android: The order of static libraries is important. Otherwise some symbols are optimized out, but needed by a later library. diff --git a/android/app/src/main/cpp/CMakeLists.txt b/android/app/src/main/cpp/CMakeLists.txt index 6c78b4f08..652575c8d 100644 --- a/android/app/src/main/cpp/CMakeLists.txt +++ b/android/app/src/main/cpp/CMakeLists.txt @@ -40,11 +40,10 @@ target_link_libraries(androidapp log /local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary/liblibpng.a /opt/poco-android/lib/libPocoEncodings.a - /opt/poco-android/lib/libPocoFoundation.a - /opt/poco-android/lib/libPocoJSON.a /opt/poco-android/lib/libPocoNet.a /opt/poco-android/lib/libPocoRedis.a /opt/poco-android/lib/libPocoUtil.a /opt/poco-android/lib/libPocoXML.a - -static-libstdc++ + /opt/poco-android/lib/libPocoJSON.a + /opt/poco-android/lib/libPocoFoundation.a ) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits