diff --git a/.checkstyle b/.checkstyle
new file mode 100644
index 0000000..133c82e
--- /dev/null
+++ b/.checkstyle
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..609aa00
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.fbprefs b/.fbprefs
new file mode 100644
index 0000000..38a81bc
--- /dev/null
+++ b/.fbprefs
@@ -0,0 +1,128 @@
+#FindBugs User Preferences
+#Sun Dec 19 22:56:40 CET 2010
+detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true
+detectorBadAppletConstructor=BadAppletConstructor|false
+detectorBadResultSetAccess=BadResultSetAccess|true
+detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true
+detectorBadUseOfReturnValue=BadUseOfReturnValue|true
+detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true
+detectorBooleanReturnNull=BooleanReturnNull|true
+detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false
+detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true
+detectorCheckTypeQualifiers=CheckTypeQualifiers|true
+detectorCloneIdiom=CloneIdiom|true
+detectorComparatorIdiom=ComparatorIdiom|true
+detectorConfusedInheritance=ConfusedInheritance|true
+detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true
+detectorCrossSiteScripting=CrossSiteScripting|true
+detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true
+detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true
+detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true
+detectorDontUseEnum=DontUseEnum|true
+detectorDroppedException=DroppedException|true
+detectorDumbMethodInvocations=DumbMethodInvocations|true
+detectorDumbMethods=DumbMethods|true
+detectorDuplicateBranches=DuplicateBranches|true
+detectorEmptyZipFileEntry=EmptyZipFileEntry|true
+detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true
+detectorFinalizerNullsFields=FinalizerNullsFields|true
+detectorFindBadCast2=FindBadCast2|true
+detectorFindBadForLoop=FindBadForLoop|true
+detectorFindCircularDependencies=FindCircularDependencies|false
+detectorFindDeadLocalStores=FindDeadLocalStores|true
+detectorFindDoubleCheck=FindDoubleCheck|true
+detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true
+detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true
+detectorFindFinalizeInvocations=FindFinalizeInvocations|true
+detectorFindFloatEquality=FindFloatEquality|true
+detectorFindHEmismatch=FindHEmismatch|true
+detectorFindInconsistentSync2=FindInconsistentSync2|true
+detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true
+detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true
+detectorFindMaskedFields=FindMaskedFields|true
+detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true
+detectorFindNakedNotify=FindNakedNotify|true
+detectorFindNonSerializableStoreIntoSession=FindNonSerializableStoreIntoSession|true
+detectorFindNonSerializableValuePassedToWriteObject=FindNonSerializableValuePassedToWriteObject|true
+detectorFindNonShortCircuit=FindNonShortCircuit|true
+detectorFindNullDeref=FindNullDeref|true
+detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true
+detectorFindOpenStream=FindOpenStream|true
+detectorFindPuzzlers=FindPuzzlers|true
+detectorFindRefComparison=FindRefComparison|true
+detectorFindReturnRef=FindReturnRef|true
+detectorFindRunInvocations=FindRunInvocations|true
+detectorFindSelfComparison=FindSelfComparison|true
+detectorFindSelfComparison2=FindSelfComparison2|true
+detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true
+detectorFindSpinLoop=FindSpinLoop|true
+detectorFindSqlInjection=FindSqlInjection|true
+detectorFindTwoLockWait=FindTwoLockWait|true
+detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true
+detectorFindUnconditionalWait=FindUnconditionalWait|true
+detectorFindUninitializedGet=FindUninitializedGet|true
+detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true
+detectorFindUnreleasedLock=FindUnreleasedLock|true
+detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true
+detectorFindUnsyncGet=FindUnsyncGet|true
+detectorFindUselessControlFlow=FindUselessControlFlow|true
+detectorFormatStringChecker=FormatStringChecker|true
+detectorHugeSharedStringConstants=HugeSharedStringConstants|true
+detectorIDivResultCastToDouble=IDivResultCastToDouble|true
+detectorIncompatMask=IncompatMask|true
+detectorInconsistentAnnotations=InconsistentAnnotations|true
+detectorInefficientMemberAccess=InefficientMemberAccess|false
+detectorInefficientToArray=InefficientToArray|true
+detectorInfiniteLoop=InfiniteLoop|true
+detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true
+detectorInfiniteRecursiveLoop2=InfiniteRecursiveLoop2|false
+detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true
+detectorInitializationChain=InitializationChain|true
+detectorInstantiateStaticClass=InstantiateStaticClass|true
+detectorInvalidJUnitTest=InvalidJUnitTest|true
+detectorIteratorIdioms=IteratorIdioms|true
+detectorLazyInit=LazyInit|true
+detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true
+detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true
+detectorMethodReturnCheck=MethodReturnCheck|true
+detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true
+detectorMutableLock=MutableLock|true
+detectorMutableStaticFields=MutableStaticFields|true
+detectorNaming=Naming|true
+detectorNumberConstructor=NumberConstructor|true
+detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true
+detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true
+detectorPublicSemaphores=PublicSemaphores|false
+detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true
+detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true
+detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true
+detectorRedundantInterfaces=RedundantInterfaces|true
+detectorRepeatedConditionals=RepeatedConditionals|true
+detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true
+detectorSerializableIdiom=SerializableIdiom|true
+detectorStartInConstructor=StartInConstructor|true
+detectorStaticCalendarDetector=StaticCalendarDetector|true
+detectorStringConcatenation=StringConcatenation|true
+detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true
+detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true
+detectorSwitchFallthrough=SwitchFallthrough|true
+detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true
+detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true
+detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true
+detectorURLProblems=URLProblems|true
+detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true
+detectorUnnecessaryMath=UnnecessaryMath|true
+detectorUnreadFields=UnreadFields|true
+detectorUseObjectEquals=UseObjectEquals|false
+detectorUselessSubclassMethod=UselessSubclassMethod|false
+detectorVarArgsProblems=VarArgsProblems|true
+detectorVolatileUsage=VolatileUsage|true
+detectorWaitInLoop=WaitInLoop|true
+detectorWrongMapIterator=WrongMapIterator|true
+detectorXMLFactoryBypass=XMLFactoryBypass|true
+detector_threshold=2
+effort=default
+excludefilter0=analysis/findbugs_exclude.xml
+filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MT_CORRECTNESS,PERFORMANCE,STYLE|false
+filter_settings_neg=MALICIOUS_CODE,NOISE,I18N,SECURITY,EXPERIMENTAL|
+run_at_full_build=false
diff --git a/.hgignore b/.hgignore
new file mode 100644
index 0000000..fdc4257
--- /dev/null
+++ b/.hgignore
@@ -0,0 +1,14 @@
+syntax: regexp
+^local\.properties$
+syntax: regexp
+^reports$
+syntax: regexp
+^ZumiAndroid\.apk$
+syntax: regexp
+^gen$
+syntax: regexp
+^bin$
+syntax: regexp
+^\.settings$
+syntax: regexp
+^javadoc$
\ No newline at end of file
diff --git a/.pmd b/.pmd
new file mode 100644
index 0000000..ad9cdeb
--- /dev/null
+++ b/.pmd
@@ -0,0 +1,821 @@
+
+
+ false
+ .ruleset
+
+
+ AbstractClassWithoutAbstractMethod
+ Design Rules
+
+
+ AbstractClassWithoutAnyMethod
+ Design Rules
+
+
+ AbstractNaming
+ Naming Rules
+
+
+ AccessorClassGeneration
+ Design Rules
+
+
+ AddEmptyString
+ Optimization Rules
+
+
+ AppendCharacterWithChar
+ String and StringBuffer Rules
+
+
+ ArrayIsStoredDirectly
+ Security Code Guidelines
+
+
+ AssignmentToNonFinalStatic
+ Design Rules
+
+
+ AvoidAccessibilityAlteration
+ Controversial Rules
+
+
+ AvoidArrayLoops
+ Optimization Rules
+
+
+ AvoidAssertAsIdentifier
+ Migration Rules
+
+
+ AvoidCallingFinalize
+ Finalizer Rules
+
+
+ AvoidCatchingNPE
+ Strict Exception Rules
+
+
+ AvoidCatchingThrowable
+ Strict Exception Rules
+
+
+ AvoidConstantsInterface
+ Design Rules
+
+
+ AvoidDecimalLiteralsInBigDecimalConstructor
+ Basic Rules
+
+
+ AvoidDeeplyNestedIfStmts
+ Design Rules
+
+
+ AvoidDollarSigns
+ Naming Rules
+
+
+ AvoidDuplicateLiterals
+ String and StringBuffer Rules
+
+
+ AvoidEnumAsIdentifier
+ Migration Rules
+
+
+ AvoidFieldNameMatchingMethodName
+ Naming Rules
+
+
+ AvoidFieldNameMatchingTypeName
+ Naming Rules
+
+
+ AvoidFinalLocalVariable
+ Controversial Rules
+
+
+ AvoidInstanceofChecksInCatchClause
+ Design Rules
+
+
+ AvoidMultipleUnaryOperators
+ Basic Rules
+
+
+ AvoidPrintStackTrace
+ Java Logging Rules
+
+
+ AvoidProtectedFieldInFinalClass
+ Design Rules
+
+
+ AvoidReassigningParameters
+ Design Rules
+
+
+ AvoidRethrowingException
+ Strict Exception Rules
+
+
+ AvoidStringBufferField
+ String and StringBuffer Rules
+
+
+ AvoidThreadGroup
+ Basic Rules
+
+
+ AvoidThrowingNewInstanceOfSameException
+ Strict Exception Rules
+
+
+ AvoidThrowingNullPointerException
+ Strict Exception Rules
+
+
+ AvoidThrowingRawExceptionTypes
+ Strict Exception Rules
+
+
+ AvoidUsingHardCodedIP
+ Basic Rules
+
+
+ AvoidUsingNativeCode
+ Controversial Rules
+
+
+ AvoidUsingOctalValues
+ Basic Rules
+
+
+ AvoidUsingShortType
+ Controversial Rules
+
+
+ AvoidUsingVolatile
+ Controversial Rules
+
+
+ BadComparison
+ Design Rules
+
+
+ BigIntegerInstantiation
+ Basic Rules
+
+
+ BooleanGetMethodName
+ Naming Rules
+
+
+ BooleanInstantiation
+ Basic Rules
+
+
+ BooleanInversion
+ Controversial Rules
+
+
+ BrokenNullCheck
+ Basic Rules
+
+
+ ByteInstantiation
+ Migration Rules
+
+
+ CallSuperInConstructor
+ Controversial Rules
+
+
+ CheckResultSet
+ Basic Rules
+
+
+ ClassCastExceptionWithToArray
+ Basic Rules
+
+
+ ClassNamingConventions
+ Naming Rules
+
+
+ ClassWithOnlyPrivateConstructorsShouldBeFinal
+ Design Rules
+
+
+ CloneMethodMustImplementCloneable
+ Type Resolution Rules
+
+
+ CloneThrowsCloneNotSupportedException
+ Clone Implementation Rules
+
+
+ CloseResource
+ Design Rules
+
+
+ CollapsibleIfStatements
+ Basic Rules
+
+
+ ConfusingTernary
+ Design Rules
+
+
+ ConsecutiveLiteralAppends
+ String and StringBuffer Rules
+
+
+ ConstructorCallsOverridableMethod
+ Design Rules
+
+
+ CouplingBetweenObjects
+ Coupling Rules
+
+
+ DefaultLabelNotLastInSwitchStmt
+ Design Rules
+
+
+ DoNotCallGarbageCollectionExplicitly
+ Controversial Rules
+
+
+ DoNotExtendJavaLangError
+ Strict Exception Rules
+
+
+ DoNotThrowExceptionInFinally
+ Strict Exception Rules
+
+
+ DontImportJavaLang
+ Import Statement Rules
+
+
+ DontImportSun
+ Controversial Rules
+
+
+ DoubleCheckedLocking
+ Basic Rules
+
+
+ DuplicateImports
+ Import Statement Rules
+
+
+ EmptyCatchBlock
+ Basic Rules
+
+
+ EmptyFinalizer
+ Finalizer Rules
+
+
+ EmptyFinallyBlock
+ Basic Rules
+
+
+ EmptyIfStmt
+ Basic Rules
+
+
+ EmptyInitializer
+ Basic Rules
+
+
+ EmptyMethodInAbstractClassShouldBeAbstract
+ Design Rules
+
+
+ EmptyStatementNotInLoop
+ Basic Rules
+
+
+ EmptyStaticInitializer
+ Basic Rules
+
+
+ EmptySwitchStatements
+ Basic Rules
+
+
+ EmptySynchronizedBlock
+ Basic Rules
+
+
+ EmptyTryBlock
+ Basic Rules
+
+
+ EmptyWhileStmt
+ Basic Rules
+
+
+ EqualsNull
+ Design Rules
+
+
+ ExceptionAsFlowControl
+ Strict Exception Rules
+
+
+ ExcessiveClassLength
+ Code Size Rules
+
+
+ ExcessiveImports
+ Coupling Rules
+
+
+ ExcessiveMethodLength
+ Code Size Rules
+
+
+ ExcessiveParameterList
+ Code Size Rules
+
+
+ FinalFieldCouldBeStatic
+ Design Rules
+
+
+ FinalizeDoesNotCallSuperFinalize
+ Finalizer Rules
+
+
+ FinalizeOnlyCallsSuperFinalize
+ Finalizer Rules
+
+
+ FinalizeOverloaded
+ Finalizer Rules
+
+
+ FinalizeShouldBeProtected
+ Finalizer Rules
+
+
+ ForLoopShouldBeWhileLoop
+ Basic Rules
+
+
+ ForLoopsMustUseBraces
+ Braces Rules
+
+
+ IdempotentOperations
+ Design Rules
+
+
+ IfElseStmtsMustUseBraces
+ Braces Rules
+
+
+ IfStmtsMustUseBraces
+ Braces Rules
+
+
+ ImmutableField
+ Design Rules
+
+
+ ImportFromSamePackage
+ Import Statement Rules
+
+
+ InefficientEmptyStringCheck
+ String and StringBuffer Rules
+
+
+ InefficientStringBuffering
+ String and StringBuffer Rules
+
+
+ InstantiationToGetClass
+ Design Rules
+
+
+ InsufficientStringBufferDeclaration
+ String and StringBuffer Rules
+
+
+ IntegerInstantiation
+ Migration Rules
+
+
+ JumbledIncrementer
+ Basic Rules
+
+
+ JUnit4SuitesShouldUseSuiteAnnotation
+ Migration Rules
+
+
+ JUnit4TestShouldUseAfterAnnotation
+ Migration Rules
+
+
+ JUnit4TestShouldUseBeforeAnnotation
+ Migration Rules
+
+
+ JUnit4TestShouldUseTestAnnotation
+ Migration Rules
+
+
+ JUnitAssertionsShouldIncludeMessage
+ JUnit Rules
+
+
+ JUnitSpelling
+ JUnit Rules
+
+
+ JUnitStaticSuite
+ JUnit Rules
+
+
+ JUnitTestsShouldIncludeAssert
+ JUnit Rules
+
+
+ JUnitUseExpected
+ Migration Rules
+
+
+ LocalVariableCouldBeFinal
+ Optimization Rules
+
+
+ LoggerIsNotStaticFinal
+ Java Logging Rules
+
+
+ LongInstantiation
+ Migration Rules
+
+
+ LooseCoupling
+ Type Resolution Rules
+
+
+ MethodArgumentCouldBeFinal
+ Optimization Rules
+
+
+ MethodNamingConventions
+ Naming Rules
+
+
+ MethodReturnsInternalArray
+ Security Code Guidelines
+
+
+ MethodWithSameNameAsEnclosingClass
+ Naming Rules
+
+
+ MisleadingVariableName
+ Naming Rules
+
+
+ MisplacedNullCheck
+ Basic Rules
+
+
+ MissingBreakInSwitch
+ Design Rules
+
+
+ MissingSerialVersionUID
+ JavaBean Rules
+
+
+ MissingStaticMethodInNonInstantiatableClass
+ Design Rules
+
+
+ MoreThanOneLogger
+ Java Logging Rules
+
+
+ NcssConstructorCount
+ Code Size Rules
+
+
+ NcssMethodCount
+ Code Size Rules
+
+
+ NcssTypeCount
+ Code Size Rules
+
+
+ NonCaseLabelInSwitchStatement
+ Design Rules
+
+
+ NonStaticInitializer
+ Design Rules
+
+
+ NonThreadSafeSingleton
+ Design Rules
+
+
+ NoPackage
+ Naming Rules
+
+
+ OptimizableToArrayCall
+ Design Rules
+
+
+ OverrideBothEqualsAndHashcode
+ Basic Rules
+
+
+ PackageCase
+ Naming Rules
+
+
+ PositionLiteralsFirstInComparisons
+ Design Rules
+
+
+ PreserveStackTrace
+ Design Rules
+
+
+ ProperCloneImplementation
+ Clone Implementation Rules
+
+
+ ProperLogger
+ Jakarta Commons Logging Rules
+
+
+ ReplaceEnumerationWithIterator
+ Migration Rules
+
+
+ ReplaceHashtableWithMap
+ Migration Rules
+
+
+ ReplaceVectorWithList
+ Migration Rules
+
+
+ ReturnEmptyArrayRatherThanNull
+ Design Rules
+
+
+ ReturnFromFinallyBlock
+ Basic Rules
+
+
+ ShortInstantiation
+ Migration Rules
+
+
+ ShortMethodName
+ Naming Rules
+
+
+ SignatureDeclareThrowsException
+ Type Resolution Rules
+
+
+ SimpleDateFormatNeedsLocale
+ Design Rules
+
+
+ SimplifyBooleanAssertion
+ JUnit Rules
+
+
+ SimplifyBooleanExpressions
+ Design Rules
+
+
+ SimplifyBooleanReturns
+ Design Rules
+
+
+ SimplifyConditional
+ Design Rules
+
+
+ SimplifyStartsWith
+ Optimization Rules
+
+
+ SingularField
+ Design Rules
+
+
+ StringBufferInstantiationWithChar
+ String and StringBuffer Rules
+
+
+ StringInstantiation
+ String and StringBuffer Rules
+
+
+ StringToString
+ String and StringBuffer Rules
+
+
+ SuspiciousConstantFieldName
+ Naming Rules
+
+
+ SuspiciousEqualsMethodName
+ Naming Rules
+
+
+ SuspiciousHashcodeMethodName
+ Naming Rules
+
+
+ SuspiciousOctalEscape
+ Controversial Rules
+
+
+ SwitchDensity
+ Design Rules
+
+
+ SwitchStmtsShouldHaveDefault
+ Design Rules
+
+
+ SystemPrintln
+ Java Logging Rules
+
+
+ TestClassWithoutTestCases
+ JUnit Rules
+
+
+ TooManyStaticImports
+ Import Statement Rules
+
+
+ UncommentedEmptyConstructor
+ Design Rules
+
+
+ UncommentedEmptyMethod
+ Design Rules
+
+
+ UnconditionalIfStatement
+ Basic Rules
+
+
+ UnnecessaryBooleanAssertion
+ JUnit Rules
+
+
+ UnnecessaryCaseChange
+ String and StringBuffer Rules
+
+
+ UnnecessaryConversionTemporary
+ Basic Rules
+
+
+ UnnecessaryFinalModifier
+ Basic Rules
+
+
+ UnnecessaryLocalBeforeReturn
+ Design Rules
+
+
+ UnnecessaryParentheses
+ Controversial Rules
+
+
+ UnnecessaryReturn
+ Basic Rules
+
+
+ UnnecessaryWrapperObjectCreation
+ Optimization Rules
+
+
+ UnsynchronizedStaticDateFormatter
+ Design Rules
+
+
+ UnusedFormalParameter
+ Unused Code Rules
+
+
+ UnusedLocalVariable
+ Unused Code Rules
+
+
+ UnusedNullCheckInEquals
+ Basic Rules
+
+
+ UnusedPrivateField
+ Unused Code Rules
+
+
+ UnusedPrivateMethod
+ Unused Code Rules
+
+
+ UseArrayListInsteadOfVector
+ Optimization Rules
+
+
+ UseArraysAsList
+ Optimization Rules
+
+
+ UseAssertEqualsInsteadOfAssertTrue
+ JUnit Rules
+
+
+ UseAssertNullInsteadOfAssertTrue
+ JUnit Rules
+
+
+ UseAssertSameInsteadOfAssertTrue
+ JUnit Rules
+
+
+ UseCollectionIsEmpty
+ Design Rules
+
+
+ UseCorrectExceptionLogging
+ Jakarta Commons Logging Rules
+
+
+ UseEqualsToCompareStrings
+ String and StringBuffer Rules
+
+
+ UseIndexOfChar
+ String and StringBuffer Rules
+
+
+ UselessOperationOnImmutable
+ Basic Rules
+
+
+ UselessOverridingMethod
+ Basic Rules
+
+
+ UselessStringValueOf
+ String and StringBuffer Rules
+
+
+ UseLocaleWithCaseConversions
+ Design Rules
+
+
+ UseNotifyAllInsteadOfNotify
+ Design Rules
+
+
+ UseSingleton
+ Design Rules
+
+
+ UseStringBufferForStringAppends
+ Optimization Rules
+
+
+ UseStringBufferLength
+ String and StringBuffer Rules
+
+
+ VariableNamingConventions
+ Naming Rules
+
+
+ WhileLoopsMustUseBraces
+ Braces Rules
+
+
+ false
+ true
+
diff --git a/.project b/.project
new file mode 100644
index 0000000..252cd23
--- /dev/null
+++ b/.project
@@ -0,0 +1,34 @@
+
+
+ android-coverflow
+
+
+
+
+
+ com.android.ide.eclipse.adt.ResourceManagerBuilder
+
+
+
+
+ com.android.ide.eclipse.adt.PreCompilerBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ com.android.ide.eclipse.adt.ApkBuilder
+
+
+
+
+
+ com.android.ide.eclipse.adt.AndroidNature
+ org.eclipse.jdt.core.javanature
+ edu.umd.cs.findbugs.plugin.eclipse.findbugsNature
+
+
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
new file mode 100644
index 0000000..1a2c4b3
--- /dev/null
+++ b/AndroidManifest.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LICENCE.txt b/LICENCE.txt
new file mode 100644
index 0000000..555948f
--- /dev/null
+++ b/LICENCE.txt
@@ -0,0 +1,5 @@
+External licences:
+
+* LIBRARY
+ URL
+ Type of licence
\ No newline at end of file
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..0c6396f
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,50 @@
+Make sure the projects are checked out in the same workspace in eclipse and
+have the right name.
+
+
+----------------------------------------------------------------------------
+Requirements :
+ - Android SDK - https://dl-ssl.google.com/android/eclipse/
+ - Ant ( only if not using IDE).
+
+Additonal requirements for IDE :
+
+- Eclipse Helios 3.6 IDE - http://www.eclipse.org/downloads/
+- Android Eclipse ADT Plugin - http://developer.android.com/sdk/index.html
+
+Optional requirements ( for analysis ) :
+- PMD - http://pmd.sourceforge.net/
+- Checkstyle - http://checkstyle.sourceforge.net/
+- Findbugs - http://findbugs.sourceforge.net/
+----------------------------------------------------------------------------
+
+Building :
+
+I. Building from ANT
+
+ 1. Download the dependent libraries into directory containg the project (you can also run ant -f build_android_manage_template.xml checkout_libraries)
+ 2. Copy ant.properties from template to local.properties in main directory, and edit appropriate paths ( sdk.dir is required )
+ 3. Run build task (default) from build.xml
+
+II. Building from Eclipse
+
+ 1. Download the dependent libraries (you can also run ant -f build_android_manage_template.xml checkout_libraries)
+ 2. Add ant.properties to "global property files in eclipse" or copy it to local.properties, edit appropriate paths ( sdk.dir is required )
+ 3. Install Eclipse IDE, and ADT Android plugin (http://developer.android.com/sdk/eclipse-adt.html#installing)
+ 4. Configure Android SDK in Eclipse IDE
+ 5. Download SDK Platform 8 in Android SDK Manager (Eclipse->Window->Android SDK and AVD manager)
+ 6. Import dependent libraries into eclipse workspace
+ 7. Run application.
+
+
+----------------------------------------------------------------------------
+Publishing :
+----------------------------------------------------------------------------
+
+To publish application on Android Market use instructions described here :
+
+1. Sign application
+http://developer.android.com/guide/publishing/app-signing.html
+
+2. Publish
+http://developer.android.com/guide/publishing/publishing.html
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
new file mode 100644
index 0000000..f127a20
--- /dev/null
+++ b/RELEASE_NOTES.txt
@@ -0,0 +1,3 @@
+Release 0.0.1
+
+Fixed Issues:
diff --git a/analysis/checkstyle.xml b/analysis/checkstyle.xml
new file mode 100644
index 0000000..5783d39
--- /dev/null
+++ b/analysis/checkstyle.xml
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/analysis/findbugs_exclude.xml b/analysis/findbugs_exclude.xml
new file mode 100644
index 0000000..453cd47
--- /dev/null
+++ b/analysis/findbugs_exclude.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/analysis/local_suppressions.xml b/analysis/local_suppressions.xml
new file mode 100644
index 0000000..14990c4
--- /dev/null
+++ b/analysis/local_suppressions.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/analysis/pmd.xml b/analysis/pmd.xml
new file mode 100644
index 0000000..6fbb3ec
--- /dev/null
+++ b/analysis/pmd.xml
@@ -0,0 +1,274 @@
+
+
+ Polidea rule set
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/analysis/suppressions.xml b/analysis/suppressions.xml
new file mode 100644
index 0000000..c5e57c6
--- /dev/null
+++ b/analysis/suppressions.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build-libs/ant4hg-V0.07.jar b/build-libs/ant4hg-V0.07.jar
new file mode 100644
index 0000000..c4d0157
Binary files /dev/null and b/build-libs/ant4hg-V0.07.jar differ
diff --git a/build.properties b/build.properties
new file mode 100644
index 0000000..05ab1bc
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,5 @@
+source.dir = src
+key.store.password =android
+key.alias.password =android
+key.store = cert/debug.keystore
+key.alias = androiddebugkey
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..965603d
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/build_android_manage_template.xml b/build_android_manage_template.xml
new file mode 100644
index 0000000..a2fb846
--- /dev/null
+++ b/build_android_manage_template.xml
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build_android_template.xml b/build_android_template.xml
new file mode 100644
index 0000000..35b2cf6
--- /dev/null
+++ b/build_android_template.xml
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ${javadoc.title}]]>
+
+
+
+
+
diff --git a/cert/debug.keystore b/cert/debug.keystore
new file mode 100644
index 0000000..d33815b
Binary files /dev/null and b/cert/debug.keystore differ
diff --git a/cert/default.keyset b/cert/default.keyset
new file mode 100644
index 0000000..e0d2b13
--- /dev/null
+++ b/cert/default.keyset
@@ -0,0 +1,25 @@
+BUTTON_CALL F3
+BUTTON_HANGUP F4
+BUTTON_HOME Home
+BUTTON_BACK Escape
+BUTTON_MENU F2, PageUp
+BUTTON_STAR Shift-F2, PageDown
+BUTTON_POWER F7
+BUTTON_SEARCH F5
+BUTTON_CAMERA Ctrl-Keypad_5, Ctrl-F3
+BUTTON_VOLUME_UP Keypad_Plus, Ctrl-F5
+BUTTON_VOLUME_DOWN Keypad_Minus, Ctrl-F6
+TOGGLE_NETWORK F8
+TOGGLE_TRACING F9
+TOGGLE_FULLSCREEN Alt-Enter
+BUTTON_DPAD_CENTER Keypad_5
+BUTTON_DPAD_UP Keypad_8
+BUTTON_DPAD_LEFT Keypad_4
+BUTTON_DPAD_RIGHT Keypad_6
+BUTTON_DPAD_DOWN Keypad_2
+TOGGLE_TRACKBALL F6
+SHOW_TRACKBALL Delete
+CHANGE_LAYOUT_PREV Keypad_7, Ctrl-F11
+CHANGE_LAYOUT_NEXT Keypad_9, Ctrl-F12
+ONION_ALPHA_UP Keypad_Multiply
+ONION_ALPHA_DOWN Keypad_Divide
diff --git a/default.properties b/default.properties
new file mode 100644
index 0000000..9d135cb
--- /dev/null
+++ b/default.properties
@@ -0,0 +1,11 @@
+# This file is automatically generated by Android Tools.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+#
+# 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.
+
+# Project target.
+target=android-7
diff --git a/proguard.cfg b/proguard.cfg
new file mode 100644
index 0000000..8ad7d33
--- /dev/null
+++ b/proguard.cfg
@@ -0,0 +1,34 @@
+-optimizationpasses 5
+-dontusemixedcaseclassnames
+-dontskipnonpubliclibraryclasses
+-dontpreverify
+-verbose
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
+
+-keep public class * extends android.app.Activity
+-keep public class * extends android.app.Application
+-keep public class * extends android.app.Service
+-keep public class * extends android.content.BroadcastReceiver
+-keep public class * extends android.content.ContentProvider
+-keep public class com.android.vending.licensing.ILicensingService
+
+-keepclasseswithmembernames class * {
+ native ;
+}
+
+-keepclasseswithmembernames class * {
+ public (android.content.Context, android.util.AttributeSet);
+}
+
+-keepclasseswithmembernames class * {
+ public (android.content.Context, android.util.AttributeSet, int);
+}
+
+-keepclassmembers enum * {
+ public static **[] values();
+ public static ** valueOf(java.lang.String);
+}
+
+-keep class * implements android.os.Parcelable {
+ public static final android.os.Parcelable$Creator *;
+}
diff --git a/project.properties b/project.properties
new file mode 100644
index 0000000..46d7ca5
--- /dev/null
+++ b/project.properties
@@ -0,0 +1,40 @@
+# This file is part of Polidea build process
+##########################################################################
+# Name of the project (and APK).
+# NOTE! Should be THE SAME as name in .project file
+##########################################################################
+project.apk.name=android-coverflow
+
+##########################################################################
+# Javadoc parameters
+# Title - is title of the Javadoc documentation displayed in browser
+# Overview is the overview description of the project. It should be
+# link to the FILE (so slashes rather than . to separate dirs)
+##########################################################################
+javadoc.title=Android Coverflow
+javadoc.overview.location=src/pl/polidea/coverflow/overview.html
+
+##########################################################################
+# Release information
+# The application will be available after release in versioned directory
+# ${release.url}${release.dir}${external.directory.name}
+# Choose external directory name as random sequence of characters
+# Add appropriate to.release.mail so that your team will receive release
+# emails automatically.
+##########################################################################
+release.url=http://dev.polidea.pl
+release.dir=/ext/
+external.directory.name = coverflow
+hg.user=bot@polidea.pl
+from.release.mail = Hudson
+to.release.mail = lab@polidea.pl
+
+##########################################################################
+# Libraries
+##########################################################################
+#
+# For every library there should be URL and branch defined from where this
+# library can be cloned (mercurial)
+##########################################################################
+#android.library.url.1=URL TO CHECKOUT THE LIBRARIE
+#android.library.branch.1=default
diff --git a/res/drawable-hdpi/icon.png b/res/drawable-hdpi/icon.png
new file mode 100644
index 0000000..8074c4c
Binary files /dev/null and b/res/drawable-hdpi/icon.png differ
diff --git a/res/drawable-ldpi/icon.png b/res/drawable-ldpi/icon.png
new file mode 100644
index 0000000..1095584
Binary files /dev/null and b/res/drawable-ldpi/icon.png differ
diff --git a/res/drawable-mdpi/icon.png b/res/drawable-mdpi/icon.png
new file mode 100644
index 0000000..a07c69f
Binary files /dev/null and b/res/drawable-mdpi/icon.png differ
diff --git a/res/layout/main.xml b/res/layout/main.xml
new file mode 100644
index 0000000..c1bc6be
--- /dev/null
+++ b/res/layout/main.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
diff --git a/res/values/strings.xml b/res/values/strings.xml
new file mode 100644
index 0000000..98d566d
--- /dev/null
+++ b/res/values/strings.xml
@@ -0,0 +1,4 @@
+
+
+ CoverFlowTesting
+
diff --git a/src/pl/polidea/coverflow/CoverFlowTesting.java b/src/pl/polidea/coverflow/CoverFlowTesting.java
new file mode 100644
index 0000000..13af272
--- /dev/null
+++ b/src/pl/polidea/coverflow/CoverFlowTesting.java
@@ -0,0 +1,15 @@
+package pl.polidea.coverflow;
+
+import android.app.Activity;
+import android.os.Bundle;
+
+public class CoverFlowTesting extends Activity
+{
+ /** Called when the activity is first created. */
+ @Override
+ public void onCreate(Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.main);
+ }
+}
diff --git a/template/ant.properties b/template/ant.properties
new file mode 100644
index 0000000..7749f8a
--- /dev/null
+++ b/template/ant.properties
@@ -0,0 +1,17 @@
+# Android SDK
+sdk.dir=/var/lib/google/android-sdk
+
+# Junit
+junit.jar=/usr/share/java/junit4.jar
+
+# Analysis
+findbugs.home.dir=/var/lib/analysis/findbugs
+pmd.home.dir=/var/lib/analysis/pmd
+checkstyle.home.dir=/var/lib/analysis/checkstyle
+
+# GWT and appengine
+gwt.sdk.home.dir=/var/lib/google/gwt
+appengine.sdk.home.dir=/var/lib/google/appengine-java-sdk
+
+#encoding
+java.encoding=utf-8
diff --git a/version.txt b/version.txt
new file mode 100644
index 0000000..3106186
--- /dev/null
+++ b/version.txt
@@ -0,0 +1,3 @@
+#Fri, 14 Jan 2011 00:11:49 +0100
+#Wed Dec 08 18:06:04 CET 2010
+current.version.code=0