diff --git a/.gitignore b/.gitignore
index 487ccae..d36494a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,12 +34,8 @@ captures/
# Intellij
*.iml
-.idea/
-.idea/workspace.xml
-.idea/tasks.xml
-.idea/gradle.xml
-.idea/dictionaries
-.idea/libraries
+/.idea/
+
# Keystore files
*.jks
@@ -53,4 +49,4 @@ google-services.json
# Freeline
freeline.py
freeline/
-freeline_project_description.json
\ No newline at end of file
+freeline_project_description.json
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index 96cc43e..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
deleted file mode 100644
index e7bedf3..0000000
--- a/.idea/copyright/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml
deleted file mode 100644
index 3efe9d6..0000000
--- a/.idea/markdown-navigator.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml
deleted file mode 100644
index 57927c5..0000000
--- a/.idea/markdown-navigator/profiles_settings.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index c3b98a8..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Android > Lint > Correctness
-
-
- Android > Lint > Performance
-
-
- Android > Lint > Usability > Icons
-
-
-
-
- Android
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1.8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index d67f8c7..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index bbe9cf0..40758a7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,4 +1,11 @@
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
+apply plugin: 'kotlin-kapt'
+apply plugin: 'kotlin-android-extensions'
+
+repositories {
+ mavenCentral()
+}
android {
compileSdkVersion 25
@@ -17,6 +24,9 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
+ kapt {
+ generateStubs = true
+ }
dataBinding {
enabled = true
@@ -27,6 +37,7 @@ android {
targetCompatibility JavaVersion.VERSION_1_8
}
+
}
dependencies {
@@ -60,5 +71,10 @@ dependencies {
//ui
compile rootProject.ext.picasso
+ compile rootProject.ext.kotlin
+ kapt rootProject.ext.databindingCompiler
+ kapt rootProject.ext.roomCompiler
+ kapt rootProject.ext.daggerCompiler
+ kapt rootProject.ext.daggerAndroidProcessor
}
diff --git a/app/src/main/java/iammert/com/androidarchitecture/AAApp.java b/app/src/main/java/iammert/com/androidarchitecture/AAApp.java
deleted file mode 100644
index c65005d..0000000
--- a/app/src/main/java/iammert/com/androidarchitecture/AAApp.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package iammert.com.androidarchitecture;
-
-import android.app.Activity;
-import android.app.Application;
-
-import javax.inject.Inject;
-
-import dagger.android.AndroidInjector;
-import dagger.android.DispatchingAndroidInjector;
-import dagger.android.HasActivityInjector;
-import iammert.com.androidarchitecture.di.DaggerAppComponent;
-
-/**
- * Created by mertsimsek on 20/05/2017.
- */
-
-public class AAApp extends Application implements HasActivityInjector {
-
- @Inject
- DispatchingAndroidInjector activityDispatchingInjector;
-
- @Override
- public void onCreate() {
- super.onCreate();
- initializeComponent();
- }
-
- private void initializeComponent() {
- DaggerAppComponent.builder()
- .application(this)
- .build()
- .inject(this);
- }
-
- @Override
- public AndroidInjector activityInjector() {
- return activityDispatchingInjector;
- }
-}
diff --git a/app/src/main/java/iammert/com/androidarchitecture/AAApp.kt b/app/src/main/java/iammert/com/androidarchitecture/AAApp.kt
new file mode 100644
index 0000000..5f4758c
--- /dev/null
+++ b/app/src/main/java/iammert/com/androidarchitecture/AAApp.kt
@@ -0,0 +1,32 @@
+package iammert.com.androidarchitecture
+
+import android.app.Activity
+import android.app.Application
+import dagger.android.AndroidInjector
+import dagger.android.DispatchingAndroidInjector
+import dagger.android.HasActivityInjector
+import iammert.com.androidarchitecture.di.DaggerAppComponent
+import javax.inject.Inject
+
+/**
+ * Created by chonamdoo on 2017. 7. 21..
+ */
+class AAApp : Application(), HasActivityInjector {
+
+ @Inject
+ lateinit var activityDispatchingInjector: DispatchingAndroidInjector
+
+ override fun onCreate() {
+ super.onCreate()
+ initializeComponent()
+ }
+ override fun activityInjector(): AndroidInjector = activityDispatchingInjector
+
+ private fun initializeComponent() {
+ DaggerAppComponent.builder()
+ .application(this)
+ .build()
+ .inject(this)
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/iammert/com/androidarchitecture/data/remote/ApiConstants.java b/app/src/main/java/iammert/com/androidarchitecture/data/remote/ApiConstants.java
index 0287357..65e2054 100644
--- a/app/src/main/java/iammert/com/androidarchitecture/data/remote/ApiConstants.java
+++ b/app/src/main/java/iammert/com/androidarchitecture/data/remote/ApiConstants.java
@@ -8,6 +8,6 @@ public class ApiConstants {
public static final String ENDPOINT = "https://api.themoviedb.org/3/";
public static final String IMAGE_ENDPOINT_PREFIX = "https://image.tmdb.org/t/p/w500/";
- public static final String API_KEY = "";
+ public static final String API_KEY = "8476a7ab80ad76f0936744df0430e67c";
public static final int TIMEOUT_IN_SEC = 15;
}
diff --git a/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.java b/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.java
deleted file mode 100644
index 1fd4fbb..0000000
--- a/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package iammert.com.androidarchitecture.ui.main;
-
-import android.databinding.DataBindingUtil;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-
-import javax.inject.Inject;
-
-import dagger.android.AndroidInjection;
-import dagger.android.AndroidInjector;
-import dagger.android.DispatchingAndroidInjector;
-import dagger.android.support.HasSupportFragmentInjector;
-import iammert.com.androidarchitecture.R;
-import iammert.com.androidarchitecture.databinding.ActivityMainBinding;
-
-public class MainActivity extends AppCompatActivity implements HasSupportFragmentInjector{
-
- @Inject
- DispatchingAndroidInjector fragmentAndroidInjector;
-
- ActivityMainBinding binding;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- AndroidInjection.inject(this);
- super.onCreate(savedInstanceState);
- binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
- binding.viewPager.setAdapter(new MoviesPagerAdapter(getSupportFragmentManager()));
- binding.tabs.setupWithViewPager(binding.viewPager);
- binding.viewPager.setOffscreenPageLimit(3);
- }
-
- @Override
- public AndroidInjector supportFragmentInjector() {
- return fragmentAndroidInjector;
- }
-}
diff --git a/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.kt b/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.kt
new file mode 100644
index 0000000..9ebd59d
--- /dev/null
+++ b/app/src/main/java/iammert/com/androidarchitecture/ui/main/MainActivity.kt
@@ -0,0 +1,38 @@
+package iammert.com.androidarchitecture.ui.main
+
+import android.databinding.DataBindingUtil
+import android.os.Bundle
+import android.support.v4.app.Fragment
+import android.support.v7.app.AppCompatActivity
+import dagger.android.AndroidInjection
+import dagger.android.AndroidInjector
+import dagger.android.DispatchingAndroidInjector
+import dagger.android.support.HasSupportFragmentInjector
+import iammert.com.androidarchitecture.R
+import iammert.com.androidarchitecture.databinding.ActivityMainBinding
+import javax.inject.Inject
+
+/**
+ * Created by chonamdoo on 2017. 7. 21..
+ */
+class MainActivity : AppCompatActivity(), HasSupportFragmentInjector {
+
+ @Inject
+ lateinit var fragmentAndroidInjector: DispatchingAndroidInjector
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ AndroidInjection.inject(this)
+ super.onCreate(savedInstanceState)
+
+ DataBindingUtil.setContentView(this, R.layout.activity_main).run {
+ viewPager.adapter = MoviesPagerAdapter(supportFragmentManager)
+ tabs.setupWithViewPager(viewPager)
+ viewPager.offscreenPageLimit = 3
+ }
+
+ }
+ override fun supportFragmentInjector(): AndroidInjector {
+ return fragmentAndroidInjector
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_language_green_24dp.xml b/app/src/main/res/drawable/ic_language_green_24dp.xml
new file mode 100644
index 0000000..5835811
--- /dev/null
+++ b/app/src/main/res/drawable/ic_language_green_24dp.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_stars_green_24dp.xml b/app/src/main/res/drawable/ic_stars_green_24dp.xml
new file mode 100644
index 0000000..a3f599f
--- /dev/null
+++ b/app/src/main/res/drawable/ic_stars_green_24dp.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/build.gradle b/build.gradle
index d5c53bf..b9f2b78 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,13 +1,15 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
+ ext.kotlin_version = '1.1.3-2'
+ ext.android_plugin_version = "3.0.0-alpha7"
repositories {
maven { url 'https://maven.google.com' }
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.0-alpha3'
+ classpath "com.android.tools.build:gradle:$android_plugin_version"
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
@@ -41,6 +43,7 @@ ext {
archCompiler = "android.arch.lifecycle:compiler:$archVersion"
roomRuntime = "android.arch.persistence.room:runtime:$archVersion"
roomCompiler = "android.arch.persistence.room:compiler:$archVersion"
+
dagger = "com.google.dagger:dagger:$daggerVersion"
daggerCompiler = "com.google.dagger:dagger-compiler:$daggerVersion"
daggerAndroid = "com.google.dagger:dagger-android:$daggerVersion"
@@ -50,4 +53,6 @@ ext {
gsonConverter = "com.squareup.retrofit2:converter-gson:$gsonConverterVersion"
okhttp = "com.squareup.okhttp3:okhttp:$okhttpVersion"
picasso = "com.squareup.picasso:picasso:$picassoVersion"
+ kotlin = "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+ databindingCompiler = "com.android.databinding:compiler:$rootProject.ext.android_plugin_version"
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index a9be4de..f812960 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu May 18 17:31:31 EEST 2017
+#Fri Jul 21 17:05:29 KST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip