diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
new file mode 100644
index 0000000..6aee837
Binary files /dev/null and b/.idea/caches/build_file_checksums.ser differ
diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser
new file mode 100644
index 0000000..72280fa
Binary files /dev/null and b/.idea/caches/gradle_models.ser differ
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..15a15b2
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 7ac24c7..f43d428 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -3,6 +3,9 @@
-
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
index d3dc902..102820f 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,6 +2,7 @@
+
diff --git a/app/build.gradle b/app/build.gradle
index ed34f61..2c0a730 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,14 +1,15 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 26
+ compileSdkVersion 29
defaultConfig {
applicationId "info.androidhive.rxjavasearch"
- minSdkVersion 16
- targetSdkVersion 26
+ minSdkVersion 26
+ targetSdkVersion 29
versionCode 1
versionName "1.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ multiDexEnabled true
}
buildTypes {
release {
@@ -16,37 +17,43 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
+ compileOptions {
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+ }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- implementation 'com.android.support:appcompat-v7:26.1.0'
- implementation 'com.android.support.constraint:constraint-layout:1.0.2'
- implementation 'com.android.support:design:26.1.0'
- testImplementation 'junit:junit:4.12'
- androidTestImplementation 'com.android.support.test:runner:1.0.1'
- androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
-
- implementation 'com.android.support:recyclerview-v7:26.1.0'
+ implementation 'androidx.appcompat:appcompat:1.0.2'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+ implementation 'com.google.android.material:material:1.0.0'
- implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
- implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
+ implementation 'androidx.recyclerview:recyclerview:1.0.0'
- compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
+ implementation 'io.reactivex.rxjava2:rxjava:2.2.7'
+ implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
- // butter knife
- implementation "com.jakewharton:butterknife:8.8.1"
- annotationProcessor "com.jakewharton:butterknife-compiler:8.8.1"
+ implementation 'com.squareup.retrofit2:adapter-rxjava2:2.5.0'
+ //implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
+ implementation 'com.jakewharton.rxbinding3:rxbinding-material:3.0.0-alpha2'
+ implementation 'com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2'
+ implementation "com.jakewharton:butterknife:10.1.0"
+ annotationProcessor "com.jakewharton:butterknife-compiler:10.1.0"
- implementation "com.squareup.retrofit2:retrofit:2.0.0"
- implementation "com.squareup.retrofit2:converter-gson:2.0.0"
+ implementation "com.squareup.retrofit2:retrofit:2.5.0"
+ implementation "com.squareup.retrofit2:converter-gson:2.5.0"
implementation "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0"
- implementation "com.squareup.okhttp3:okhttp:3.0.1"
- implementation "com.squareup.okhttp3:okhttp-urlconnection:3.0.1"
- implementation "com.squareup.okhttp3:logging-interceptor:3.4.1"
+ implementation 'com.squareup.okhttp3:okhttp:4.0.0-alpha02'
+ implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.0.0-alpha02'
+ implementation 'com.squareup.okhttp3:logging-interceptor:4.0.0-alpha02'
// glide image library
- implementation "com.github.bumptech.glide:glide:4.3.1"
+ implementation "com.github.bumptech.glide:glide:4.9.0"
- implementation "com.jakewharton.rxbinding2:rxbinding:2.0.0"
+ testImplementation 'junit:junit:4.13-beta-3'
+ androidTestImplementation 'androidx.test:runner:1.2.0'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
diff --git a/app/src/androidTest/java/info/androidhive/rxjavasearch/ExampleInstrumentedTest.java b/app/src/androidTest/java/info/androidhive/rxjavasearch/ExampleInstrumentedTest.java
index 7e1c525..ff03373 100644
--- a/app/src/androidTest/java/info/androidhive/rxjavasearch/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/info/androidhive/rxjavasearch/ExampleInstrumentedTest.java
@@ -1,8 +1,8 @@
package info.androidhive.rxjavasearch;
import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.InstrumentationRegistry;
+import androidx.test.runner.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapter.java b/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapter.java
index c002dbe..2729ac2 100644
--- a/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapter.java
+++ b/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapter.java
@@ -5,7 +5,7 @@
*/
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapterFilterable.java b/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapterFilterable.java
index 2efbfa2..63ce273 100644
--- a/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapterFilterable.java
+++ b/app/src/main/java/info/androidhive/rxjavasearch/adapter/ContactsAdapterFilterable.java
@@ -5,7 +5,7 @@
*/
import android.content.Context;
-import android.support.v7.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/info/androidhive/rxjavasearch/view/LocalSearchActivity.java b/app/src/main/java/info/androidhive/rxjavasearch/view/LocalSearchActivity.java
index 4c58839..3c1e6fc 100644
--- a/app/src/main/java/info/androidhive/rxjavasearch/view/LocalSearchActivity.java
+++ b/app/src/main/java/info/androidhive/rxjavasearch/view/LocalSearchActivity.java
@@ -2,20 +2,20 @@
import android.graphics.Color;
import android.os.Build;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.DividerItemDecoration;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.Toolbar;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
-import com.jakewharton.rxbinding2.widget.RxTextView;
-import com.jakewharton.rxbinding2.widget.TextViewTextChangeEvent;
+import com.jakewharton.rxbinding3.widget.RxTextView;
+import com.jakewharton.rxbinding3.widget.TextViewTextChangeEvent;
import java.util.ArrayList;
import java.util.List;
@@ -99,8 +99,8 @@ private DisposableObserver searchContacts() {
return new DisposableObserver() {
@Override
public void onNext(TextViewTextChangeEvent textViewTextChangeEvent) {
- Log.d(TAG, "Search query: " + textViewTextChangeEvent.text());
- mAdapter.getFilter().filter(textViewTextChangeEvent.text());
+ Log.d(TAG, "Search query: " + textViewTextChangeEvent.getText());
+ mAdapter.getFilter().filter(textViewTextChangeEvent.getText());
}
@Override
diff --git a/app/src/main/java/info/androidhive/rxjavasearch/view/MainActivity.java b/app/src/main/java/info/androidhive/rxjavasearch/view/MainActivity.java
index fd46650..8d11208 100644
--- a/app/src/main/java/info/androidhive/rxjavasearch/view/MainActivity.java
+++ b/app/src/main/java/info/androidhive/rxjavasearch/view/MainActivity.java
@@ -4,13 +4,10 @@
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
-import android.support.design.widget.FloatingActionButton;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.Toolbar;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.widget.Toolbar;
import android.view.View;
-import android.view.Menu;
-import android.view.MenuItem;
import butterknife.ButterKnife;
import butterknife.OnClick;
diff --git a/app/src/main/java/info/androidhive/rxjavasearch/view/RemoteSearchActivity.java b/app/src/main/java/info/androidhive/rxjavasearch/view/RemoteSearchActivity.java
index 977eb3b..7928042 100644
--- a/app/src/main/java/info/androidhive/rxjavasearch/view/RemoteSearchActivity.java
+++ b/app/src/main/java/info/androidhive/rxjavasearch/view/RemoteSearchActivity.java
@@ -2,20 +2,20 @@
import android.graphics.Color;
import android.os.Build;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
-import android.support.v7.widget.DefaultItemAnimator;
-import android.support.v7.widget.DividerItemDecoration;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
-import android.support.v7.widget.Toolbar;
+import androidx.recyclerview.widget.DefaultItemAnimator;
+import androidx.recyclerview.widget.DividerItemDecoration;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.appcompat.widget.Toolbar;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
-import com.jakewharton.rxbinding2.widget.RxTextView;
-import com.jakewharton.rxbinding2.widget.TextViewTextChangeEvent;
+import com.jakewharton.rxbinding3.widget.RxTextView;
+import com.jakewharton.rxbinding3.widget.TextViewTextChangeEvent;
import java.util.ArrayList;
import java.util.List;
@@ -135,9 +135,9 @@ private DisposableObserver searchContactsTextWatcher()
return new DisposableObserver() {
@Override
public void onNext(TextViewTextChangeEvent textViewTextChangeEvent) {
- Log.d(TAG, "Search query: " + textViewTextChangeEvent.text());
+ Log.d(TAG, "Search query: " + textViewTextChangeEvent.getText());
- publishSubject.onNext(textViewTextChangeEvent.text().toString());
+ publishSubject.onNext(textViewTextChangeEvent.getText().toString());
}
@Override
diff --git a/app/src/main/res/layout/activity_local_search.xml b/app/src/main/res/layout/activity_local_search.xml
index 27f3312..09248e2 100644
--- a/app/src/main/res/layout/activity_local_search.xml
+++ b/app/src/main/res/layout/activity_local_search.xml
@@ -1,25 +1,25 @@
-
-
-
-
+
-
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 9e8a0f4..f4e380d 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,25 +1,25 @@
-
-
-
-
+
-
+
diff --git a/app/src/main/res/layout/activity_remote_search.xml b/app/src/main/res/layout/activity_remote_search.xml
index 8cc0caa..454b1b9 100644
--- a/app/src/main/res/layout/activity_remote_search.xml
+++ b/app/src/main/res/layout/activity_remote_search.xml
@@ -1,25 +1,25 @@
-
-
-
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_local_search.xml b/app/src/main/res/layout/content_local_search.xml
index cd4c9d5..ac98593 100644
--- a/app/src/main/res/layout/content_local_search.xml
+++ b/app/src/main/res/layout/content_local_search.xml
@@ -16,7 +16,7 @@
android:hint="@string/hint_search"
android:paddingBottom="@dimen/dimen_20" />
-
-