diff --git a/.gitignore b/.gitignore index c84f3ed..b98dd8d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,31 +1,16 @@ -# Built application files -*.apk -*.ap_ - -# Files for the Dalvik VM -*.dex - -# Java class files -*.class - -# Generated files -bin/ -gen/ - # Gradle files .gradle/ build/ -/*/build/ # Local configuration file (sdk path, etc) local.properties -# Proguard folder generated by Eclipse -proguard/ +# IntelliJ project files +*.iml +.idea/ -# Log Files -*.log +# Android Studio captures folder +captures/ -# IDEA files -*.iml -*.idea +# Misc +.DS_Store diff --git a/LICENSE b/LICENSE index 8cdb845..23cb790 100644 --- a/LICENSE +++ b/LICENSE @@ -337,4 +337,3 @@ proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. - diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/app/build.gradle b/app/build.gradle index d8c78cb..a2143de 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 25 + buildToolsVersion "25.0.2" defaultConfig { applicationId "kurtis.rx.androidexamples" minSdkVersion 21 - targetSdkVersion 23 + targetSdkVersion 25 versionCode 1 versionName "1.0" } @@ -22,8 +22,8 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:recyclerview-v7:23.1.1' - compile 'io.reactivex:rxandroid:1.1.0' - compile 'io.reactivex:rxjava:1.1.0' + compile 'com.android.support:appcompat-v7:25.3.1' + compile 'com.android.support:recyclerview-v7:25.3.1' + compile 'io.reactivex:rxandroid:1.2.1' + compile 'io.reactivex:rxjava:1.2.7' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index a965f92..5b86c08 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -1,6 +1,6 @@ # Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified -# in /usr/local/opt/android-sdk/tools/proguard/proguard-android.txt +# in ${sdk.dir}/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3280552..88f302d 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -50,4 +50,3 @@ - diff --git a/app/src/main/java/kurtis/rx/androidexamples/ExampleActivityAndName.java b/app/src/main/java/kurtis/rx/androidexamples/ExampleActivityAndName.java index 5afb8da..77769a3 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/ExampleActivityAndName.java +++ b/app/src/main/java/kurtis/rx/androidexamples/ExampleActivityAndName.java @@ -17,4 +17,3 @@ public ExampleActivityAndName( mExampleName = exampleName; } } - diff --git a/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java b/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java index db64f8f..4ab366c 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java +++ b/app/src/main/java/kurtis/rx/androidexamples/ExampleAdapter.java @@ -32,12 +32,13 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { } @Override - public void onBindViewHolder(final ViewHolder holder, final int position) { + public void onBindViewHolder(final ViewHolder holder, int position) { holder.mNameDisplay.setText(mExamples.get(position).mExampleName); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent exampleIntent = new Intent(mContext, mExamples.get(position).mExampleActivityClass); + Intent exampleIntent = new Intent(mContext, + mExamples.get(holder.getAdapterPosition()).mExampleActivityClass); mContext.startActivity(exampleIntent); } }); diff --git a/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java b/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java index 5c1a3c4..3444777 100644 --- a/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java +++ b/app/src/main/java/kurtis/rx/androidexamples/SimpleStringAdapter.java @@ -36,12 +36,12 @@ public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { } @Override - public void onBindViewHolder(ViewHolder holder, final int position) { + public void onBindViewHolder(final ViewHolder holder, int position) { holder.mColorDisplay.setText(mStrings.get(position)); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Toast.makeText(mContext, mStrings.get(position), Toast.LENGTH_SHORT).show(); + Toast.makeText(mContext, mStrings.get(holder.getAdapterPosition()), Toast.LENGTH_SHORT).show(); } }); } diff --git a/app/src/main/res/layout/activity_example_1.xml b/app/src/main/res/layout/activity_example_1.xml index d775c3b..cc46262 100644 --- a/app/src/main/res/layout/activity_example_1.xml +++ b/app/src/main/res/layout/activity_example_1.xml @@ -9,4 +9,4 @@ android:layout_width="match_parent" android:layout_height="match_parent" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_example_2.xml b/app/src/main/res/layout/activity_example_2.xml index d882ce3..7aaf390 100644 --- a/app/src/main/res/layout/activity_example_2.xml +++ b/app/src/main/res/layout/activity_example_2.xml @@ -19,4 +19,4 @@ android:visibility="gone" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_example_4.xml b/app/src/main/res/layout/activity_example_4.xml index 3080d51..4937038 100644 --- a/app/src/main/res/layout/activity_example_4.xml +++ b/app/src/main/res/layout/activity_example_4.xml @@ -31,4 +31,4 @@ android:textSize="18sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_example_5.xml b/app/src/main/res/layout/activity_example_5.xml index cd201fd..0c1dad8 100644 --- a/app/src/main/res/layout/activity_example_5.xml +++ b/app/src/main/res/layout/activity_example_5.xml @@ -13,4 +13,4 @@ android:layout_gravity="center" android:textSize="20sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/activity_example_6.xml b/app/src/main/res/layout/activity_example_6.xml index 24c09af..7f40d46 100644 --- a/app/src/main/res/layout/activity_example_6.xml +++ b/app/src/main/res/layout/activity_example_6.xml @@ -37,4 +37,4 @@ /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/example_list_item.xml b/app/src/main/res/layout/example_list_item.xml index 0949376..7526083 100644 --- a/app/src/main/res/layout/example_list_item.xml +++ b/app/src/main/res/layout/example_list_item.xml @@ -17,4 +17,4 @@ android:paddingTop="16dp" android:textSize="18sp" /> - \ No newline at end of file + diff --git a/app/src/main/res/layout/string_list_item.xml b/app/src/main/res/layout/string_list_item.xml index 575962d..7beea12 100644 --- a/app/src/main/res/layout/string_list_item.xml +++ b/app/src/main/res/layout/string_list_item.xml @@ -13,4 +13,4 @@ android:padding="16dp" android:textSize="20sp" /> - \ No newline at end of file + diff --git a/build.gradle b/build.gradle index 03bced9..b78a0b8 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.0' + classpath 'com.android.tools.build:gradle:2.3.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle.properties b/gradle.properties index 1d3591c..ae91f6f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,9 +10,9 @@ # Specifies the JVM arguments used for the daemon process. # The setting is particularly useful for tweaking memory settings. # Default value: -Xmx10248m -XX:MaxPermSize=256m -# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +org.gradle.jvmargs=-Xmx1536m # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 05ef575..ba026a0 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 6767982..c9589d4 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat May 07 13:52:22 PDT 2016 +#Tue Apr 11 18:25:53 SGT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip diff --git a/gradlew b/gradlew index 9d82f78..4453cce 100755 --- a/gradlew +++ b/gradlew @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/usr/bin/env sh ############################################################################## ## @@ -6,12 +6,30 @@ ## ############################################################################## -# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -DEFAULT_JVM_OPTS="" +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null APP_NAME="Gradle" APP_BASE_NAME=`basename "$0"` +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" @@ -30,6 +48,7 @@ die ( ) { cygwin=false msys=false darwin=false +nonstop=false case "`uname`" in CYGWIN* ) cygwin=true @@ -40,26 +59,11 @@ case "`uname`" in MINGW* ) msys=true ;; + NONSTOP* ) + nonstop=true + ;; esac -# Attempt to set APP_HOME -# Resolve links: $0 may be a link -PRG="$0" -# Need this for relative symlinks. -while [ -h "$PRG" ] ; do - ls=`ls -ld "$PRG"` - link=`expr "$ls" : '.*-> \(.*\)$'` - if expr "$link" : '/.*' > /dev/null; then - PRG="$link" - else - PRG=`dirname "$PRG"`"/$link" - fi -done -SAVED="`pwd`" -cd "`dirname \"$PRG\"`/" >/dev/null -APP_HOME="`pwd -P`" -cd "$SAVED" >/dev/null - CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # Determine the Java command to use to start the JVM. @@ -85,7 +89,7 @@ location of your Java installation." fi # Increase the maximum file descriptors if we can. -if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then MAX_FD_LIMIT=`ulimit -H -n` if [ $? -eq 0 ] ; then if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then @@ -150,11 +154,19 @@ if $cygwin ; then esac fi -# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules -function splitJvmOpts() { - JVM_OPTS=("$@") +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " } -eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS -JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi -exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" +exec "$JAVACMD" "$@" diff --git a/gradlew.bat b/gradlew.bat index aec9973..e95643d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -8,14 +8,14 @@ @rem Set local scope for the variables with windows NT shell if "%OS%"=="Windows_NT" setlocal -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS= - set DIRNAME=%~dp0 if "%DIRNAME%" == "" set DIRNAME=. set APP_BASE_NAME=%~n0 set APP_HOME=%DIRNAME% +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + @rem Find java.exe if defined JAVA_HOME goto findJavaFromJavaHome @@ -46,10 +46,9 @@ echo location of your Java installation. goto fail :init -@rem Get command-line arguments, handling Windowz variants +@rem Get command-line arguments, handling Windows variants if not "%OS%" == "Windows_NT" goto win9xME_args -if "%@eval[2+2]" == "4" goto 4NT_args :win9xME_args @rem Slurp the command line arguments. @@ -60,11 +59,6 @@ set _SKIP=2 if "x%~1" == "x" goto execute set CMD_LINE_ARGS=%* -goto execute - -:4NT_args -@rem Get arguments from the 4NT Shell from JP Software -set CMD_LINE_ARGS=%$ :execute @rem Setup the command line