Bug with several "in use" labels fixed in OpenCV Manager UI.
authorAlexander Smorkalov <alexander.smorkalov@itseez.com>
Tue, 18 Sep 2012 06:52:28 +0000 (10:52 +0400)
committerAlexander Smorkalov <alexander.smorkalov@itseez.com>
Tue, 18 Sep 2012 07:07:26 +0000 (11:07 +0400)
android/service/engine/AndroidManifest.xml
android/service/engine/src/org/opencv/engine/manager/ManagerActivity.java

index 4e7e77c..b8aea3e 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="org.opencv.engine"
-    android:versionCode="15"
-    android:versionName="1.5" >
+    android:versionCode="16"
+    android:versionName="1.6" >
 
     <uses-sdk android:minSdkVersion="8" />
     <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
@@ -17,7 +17,7 @@
        </intent-filter>
     </service>
 
-    <activity 
+    <activity
         android:name="org.opencv.engine.manager.ManagerActivity"
         android:label="@string/app_name"
         android:screenOrientation="portrait">
index 6813164..9295146 100644 (file)
@@ -308,10 +308,19 @@ public class ManagerActivity extends Activity
                        ActivePackagePath = mActivePackageMap.get(OpenCVersion);
                    Log.d(TAG, OpenCVersion + " -> " + ActivePackagePath);
 
-                   if (null != ActivePackagePath && ActivePackagePath.indexOf(mInstalledPackageInfo[i].packageName) >= 0)
+                   if (null != ActivePackagePath)
                    {
-                       temp.put("Activity", "y");
-                       PublicName += " (in use)";
+                       int start = ActivePackagePath.indexOf(mInstalledPackageInfo[i].packageName);
+                       int stop = start + mInstalledPackageInfo[i].packageName.length();
+                       if (start >= 0 && ActivePackagePath.charAt(stop) == '/')
+                       {
+                               temp.put("Activity", "y");
+                               PublicName += " (in use)";
+                       }
+                       else
+                       {
+                               temp.put("Activity", "n");
+                       }
                    }
                    else
                    {