diff --git a/src/api-impl-jni/generated_headers/android_view_Window.h b/src/api-impl-jni/generated_headers/android_view_Window.h index c2025d75..cc1ffd89 100644 --- a/src/api-impl-jni/generated_headers/android_view_Window.h +++ b/src/api-impl-jni/generated_headers/android_view_Window.h @@ -9,6 +9,8 @@ extern "C" { #endif #undef android_view_Window_FEATURE_OPTIONS_PANEL #define android_view_Window_FEATURE_OPTIONS_PANEL 0L +#undef android_view_Window_FEATURE_NO_TITLE +#define android_view_Window_FEATURE_NO_TITLE 1L /* * Class: android_view_Window * Method: set_widget_as_root diff --git a/src/api-impl/android/app/Activity.java b/src/api-impl/android/app/Activity.java index 31d11647..87d4c75e 100644 --- a/src/api-impl/android/app/Activity.java +++ b/src/api-impl/android/app/Activity.java @@ -559,4 +559,5 @@ public class Activity extends ContextThemeWrapper implements Window.Callback { public static native void nativeStartActivity(Activity activity); public static native void nativeOpenURI(String uri); public native void nativeFileChooser(int action, String type, String title, int requestCode); + public void reportFullyDrawn() {} } diff --git a/src/api-impl/android/app/ActivityThread.java b/src/api-impl/android/app/ActivityThread.java new file mode 100644 index 00000000..f7bdd48d --- /dev/null +++ b/src/api-impl/android/app/ActivityThread.java @@ -0,0 +1,21 @@ +package android.app; + +import android.app.Application; +import android.content.pm.ConfigurationInfo; +import android.content.Context; +import java.util.List; + +public class ActivityThread { + public static ActivityThread currentActivityThread() { + return new ActivityThread(); + } + public static String currentPackageName() { + return Context.this_application.getPackageName(); + } + public static Application currentApplication() { + return Context.this_application; + } + public Application getApplication() { + return Context.this_application; + } +} diff --git a/src/api-impl/android/content/Context.java b/src/api-impl/android/content/Context.java index 7081079c..62bca927 100644 --- a/src/api-impl/android/content/Context.java +++ b/src/api-impl/android/content/Context.java @@ -69,7 +69,8 @@ public class Context extends Object { public static final String MEDIA_ROUTER_SERVICE = "media_router"; public static final String WINDOW_SERVICE = "window"; public static final String INPUT_METHOD_SERVICE = "input"; - public static final String POWER_SERVICE = "power"; + public static final String POWER_SERVICE = "power"; + public static final String VIBRATOR_SERVICE = "vibrator"; public static Vibrator vibrator; diff --git a/src/api-impl/android/content/IntentFilter.java b/src/api-impl/android/content/IntentFilter.java index edc2704c..00774220 100644 --- a/src/api-impl/android/content/IntentFilter.java +++ b/src/api-impl/android/content/IntentFilter.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.Iterator; public class IntentFilter { @@ -59,4 +60,8 @@ public class IntentFilter { public String getDataScheme(int index) { return dataSchemes.get(index); } + + public final Iterator actionsIterator() { + return actions.iterator(); + } } diff --git a/src/api-impl/android/net/ConnectivityManager.java b/src/api-impl/android/net/ConnectivityManager.java index 0d2fa26c..f6073bbf 100644 --- a/src/api-impl/android/net/ConnectivityManager.java +++ b/src/api-impl/android/net/ConnectivityManager.java @@ -10,7 +10,7 @@ public class ConnectivityManager { } public NetworkInfo getNetworkInfo(int networkType) { - return null; // this means the network type is not supported, which should make properly coded apps cease any attempts to use network-related APIs + return new NetworkInfo(nativeGetNetworkAvailable()); } public NetworkInfo getActiveNetworkInfo() { diff --git a/src/api-impl/android/net/NetworkInfo.java b/src/api-impl/android/net/NetworkInfo.java index 8755a352..d1718a9b 100644 --- a/src/api-impl/android/net/NetworkInfo.java +++ b/src/api-impl/android/net/NetworkInfo.java @@ -47,4 +47,8 @@ public class NetworkInfo { public String getSubtypeName() { return "UNKNOWN"; } + + public boolean isAvailable () { + return false; + } } diff --git a/src/api-impl/android/os/FileObserver.java b/src/api-impl/android/os/FileObserver.java index b404ea17..834d696c 100644 --- a/src/api-impl/android/os/FileObserver.java +++ b/src/api-impl/android/os/FileObserver.java @@ -4,6 +4,8 @@ public class FileObserver { public FileObserver(String path, int mask) {} + public FileObserver(String path) {} + public void startWatching() {} public void stopWatching() {} diff --git a/src/api-impl/android/os/StrictMode.java b/src/api-impl/android/os/StrictMode.java index 384ab88c..80f3b7b6 100644 --- a/src/api-impl/android/os/StrictMode.java +++ b/src/api-impl/android/os/StrictMode.java @@ -11,6 +11,9 @@ public final class StrictMode { public Builder detectAll() { return this; } + public Builder detectNetwork() { + return this; + } public Builder permitDiskReads() { return this; } @@ -20,9 +23,6 @@ public final class StrictMode { public Builder penaltyLog() { return this; } - public Builder detectNetwork() { - return this; - } public ThreadPolicy build() { return new ThreadPolicy(); } diff --git a/src/api-impl/android/os/UserManager.java b/src/api-impl/android/os/UserManager.java index 4be8a356..6c0c524f 100644 --- a/src/api-impl/android/os/UserManager.java +++ b/src/api-impl/android/os/UserManager.java @@ -1,4 +1,7 @@ package android.os; public class UserManager { + public boolean isUserUnlocked() { + return true; + } } diff --git a/src/api-impl/android/os/Vibrator.java b/src/api-impl/android/os/Vibrator.java index 2f3e6e61..9b874dbd 100644 --- a/src/api-impl/android/os/Vibrator.java +++ b/src/api-impl/android/os/Vibrator.java @@ -9,6 +9,10 @@ public class Vibrator { fd = native_constructor(); } + public boolean hasVibrator(){ + return true; + } + public void vibrate(long millis) { if(fd != -1) native_vibrate(fd, millis); diff --git a/src/api-impl/android/telephony/TelephonyManager.java b/src/api-impl/android/telephony/TelephonyManager.java index c190c4e8..744d811a 100644 --- a/src/api-impl/android/telephony/TelephonyManager.java +++ b/src/api-impl/android/telephony/TelephonyManager.java @@ -57,4 +57,8 @@ public class TelephonyManager { public int getCallState() { return 0; // CALL_STATE_IDLE } + + public String getDeviceId() { + return ""; + } } diff --git a/src/api-impl/android/view/LayoutInflater.java b/src/api-impl/android/view/LayoutInflater.java index b527efa5..65b57b52 100644 --- a/src/api-impl/android/view/LayoutInflater.java +++ b/src/api-impl/android/view/LayoutInflater.java @@ -44,8 +44,14 @@ public class LayoutInflater { this.context = context; } + private Factory mFactory; + public final LayoutInflater.Factory getFactory() { - return null; + return mFactory; + } + + public final void setFactory(LayoutInflater.Factory factory){ + mFactory = factory; } public void setFactory2(Factory2 factory) { diff --git a/src/api-impl/android/view/Window.java b/src/api-impl/android/view/Window.java index 13dece13..bfc45087 100644 --- a/src/api-impl/android/view/Window.java +++ b/src/api-impl/android/view/Window.java @@ -6,6 +6,7 @@ import android.view.SurfaceHolder; public class Window { public static final int FEATURE_OPTIONS_PANEL = 0; + public static final int FEATURE_NO_TITLE = 1; public static interface Callback { public void onContentChanged(); diff --git a/src/api-impl/android/view/WindowManager.java b/src/api-impl/android/view/WindowManager.java index e431f0d4..25136c9b 100644 --- a/src/api-impl/android/view/WindowManager.java +++ b/src/api-impl/android/view/WindowManager.java @@ -5,6 +5,8 @@ public interface WindowManager { public class LayoutParams extends ViewGroup.LayoutParams { public static final int FLAG_KEEP_SCREEN_ON = 0; + public static final int FLAG_DIM_BEHIND = 2; + public static final int FLAG_NOT_FOCUSABLE = 8; public float screenBrightness; public int softInputMode; diff --git a/src/api-impl/meson.build b/src/api-impl/meson.build index 2f50d9f7..60e2236f 100644 --- a/src/api-impl/meson.build +++ b/src/api-impl/meson.build @@ -22,6 +22,7 @@ hax_jar = jar('hax', [ 'android/annotation/Widget.java', 'android/app/Activity.java', 'android/app/ActivityManager.java', + 'android/app/ActivityThread.java', 'android/app/AlarmManager.java', 'android/app/AlertDialog.java', 'android/app/AppGlobals.java',