├── project.properties ├── settings.gradle ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew.bat └── gradlew ├── FreeFlow ├── libs │ └── android-support-v4.jar ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .classpath ├── src │ └── com │ │ └── comcast │ │ └── freeflow │ │ ├── animations │ │ ├── interpolators │ │ │ └── EaseInOutQuintInterpolator.java │ │ ├── NoAnimationLayoutAnimator.java │ │ └── FreeFlowLayoutAnimator.java │ │ ├── debug │ │ ├── BaseFreeFlowEventListener.java │ │ └── TouchDebugUtils.java │ │ ├── utils │ │ ├── MathUtils.java │ │ └── ViewUtils.java │ │ ├── core │ │ ├── IndexPath.java │ │ ├── SectionedAdapter.java │ │ ├── FreeFlowItem.java │ │ ├── ViewPool.java │ │ ├── FreeFlowEventListener.java │ │ ├── Section.java │ │ └── LayoutChangeset.java │ │ ├── layouts │ │ ├── FreeFlowLayoutBase.java │ │ ├── FreeFlowLayout.java │ │ ├── HLayout.java │ │ ├── VLayout.java │ │ └── HGridLayout.java │ │ └── helpers │ │ └── DefaultSectionAdapter.java ├── gradle.properties ├── build.gradle ├── .project ├── AndroidManifest.xml ├── project.properties ├── ant.properties ├── proguard-project.txt └── build.xml ├── examples ├── Artbook │ ├── libs │ │ ├── gson-2.2.4.jar │ │ ├── picasso-2.2.0.jar │ │ └── okhttp-1.3.0-jar-with-dependencies.jar │ ├── screenshots │ │ └── freeflow.png │ ├── res │ │ ├── drawable-hdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xxhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable-xxxhdpi │ │ │ └── ic_launcher.png │ │ ├── drawable │ │ │ └── box.xml │ │ ├── values-sw600dp │ │ │ └── dimens.xml │ │ ├── values │ │ │ ├── dimens.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── values-sw720dp-land │ │ │ └── dimens.xml │ │ ├── values-v11 │ │ │ └── styles.xml │ │ ├── values-v14 │ │ │ └── styles.xml │ │ ├── menu │ │ │ └── artbook.xml │ │ └── layout │ │ │ ├── pic_view.xml │ │ │ ├── activity_artbook.xml │ │ │ └── activity_about.xml │ ├── .settings │ │ └── org.eclipse.jdt.core.prefs │ ├── .classpath │ ├── build.gradle │ ├── src │ │ └── com │ │ │ └── comcast │ │ │ └── freeflow │ │ │ └── examples │ │ │ └── artbook │ │ │ ├── AboutActivity.java │ │ │ ├── models │ │ │ ├── DribbbleFeed.java │ │ │ ├── DribbbleFetch.java │ │ │ └── Shot.java │ │ │ ├── data │ │ │ └── DribbbleDataAdapter.java │ │ │ ├── ArtbookActivity.java │ │ │ └── layouts │ │ │ └── ArtbookLayout.java │ ├── .project │ ├── project.properties │ ├── proguard-project.txt │ └── AndroidManifest.xml └── PhotoGrid │ ├── res │ ├── drawable-mdpi │ │ ├── orange.9.png │ │ └── ic_launcher.png │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── values-sw600dp │ │ └── dimens.xml │ ├── values │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── drawable │ │ └── gray_rect.xml │ ├── menu │ │ └── main.xml │ ├── values-sw720dp-land │ │ └── dimens.xml │ ├── values-v11 │ │ └── styles.xml │ ├── values-v14 │ │ └── styles.xml │ └── layout │ │ ├── activity_main.xml │ │ └── activity_simple.xml │ ├── .settings │ └── org.eclipse.jdt.core.prefs │ ├── .classpath │ ├── build.gradle │ ├── .project │ ├── project.properties │ ├── proguard-project.txt │ └── AndroidManifest.xml ├── FreeFlowTests ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-ldpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ └── values │ │ └── strings.xml ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .classpath ├── .project ├── AndroidManifest.xml ├── project.properties ├── ant.properties ├── proguard-project.txt ├── src │ └── com │ │ └── comcast │ │ └── freeflow │ │ ├── layouts │ │ └── VGridLayoutTest.java │ │ └── core │ │ └── FreeFlowContainerTest.java └── build.xml ├── Comcast Contributor License Agreement (03-07-14).pdf ├── FreeFlowTestsStub ├── res │ ├── drawable-hdpi │ │ └── ic_launcher.png │ ├── drawable-mdpi │ │ └── ic_launcher.png │ ├── drawable-xhdpi │ │ └── ic_launcher.png │ ├── values │ │ ├── strings.xml │ │ └── styles.xml │ ├── values-v11 │ │ └── styles.xml │ └── values-v14 │ │ └── styles.xml ├── .settings │ └── org.eclipse.jdt.core.prefs ├── .classpath ├── .project ├── src │ └── com │ │ └── comcast │ │ └── freeflow │ │ └── teststub │ │ └── MainActivity.java ├── project.properties ├── AndroidManifest.xml ├── proguard-project.txt └── build.xml ├── gradle.properties ├── .gitignore ├── .project ├── gradlew.bat ├── README.md ├── maven_push.gradle └── gradlew /project.properties: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':FreeFlow' 2 | 3 | include ':examples:PhotoGrid' 4 | include ':examples:Artbook' 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /FreeFlow/libs/android-support-v4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlow/libs/android-support-v4.jar -------------------------------------------------------------------------------- /examples/Artbook/libs/gson-2.2.4.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/libs/gson-2.2.4.jar -------------------------------------------------------------------------------- /examples/Artbook/libs/picasso-2.2.0.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/libs/picasso-2.2.0.jar -------------------------------------------------------------------------------- /examples/Artbook/screenshots/freeflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/screenshots/freeflow.png -------------------------------------------------------------------------------- /gradle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/gradle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /FreeFlowTests/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTests/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FreeFlowTests/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTests/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /FreeFlowTests/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTests/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FreeFlowTests/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTests/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/PhotoGrid/res/drawable-mdpi/orange.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/PhotoGrid/res/drawable-mdpi/orange.9.png -------------------------------------------------------------------------------- /Comcast Contributor License Agreement (03-07-14).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/Comcast Contributor License Agreement (03-07-14).pdf -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTestsStub/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTestsStub/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/FreeFlowTestsStub/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/res/drawable-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/res/drawable-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/PhotoGrid/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/PhotoGrid/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/PhotoGrid/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/PhotoGrid/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/res/drawable-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/res/drawable-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/PhotoGrid/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/PhotoGrid/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /examples/Artbook/libs/okhttp-1.3.0-jar-with-dependencies.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/comcast/FreeFlow/master/examples/Artbook/libs/okhttp-1.3.0-jar-with-dependencies.jar -------------------------------------------------------------------------------- /FreeFlow/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /FreeFlowTests/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /examples/Artbook/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /examples/PhotoGrid/.settings/org.eclipse.jdt.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 3 | org.eclipse.jdt.core.compiler.compliance=1.6 4 | org.eclipse.jdt.core.compiler.source=1.6 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Nov 26 10:54:27 EST 2014 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.2-all.zip 7 | -------------------------------------------------------------------------------- /gradle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Wed Nov 26 10:43:36 EST 2014 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip 7 | -------------------------------------------------------------------------------- /FreeFlow/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /FreeFlow/src/com/comcast/freeflow/animations/interpolators/EaseInOutQuintInterpolator.java: -------------------------------------------------------------------------------- 1 | package com.comcast.freeflow.animations.interpolators; 2 | 3 | import android.view.animation.Interpolator; 4 | 5 | public class EaseInOutQuintInterpolator implements Interpolator{ 6 | 7 | // easeInOutQuint 8 | public float getInterpolation(float t) { 9 | float x = t*2.0f; 10 | if (t<0.5f) return 0.5f*x*x*x*x*x; 11 | x = (t-0.5f)*2-1; 12 | return 0.5f*x*x*x*x*x+1; 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /FreeFlowTests/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/Artbook/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /examples/PhotoGrid/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | VERSION_NAME=0.6-SNAPSHOT 2 | VERSION_CODE=6 3 | GROUP=com.comcast.freeflow 4 | 5 | POM_DESCRIPTION=A Layout Engine for Android 6 | POM_URL=https://github.com/Comcast/FreeFlow 7 | POM_SCM_URL=https://github.com/Comcast/FreeFlow 8 | POM_SCM_CONNECTION=scm:git@github.com:Comcast/FreeFlow.git 9 | POM_SCM_DEV_CONNECTION=scm:git@github.com:Comcast/FreeFlow.git 10 | POM_LICENCE_NAME=The Apache Software License, Version 2.0 11 | POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt 12 | POM_LICENCE_DIST=repo 13 | POM_DEVELOPER_ID=Comcast 14 | POM_DEVELOPER_NAME=Comcast 15 | 16 | org.gradle.jvmargs=-XX:MaxPermSize=512m -------------------------------------------------------------------------------- /FreeFlow/gradle.properties: -------------------------------------------------------------------------------- 1 | VERSION_NAME=1.0 2 | VERSION_CODE=1 3 | GROUP=com.comcast.freeflow 4 | POM_DESCRIPTION=FreeFlow Layout Library for Android 5 | POM_URL=https://github.com/Comcast/FreeFlow 6 | POM_SCM_URL=https://github.com/Comcast/FreeFlow 7 | POM_SCM_CONNECTION=scm:git@github.com:comcast/freeflow.git 8 | POM_SCM_DEV_CONNECTION=scm:git@github.com:comcast/comcast/freeflow.git 9 | POM_LICENCE_NAME=The Apache Software License, Version 2.0 10 | POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt 11 | POM_LICENCE_DIST=repo 12 | POM_DEVELOPER_ID=Comcast 13 | POM_DEVELOPER_NAME=Arpit Mathur 14 | POM_NAME=FreeFlow Layout Library 15 | POM_ARTIFACT_ID=freeflow 16 | POM_PACKAGING=aar 17 | 18 | -------------------------------------------------------------------------------- /FreeFlow/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | dependencies { 3 | classpath 'com.android.tools.build:gradle:1.1.0' 4 | } 5 | } 6 | apply plugin: 'com.android.library' 7 | 8 | repositories { 9 | mavenLocal() 10 | mavenCentral() 11 | } 12 | 13 | dependencies { 14 | compile 'com.android.support:support-v4:21.0.2' 15 | } 16 | android { 17 | sourceSets { 18 | main { 19 | manifest.srcFile 'AndroidManifest.xml' 20 | java.srcDirs = ['src'] 21 | } 22 | } 23 | } 24 | android { 25 | compileSdkVersion 21 26 | buildToolsVersion '21.1.2' 27 | } 28 | repositories { 29 | mavenLocal() 30 | mavenCentral() 31 | } 32 | apply from: '../maven_push.gradle' 33 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | bin/AndroidManifest.xml 2 | bin/CollectionViewForAndroid.apk 3 | bin/classes.dex 4 | bin/classes/com/example/collectionviewforandroid/CollectionViewTest.class 5 | bin/dexedLibs/android-support-v4-13cdbed5f27b224680d6f7e538f76de2.jar 6 | bin/dexedLibs/annotations-389a629b573b08336a2f5f1feecb16de.jar 7 | bin/res/drawable-hdpi/ic_launcher.png 8 | bin/res/drawable-mdpi/ic_launcher.png 9 | bin/res/drawable-xhdpi/ic_launcher.png 10 | bin/resources.ap_ 11 | bin 12 | bin/* 13 | CollectionViews2/bin/* 14 | CollectionViews2/gen/* 15 | examples/PhotoGrid/gen/* 16 | examples/PhotoGrid/bin/* 17 | 18 | # IDEA files 19 | .idea 20 | *.iml 21 | out 22 | gen 23 | 24 | # Gradle files 25 | .gradle/ 26 | build/ 27 | */reports/* 28 | # Local configuration file (sdk path, etc) 29 | local.properties 30 | 31 | .DS_Store 32 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | CollectionViews2TestStub 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/Artbook/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | dependencies { 3 | classpath 'com.android.tools.build:gradle:1.1.0' 4 | } 5 | } 6 | 7 | apply plugin: 'com.android.application' 8 | 9 | dependencies { 10 | compile project(':FreeFlow') 11 | compile 'com.squareup.picasso:picasso:2.2.0' 12 | compile 'com.squareup.okhttp:okhttp:1.3.0' 13 | compile 'com.google.code.gson:gson:2.2.4' 14 | } 15 | 16 | android{ 17 | sourceSets { 18 | main { 19 | manifest.srcFile 'AndroidManifest.xml' 20 | java.srcDirs = ['src'] 21 | res.srcDirs = ['res'] 22 | assets.srcDirs = ['assets'] 23 | } 24 | } 25 | } 26 | 27 | 28 | 29 | android { 30 | compileSdkVersion 19 31 | buildToolsVersion '19.1.0' 32 | 33 | lintOptions { 34 | abortOnError false 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /examples/PhotoGrid/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | dependencies { 3 | classpath 'com.android.tools.build:gradle:1.1.0' 4 | } 5 | } 6 | 7 | apply plugin: 'com.android.application' 8 | 9 | dependencies { 10 | compile project(':FreeFlow') 11 | compile 'com.squareup.picasso:picasso:2.2.0' 12 | compile 'com.squareup.okhttp:okhttp:1.3.0' 13 | compile 'com.google.code.gson:gson:2.2.4' 14 | } 15 | 16 | android{ 17 | sourceSets { 18 | main { 19 | manifest.srcFile 'AndroidManifest.xml' 20 | java.srcDirs = ['src'] 21 | res.srcDirs = ['res'] 22 | assets.srcDirs = ['assets'] 23 | } 24 | } 25 | } 26 | 27 | 28 | 29 | android { 30 | compileSdkVersion 19 31 | buildToolsVersion '19.1.0' 32 | 33 | lintOptions { 34 | abortOnError false 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /FreeFlowTests/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | FreeFlowTestsTest 20 | 21 | 22 | -------------------------------------------------------------------------------- /examples/Artbook/src/com/comcast/freeflow/examples/artbook/AboutActivity.java: -------------------------------------------------------------------------------- 1 | package com.comcast.freeflow.examples.artbook; 2 | 3 | import android.app.Activity; 4 | import android.content.Intent; 5 | import android.net.Uri; 6 | import android.os.Bundle; 7 | import android.view.View; 8 | import android.view.View.OnClickListener; 9 | 10 | public class AboutActivity extends Activity { 11 | 12 | @Override 13 | protected void onCreate(Bundle savedInstanceState) { 14 | super.onCreate(savedInstanceState); 15 | setContentView(R.layout.activity_about); 16 | findViewById(R.id.github_button).setOnClickListener( new OnClickListener() { 17 | 18 | @Override 19 | public void onClick(View v) { 20 | String url = "https://github.com/Comcast/FreeFlow/"; 21 | Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); 22 | startActivity(browserIntent); 23 | } 24 | }); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /examples/Artbook/res/drawable/box.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /examples/Artbook/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /examples/Artbook/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 16dp 20 | 16dp 21 | 22 | 23 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values-sw600dp/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 16dp 20 | 16dp 21 | 22 | 23 | -------------------------------------------------------------------------------- /FreeFlow/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FreeFlow 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | CollectionViewForAndroid 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /examples/Artbook/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Artbook 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | FreeFlowPhotoGrid 20 | Settings 21 | Hello world! 22 | 23 | 24 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FreeFlowTestStub 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /examples/PhotoGrid/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FreeFlowPhotoGrid 4 | 5 | 6 | 7 | 8 | 9 | com.android.ide.eclipse.adt.ResourceManagerBuilder 10 | 11 | 12 | 13 | 14 | com.android.ide.eclipse.adt.PreCompilerBuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.jdt.core.javabuilder 20 | 21 | 22 | 23 | 24 | com.android.ide.eclipse.adt.ApkBuilder 25 | 26 | 27 | 28 | 29 | 30 | com.android.ide.eclipse.adt.AndroidNature 31 | org.eclipse.jdt.core.javanature 32 | 33 | 34 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/drawable/gray_rect.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/menu/main.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /FreeFlowTests/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | FreeFlowTests 4 | 5 | 6 | FreeFlowTestStub 7 | 8 | 9 | 10 | com.android.ide.eclipse.adt.ResourceManagerBuilder 11 | 12 | 13 | 14 | 15 | com.android.ide.eclipse.adt.PreCompilerBuilder 16 | 17 | 18 | 19 | 20 | org.eclipse.jdt.core.javabuilder 21 | 22 | 23 | 24 | 25 | com.android.ide.eclipse.adt.ApkBuilder 26 | 27 | 28 | 29 | 30 | 31 | com.android.ide.eclipse.adt.AndroidNature 32 | org.eclipse.jdt.core.javanature 33 | 34 | 35 | -------------------------------------------------------------------------------- /FreeFlow/src/com/comcast/freeflow/debug/BaseFreeFlowEventListener.java: -------------------------------------------------------------------------------- 1 | package com.comcast.freeflow.debug; 2 | 3 | import com.comcast.freeflow.core.FreeFlowEventListener; 4 | import com.comcast.freeflow.layouts.FreeFlowLayout; 5 | 6 | /** 7 | * Just a helper class so you can extend this for event management if you only 8 | * care for one or two specific events. 9 | * 10 | * @author Arpit Mathur 11 | * 12 | */ 13 | public class BaseFreeFlowEventListener implements FreeFlowEventListener { 14 | 15 | @Override 16 | public void layoutChangeAnimationsStarting() { 17 | } 18 | 19 | @Override 20 | public void layoutChangeAnimationsComplete() { 21 | } 22 | 23 | @Override 24 | public void layoutComputed() { 25 | } 26 | 27 | @Override 28 | public void dataChanged() { 29 | } 30 | 31 | @Override 32 | public void onLayoutChanging(FreeFlowLayout oldLayout, 33 | FreeFlowLayout newLayout) { 34 | } 35 | 36 | @Override 37 | public void layoutComplete(boolean areTransitionAnimationsPlaying) { 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /examples/Artbook/res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 128dp 23 | 24 | 25 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values-sw720dp-land/dimens.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 128dp 23 | 24 | 25 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/src/com/comcast/freeflow/teststub/MainActivity.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2013 Comcast Cable Communications Management, LLC 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | package com.comcast.freeflow.teststub; 17 | 18 | import android.app.Activity; 19 | 20 | public class MainActivity extends Activity { 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /FreeFlow/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 21 | 22 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /examples/Artbook/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values-v11/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /FreeFlow/src/com/comcast/freeflow/utils/MathUtils.java: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | * Copyright 2013 Comcast Cable Communications Management, LLC 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | ******************************************************************************/ 16 | 17 | package com.comcast.freeflow.utils; 18 | 19 | public class MathUtils { 20 | 21 | public static int randRange(int min, int max) { 22 | return min + (int) (Math.random() * ((max - min) + 1)); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /FreeFlowTestsStub/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/Artbook/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/PhotoGrid/res/values-v14/styles.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /examples/Artbook/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 19 | Artbook 20 | Artbook is a demo app that shows how to use the FreeFlow UI library. Click on the link below to go to the Github page for the library 21 | Github link 22 | About 23 | Change Layout 24 | 25 | 26 | -------------------------------------------------------------------------------- /examples/Artbook/res/menu/artbook.xml: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 23 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /examples/Artbook/res/layout/pic_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 22 | 23 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /FreeFlowTests/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 17 | 21 | 22 | 23 | 24 | 27 | 28 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /examples/Artbook/res/layout/activity_artbook.xml: -------------------------------------------------------------------------------- 1 | 16 | 21 | 22 | 26 | 27 |