Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Upgraded to the new SDK. Specified in AndroidManifest.xml that all

screen sizes and densities are supported.


git-svn-id: http://frozenbubbleandroid.googlecode.com/svn@13 349699ee-d245-11de-ad95-0f97ff1b57b8
  • Loading branch information...
commit 110bc2467d9d41c0963d643641606c8f3b572c61 1 parent 5ffcdf5
Pawel Aleksander Fedorynski authored
10 AndroidManifest.xml
View
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.jfedor.frozenbubble"
- android:versionCode="6"
- android:versionName="1.5">
+ android:versionCode="7"
+ android:versionName="1.6">
+ <supports-screens
+ android:smallScreens="true"
+ android:normalScreens="true"
+ android:largeScreens="true"
+ android:anyDensity="true"
+ />
<uses-sdk android:minSdkVersion="2" />
<application android:label="@string/app_name"
android:icon="@drawable/app_frozen_bubble">
352 build.xml
View
@@ -1,293 +1,67 @@
-<?xml version="1.0" ?>
-<project name="FrozenBubble" default="debug">
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="FrozenBubble" default="help">
- <!-- The build.properties file can be created by you and is never touched
- by activitycreator. If you want to manually set properties, this is
- the best place to set them. -->
- <property file="build.properties"/>
-
- <!-- The default.properties file is created and updated by activitycreator.
- It will set any properties not already defined by build.properties. -->
- <property file="default.properties"/>
-
- <!-- ************************************************************************************* -->
- <!-- These settings were written by activitycreator.
- Do not change them unless you really know what you are doing. -->
-
- <!-- Application Package Name -->
- <property name="application-package" value="org.jfedor.frozenbubble" />
-
- <!-- The intermediates directory, Eclipse uses "bin"
- for its own output, so we do the same. -->
- <property name="outdir" value="bin" />
-
- <!-- ************************************************************************************* -->
- <!-- No user servicable parts below. -->
-
- <property name="android-tools" value="${sdk-folder}/tools" />
- <property name="android-framework" value="${android-tools}/lib/framework.aidl" />
-
- <!-- Input directories -->
- <property name="resource-dir" value="res" />
- <property name="asset-dir" value="assets" />
- <property name="srcdir" value="src" />
- <condition property="srcdir-ospath"
- value="${basedir}\${srcdir}"
- else="${basedir}/${srcdir}" >
- <os family="windows"/>
- </condition>
-
- <!-- folder for the 3rd party java libraries -->
- <property name="external-libs" value="libs" />
- <condition property="external-libs-ospath"
- value="${basedir}\${external-libs}"
- else="${basedir}/${external-libs}" >
- <os family="windows"/>
- </condition>
-
- <!-- folder for the native libraries -->
- <property name="native-libs" value="libs" />
- <condition property="native-libs-ospath"
- value="${basedir}\${native-libs}"
- else="${basedir}/${native-libs}" >
- <os family="windows"/>
- </condition>
-
- <!-- Output directories -->
- <property name="outdir-classes" value="${outdir}/classes" />
- <condition property="outdir-classes-ospath"
- value="${basedir}\${outdir-classes}"
- else="${basedir}/${outdir-classes}" >
- <os family="windows"/>
- </condition>
-
- <!-- Create R.java in the source directory -->
- <property name="outdir-r" value="src" />
-
- <!-- Intermediate files -->
- <property name="dex-file" value="classes.dex" />
- <property name="intermediate-dex" value="${outdir}/${dex-file}" />
- <condition property="intermediate-dex-ospath"
- value="${basedir}\${intermediate-dex}"
- else="${basedir}/${intermediate-dex}" >
- <os family="windows"/>
- </condition>
-
- <!-- The final package file to generate -->
- <property name="resources-package" value="${outdir}/${ant.project.name}.ap_" />
- <condition property="resources-package-ospath"
- value="${basedir}\${resources-package}"
- else="${basedir}/${resources-package}" >
- <os family="windows"/>
- </condition>
-
- <property name="out-debug-package" value="${outdir}/${ant.project.name}-debug.apk" />
- <condition property="out-debug-package-ospath"
- value="${basedir}\${out-debug-package}"
- else="${basedir}/${out-debug-package}" >
- <os family="windows"/>
- </condition>
-
- <property name="out-unsigned-package" value="${outdir}/${ant.project.name}-unsigned.apk" />
- <condition property="out-unsigned-package-ospath"
- value="${basedir}\${out-unsigned-package}"
- else="${basedir}/${out-unsigned-package}" >
- <os family="windows"/>
- </condition>
-
- <!-- Tools -->
- <condition property="aapt" value="${android-tools}/aapt.exe" else="${android-tools}/aapt" >
- <os family="windows"/>
- </condition>
- <condition property="aidl" value="${android-tools}/aidl.exe" else="${android-tools}/aidl" >
- <os family="windows"/>
- </condition>
- <condition property="adb" value="${android-tools}/adb.exe" else="${android-tools}/adb" >
- <os family="windows"/>
- </condition>
- <condition property="dx" value="${android-tools}/dx.bat" else="${android-tools}/dx" >
- <os family="windows"/>
- </condition>
- <condition property="apk-builder" value="${android-tools}/apkbuilder.bat" else="${android-tools}/apkbuilder" >
- <os family="windows"/>
- </condition>
+ <!-- The local.properties file is created and updated by the 'android' tool.
+ It contains the path to the SDK. It should *NOT* be checked in in Version
+ Control Systems. -->
+ <property file="local.properties" />
- <property name="android-jar" value="${sdk-folder}/android.jar" />
-
- <!-- Rules -->
-
- <!-- Create the output directories if they don't exist yet. -->
- <target name="dirs">
- <echo>Creating output directories if needed...</echo>
- <mkdir dir="${outdir}" />
- <mkdir dir="${outdir-classes}" />
- </target>
-
- <!-- Generate the R.java file for this project's resources. -->
- <target name="resource-src" depends="dirs">
- <echo>Generating R.java / Manifest.java from the resources...</echo>
- <exec executable="${aapt}" failonerror="true">
- <arg value="package" />
- <arg value="-m" />
- <arg value="-J" />
- <arg value="${outdir-r}" />
- <arg value="-M" />
- <arg value="AndroidManifest.xml" />
- <arg value="-S" />
- <arg value="${resource-dir}" />
- <arg value="-I" />
- <arg value="${android-jar}" />
- </exec>
- </target>
-
- <!-- Generate java classes from .aidl files. -->
- <target name="aidl" depends="dirs">
- <echo>Compiling aidl files into Java classes...</echo>
- <apply executable="${aidl}" failonerror="true">
- <arg value="-p${android-framework}" />
- <arg value="-I${srcdir}" />
- <fileset dir="${srcdir}">
- <include name="**/*.aidl"/>
- </fileset>
- </apply>
- </target>
-
- <!-- Compile this project's .java files into .class files. -->
- <target name="compile" depends="dirs, resource-src, aidl">
- <javac encoding="ascii" target="1.5" debug="true" extdirs=""
- srcdir="."
- destdir="${outdir-classes}"
- bootclasspath="${android-jar}">
- <classpath>
- <fileset dir="${external-libs}" includes="*.jar"/>
- </classpath>
- </javac>
- </target>
-
- <!-- Convert this project's .class files into .dex files. -->
- <target name="dex" depends="compile">
- <echo>Converting compiled files and external libraries into ${outdir}/${dex-file}...</echo>
- <apply executable="${dx}" failonerror="true" parallel="true">
- <arg value="--dex" />
- <arg value="--output=${intermediate-dex-ospath}" />
- <arg path="${outdir-classes-ospath}" />
- <fileset dir="${external-libs}" includes="*.jar"/>
- </apply>
- </target>
-
- <!-- Put the project's resources into the output package file. -->
- <target name="package-res-and-assets">
- <echo>Packaging resources and assets...</echo>
- <exec executable="${aapt}" failonerror="true">
- <arg value="package" />
- <arg value="-f" />
- <arg value="-M" />
- <arg value="AndroidManifest.xml" />
- <arg value="-S" />
- <arg value="${resource-dir}" />
- <arg value="-A" />
- <arg value="${asset-dir}" />
- <arg value="-I" />
- <arg value="${android-jar}" />
- <arg value="-F" />
- <arg value="${resources-package}" />
- </exec>
- </target>
-
- <!-- Same as package-res-and-assets, but without "-A ${asset-dir}" -->
- <target name="package-res-no-assets">
- <echo>Packaging resources...</echo>
- <exec executable="${aapt}" failonerror="true">
- <arg value="package" />
- <arg value="-f" />
- <arg value="-M" />
- <arg value="AndroidManifest.xml" />
- <arg value="-S" />
- <arg value="${resource-dir}" />
- <!-- No assets directory -->
- <arg value="-I" />
- <arg value="${android-jar}" />
- <arg value="-F" />
- <arg value="${resources-package}" />
- </exec>
- </target>
-
- <!-- Invoke the proper target depending on whether or not
- an assets directory is present. -->
- <!-- TODO: find a nicer way to include the "-A ${asset-dir}" argument
- only when the assets dir exists. -->
- <target name="package-res">
- <available file="${asset-dir}" type="dir"
- property="res-target" value="and-assets" />
- <property name="res-target" value="no-assets" />
- <antcall target="package-res-${res-target}" />
- </target>
-
- <!-- Package the application and sign it with a debug key.
- This is the default target when building. It is used for debug. -->
- <target name="debug" depends="dex, package-res">
- <echo>Packaging ${out-debug-package}, and signing it with a debug key...</echo>
- <exec executable="${apk-builder}" failonerror="true">
- <arg value="${out-debug-package-ospath}" />
- <arg value="-z" />
- <arg value="${resources-package-ospath}" />
- <arg value="-f" />
- <arg value="${intermediate-dex-ospath}" />
- <arg value="-rf" />
- <arg value="${srcdir-ospath}" />
- <arg value="-rj" />
- <arg value="${external-libs-ospath}" />
- <arg value="-nf" />
- <arg value="${native-libs-ospath}" />
- </exec>
- </target>
-
- <!-- Package the application without signing it.
- This allows for the application to be signed later with an official publishing key. -->
- <target name="release" depends="dex, package-res">
- <echo>Packaging ${out-unsigned-package} for release...</echo>
- <exec executable="${apk-builder}" failonerror="true">
- <arg value="${out-unsigned-package-ospath}" />
- <arg value="-u" />
- <arg value="-z" />
- <arg value="${resources-package-ospath}" />
- <arg value="-f" />
- <arg value="${intermediate-dex-ospath}" />
- <arg value="-rf" />
- <arg value="${srcdir-ospath}" />
- <arg value="-rj" />
- <arg value="${external-libs-ospath}" />
- <arg value="-nf" />
- <arg value="${native-libs-ospath}" />
- </exec>
- <echo>It will need to be signed with jarsigner before being published.</echo>
- </target>
-
- <!-- Install the package on the default emulator -->
- <target name="install" depends="debug">
- <echo>Installing ${out-debug-package} onto default emulator...</echo>
- <exec executable="${adb}" failonerror="true">
- <arg value="install" />
- <arg value="${out-debug-package}" />
- </exec>
- </target>
-
- <target name="reinstall" depends="debug">
- <echo>Installing ${out-debug-package} onto default emulator...</echo>
- <exec executable="${adb}" failonerror="true">
- <arg value="install" />
- <arg value="-r" />
- <arg value="${out-debug-package}" />
- </exec>
- </target>
-
- <!-- Uinstall the package from the default emulator -->
- <target name="uninstall">
- <echo>Uninstalling ${application-package} from the default emulator...</echo>
- <exec executable="${adb}" failonerror="true">
- <arg value="uninstall" />
- <arg value="${application-package}" />
- </exec>
- </target>
+ <!-- The build.properties file can be created by you and is never touched
+ by the 'android' tool. This is the place to change some of the default property values
+ used by the Ant rules.
+ Here are some properties you may want to change/update:
+
+ application.package
+ the name of your application package as defined in the manifest. Used by the
+ 'uninstall' rule.
+ source.dir
+ the name of the source directory. Default is 'src'.
+ out.dir
+ the name of the output directory. Default is 'bin'.
+
+ Properties related to the SDK location or the project target should be updated
+ using the 'android' tool with the 'update' action.
+
+ This file is an integral part of the build system for your application and
+ should be checked in in Version Control Systems.
+
+ -->
+ <property file="build.properties" />
+
+ <!-- The default.properties file is created and updated by the 'android' tool, as well
+ as ADT.
+ This file is an integral part of the build system for your application and
+ should be checked in in Version Control Systems. -->
+ <property file="default.properties" />
+
+ <!-- Custom Android task to deal with the project target, and import the proper rules.
+ This requires ant 1.6.0 or above. -->
+ <path id="android.antlibs">
+ <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
+ </path>
+
+ <taskdef name="setup"
+ classname="com.android.ant.SetupTask"
+ classpathref="android.antlibs" />
+
+ <!-- Execute the Android Setup task that will setup some properties specific to the target,
+ and import the build rules files.
+
+ The rules file is imported from
+ <SDK>/platforms/<target_platform>/templates/android_rules.xml
+
+ To customize some build steps for your project:
+ - copy the content of the main node <project> from android_rules.xml
+ - paste it in this build.xml below the <setup /> task.
+ - disable the import by changing the setup task below to <setup import="false" />
+
+ This will ensure that the properties are setup correctly but that your customized
+ build steps are used.
+ -->
+ <setup />
</project>
12 default.properties
View
@@ -1,5 +1,11 @@
-# This file is automatically generated by activitycreator.
+# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
-# Instead customize values in a "build.properties" file.
+#
+# This file must be checked in Version Control Systems.
+#
+# To customize properties used by the Ant build system use,
+# "build.properties", and override values to adapt the script to your
+# project structure.
-sdk-folder=/home/pfedor/android/android-sdk-linux_x86-1.1_r1
+# Project target.
+target=android-5
2  res/values/strings.xml
View
@@ -9,7 +9,7 @@
<string name="menu_sound_on">Sound On</string>
<string name="menu_sound_off">Sound Off</string>
<string name="menu_about">About Frozen Bubble</string>
- <string name="menu_dont_rush_me">Don't Rush Me</string>
+ <string name="menu_dont_rush_me">Don\'t Rush Me</string>
<string name="menu_rush_me">Rush Me</string>
<string name="menu_editor">Level Editor</string>
<string name="install_editor">Redirecting you to the Market to download the Frozen Bubble Level Editor...</string>
100 src/org/jfedor/frozenbubble/GameView.java
View
@@ -69,6 +69,7 @@
import java.io.InputStream;
import java.io.IOException;
+import java.lang.reflect.Field;
import android.content.Context;
import android.content.res.Resources;
import android.content.SharedPreferences;
@@ -197,77 +198,96 @@ public GameThread(SurfaceHolder surfaceHolder, byte[] customLevels,
Resources res = mContext.getResources();
setState(STATE_PAUSE);
+ BitmapFactory.Options options = new BitmapFactory.Options();
+
+ // The Options.inScaled field is only available starting at API 4.
+ try {
+ Field f = options.getClass().getField("inScaled");
+ f.set(options, Boolean.FALSE);
+ } catch (Exception ignore) { }
+
mBackgroundOrig =
- BitmapFactory.decodeResource(res, R.drawable.background);
+ BitmapFactory.decodeResource(res, R.drawable.background, options);
mBubblesOrig = new Bitmap[8];
- mBubblesOrig[0] = BitmapFactory.decodeResource(res, R.drawable.bubble_1);
- mBubblesOrig[1] = BitmapFactory.decodeResource(res, R.drawable.bubble_2);
- mBubblesOrig[2] = BitmapFactory.decodeResource(res, R.drawable.bubble_3);
- mBubblesOrig[3] = BitmapFactory.decodeResource(res, R.drawable.bubble_4);
- mBubblesOrig[4] = BitmapFactory.decodeResource(res, R.drawable.bubble_5);
- mBubblesOrig[5] = BitmapFactory.decodeResource(res, R.drawable.bubble_6);
- mBubblesOrig[6] = BitmapFactory.decodeResource(res, R.drawable.bubble_7);
- mBubblesOrig[7] = BitmapFactory.decodeResource(res, R.drawable.bubble_8);
+ mBubblesOrig[0] = BitmapFactory.decodeResource(res, R.drawable.bubble_1,
+ options);
+ mBubblesOrig[1] = BitmapFactory.decodeResource(res, R.drawable.bubble_2,
+ options);
+ mBubblesOrig[2] = BitmapFactory.decodeResource(res, R.drawable.bubble_3,
+ options);
+ mBubblesOrig[3] = BitmapFactory.decodeResource(res, R.drawable.bubble_4,
+ options);
+ mBubblesOrig[4] = BitmapFactory.decodeResource(res, R.drawable.bubble_5,
+ options);
+ mBubblesOrig[5] = BitmapFactory.decodeResource(res, R.drawable.bubble_6,
+ options);
+ mBubblesOrig[6] = BitmapFactory.decodeResource(res, R.drawable.bubble_7,
+ options);
+ mBubblesOrig[7] = BitmapFactory.decodeResource(res, R.drawable.bubble_8,
+ options);
mBubblesBlindOrig = new Bitmap[8];
mBubblesBlindOrig[0] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_1);
+ res, R.drawable.bubble_colourblind_1, options);
mBubblesBlindOrig[1] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_2);
+ res, R.drawable.bubble_colourblind_2, options);
mBubblesBlindOrig[2] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_3);
+ res, R.drawable.bubble_colourblind_3, options);
mBubblesBlindOrig[3] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_4);
+ res, R.drawable.bubble_colourblind_4, options);
mBubblesBlindOrig[4] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_5);
+ res, R.drawable.bubble_colourblind_5, options);
mBubblesBlindOrig[5] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_6);
+ res, R.drawable.bubble_colourblind_6, options);
mBubblesBlindOrig[6] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_7);
+ res, R.drawable.bubble_colourblind_7, options);
mBubblesBlindOrig[7] = BitmapFactory.decodeResource(
- res, R.drawable.bubble_colourblind_8);
+ res, R.drawable.bubble_colourblind_8, options);
mFrozenBubblesOrig = new Bitmap[8];
mFrozenBubblesOrig[0] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_1);
+ res, R.drawable.frozen_1, options);
mFrozenBubblesOrig[1] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_2);
+ res, R.drawable.frozen_2, options);
mFrozenBubblesOrig[2] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_3);
+ res, R.drawable.frozen_3, options);
mFrozenBubblesOrig[3] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_4);
+ res, R.drawable.frozen_4, options);
mFrozenBubblesOrig[4] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_5);
+ res, R.drawable.frozen_5, options);
mFrozenBubblesOrig[5] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_6);
+ res, R.drawable.frozen_6, options);
mFrozenBubblesOrig[6] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_7);
+ res, R.drawable.frozen_7, options);
mFrozenBubblesOrig[7] = BitmapFactory.decodeResource(
- res, R.drawable.frozen_8);
+ res, R.drawable.frozen_8, options);
mTargetedBubblesOrig = new Bitmap[6];
mTargetedBubblesOrig[0] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_1);
+ res, R.drawable.fixed_1, options);
mTargetedBubblesOrig[1] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_2);
+ res, R.drawable.fixed_2, options);
mTargetedBubblesOrig[2] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_3);
+ res, R.drawable.fixed_3, options);
mTargetedBubblesOrig[3] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_4);
+ res, R.drawable.fixed_4, options);
mTargetedBubblesOrig[4] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_5);
+ res, R.drawable.fixed_5, options);
mTargetedBubblesOrig[5] = BitmapFactory.decodeResource(
- res, R.drawable.fixed_6);
+ res, R.drawable.fixed_6, options);
mBubbleBlinkOrig =
- BitmapFactory.decodeResource(res, R.drawable.bubble_blink);
- mGameWonOrig = BitmapFactory.decodeResource(res, R.drawable.win_panel);
- mGameLostOrig = BitmapFactory.decodeResource(res, R.drawable.lose_panel);
- mHurryOrig = BitmapFactory.decodeResource(res, R.drawable.hurry);
- mPenguinsOrig = BitmapFactory.decodeResource(res, R.drawable.penguins);
+ BitmapFactory.decodeResource(res, R.drawable.bubble_blink, options);
+ mGameWonOrig = BitmapFactory.decodeResource(res, R.drawable.win_panel,
+ options);
+ mGameLostOrig = BitmapFactory.decodeResource(res, R.drawable.lose_panel,
+ options);
+ mHurryOrig = BitmapFactory.decodeResource(res, R.drawable.hurry, options);
+ mPenguinsOrig = BitmapFactory.decodeResource(res, R.drawable.penguins,
+ options);
mCompressorHeadOrig =
- BitmapFactory.decodeResource(res, R.drawable.compressor);
+ BitmapFactory.decodeResource(res, R.drawable.compressor, options);
mCompressorOrig =
- BitmapFactory.decodeResource(res, R.drawable.compressor_body);
- mLifeOrig = BitmapFactory.decodeResource(res, R.drawable.life);
+ BitmapFactory.decodeResource(res, R.drawable.compressor_body, options);
+ mLifeOrig = BitmapFactory.decodeResource(res, R.drawable.life, options);
mFontImageOrig =
- BitmapFactory.decodeResource(res, R.drawable.bubble_font);
+ BitmapFactory.decodeResource(res, R.drawable.bubble_font, options);
mImageList = new Vector();
Please sign in to comment.
Something went wrong with that request. Please try again.