Commit 6c6ff50f authored by Roumen Petrov's avatar Roumen Petrov
Browse files

remove obsolete work-around for function canExecute(added in API level 9) as current minimum is 9

parent 44292c20
......@@ -19,7 +19,6 @@ add_library(
# Provides a relative path to your source file(s).
../jni/common.cpp
../jni/fileCompat.cpp
../jni/termExec.cpp
)
......
/*
* Copyright (C) 2012 Steven Luo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jackpal.androidterm.compat;
import java.io.File;
/**
* Compatibility class for java.io.File
*/
public class FileCompat {
private static class Api9OrLater {
public static boolean canExecute(File file) {
return file.canExecute();
}
}
private static class Api8OrEarlier {
static {
System.loadLibrary("termoneplus-term");
}
public static boolean canExecute(File file) {
return testExecute(file.getAbsolutePath());
}
private static native boolean testExecute(String pathname);
}
public static boolean canExecute(File file) {
if (AndroidCompat.SDK < 9) {
return Api8OrEarlier.canExecute(file);
} else {
return Api9OrLater.canExecute(file);
}
}
}
......@@ -32,7 +32,6 @@
#include "common.h"
#include "termExec.h"
#include "fileCompat.h"
#define LOG_TAG "TermOnePlus(term)"
......@@ -87,11 +86,6 @@ jint JNI_OnLoad(JavaVM* vm, void* reserved) {
goto bail;
}
if (init_FileCompat(env) != JNI_TRUE) {
LOGE("ERROR: init of Exec failed");
goto bail;
}
result = JNI_VERSION_1_4;
bail:
......
/*
* Copyright (C) 2012 Steven Luo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "common.h"
#define LOG_TAG "TermOnePlus(term)-FileCompat"
#include <unistd.h>
#include "fileCompat.h"
static jboolean testExecute(JNIEnv *env, jobject clazz, jstring jPathString)
{
const char *pathname = NULL;
int result;
/* XXX We should convert CESU-8 to UTF-8 to deal with potential non-BMP
chars in pathname */
pathname = env->GetStringUTFChars(jPathString, NULL);
result = access(pathname, X_OK);
env->ReleaseStringUTFChars(jPathString, pathname);
return (result == 0);
}
static const char *classPathName = "jackpal/androidterm/compat/FileCompat$Api8OrEarlier";
static JNINativeMethod method_table[] = {
{ "testExecute", "(Ljava/lang/String;)Z", (void *) testExecute },
};
int init_FileCompat(JNIEnv *env) {
if (!registerNativeMethods(env, classPathName, method_table,
sizeof(method_table) / sizeof(method_table[0]))) {
return JNI_FALSE;
}
return JNI_TRUE;
}
/*
* Copyright (C) 2012 Steven Luo
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef _FILECOMPAT_H
#define _FILECOMPAT_H 1
#include "jni.h"
int init_FileCompat(JNIEnv *env);
#endif /* !defined(_FILECOMPAT_H) */
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment