misc: fix stuff up to make SDL example work again

it still behaves weirdly, should probably find some
other example since I don't trust my own code.
This commit is contained in:
Mis012
2023-10-29 22:47:57 +01:00
parent 9025142bdd
commit 0b0cfed345
8 changed files with 25 additions and 11 deletions

View File

@@ -217,7 +217,7 @@ public class Entry extends Block implements JSONConvert<JSONObject> {
public TypeBlock getTypeBlock(){
return getParent(TypeBlock.class);
}
private String getPackageName(){
public String getPackageName(){
PackageBlock packageBlock = getPackageBlock();
if(packageBlock!=null){
return packageBlock.getName();

View File

@@ -15,6 +15,11 @@ char *get_app_data_dir();
JNIEXPORT jint JNICALL Java_android_content_res_AssetManager_openAsset(JNIEnv *env, jobject this, jstring _file_name, jint mode)
{
const char *file_name = _CSTRING(_file_name);
/* handle absolute paths */
if(file_name[0] == '/')
return open(file_name, O_CLOEXEC | O_RDWR);
char *app_data_dir = get_app_data_dir();
char *path = malloc(strlen(app_data_dir) + strlen(ASSET_DIR) + strlen(file_name) + 1);
int fd;

View File

@@ -73,14 +73,6 @@ JNIEXPORT void JNICALL Java_android_content_res_AssetManager_setLocale
JNIEXPORT jobjectArray JNICALL Java_android_content_res_AssetManager_getLocales
(JNIEnv *, jobject);
/*
* Class: android_content_res_AssetManager
* Method: getResourcePackageName
* Signature: (I)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_android_content_res_AssetManager_getResourcePackageName
(JNIEnv *, jobject, jint);
/*
* Class: android_content_res_AssetManager
* Method: getResourceEntryName

View File

@@ -390,5 +390,7 @@ public class Activity extends Context implements Window.Callback {
finish();
}
public void setIntent(Intent newIntent) {}
public void unregisterReceiver(BroadcastReceiver receiver) {}
}

View File

@@ -443,4 +443,8 @@ public class Context extends Object {
public void unbindService(ServiceConnection serviceConnection) {}
public void unregisterReceiver(BroadcastReceiver receiver) {}
public Context createPackageContext(String dummy, int dummy2) {
return this; // FIXME?
}
}

View File

@@ -464,11 +464,14 @@ public final class AssetManager {
throw new RuntimeException("Assetmanager has been closed");
}
asset = openAsset(fileName, 0);
if (asset < 0)
throw new FileNotFoundException("Asset file: " + fileName + ", errno: " + asset);
FileDescriptor fd = new FileDescriptor();
fd.setInt$(asset);
ParcelFileDescriptor pfd = new ParcelFileDescriptor(fd);
if (pfd != null) {
AssetFileDescriptor afd = new AssetFileDescriptor(pfd, mOffsets[0], mOffsets[1]);
AssetFileDescriptor afd = new AssetFileDescriptor(pfd, 0, getAssetLength(asset));
afd.fileName = "/assets/" + fileName;
return afd;
}
@@ -860,7 +863,9 @@ public final class AssetManager {
/*package*/ /*native*/ final String getResourceName(int resid) {
return tableBlockSearch(resid).pickOne().getName();
}
/*package*/ native final String getResourcePackageName(int resid);
/*package*/ /*native*/ final String getResourcePackageName(int resid) {
return tableBlockSearch(resid).pickOne().getPackageName();
}
/*package*/ /*native*/ final String getResourceTypeName(int resid) {
return tableBlockSearch(resid).pickOne().getTypeName();
}

View File

@@ -31,4 +31,8 @@ public class SensorManager {
return false;
}
}
public void unregisterListener(final SensorEventListener listener, Sensor sensor) {
System.out.println("STUB: andoroid.hw.SensorManager.unregisterListener");
}
}

View File

@@ -10,6 +10,8 @@ public class Settings {
switch (key) {
case "android_id":
return "_totally_an_androidID"; // TODO: is this a good ID? :P
case "advertising_id":
return "";
default:
java.lang.System.out.println("!!!! Settings$Secure.getString: unknown key: >" + key + "<");
return "NOTICEME";