GetPublicName function removed for OpenCV LibraryInfo class;
Some OpenCV Manager UI behavior updates; CMake build fix.
This commit is contained in:
parent
0f64f847b2
commit
4ebcf2b224
@ -2,7 +2,7 @@ set(engine OpenCVEngine)
|
|||||||
set(JNI_LIB_NAME ${engine} ${engine}_jni)
|
set(JNI_LIB_NAME ${engine} ${engine}_jni)
|
||||||
|
|
||||||
unset(__android_project_chain CACHE)
|
unset(__android_project_chain CACHE)
|
||||||
add_android_project(opencv_engine "${CMAKE_CURRENT_SOURCE_DIR}" SDK_TARGET 8 ${ANDROID_SDK_TARGET} IGNORE_JAVA ON IGNORE_MANIFEST ON )
|
add_android_project(opencv_engine "${CMAKE_CURRENT_SOURCE_DIR}" SDK_TARGET 9 ${ANDROID_SDK_TARGET} IGNORE_JAVA ON IGNORE_MANIFEST ON )
|
||||||
|
|
||||||
set(ANDROID_PLATFORM_VERSION_CODE "0")
|
set(ANDROID_PLATFORM_VERSION_CODE "0")
|
||||||
|
|
||||||
|
@ -41,26 +41,6 @@ JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getPackageNam
|
|||||||
return env->NewStringUTF(result);
|
return env->NewStringUTF(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getPublicName
|
|
||||||
(JNIEnv* env, jobject, jlong)
|
|
||||||
{
|
|
||||||
const char* (*info_func)();
|
|
||||||
const char* result;
|
|
||||||
const char* error;
|
|
||||||
|
|
||||||
dlerror();
|
|
||||||
*(void **) (&info_func) = dlsym((void*)handle, "GetPublicName");
|
|
||||||
if ((error = dlerror()) == NULL)
|
|
||||||
result = (*info_func)();
|
|
||||||
else
|
|
||||||
{
|
|
||||||
LOGE("dlsym error: \"%s\"", error);
|
|
||||||
result = "unknown";
|
|
||||||
}
|
|
||||||
|
|
||||||
return env->NewStringUTF(result);
|
|
||||||
}
|
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getLibraryList
|
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getLibraryList
|
||||||
(JNIEnv* env, jobject, jlong handle)
|
(JNIEnv* env, jobject, jlong handle)
|
||||||
{
|
{
|
||||||
|
@ -12,9 +12,6 @@ JNIEXPORT jlong JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_open
|
|||||||
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getPackageName
|
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getPackageName
|
||||||
(JNIEnv *, jobject, jlong);
|
(JNIEnv *, jobject, jlong);
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getPublicName
|
|
||||||
(JNIEnv *, jobject, jlong);
|
|
||||||
|
|
||||||
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getLibraryList
|
JNIEXPORT jstring JNICALL Java_org_opencv_engine_OpenCVLibraryInfo_getLibraryList
|
||||||
(JNIEnv *, jobject, jlong);
|
(JNIEnv *, jobject, jlong);
|
||||||
|
|
||||||
|
@ -11,4 +11,4 @@
|
|||||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||||
|
|
||||||
# Project target.
|
# Project target.
|
||||||
target=android-10
|
target=android-9
|
||||||
|
@ -7,7 +7,6 @@ public class OpenCVLibraryInfo {
|
|||||||
mPackageName = getPackageName(mNativeObj);
|
mPackageName = getPackageName(mNativeObj);
|
||||||
mLibraryList = getLibraryList(mNativeObj);
|
mLibraryList = getLibraryList(mNativeObj);
|
||||||
mVersionName = getVersionName(mNativeObj);
|
mVersionName = getVersionName(mNativeObj);
|
||||||
mPublicName = getPublicName(mNativeObj);
|
|
||||||
close(mNativeObj);
|
close(mNativeObj);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -20,10 +19,6 @@ public class OpenCVLibraryInfo {
|
|||||||
return mPackageName;
|
return mPackageName;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String publicName() {
|
|
||||||
return mPublicName;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String libraryList() {
|
public String libraryList() {
|
||||||
return mLibraryList;
|
return mLibraryList;
|
||||||
}
|
}
|
||||||
@ -34,13 +29,11 @@ public class OpenCVLibraryInfo {
|
|||||||
|
|
||||||
private long mNativeObj;
|
private long mNativeObj;
|
||||||
private String mPackageName;
|
private String mPackageName;
|
||||||
private String mPublicName;
|
|
||||||
private String mLibraryList;
|
private String mLibraryList;
|
||||||
private String mVersionName;
|
private String mVersionName;
|
||||||
|
|
||||||
private native long open(String packagePath);
|
private native long open(String packagePath);
|
||||||
private native String getPackageName(long obj);
|
private native String getPackageName(long obj);
|
||||||
private native String getPublicName(long obj);
|
|
||||||
private native String getLibraryList(long obj);
|
private native String getLibraryList(long obj);
|
||||||
private native String getVersionName(long obj);
|
private native String getVersionName(long obj);
|
||||||
private native void close(long obj);
|
private native void close(long obj);
|
||||||
|
@ -79,7 +79,7 @@ public class ManagerActivity extends Activity
|
|||||||
{
|
{
|
||||||
HardwarePlatformView.setText("Tegra");
|
HardwarePlatformView.setText("Tegra");
|
||||||
}
|
}
|
||||||
else if (HardwareDetector.PLATFORM_TEGRA == Platfrom)
|
else if (HardwareDetector.PLATFORM_TEGRA2 == Platfrom)
|
||||||
{
|
{
|
||||||
HardwarePlatformView.setText("Tegra 2");
|
HardwarePlatformView.setText("Tegra 2");
|
||||||
}
|
}
|
||||||
@ -172,9 +172,12 @@ public class ManagerActivity extends Activity
|
|||||||
|
|
||||||
mInstalledPackageView.setOnItemClickListener(new OnItemClickListener() {
|
mInstalledPackageView.setOnItemClickListener(new OnItemClickListener() {
|
||||||
|
|
||||||
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long id) {
|
public void onItemClick(AdapterView<?> adapter, View view, int position, long id) {
|
||||||
mInstalledPackageView.setTag(Integer.valueOf((int)id));
|
if (!mInstalledPackageInfo[(int) id].packageName.equals("org.opencv.engine"))
|
||||||
mActionDialog.show();
|
{
|
||||||
|
mInstalledPackageView.setTag(Integer.valueOf((int)id));
|
||||||
|
mActionDialog.show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -234,8 +237,6 @@ public class ManagerActivity extends Activity
|
|||||||
protected class OpenCVEngineServiceConnection implements ServiceConnection
|
protected class OpenCVEngineServiceConnection implements ServiceConnection
|
||||||
{
|
{
|
||||||
public void onServiceDisconnected(ComponentName name) {
|
public void onServiceDisconnected(ComponentName name) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onServiceConnected(ComponentName name, IBinder service) {
|
public void onServiceConnected(ComponentName name, IBinder service) {
|
||||||
@ -280,34 +281,36 @@ public class ManagerActivity extends Activity
|
|||||||
// Convert to Items for package list view
|
// Convert to Items for package list view
|
||||||
HashMap<String,String> temp = new HashMap<String,String>();
|
HashMap<String,String> temp = new HashMap<String,String>();
|
||||||
|
|
||||||
String PackageName = "";
|
|
||||||
String PublicName = "";
|
|
||||||
String OpenCVersion = "unknown";
|
|
||||||
String HardwareName = "";
|
String HardwareName = "";
|
||||||
String NativeLibDir = "";
|
String NativeLibDir = "";
|
||||||
String VersionName = "";
|
String OpenCVersion = "";
|
||||||
|
|
||||||
|
String PublicName = mMarket.GetApplicationName(mInstalledPackageInfo[i].applicationInfo);
|
||||||
|
String PackageName = mInstalledPackageInfo[i].packageName;
|
||||||
|
String VersionName = mInstalledPackageInfo[i].versionName;
|
||||||
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
|
||||||
NativeLibDir = mInstalledPackageInfo[i].applicationInfo.nativeLibraryDir;
|
NativeLibDir = mInstalledPackageInfo[i].applicationInfo.nativeLibraryDir;
|
||||||
else
|
else
|
||||||
NativeLibDir = "/data/data/" + mInstalledPackageInfo[i].packageName + "/lib";
|
NativeLibDir = "/data/data/" + mInstalledPackageInfo[i].packageName + "/lib";
|
||||||
|
|
||||||
OpenCVLibraryInfo nativeInfo = new OpenCVLibraryInfo(NativeLibDir);
|
OpenCVLibraryInfo NativeInfo = new OpenCVLibraryInfo(NativeLibDir);
|
||||||
|
|
||||||
if (nativeInfo.status())
|
if (PackageName.equals("org.opencv.engine"))
|
||||||
{
|
{
|
||||||
PublicName = nativeInfo.publicName();
|
if (NativeInfo.status())
|
||||||
PackageName = nativeInfo.packageName();
|
{
|
||||||
VersionName = nativeInfo.versionName();
|
PublicName = "Built-in OpenCV library";
|
||||||
}
|
PackageName = NativeInfo.packageName();
|
||||||
else
|
VersionName = NativeInfo.versionName();
|
||||||
{
|
}
|
||||||
PublicName = mMarket.GetApplicationName(mInstalledPackageInfo[i].applicationInfo);
|
else
|
||||||
PackageName = mInstalledPackageInfo[i].packageName;
|
continue;
|
||||||
VersionName = mInstalledPackageInfo[i].versionName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
|
Log.d(TAG, PackageName);
|
||||||
StringTokenizer tokenizer = new StringTokenizer(PackageName, "_");
|
StringTokenizer tokenizer = new StringTokenizer(PackageName, "_");
|
||||||
while (tokenizer.hasMoreTokens())
|
while (tokenizer.hasMoreTokens())
|
||||||
{
|
{
|
||||||
@ -329,6 +332,7 @@ public class ManagerActivity extends Activity
|
|||||||
}
|
}
|
||||||
|
|
||||||
String ActivePackagePath;
|
String ActivePackagePath;
|
||||||
|
String Tags = null;
|
||||||
ActivePackagePath = mActivePackageMap.get(OpenCVersion);
|
ActivePackagePath = mActivePackageMap.get(OpenCVersion);
|
||||||
Log.d(TAG, OpenCVersion + " -> " + ActivePackagePath);
|
Log.d(TAG, OpenCVersion + " -> " + ActivePackagePath);
|
||||||
|
|
||||||
@ -339,7 +343,7 @@ public class ManagerActivity extends Activity
|
|||||||
if (start >= 0 && ActivePackagePath.charAt(stop) == '/')
|
if (start >= 0 && ActivePackagePath.charAt(stop) == '/')
|
||||||
{
|
{
|
||||||
temp.put("Activity", "y");
|
temp.put("Activity", "y");
|
||||||
PublicName += " (in use)";
|
Tags = "active";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -351,9 +355,31 @@ public class ManagerActivity extends Activity
|
|||||||
temp.put("Activity", "n");
|
temp.put("Activity", "n");
|
||||||
}
|
}
|
||||||
|
|
||||||
temp.put("Name", PublicName);
|
|
||||||
temp.put("Version", NormalizeVersion(OpenCVersion, VersionName));
|
temp.put("Version", NormalizeVersion(OpenCVersion, VersionName));
|
||||||
temp.put("Hardware", HardwareName);
|
// HACK: OpenCV Manager for Armv7-a Neon already has Tegra3 optimizations
|
||||||
|
// that is enabled on proper hardware
|
||||||
|
if (HardwareDetector.DetectKnownPlatforms() == HardwareDetector.PLATFORM_TEGRA3 &&
|
||||||
|
HardwareName.equals("armv7a neon ") && Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
|
||||||
|
{
|
||||||
|
temp.put("Hardware", "Tegra 3");
|
||||||
|
if (Tags == null)
|
||||||
|
{
|
||||||
|
Tags = "optimized";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Tags = Tags + ", optimized";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
temp.put("Hardware", HardwareName);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Tags != null)
|
||||||
|
PublicName = PublicName + " (" + Tags + ")";
|
||||||
|
|
||||||
|
temp.put("Name", PublicName);
|
||||||
|
|
||||||
mListViewItems.add(temp);
|
mListViewItems.add(temp);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user