From dc5c7ee68fa945b41c290002ee98b413b1a26586 Mon Sep 17 00:00:00 2001 From: Alexander Smorkalov Date: Fri, 14 Sep 2012 17:44:08 +0400 Subject: [PATCH] Link to OpenCV website updated. Full Manager version added to UI. Screen orientation fixed. --- android/service/engine/AndroidManifest.xml | 13 ++- android/service/engine/res/layout-small/main.xml | 2 +- android/service/engine/res/layout/main.xml | 2 +- .../org/opencv/engine/manager/ManagerActivity.java | 101 ++++++++++++--------- 4 files changed, 67 insertions(+), 51 deletions(-) diff --git a/android/service/engine/AndroidManifest.xml b/android/service/engine/AndroidManifest.xml index 0e24f82..4e7e77c 100644 --- a/android/service/engine/AndroidManifest.xml +++ b/android/service/engine/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="15" + android:versionName="1.5" > @@ -16,13 +16,16 @@ - - + + - + \ No newline at end of file diff --git a/android/service/engine/res/layout-small/main.xml b/android/service/engine/res/layout-small/main.xml index 6f8611f..e9cb268 100644 --- a/android/service/engine/res/layout-small/main.xml +++ b/android/service/engine/res/layout-small/main.xml @@ -16,7 +16,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="web" - android:text="OpenCV is Open Computer Vision library. OpenCV Manager provides the best version of the OpenCV for your hardware. See www.opencv.org for details." + android:text="OpenCV is Open Computer Vision library. OpenCV Manager provides the best version of the OpenCV for your hardware. See opencv.org for details." android:textAppearance="?android:attr/textAppearanceSmall" /> arg0, View arg1, int arg2, long id) { - + mInstalledPackageView.setTag(Integer.valueOf((int)id)); mActionDialog.show(); - } + } }); - + if (!bindService(new Intent("org.opencv.engine.BIND"), mServiceConnection, Context.BIND_AUTO_CREATE)) { TextView EngineVersionView = (TextView)findViewById(R.id.EngineVersionValue); EngineVersionView.setText("not avaliable"); } - + IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_PACKAGE_ADDED); filter.addAction(Intent.ACTION_PACKAGE_CHANGED); filter.addAction(Intent.ACTION_PACKAGE_INSTALL); filter.addAction(Intent.ACTION_PACKAGE_REMOVED); filter.addAction(Intent.ACTION_PACKAGE_REPLACED); - + registerReceiver(mPackageChangeReciever, filter); } - + @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mPackageChangeReciever); } - + @Override protected void onResume() { super.onResume(); Log.d(TAG, "Filling package list on resume"); FillPackageList(); } - + protected SimpleAdapter mInstalledPacksAdapter; protected ListView mInstalledPackageView; protected Button mUpdateEngineButton; protected PackageInfo[] mInstalledPackageInfo; protected final ArrayList> mListViewItems = new ArrayList>(); - protected static final String TAG = "OpenCV_Manager/Activity"; + protected static final String TAG = "OpenCV_Manager/Activity"; protected MarketConnector mMarket; protected AlertDialog mActionDialog; protected HashMap mActivePackageMap = new HashMap(); - + protected int ManagerApiLevel = 0; + protected String ManagerVersion; + protected BroadcastReceiver mPackageChangeReciever = new BroadcastReceiver() { - + @Override public void onReceive(Context context, Intent intent) { Log.d("OpenCV Manager/Reciever", "Bradcast message " + intent.getAction() + " reciever"); @@ -211,24 +223,25 @@ public class ManagerActivity extends Activity FillPackageList(); } }; - + protected ServiceConnection mServiceConnection = new ServiceConnection() { - + public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } - + public void onServiceConnected(ComponentName name, IBinder service) { - TextView EngineVersionView = (TextView)findViewById(R.id.EngineVersionValue); OpenCVEngineInterface EngineService = OpenCVEngineInterface.Stub.asInterface(service); try { - EngineVersionView.setText("" + EngineService.getEngineVersion()); + ManagerApiLevel = EngineService.getEngineVersion(); } catch (RemoteException e) { - EngineVersionView.setText("not avaliable"); e.printStackTrace(); } + TextView EngineVersionView = (TextView)findViewById(R.id.EngineVersionValue); + EngineVersionView.setText(ManagerVersion); + try { String path = EngineService.getLibPathByVersion("2.4"); Log.d(TAG, "2.4 -> " + path); @@ -253,13 +266,13 @@ public class ManagerActivity extends Activity synchronized (mListViewItems) { mInstalledPackageInfo = mMarket.GetInstalledOpenCVPackages(); mListViewItems.clear(); - + for (int i = 0; i < mInstalledPackageInfo.length; i++) { // Convert to Items for package list view HashMap temp = new HashMap(); String PublicName = mMarket.GetApplicationName(mInstalledPackageInfo[i].applicationInfo); - + int idx = 0; String OpenCVersion = "unknown"; String HardwareName = ""; @@ -282,11 +295,11 @@ public class ManagerActivity extends Activity } idx++; } - + String ActivePackagePath; ActivePackagePath = mActivePackageMap.get(OpenCVersion); Log.d(TAG, OpenCVersion + " -> " + ActivePackagePath); - + if (null != ActivePackagePath && ActivePackagePath.indexOf(mInstalledPackageInfo[i].packageName) >= 0) { temp.put("Activity", "y"); @@ -303,29 +316,29 @@ public class ManagerActivity extends Activity mListViewItems.add(temp); } - mInstalledPacksAdapter.notifyDataSetChanged(); + mInstalledPacksAdapter.notifyDataSetChanged(); } } - + protected String NormalizeVersion(String OpenCVersion, String PackageVersion) { int dot = PackageVersion.indexOf("."); - return OpenCVersion.substring(0, OpenCVersion.length()-1) + "." + - OpenCVersion.toCharArray()[OpenCVersion.length()-1] + "." + - PackageVersion.substring(0, dot) + " rev " + PackageVersion.substring(dot+1); + return OpenCVersion.substring(0, OpenCVersion.length()-1) + "." + + OpenCVersion.toCharArray()[OpenCVersion.length()-1] + "." + + PackageVersion.substring(0, dot) + " rev " + PackageVersion.substring(dot+1); } - + protected String ConvertPackageName(String Name, String Version) { return Name + " rev " + Version; } - + protected String JoinIntelFeatures(int features) { // TODO: update if package will be published return ""; } - + protected String JoinArmFeatures(int features) { // TODO: update if package will be published -- 2.7.4