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" /> - -