diff --git a/.gitignore b/.gitignore index 9c4de58..06000ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ -.gradle /local.properties -/.idea/workspace.xml -/.idea/libraries .DS_Store /build /captures +.idea/ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..2599ef0 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,45 @@ +language: android + +android: + components: + # Use the latest revision of Android SDK Tools + - tools + - platform-tools + + # The BuildTools version used by your project + - build-tools-23.0.3 + + # The SDK version used to compile your project + - android-23 + + # For AppCompat + - extra + + # For emulator. Cannot use x86 w/o HW acceleration, which is provided by KVM. + - sys-img-armeabi-v7a-android-23 + + # Emulator Management: Create, Start and Wait +before_script: + - echo no | android create avd --force -n test -t android-23 --abi default/armeabi-v7a + - emulator -avd test -no-skin -no-audio -no-window & + - android-wait-for-emulator + # - adb shell input keyevent 82 & + +before_cache: + - rm -f $HOME/.gradle/caches/modules-2/modules-2.lock + +cache: + directories: + - $HOME/.gradle/caches/ + - $HOME/.gradle/wrapper/ + +jdk: + - oraclejdk8 + +branches: + only: + - master + +script: + - ./gradlew build check # connectedCheck to enable emulator testing + - ./gradlew clean build diff --git a/GYAppAnd.iml b/GYAppAnd.iml new file mode 100644 index 0000000..7f27c1e --- /dev/null +++ b/GYAppAnd.iml @@ -0,0 +1,181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/build.gradle b/build.gradle index cb4e809..d59de7f 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:1.5.0' + classpath 'com.android.tools.build:gradle:2.1.0' } } @@ -22,14 +22,14 @@ allprojects { } android { - compileSdkVersion 22 - buildToolsVersion "23.0.0 rc2" + compileSdkVersion 23 + buildToolsVersion "23.0.3" compileOptions.encoding = "windows-1254" defaultConfig { applicationId "com.turkcell.gelecegiyazanlar" minSdkVersion 15 - targetSdkVersion 22 + targetSdkVersion 23 versionCode 3 versionName "1.2" } @@ -43,17 +43,17 @@ android { dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:appcompat-v7:22.2.0' - compile 'com.android.support:recyclerview-v7:22.2.0' + compile 'com.android.support:appcompat-v7:23.4.0' + compile 'com.android.support:recyclerview-v7:23.4.0' compile 'eu.the4thfloor.volley:com.android.volley:2015.05.28' compile 'de.hdodenhof:circleimageview:1.3.0' - compile 'com.android.support:cardview-v7:22.2.0' + compile 'com.android.support:cardview-v7:23.4.0' compile files('libs/activation.jar') compile files('libs/additionnal.jar') compile 'com.getbase:floatingactionbutton:1.10.0' - compile 'com.android.support:design:22.2.0' + compile 'com.android.support:design:23.4.0' compile files('libs/curiosdk.jar') - compile 'com.google.android.gms:play-services:7.8.0' + compile 'com.google.android.gms:play-services:8.4.0' compile 'com.splunk.mint:mint:4.4.0' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..13372ae Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..a953d24 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,7 @@ +#Mon Dec 28 10:00:20 PST 2015 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +org.gradle.jvmargs=-Xmx2048M +distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..9d82f78 --- /dev/null +++ b/gradlew @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=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. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + 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=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100755 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@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 Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz 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. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +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 + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogEtkinlikListeFragment.java b/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogEtkinlikListeFragment.java index 13a3fba..cf469b6 100644 --- a/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogEtkinlikListeFragment.java +++ b/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogEtkinlikListeFragment.java @@ -24,6 +24,7 @@ import com.turkcell.gelecegiyazanlar.configurations.GYConfiguration; import com.turkcell.gelecegiyazanlar.designs.SlidingTabLayout; import com.turkcell.gelecegiyazanlar.models.Blog; +import com.turkcell.gelecegiyazanlar.models.BlogKategori; import com.turkcell.gelecegiyazanlar.utilities.TarihCevir; import com.turkcell.gelecegiyazanlar.utilities.YuklenmeEkran; @@ -38,7 +39,8 @@ public class BlogEtkinlikListeFragment extends Fragment { JsonArrayRequest request; - String url; + String url = GYConfiguration.getDomain() + "article/retrieve?nitems=10&index="; + YuklenmeEkran yuklenmeEkran; TarihCevir tarihCevir; @@ -51,6 +53,8 @@ public class BlogEtkinlikListeFragment extends Fragment { private int index = -1; private int maksSize; + + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { @@ -68,14 +72,15 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, recyclerView.setHasFixedSize(true); recyclerView.setLayoutManager(new LinearLayoutManager(getActivity())); - url = GYConfiguration.getDomain() + "article/retrieve?nitems=10&index="; + yuklenmeEkran = new YuklenmeEkran(getActivity()); tarihCevir = new TarihCevir(); + //açýlýþta tüm blog yazýlarýný listele if (viewPager.getCurrentItem() == 0) { - Listele(718, -1); - Scroll(718); + Listele(BlogKategori.TUMU, -1); + Scroll(BlogKategori.TUMU); } Log.d("log1", String.valueOf(viewPager.getCurrentItem())); tabLayout.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @@ -89,28 +94,36 @@ public void onPageSelected(int position) { itemList.clear(); switch (position) { case 0: - Listele(718, -1); - Scroll(718); + Listele(BlogKategori.TUMU, -1); + Scroll(BlogKategori.TUMU); break; case 1: - Listele(31, -1); - Scroll(31); + Listele(BlogKategori.GY, -1); + Scroll(BlogKategori.GY); break; case 2: - - Listele(29, -1); - Scroll(29); - + Listele(BlogKategori.MOBIL, -1); + Scroll(BlogKategori.MOBIL); break; case 3: - Listele(28, -1); - Scroll(28); - + Listele(BlogKategori.ANDROID, -1); + Scroll(BlogKategori.ANDROID); break; case 4: - Listele(738, -1); - Scroll(738); - + Listele(BlogKategori.IOS, -1); + Scroll(BlogKategori.IOS); + break; + case 5: + Listele(BlogKategori.WP,-1); + Scroll(BlogKategori.WP); + break; + case 6: + Listele(BlogKategori.OYUN,-1); + Scroll(BlogKategori.OYUN); + break; + case 7: + Listele(BlogKategori.TASARIM,-1); + Scroll(BlogKategori.TASARIM); break; } } @@ -132,7 +145,10 @@ public void Listele(int kategori, int x) { Log.d("urlBlog:", url + (1 + x) + "&kategoriID=" + kategori); - request = new JsonArrayRequest(Request.Method.GET, url + (1 + x) + "&kategoriID=" + kategori, null, new Response.Listener() { + request = new JsonArrayRequest(Request.Method.GET, + url + (1 + x) + "&kategoriID=" + kategori, + null, + new Response.Listener() { @Override public void onResponse(JSONArray response) { @@ -249,7 +265,9 @@ public void onErrorResponse(VolleyError error) { public void Scroll(final int kategori) { - recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { + //setOnScrollListener deprecated. + // bkz: http://developer.android.com/reference/android/support/v7/widget/RecyclerView.OnScrollListener.html + recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { /** diff --git a/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogFragment.java b/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogFragment.java index 34beee9..fdfa929 100644 --- a/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogFragment.java +++ b/src/main/java/com/turkcell/gelecegiyazanlar/fragments/BlogFragment.java @@ -1,6 +1,7 @@ package com.turkcell.gelecegiyazanlar.fragments; import android.os.Bundle; +import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewPager; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; @@ -16,7 +17,7 @@ public class BlogFragment extends android.support.v4.app.Fragment { public SlidingTabLayout tabs; Toolbar toolbar; CharSequence titles[]; - int numbOfTabs = 5; + int numbOfTabs = 8; ViewPager pager; ViewPagerAdapterBlogEtkinlik adapter; @@ -27,12 +28,17 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, toolbar = (Toolbar) getActivity().findViewById(R.id.tool_bar); View rootView = inflater.inflate(R.layout.fragment_blog, container, false); + //ViewPager'a ait tab'larda görünecek yazýlar titles = new CharSequence[]{ + getString(R.string.blog_kategori_tumu), getString(R.string.blog_kategori_gelecegi_yazanlar), getString(R.string.blog_kategori_mobil), getString(R.string.blog_kategori_android), getString(R.string.blog_kategori_ios), - getString(R.string.blog_kategori_wp) + getString(R.string.blog_kategori_wp), + getString(R.string.blog_kategori_oyun), + getString(R.string.blog_kategori_tasarim) + }; // Baþlýklarý,tab sayýsýný adapterda tanýmlar @@ -45,7 +51,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, tabs = (SlidingTabLayout) rootView.findViewById(R.id.tabsBlog); tabs.setDistributeEvenly(true); // tablarýn düzenlenebilir olmasýný saðlar - tabs.setSelectedIndicatorColors(getResources().getColor(R.color.beyaz_renk)); + //tabs.setSelectedIndicatorColors(getResources().getColor(R.color.beyaz_renk)); + //bkz: http://stackoverflow.com/questions/31590714/getcolorint-id-deprecated-on-android-6-0-marshmallow-api-23 + tabs.setSelectedIndicatorColors(ContextCompat.getColor(getActivity(),R.color.beyaz_renk)); tabs.setViewPager(pager); diff --git a/src/main/java/com/turkcell/gelecegiyazanlar/models/BlogKategori.java b/src/main/java/com/turkcell/gelecegiyazanlar/models/BlogKategori.java new file mode 100644 index 0000000..ae5ecd6 --- /dev/null +++ b/src/main/java/com/turkcell/gelecegiyazanlar/models/BlogKategori.java @@ -0,0 +1,17 @@ +package com.turkcell.gelecegiyazanlar.models; + +/** + * Created by cgural on 25.04.2016. + */ +//Geleceði Yazanlar API'deki blog kategorilerinin sayýsal karþýlýklarý +public class BlogKategori { + public static final int TUMU=0; + public static final int GY=718; + public static final int MOBIL=31; + public static final int ANDROID=29; + public static final int IOS=28; + public static final int WP=738; + public static final int FIREFOXOS=2010; + public static final int TASARIM=687; + public static final int OYUN=3423; +} diff --git a/src/main/res/drawable/blogg.jpg b/src/main/res/drawable/blogg.jpg deleted file mode 100644 index c31aeb0..0000000 Binary files a/src/main/res/drawable/blogg.jpg and /dev/null differ diff --git a/src/main/res/layout/fragment_blog.xml b/src/main/res/layout/fragment_blog.xml index c1500a9..bca4261 100644 --- a/src/main/res/layout/fragment_blog.xml +++ b/src/main/res/layout/fragment_blog.xml @@ -1,17 +1,14 @@ - + - + tools:context="com.turkcell.gelecegiyazanlar.fragments.EtkinlikFragment"> - - - İÇERİKLER KULLANICILAR Tamam - Yükleniyor... + Yükleniyor… EÄŸitimler Blog Etkinlik @@ -163,11 +163,14 @@ GeleceÄŸi Yazanlar Hakkında BaÅŸarı Belgeleri + TÜMÜ GELECEĞİ YAZANLAR MOBİL ANDROID IOS WINDOWS PHONE + OYUN + TASARIM Mobil Web Oyun