api-impl: misc additions for different apps

This commit is contained in:
Julian Winkler
2025-06-18 09:02:08 +02:00
parent d898966e04
commit bf5eb099bd
20 changed files with 109 additions and 4 deletions

View File

@@ -24,3 +24,10 @@ JNIEXPORT jlong JNICALL Java_android_os_SystemClock_elapsedRealtimeNanos(JNIEnv
clock_gettime(CLOCK_BOOTTIME, &t); clock_gettime(CLOCK_BOOTTIME, &t);
return t.tv_sec * 1000000000 + t.tv_nsec; return t.tv_sec * 1000000000 + t.tv_nsec;
} }
JNIEXPORT jlong JNICALL Java_android_os_SystemClock_currentThreadTimeMillis(JNIEnv *env, jclass this)
{
struct timespec now;
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &now);
return now.tv_sec * 1000 + lround(now.tv_nsec / 1e6);
}

View File

@@ -1720,6 +1720,10 @@ public class ValueAnimator extends Animator implements AnimationHandler.Animatio
mAnimationHandler = animationHandler; mAnimationHandler = animationHandler;
} }
public static long getFrameDelay() {
return AnimationHandler.getFrameDelay();
}
/** /**
* Listener interface for the system-wide scaling factor for Animator-based animations. * Listener interface for the system-wide scaling factor for Animator-based animations.
* *

View File

@@ -1,4 +1,6 @@
package android.appwidget; package android.appwidget;
public class AppWidgetProvider { import android.content.BroadcastReceiver;
public abstract class AppWidgetProvider extends BroadcastReceiver {
} }

View File

@@ -786,4 +786,14 @@ public class Context extends Object {
/* FIXME: should be a different context, and return different storage locations */ /* FIXME: should be a different context, and return different storage locations */
return this; return this;
} }
public boolean deleteSharedPreferences(String name) {
getSharedPrefsFile(name).delete();
sharedPrefs.remove(name);
return true;
}
public String getPackageResourcePath() {
return native_get_apk_path();
}
} }

View File

@@ -1348,7 +1348,7 @@ public class PackageManager {
public static final String EXTRA_REQUEST_PERMISSION_PERMISSION_LIST = "android.content.pm.extra.PERMISSION_LIST"; public static final String EXTRA_REQUEST_PERMISSION_PERMISSION_LIST = "android.content.pm.extra.PERMISSION_LIST";
public PackageManager() { public PackageManager() {
package_info = PackageParser.generatePackageInfo(Context.pkg, new int[0], 0, 0, 0, new HashSet<>(), new PackageUserState()); package_info = PackageParser.generatePackageInfo(Context.pkg, new int[0], PackageManager.GET_META_DATA, 0, 0, new HashSet<>(), new PackageUserState());
} }
/** /**
@@ -2763,7 +2763,7 @@ public class PackageManager {
* @param info The application to get the label of. * @param info The application to get the label of.
*/ */
public CharSequence getApplicationLabel(ApplicationInfo info) { public CharSequence getApplicationLabel(ApplicationInfo info) {
return null; return info.loadLabel(this);
} }
/** /**

View File

@@ -1499,6 +1499,10 @@ public class Resources {
private final AssetManager mAssets; private final AssetManager mAssets;
public void rebase() {} public void rebase() {}
public Drawable getDrawable(int resId) {
return Resources.this.getDrawable(resId, this);
}
} }
static class ThemeKey implements Cloneable { static class ThemeKey implements Cloneable {

View File

@@ -0,0 +1,10 @@
package android.graphics;
public class BlurMaskFilter extends MaskFilter {
public static enum Blur {
NORMAL,
};
public BlurMaskFilter(float radius, Blur blur) {}
}

View File

@@ -0,0 +1,4 @@
package android.graphics;
public class MaskFilter {
}

View File

@@ -339,6 +339,8 @@ public class Paint {
public boolean hasGlyph(String text) { return false; } public boolean hasGlyph(String text) { return false; }
public MaskFilter setMaskFilter(MaskFilter filter) { return filter; }
private static native long native_create(); private static native long native_create();
private static native long native_clone(long paint); private static native long native_clone(long paint);
private static native void native_recycle(long paint); private static native void native_recycle(long paint);

View File

@@ -2,6 +2,8 @@ package android.net;
import android.os.Handler; import android.os.Handler;
class ProxyInfo {}
public class ConnectivityManager { public class ConnectivityManager {
public class NetworkCallback { public class NetworkCallback {
@@ -45,4 +47,6 @@ public class ConnectivityManager {
public void registerDefaultNetworkCallback(NetworkCallback cb) {} public void registerDefaultNetworkCallback(NetworkCallback cb) {}
public ProxyInfo getDefaultProxy() { return null; }
} }

View File

@@ -1,4 +1,7 @@
package android.os; package android.os;
import dalvik.system.VMDebug;
public final class Debug { public final class Debug {
public static class MemoryInfo { public static class MemoryInfo {
} }
@@ -26,4 +29,8 @@ public final class Debug {
public static boolean waitingForDebugger() { public static boolean waitingForDebugger() {
return false; return false;
} }
public static long threadCpuTimeNanos() {
return VMDebug.threadCpuTimeNanos();
}
} }

View File

@@ -80,4 +80,8 @@ public class Parcel {
public Parcelable readParcelable(ClassLoader loader) { public Parcelable readParcelable(ClassLoader loader) {
return null; return null;
} }
public void writeStrongBinder(IBinder binder) {}
public void readException() {}
} }

View File

@@ -832,4 +832,12 @@ public class Process {
} }
public static final native boolean is64Bit(); public static final native boolean is64Bit();
public static long getStartUptimeMillis() {
return 1000;
};
public static long getStartElapsedRealtime() {
return 1000;
};
} }

View File

@@ -196,7 +196,7 @@ public final class Trace {
* @hide * @hide
*/ */
public static void setAppTracingAllowed(boolean allowed) { public static void setAppTracingAllowed(boolean allowed) {
nativeSetAppTracingAllowed(allowed); // nativeSetAppTracingAllowed(allowed);
// Setting whether app tracing is allowed may change the tags, so we update the cached // Setting whether app tracing is allowed may change the tags, so we update the cached
// tags here. // tags here.

View File

@@ -12,4 +12,8 @@ public class PreferenceManager {
public static void setDefaultValues(Context context, int i, boolean b) { public static void setDefaultValues(Context context, int i, boolean b) {
System.out.println("android.preference.PrefereceManager.setDefaultValues: STUB"); System.out.println("android.preference.PrefereceManager.setDefaultValues: STUB");
} }
public static void setDefaultValues(Context context, String s, int i, int i2, boolean b) {
System.out.println("android.preference.PrefereceManager.setDefaultValues: STUB");
}
} }

View File

@@ -95,6 +95,10 @@ public class Settings {
} }
} }
public static float getFloat(ContentResolver cr, String key) {
return getFloat(cr, key, -1);
}
public static String getString(ContentResolver cr, String key) { public static String getString(ContentResolver cr, String key) {
switch (key) { switch (key) {
default: default:

View File

@@ -1,4 +1,20 @@
package android.util; package android.util;
public class Size { public class Size {
private int width;
private int height;
public Size(int width, int height) {
this.width = width;
this.height = height;
}
public int getWidth() {
return width;
}
public int getHeight() {
return height;
}
} }

View File

@@ -26,6 +26,8 @@ public class Window {
public boolean onMenuOpened(int featureId, Menu menu); public boolean onMenuOpened(int featureId, Menu menu);
} }
public static interface OnFrameMetricsAvailableListener {}
public long native_window; public long native_window;
private ViewGroup decorView; private ViewGroup decorView;

View File

@@ -0,0 +1,10 @@
package android.webkit;
import android.content.Context;
public class CookieSyncManager {
public static CookieSyncManager createInstance(Context context) {
return new CookieSyncManager();
}
}

View File

@@ -196,6 +196,7 @@ srcs = [
'android/graphics/Bitmap.java', 'android/graphics/Bitmap.java',
'android/graphics/BitmapFactory.java', 'android/graphics/BitmapFactory.java',
'android/graphics/BitmapShader.java', 'android/graphics/BitmapShader.java',
'android/graphics/BlurMaskFilter.java',
'android/graphics/Canvas.java', 'android/graphics/Canvas.java',
'android/graphics/Color.java', 'android/graphics/Color.java',
'android/graphics/ColorFilter.java', 'android/graphics/ColorFilter.java',
@@ -207,6 +208,7 @@ srcs = [
'android/graphics/GskCanvas.java', 'android/graphics/GskCanvas.java',
'android/graphics/LightingColorFilter.java', 'android/graphics/LightingColorFilter.java',
'android/graphics/LinearGradient.java', 'android/graphics/LinearGradient.java',
'android/graphics/MaskFilter.java',
'android/graphics/Matrix.java', 'android/graphics/Matrix.java',
'android/graphics/Outline.java', 'android/graphics/Outline.java',
'android/graphics/Paint.java', 'android/graphics/Paint.java',
@@ -564,6 +566,7 @@ srcs = [
'android/view/inputmethod/InputMethodSession.java', 'android/view/inputmethod/InputMethodSession.java',
'android/view/textservice/TextServicesManager.java', 'android/view/textservice/TextServicesManager.java',
'android/webkit/CookieManager.java', 'android/webkit/CookieManager.java',
'android/webkit/CookieSyncManager.java',
'android/webkit/DownloadListener.java', 'android/webkit/DownloadListener.java',
'android/webkit/MimeTypeMap.java', 'android/webkit/MimeTypeMap.java',
'android/webkit/URLUtil.java', 'android/webkit/URLUtil.java',