Wating for OpenCV library package installation added.
This commit is contained in:
		@@ -186,55 +186,110 @@ class AsyncServiceHelper
 | 
			
		||||
                    String path = mEngineService.getLibPathByVersion(mOpenCVersion);
 | 
			
		||||
                    if ((null == path) || (path.length() == 0))
 | 
			
		||||
                    {
 | 
			
		||||
                        InstallCallbackInterface InstallQuery = new InstallCallbackInterface() {
 | 
			
		||||
                            public String getPackageName()
 | 
			
		||||
                            {
 | 
			
		||||
                                return "OpenCV library";
 | 
			
		||||
                            }
 | 
			
		||||
                            public void install() {
 | 
			
		||||
                                Log.d(TAG, "Trying to install OpenCV lib via Google Play");
 | 
			
		||||
                                try
 | 
			
		||||
                        if (!mLibraryInstallationProgress)
 | 
			
		||||
                        {
 | 
			
		||||
                            InstallCallbackInterface InstallQuery = new InstallCallbackInterface() {
 | 
			
		||||
                                public String getPackageName()
 | 
			
		||||
                                {
 | 
			
		||||
                                    if (mEngineService.installVersion(mOpenCVersion))
 | 
			
		||||
                                    return "OpenCV library";
 | 
			
		||||
                                }
 | 
			
		||||
                                public void install() {
 | 
			
		||||
                                    Log.d(TAG, "Trying to install OpenCV lib via Google Play");
 | 
			
		||||
                                    try
 | 
			
		||||
                                    {
 | 
			
		||||
                                        mStatus = LoaderCallbackInterface.RESTART_REQUIRED;
 | 
			
		||||
                                        if (mEngineService.installVersion(mOpenCVersion))
 | 
			
		||||
                                        {
 | 
			
		||||
                                            mLibraryInstallationProgress = true;
 | 
			
		||||
                                            mStatus = LoaderCallbackInterface.RESTART_REQUIRED;
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            Log.d(TAG, "OpenCV package was not installed!");
 | 
			
		||||
                                            mStatus = LoaderCallbackInterface.MARKET_ERROR;
 | 
			
		||||
                                        }
 | 
			
		||||
                                    } catch (RemoteException e) {
 | 
			
		||||
                                        e.printStackTrace();
 | 
			
		||||
                                        mStatus = LoaderCallbackInterface.INIT_FAILED;
 | 
			
		||||
                                    }
 | 
			
		||||
                                    else
 | 
			
		||||
                                    {
 | 
			
		||||
                                        Log.d(TAG, "OpenCV package was not installed!");
 | 
			
		||||
                                        mStatus = LoaderCallbackInterface.MARKET_ERROR;
 | 
			
		||||
                                    }
 | 
			
		||||
                                } catch (RemoteException e) {
 | 
			
		||||
                                    e.printStackTrace();
 | 
			
		||||
                                    mStatus = LoaderCallbackInterface.INIT_FAILED;
 | 
			
		||||
 | 
			
		||||
                                    Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                    Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                    mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                    Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                    mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                                }
 | 
			
		||||
                                public void cancel() {
 | 
			
		||||
                                    Log.d(TAG, "OpenCV library installation was canceled");
 | 
			
		||||
                                    mStatus = LoaderCallbackInterface.INSTALL_CANCELED;
 | 
			
		||||
                                    Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                    Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                    mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                    Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                    mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                                }
 | 
			
		||||
                                public void wait_install() {
 | 
			
		||||
                                    Log.e(TAG, "Instalation was not started! Nothing to wait!");
 | 
			
		||||
                                }
 | 
			
		||||
                            };
 | 
			
		||||
 | 
			
		||||
                            mUserAppCallback.onPackageInstall(InstallCallbackInterface.NEW_INSTALLATION, InstallQuery);
 | 
			
		||||
                        }
 | 
			
		||||
                        else
 | 
			
		||||
                        {
 | 
			
		||||
                            InstallCallbackInterface WaitQuery = new InstallCallbackInterface() {
 | 
			
		||||
                                public String getPackageName()
 | 
			
		||||
                                {
 | 
			
		||||
                                    return "OpenCV library";
 | 
			
		||||
                                }
 | 
			
		||||
 | 
			
		||||
                                Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                            }
 | 
			
		||||
                            public void cancel() {
 | 
			
		||||
                                Log.d(TAG, "OpenCV library installation was canceled");
 | 
			
		||||
                                mStatus = LoaderCallbackInterface.INSTALL_CANCELED;
 | 
			
		||||
                                Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                            }
 | 
			
		||||
                            public void wait_install() {
 | 
			
		||||
                                Log.e(TAG, "Instalation was not started! Nothing to wait!");
 | 
			
		||||
                            }
 | 
			
		||||
                        };
 | 
			
		||||
                                public void install() {
 | 
			
		||||
                                    Log.e(TAG, "Nothing to install we just wait current installation");
 | 
			
		||||
                                }
 | 
			
		||||
                                public void cancel()
 | 
			
		||||
                                {
 | 
			
		||||
                                    Log.d(TAG, "OpenCV library installation was canceled");
 | 
			
		||||
                                    mLibraryInstallationProgress = false;
 | 
			
		||||
                                    mStatus = LoaderCallbackInterface.INSTALL_CANCELED;
 | 
			
		||||
                                    Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                    Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                    mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                    Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                        mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                                }
 | 
			
		||||
                                public void wait_install() {
 | 
			
		||||
                                    Log.d(TAG, "Waiting for current installation");
 | 
			
		||||
                                    try
 | 
			
		||||
                                    {
 | 
			
		||||
                                        if (mEngineService.installVersion(mOpenCVersion))
 | 
			
		||||
                                        {
 | 
			
		||||
                                            mStatus = LoaderCallbackInterface.RESTART_REQUIRED;
 | 
			
		||||
                                        }
 | 
			
		||||
                                        else
 | 
			
		||||
                                        {
 | 
			
		||||
                                            Log.d(TAG, "OpenCV package was not installed!");
 | 
			
		||||
                                            mStatus = LoaderCallbackInterface.MARKET_ERROR;
 | 
			
		||||
                                        }
 | 
			
		||||
                                    } catch (RemoteException e) {
 | 
			
		||||
                                        e.printStackTrace();
 | 
			
		||||
                                        mStatus = LoaderCallbackInterface.INIT_FAILED;
 | 
			
		||||
                                    }
 | 
			
		||||
 | 
			
		||||
                        mUserAppCallback.onPackageInstall(InstallCallbackInterface.NEW_INSTALLATION, InstallQuery);
 | 
			
		||||
                                    Log.d(TAG, "Init finished with status " + mStatus);
 | 
			
		||||
                                    Log.d(TAG, "Unbind from service");
 | 
			
		||||
                                    mAppContext.unbindService(mServiceConnection);
 | 
			
		||||
                                    Log.d(TAG, "Calling using callback");
 | 
			
		||||
                                    mUserAppCallback.onManagerConnected(mStatus);
 | 
			
		||||
                               }
 | 
			
		||||
                            };
 | 
			
		||||
 | 
			
		||||
                            mUserAppCallback.onPackageInstall(InstallCallbackInterface.INSTALLATION_PROGRESS, WaitQuery);
 | 
			
		||||
                        }
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    else
 | 
			
		||||
                    {
 | 
			
		||||
                        Log.d(TAG, "Trying to get library list");
 | 
			
		||||
                        mLibraryInstallationProgress = false;
 | 
			
		||||
                        String libs = mEngineService.getLibraryList(mOpenCVersion);
 | 
			
		||||
                        Log.d(TAG, "Library list: \"" + libs + "\"");
 | 
			
		||||
                        Log.d(TAG, "First attempt to load libs");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user