From 87265514cbf5cf3c384b143da38d078948f761c4 Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 7 Jul 2010 18:36:57 +0300 Subject: [PATCH] Added configurable readme section to ChangeAppsettings.sh that will be shown when data is downloading --- alienblaster/AppSettings.cfg | 1 + alienblaster/ChangeAppSettings.sh | 24 +++++++++++++++++++- alienblaster/project/AndroidManifest.xml | 1 - alienblaster/project/src/Accelerometer.java | 6 ----- alienblaster/project/src/DataDownloader.java | 2 +- alienblaster/project/src/Globals.java | 3 +++ alienblaster/readme.txt | 11 ++++----- 7 files changed, 33 insertions(+), 15 deletions(-) diff --git a/alienblaster/AppSettings.cfg b/alienblaster/AppSettings.cfg index 47b58dcc2..45e826382 100644 --- a/alienblaster/AppSettings.cfg +++ b/alienblaster/AppSettings.cfg @@ -5,3 +5,4 @@ AppDataDownloadUrl="http://sites.google.com/site/xpelyax/Home/alienblaster110_da DownloadToSdcard=n SdlVideoResize=a NeedDepthBuffer=n +ReadmeText='^Use accelerometer to navigate menus and control ship^Press "Menu" to select menu and for secondary fire^Press "Call" or touch screen for primary fire^Press "Volume Up/Down" to cycle through weapons' diff --git a/alienblaster/ChangeAppSettings.sh b/alienblaster/ChangeAppSettings.sh index af19627c7..d99e31d15 100755 --- a/alienblaster/ChangeAppSettings.sh +++ b/alienblaster/ChangeAppSettings.sh @@ -45,6 +45,23 @@ if [ -n "$var" ] ; then NeedDepthBuffer="$var" fi +echo -n "\nHere you may type some short readme text that will be shown when app data is downloaded." +echo -n "\nCurrent text:\n" +echo -n "`echo $ReadmeText | tr '^' '\\n'`" +echo -n "\n\nNew text (empty line to finish):\n\n" +ReadmeText1="" +while true; do + read var + if [ -n "$var" ] ; then + ReadmeText1="$ReadmeText1^$var" + else + break + fi +done +if [ -n "$ReadmeText1" ] ; then + ReadmeText="$ReadmeText1" +fi + echo cat /dev/null > AppSettings.cfg @@ -55,6 +72,7 @@ echo AppDataDownloadUrl=\"$AppDataDownloadUrl\" >> AppSettings.cfg echo DownloadToSdcard=$DownloadToSdcard >> AppSettings.cfg echo SdlVideoResize=$SdlVideoResize >> AppSettings.cfg echo NeedDepthBuffer=$NeedDepthBuffer >> AppSettings.cfg +echo ReadmeText=\'$ReadmeText\' >> AppSettings.cfg AppShortName=`echo $AppName | sed 's/ //g'` DataPath="/data/data/$AppFullName/files" @@ -82,6 +100,9 @@ if [ "$NeedDepthBuffer" = "y" ] ; then else NeedDepthBuffer=false fi +echo ReadmeText1 "$ReadmeText" +ReadmeText="`echo $ReadmeText | sed 's/\"/\\\\\\\\\"/g' | sed 's/[&%]//g'`" +echo ReadmeText2 "$ReadmeText" echo Patching project/AndroidManifest.xml cat project/AndroidManifest.xml | \ @@ -103,7 +124,8 @@ cat project/src/Globals.java | \ sed "s/public static String ApplicationName = .*;/public static String ApplicationName = \"$AppShortName\";/" | \ sed "s^public static String DataDownloadUrl = \".*\";^public static String DataDownloadUrl = \"$AppDataDownloadUrl1\";^" | \ sed "s/public static boolean DownloadToSdcard = .*;/public static boolean DownloadToSdcard = $DownloadToSdcard1;/" | \ - sed "s/public static boolean NeedDepthBuffer = .*;/public static boolean NeedDepthBuffer = $NeedDepthBuffer;/" > \ + sed "s/public static boolean NeedDepthBuffer = .*;/public static boolean NeedDepthBuffer = $NeedDepthBuffer;/" | \ + sed "s%public static String ReadmeText = .*%public static String ReadmeText = \"$ReadmeText\".replace(\"^\",\"\\\n\");%" > \ project/src/Globals.java.1 mv -f project/src/Globals.java.1 project/src/Globals.java diff --git a/alienblaster/project/AndroidManifest.xml b/alienblaster/project/AndroidManifest.xml index b2bcf5158..43ed708df 100644 --- a/alienblaster/project/AndroidManifest.xml +++ b/alienblaster/project/AndroidManifest.xml @@ -4,7 +4,6 @@ android:versionCode="1" android:versionName="1.0"> = 1 ) @@ -61,7 +56,6 @@ class AccelerometerReader implements SensorListener { } public synchronized void onAccuracyChanged(int i, int i1) { - /* @todo implement method */ } public synchronized float[] readAccelerometer() diff --git a/alienblaster/project/src/DataDownloader.java b/alienblaster/project/src/DataDownloader.java index af893db8c..1498bfad5 100644 --- a/alienblaster/project/src/DataDownloader.java +++ b/alienblaster/project/src/DataDownloader.java @@ -104,7 +104,7 @@ class DataDownloader extends Thread public String text; public void run() { - Status.setText(text); + Status.setText(text + "\n" + Globals.ReadmeText); } } Callback cb = new Callback(); diff --git a/alienblaster/project/src/Globals.java b/alienblaster/project/src/Globals.java index 42692d55f..e3673d645 100644 --- a/alienblaster/project/src/Globals.java +++ b/alienblaster/project/src/Globals.java @@ -21,6 +21,9 @@ class Globals { // Set this value to true if you're planning to render 3D using OpenGL - it eats some GFX resources, so disabled for 2D public static boolean NeedDepthBuffer = false; + + // Readme text to be shown on download page + public static String ReadmeText = "^Use accelerometer to navigate menus and control ship^Press \"Menu\" to select menu and for secondary fire^Press \"Call\" or touch screen for primary fire^Press \"Volume Up/Down\" to cycle through weapons".replace("^","\n"); } class LoadLibrary { diff --git a/alienblaster/readme.txt b/alienblaster/readme.txt index 5b3439b5b..5410052d0 100644 --- a/alienblaster/readme.txt +++ b/alienblaster/readme.txt @@ -52,16 +52,15 @@ internal flash on Android is very limited. If you'll add new libs - add them to project/jni/, copy Android.mk from existing lib, and add libname to project/jni//Android.mk -To debug your application launch Android 2.2 emulator or connect Android 2.2 device, -go to "project" directory and launch command +To debug your application add tag 'android:debuggable="true"' to 'application' element in AndroidManifest.xml, +recmpile and reinstall your app to Android 2.2 emulator or Android 2.2 device, go to "project" dir and launch command ndk-gdb --verbose --start --force then when it fails enter command - target remote:5039 - (then answer "y") -Note that it's extremely buggy (I've succeeded to launch debug session twice from 20 tries), -you may wish to add "sleep(30);" at the beginning of main() so your app won't crash before debugger attached. + target remote:5039 (then it will fail again) +Note that it's extremely buggy, and I had no any success in debugging my app with ndk-gdb. So it's best to debug with code like: __android_log_print(ANDROID_LOG_INFO, "My App", "We somehow reached execution point #224"); +and then watching "adb logcat" output. Known bugs: