diff --git a/android/service/doc/InstallCallbackInterface.rst b/android/service/doc/InstallCallbackInterface.rst index 56a1961ff9..950b8ec244 100644 --- a/android/service/doc/InstallCallbackInterface.rst +++ b/android/service/doc/InstallCallbackInterface.rst @@ -29,3 +29,10 @@ void cancel() .. method:: void cancel() Installation if package has been canceled. + +void wait_install() +------------------- + +.. method:: void wait_install() + + Wait for package installation. diff --git a/android/service/doc/Intro.rst b/android/service/doc/Intro.rst index f46f3d21f3..4319090862 100644 --- a/android/service/doc/Intro.rst +++ b/android/service/doc/Intro.rst @@ -24,7 +24,7 @@ First OpenCV app\: #. Any OpenCV-dependent app is installed from Google Play marketplace or manually; #. At the first launch, it suggests installing OpenCV Manager; #. Then OpenCV Manager is downloaded and installed, using Google Play marketplace service. -#. When started, the application suggests installing OpenCV library for the target device trough Google Play marketplace; +#. When Manager has ben started, the application suggests installing OpenCV library for the target device trough Google Play marketplace if it is necessary; #. After installation is finished, the app may be launched to perform common tasks. Next OpenCV app\: diff --git a/android/service/doc/LibInstallAproved.dia b/android/service/doc/LibInstallAproved.dia index 2224589b76..621c0c0f1e 100644 Binary files a/android/service/doc/LibInstallAproved.dia and b/android/service/doc/LibInstallAproved.dia differ diff --git a/android/service/doc/LoaderCallbackInterface.rst b/android/service/doc/LoaderCallbackInterface.rst index 5e23617a44..0549b5aebd 100644 --- a/android/service/doc/LoaderCallbackInterface.rst +++ b/android/service/doc/LoaderCallbackInterface.rst @@ -30,11 +30,7 @@ Initialization status constants .. data:: SUCCESS - OpenCV initialization finished successfully. - -.. data:: RESTART_REQUIRED - - OpenCV library installation via Google Play service was initialized. Application restart is required + OpenCV initialization finished successfully .. data:: MARKET_ERROR diff --git a/android/service/doc/NoService.dia b/android/service/doc/NoService.dia index ac8bbd9254..2c0328baa0 100644 Binary files a/android/service/doc/NoService.dia and b/android/service/doc/NoService.dia differ diff --git a/android/service/doc/UseCases.rst b/android/service/doc/UseCases.rst index ac3a6bf84c..96e733984e 100644 --- a/android/service/doc/UseCases.rst +++ b/android/service/doc/UseCases.rst @@ -1,5 +1,5 @@ ******************************************* -Engine use Cases +Manager Workflow ******************************************* First application start @@ -9,10 +9,10 @@ There is no OpenCV Manager or OpenCV libraries: .. image:: img/NoService.png -Second application start ------------------------- +Aditional library package installation +-------------------------------------- -There is an OpenCV Manager service, but there is no OpenCV library. +There is an OpenCV Manager service, but there is no apropriate OpenCV library. If OpenCV library installation has been approved\: .. image:: img/LibInstallAproved.png diff --git a/android/service/doc/build_uml.py b/android/service/doc/build_uml.py old mode 100644 new mode 100755 index 79fda4614e..703c24350d --- a/android/service/doc/build_uml.py +++ b/android/service/doc/build_uml.py @@ -20,4 +20,4 @@ if (not os.path.exists(TARGET_PATH)): for filename in os.listdir("."): if ("dia" == filename[-3:]): - os.system("%s --export %s %s" % (DiaPath, os.path.join(TARGET_PATH, filename + ".png"), filename)) \ No newline at end of file + os.system("%s --export %s %s" % (DiaPath, os.path.join(TARGET_PATH, filename[0:len(filename)-4] + ".png"), filename)) \ No newline at end of file diff --git a/android/service/doc/img/LibInstallAproved.png b/android/service/doc/img/LibInstallAproved.png index aa259cc28c..5858c9b3e7 100644 Binary files a/android/service/doc/img/LibInstallAproved.png and b/android/service/doc/img/LibInstallAproved.png differ diff --git a/android/service/doc/img/LibIntsallAproved.png b/android/service/doc/img/LibIntsallAproved.png deleted file mode 100644 index 60e95fb96d..0000000000 Binary files a/android/service/doc/img/LibIntsallAproved.png and /dev/null differ diff --git a/android/service/doc/img/LibIntsallCanceled.png b/android/service/doc/img/LibIntsallCanceled.png deleted file mode 100644 index 56d5274c62..0000000000 Binary files a/android/service/doc/img/LibIntsallCanceled.png and /dev/null differ diff --git a/android/service/doc/img/NoService.png b/android/service/doc/img/NoService.png index 5060802fa2..f18be6521b 100644 Binary files a/android/service/doc/img/NoService.png and b/android/service/doc/img/NoService.png differ diff --git a/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst b/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst index d56bd1bc4e..2ea57115ff 100644 --- a/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst +++ b/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.rst @@ -54,13 +54,19 @@ Using async initialization is a **recommended** way for application development. :alt: Add dependency from OpenCV library :align: center -To run OpenCV Manager-based application the first time you need to install packages with the `OpenCV Manager` and `OpenCV binary pack` for you platform. +To run OpenCV Manager-based application for the first time you need to install package with the `OpenCV Manager` for your platform. Armeabi, Armeabi-v7a with NEON, x86 and MIPS achitectures supported. You can do it using Google Play Market or manually with ``adb`` tool: .. code-block:: sh :linenos: /platform-tools/adb install /apk/OpenCV_2.4.2_Manager.apk + +For rare cases if NEON instruction set is not supported you need to install aditional OpenCV Library package: + +.. code-block:: sh + :linenos: + /platform-tools/adb install /apk/OpenCV_2.4.2_binary_pack_armv7a.apk There is a very base code snippet implementing the async initialization. It shows basic principles. See the "15-puzzle" OpenCV sample for details. @@ -71,9 +77,9 @@ There is a very base code snippet implementing the async initialization. It show public class MyActivity extends Activity implements HelperCallbackInterface { private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) { - @Override - public void onManagerConnected(int status) { - switch (status) { + @Override + public void onManagerConnected(int status) { + switch (status) { case LoaderCallbackInterface.SUCCESS: { Log.i(TAG, "OpenCV loaded successfully"); @@ -85,27 +91,24 @@ There is a very base code snippet implementing the async initialization. It show { super.onManagerConnected(status); } break; + } } - } }; - /** Called when the activity is first created. */ + /** Call on every application resume **/ @Override - public void onCreate(Bundle savedInstanceState) + protected void onResume() { - Log.i(TAG, "onCreate"); - super.onCreate(savedInstanceState); + Log.i(TAG, "called onResume"); + super.onResume(); Log.i(TAG, "Trying to load OpenCV library"); if (!OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_2, this, mOpenCVCallBack)) { - Log.e(TAG, "Cannot connect to OpenCV Manager"); + Log.e(TAG, "Cannot connect to OpenCV Manager"); } } - // ... - } - It this case application works with OpenCV Manager in asynchronous fashion. ``OnManagerConnected`` callback will be called in UI thread, when initialization finishes. Please note, that it is not allowed to use OpenCV calls or load OpenCV-dependent native libs before invoking this callback. Load your own native libraries that depend on OpenCV after the successful OpenCV initialization.