diff --git a/metadata/com.androidemu.gbc.txt b/metadata/com.androidemu.gbc.txt new file mode 100644 index 0000000000..ac51503de4 --- /dev/null +++ b/metadata/com.androidemu.gbc.txt @@ -0,0 +1,21 @@ +Category:Games +License:GPLv3 +Web Site:http://gbcoid.sf.net +Source Code:http://sf.net/p/gbcoid/code/ +Issue Tracker:http://sf.net/p/gbcoid/tickets/ + +Summary:NES emulator for Android phones +Description: +This project is based on sources made available by original GBCoid developer, +who in turn used code of gnuboy. +. + +Repo Type:git +Repo:git://git.code.sf.net/p/gbcoid/code + +Build Version:1.8.5,32,1.8.5,subdir=GBCoid,buildjni=yes,submodules=yes,target=android-15,patch=target_api_10.diff + +Update Check Mode:RepoManifest +Current Version:1.8.5 +Current Version Code:32 + diff --git a/metadata/com.androidemu.gbc/target_api_10.diff b/metadata/com.androidemu.gbc/target_api_10.diff new file mode 100644 index 0000000000..3a50aa9c0e --- /dev/null +++ b/metadata/com.androidemu.gbc/target_api_10.diff @@ -0,0 +1,116 @@ +diff -Ndaur GBCoid.pristine/GBCoid/AndroidManifest.xml GBCoid.new/GBCoid/AndroidManifest.xml +--- GBCoid.pristine/GBCoid/AndroidManifest.xml 2012-06-29 13:58:27.769929717 +1100 ++++ GBCoid.new/GBCoid/AndroidManifest.xml 2012-06-29 14:11:31.035631588 +1100 +@@ -4,13 +4,14 @@ + android:versionName="1.8.5" + android:installLocation="preferExternal"> + +- ++ + + + + + ++ android:icon="@drawable/app_icon" android:hardwareAccelerated="true" ++ android:theme="@style/MyTheme"> + + +diff -Ndaur GBCoid.pristine/GBCoid/res/values/themes.xml GBCoid.new/GBCoid/res/values/themes.xml +--- GBCoid.pristine/GBCoid/res/values/themes.xml 1970-01-01 10:00:00.000000000 +1000 ++++ GBCoid.new/GBCoid/res/values/themes.xml 2012-06-29 14:12:08.058761757 +1100 +@@ -0,0 +1,5 @@ ++ ++ ++ +diff -Ndaur GBCoid.pristine/GBCoid/res/values-v11/themes.xml GBCoid.new/GBCoid/res/values-v11/themes.xml +--- GBCoid.pristine/GBCoid/res/values-v11/themes.xml 1970-01-01 10:00:00.000000000 +1000 ++++ GBCoid.new/GBCoid/res/values-v11/themes.xml 2012-06-29 14:12:46.791882546 +1100 +@@ -0,0 +1,5 @@ ++ ++ ++ +diff -Ndaur GBCoid.pristine/GBCoid/res/values-v14/themes.xml GBCoid.new/GBCoid/res/values-v14/themes.xml +--- GBCoid.pristine/GBCoid/res/values-v14/themes.xml 1970-01-01 10:00:00.000000000 +1000 ++++ GBCoid.new/GBCoid/res/values-v14/themes.xml 2012-06-29 14:12:46.791882546 +1100 +@@ -0,0 +1,5 @@ ++ ++ ++ +diff -Ndaur GBCoid.pristine/GBCoid/src/com/androidemu/gbc/EmulatorService.java GBCoid.new/GBCoid/src/com/androidemu/gbc/EmulatorService.java +--- GBCoid.pristine/GBCoid/src/com/androidemu/gbc/EmulatorService.java 2012-06-29 13:58:27.819929442 +1100 ++++ GBCoid.new/GBCoid/src/com/androidemu/gbc/EmulatorService.java 2012-06-29 14:20:13.526097780 +1100 +@@ -49,9 +49,10 @@ + private NotificationManager mNM; + private Method mStartForeground; + private Method mStopForeground; ++ private Method mSetForeground = null; + private Object[] mStartForegroundArgs = new Object[2]; + private Object[] mStopForegroundArgs = new Object[1]; +- ++ + @Override + public void onCreate() { + mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); +@@ -63,6 +64,11 @@ + } catch (NoSuchMethodException e) { + // Running on an older platform. + mStartForeground = mStopForeground = null; ++ try { ++ mSetForeground = getClass().getMethod("setForeground", mStopForegroundSignature); ++ } catch (NoSuchMethodException crap) { ++ Log.w(LOG_TAG, "OS doesn't have Service.startForeground OR Service.setForeground!", crap); ++ } + } + } + +@@ -128,7 +134,19 @@ + } + + // Fall back on the old API. +- setForeground(true); ++ if (mSetForeground != null) { ++ mStopForegroundArgs[0] = Boolean.TRUE; ++ try { ++ mSetForeground.invoke(this, mStopForegroundArgs); ++ } catch (InvocationTargetException e) { ++ // Should not happen. ++ Log.w(LOG_TAG, "Unable to invoke setForeground", e); ++ } catch (IllegalAccessException e) { ++ // Should not happen. ++ Log.w(LOG_TAG, "Unable to invoke setForeground", e); ++ } ++ return; ++ } + mNM.notify(id, notification); + } + +@@ -155,7 +173,19 @@ + // Fall back on the old API. Note to cancel BEFORE changing the + // foreground state, since we could be killed at that point. + mNM.cancel(id); +- setForeground(false); ++ if (mSetForeground != null) { ++ mStopForegroundArgs[0] = Boolean.FALSE; ++ try { ++ mSetForeground.invoke(this, mStopForegroundArgs); ++ } catch (InvocationTargetException e) { ++ // Should not happen. ++ Log.w(LOG_TAG, "Unable to invoke setForeground", e); ++ } catch (IllegalAccessException e) { ++ // Should not happen. ++ Log.w(LOG_TAG, "Unable to invoke setForeground", e); ++ } ++ return; ++ } + } + + @Override