diff --git a/.gitignore b/.gitignore index 09e8b41..da9b898 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ tmp *.tgz *.lock *.lck +*.zip diff --git a/MaterialSearchView.zip b/MaterialSearchView.zip new file mode 100644 index 0000000..bc22cb3 Binary files /dev/null and b/MaterialSearchView.zip differ diff --git a/MaterialSearchViewSample.zip b/MaterialSearchViewSample.zip new file mode 100644 index 0000000..8915668 Binary files /dev/null and b/MaterialSearchViewSample.zip differ diff --git a/build.gradle b/build.gradle index 1b7886d..40a8eeb 100644 --- a/build.gradle +++ b/build.gradle @@ -3,9 +3,10 @@ buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.android.tools.build:gradle:1.3.0' + classpath 'com.android.tools.build:gradle:4.0.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -15,5 +16,6 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/gradle.properties b/gradle.properties index 1d3591c..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,6 @@ # 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 +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/library/build.gradle b/library/build.gradle index 27deafd..995a551 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,22 +1,24 @@ apply plugin: 'com.android.library' -apply plugin: 'com.novoda.bintray-release' +//apply plugin: 'com.novoda.bintray-release' buildscript { repositories { jcenter() + google() } dependencies { - classpath 'com.novoda:bintray-release:0.3.4' + //classpath 'com.novoda:bintray-release:0.9.2' + classpath 'com.android.tools.build:gradle:4.0.1' } } android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 29 + buildToolsVersion "29.0.2" defaultConfig { - minSdkVersion 14 - targetSdkVersion 23 + minSdkVersion 22 + targetSdkVersion 29 versionCode 1 versionName "1.4.0" } @@ -26,19 +28,23 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile 'com.android.support:appcompat-v7:23.1.1' - compile 'com.android.support:design:23.1.1' + api fileTree(dir: 'libs', include: ['*.jar']) + api 'androidx.appcompat:appcompat:1.1.0' + api 'com.google.android.material:material:1.1.0' } -publish { +/*publish { userOrg = 'miguelcatalan' groupId = 'com.miguelcatalan' artifactId = 'materialsearchview' - publishVersion = '1.4.0' + publishVersion = '1.5.0' desc = 'Cute library to implement SearchView in a Material Design Approach' website = 'https://github.com/MiguelCatalan/MaterialSearchView' -} \ No newline at end of file +}*/ \ No newline at end of file diff --git a/library/src/main/java/com/miguelcatalan/materialsearchview/MaterialSearchView.java b/library/src/main/java/com/miguelcatalan/materialsearchview/MaterialSearchView.java index dcd18e3..c44a611 100644 --- a/library/src/main/java/com/miguelcatalan/materialsearchview/MaterialSearchView.java +++ b/library/src/main/java/com/miguelcatalan/materialsearchview/MaterialSearchView.java @@ -6,6 +6,7 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.TypedArray; +import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.os.Build; @@ -34,6 +35,10 @@ import android.widget.RelativeLayout; import android.widget.TextView; +import androidx.annotation.ColorInt; +import androidx.annotation.RequiresApi; +import androidx.core.content.ContextCompat; + import com.miguelcatalan.materialsearchview.utils.AnimationUtil; import java.lang.reflect.Field; @@ -45,7 +50,7 @@ public class MaterialSearchView extends FrameLayout implements Filter.FilterListener { public static final int REQUEST_VOICE = 9999; - private MenuItem mMenuItem; + //private MenuItem mMenuItem; private boolean mIsSearchOpen = false; private int mAnimationDuration; private boolean mClearingFocus; @@ -169,6 +174,7 @@ private void initiateView() { initSearchView(); mSuggestionsListView.setVisibility(GONE); + mTintView.setVisibility(VISIBLE); setAnimationDuration(AnimationUtil.ANIMATION_DURATION_MEDIUM); } @@ -279,7 +285,7 @@ private boolean isVoiceAvailable() { PackageManager pm = getContext().getPackageManager(); List activities = pm.queryIntentActivities( new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH), 0); - return activities.size() == 0; + return activities.size() != 0; } public void hideKeyboard(View view) { @@ -363,6 +369,31 @@ public void setCursorDrawable(int drawable) { } } + public void setCursorColor(@ColorInt int color) { + try { + // Get the cursor resource id + Field field = TextView.class.getDeclaredField("mCursorDrawableRes"); + field.setAccessible(true); + int drawableResId = field.getInt(mSearchSrcTextView); + + // Get the editor + field = TextView.class.getDeclaredField("mEditor"); + field.setAccessible(true); + Object editor = field.get(mSearchSrcTextView); + + // Get the drawable and set a color filter + Drawable drawable = ContextCompat.getDrawable(mSearchSrcTextView.getContext(), drawableResId); + drawable.setColorFilter(color, PorterDuff.Mode.SRC_IN); + Drawable[] drawables = {drawable, drawable}; + + // Set the drawables + field = editor.getClass().getDeclaredField("mCursorDrawable"); + field.setAccessible(true); + field.set(editor, drawables); + } catch (Exception ignored) { + } + } + public void setVoiceSearch(boolean voiceSearch) { allowVoiceSearch = voiceSearch; } @@ -415,15 +446,22 @@ public void setAdapter(ListAdapter adapter) { public void setSuggestions(String[] suggestions) { if (suggestions != null && suggestions.length > 0) { mTintView.setVisibility(VISIBLE); - final SearchAdapter adapter = new SearchAdapter(mContext, suggestions, suggestionIcon, ellipsize); + final SearchAdapter adapter = new SearchAdapter(mContext, suggestions, suggestionIcon, ellipsize, false); setAdapter(adapter); - setOnItemClickListener(new AdapterView.OnItemClickListener() { - @Override - public void onItemClick(AdapterView parent, View view, int position, long id) { - setQuery((String) adapter.getItem(position), submit); - } - }); + setOnItemClickListener((parent, view, position, id) -> setQuery((String) adapter.getItem(position), submit)); + } else { + mTintView.setVisibility(GONE); + } + } + + public void setSuggestions(String[] suggestions, boolean checkSuggestion) { + if (suggestions != null && suggestions.length > 0) { + mTintView.setVisibility(VISIBLE); + final SearchAdapter adapter = new SearchAdapter(mContext, suggestions, suggestionIcon, ellipsize, checkSuggestion); + setAdapter(adapter); + + setOnItemClickListener((parent, view, position, id) -> setQuery((String) adapter.getItem(position), submit)); } else { mTintView.setVisibility(GONE); } @@ -438,7 +476,6 @@ public void dismissSuggestions() { } } - /** * Calling this will set the query to search text box. if submit is true, it'll submit the query. * @@ -475,8 +512,7 @@ public void showVoice(boolean show) { * @param menuItem */ public void setMenuItem(MenuItem menuItem) { - this.mMenuItem = menuItem; - mMenuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { + menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { showSearch(); @@ -515,6 +551,7 @@ public void showSearch() { * * @param animate true for animate */ + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) public void showSearch(boolean animate) { if (isSearchOpen()) { return; @@ -536,6 +573,7 @@ public void showSearch(boolean animate) { mIsSearchOpen = true; } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) private void setVisibleWithAnimation() { AnimationUtil.AnimationListener animationListener = new AnimationUtil.AnimationListener() { @Override @@ -557,13 +595,8 @@ public boolean onAnimationCancel(View view) { } }; - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - mSearchLayout.setVisibility(View.VISIBLE); - AnimationUtil.reveal(mSearchTopBar, animationListener); - - } else { - AnimationUtil.fadeInView(mSearchLayout, mAnimationDuration, animationListener); - } + mSearchLayout.setVisibility(View.VISIBLE); + AnimationUtil.reveal(mSearchTopBar, animationListener, mAnimationDuration); } /** @@ -574,15 +607,45 @@ public void closeSearch() { return; } - mSearchSrcTextView.setText(null); - dismissSuggestions(); - clearFocus(); + AnimationUtil.AnimationListener animationListener = new AnimationUtil.AnimationListener(){ + + @Override + public boolean onAnimationStart(View view) { + return false; + } + + @Override + public boolean onAnimationEnd(View view) { + mSearchSrcTextView.setText(null); + dismissSuggestions(); + clearFocus(); + + mSearchLayout.setVisibility(GONE); + if (mSearchViewListener != null) { + mSearchViewListener.onSearchViewClosed(); + } + mIsSearchOpen = false; + + return false; + } + + @Override + public boolean onAnimationCancel(View view) { + return false; + } + }; + - mSearchLayout.setVisibility(GONE); - if (mSearchViewListener != null) { - mSearchViewListener.onSearchViewClosed(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + mSearchLayout.setVisibility(View.VISIBLE); + AnimationUtil.hide(mSearchTopBar, animationListener); + + } else { + mSearchLayout.setVisibility(VISIBLE); + AnimationUtil.fadeOutView(mSearchLayout, AnimationUtil.ANIMATION_DURATION_MEDIUM, animationListener); } - mIsSearchOpen = false; + + } diff --git a/library/src/main/java/com/miguelcatalan/materialsearchview/SearchAdapter.java b/library/src/main/java/com/miguelcatalan/materialsearchview/SearchAdapter.java index 529feb8..70525fb 100644 --- a/library/src/main/java/com/miguelcatalan/materialsearchview/SearchAdapter.java +++ b/library/src/main/java/com/miguelcatalan/materialsearchview/SearchAdapter.java @@ -27,6 +27,7 @@ public class SearchAdapter extends BaseAdapter implements Filterable { private Drawable suggestionIcon; private LayoutInflater inflater; private boolean ellipsize; + private boolean checkWholeString; public SearchAdapter(Context context, String[] suggestions) { inflater = LayoutInflater.from(context); @@ -34,12 +35,13 @@ public SearchAdapter(Context context, String[] suggestions) { this.suggestions = suggestions; } - public SearchAdapter(Context context, String[] suggestions, Drawable suggestionIcon, boolean ellipsize) { + public SearchAdapter(Context context, String[] suggestions, Drawable suggestionIcon, boolean ellipsize, boolean checkWholeString) { inflater = LayoutInflater.from(context); data = new ArrayList<>(); this.suggestions = suggestions; this.suggestionIcon = suggestionIcon; this.ellipsize = ellipsize; + this.checkWholeString = checkWholeString; } @Override @@ -54,8 +56,14 @@ protected FilterResults performFiltering(CharSequence constraint) { List searchData = new ArrayList<>(); for (String string : suggestions) { - if (string.toLowerCase().startsWith(constraint.toString().toLowerCase())) { - searchData.add(string); + if(checkWholeString){ + if(string.toLowerCase().contains(constraint.toString().toLowerCase())){ + searchData.add(string); + } + } else { + if (string.toLowerCase().startsWith(constraint.toString().toLowerCase())) { + searchData.add(string); + } } } @@ -122,9 +130,9 @@ private class SuggestionsViewHolder { ImageView imageView; public SuggestionsViewHolder(View convertView) { - textView = (TextView) convertView.findViewById(R.id.suggestion_text); + textView = convertView.findViewById(R.id.suggestion_text); if (suggestionIcon != null) { - imageView = (ImageView) convertView.findViewById(R.id.suggestion_icon); + imageView = convertView.findViewById(R.id.suggestion_icon); imageView.setImageDrawable(suggestionIcon); } } diff --git a/library/src/main/java/com/miguelcatalan/materialsearchview/utils/AnimationUtil.java b/library/src/main/java/com/miguelcatalan/materialsearchview/utils/AnimationUtil.java index e6f1135..83136a2 100644 --- a/library/src/main/java/com/miguelcatalan/materialsearchview/utils/AnimationUtil.java +++ b/library/src/main/java/com/miguelcatalan/materialsearchview/utils/AnimationUtil.java @@ -4,8 +4,12 @@ import android.animation.AnimatorListenerAdapter; import android.annotation.TargetApi; import android.os.Build; -import android.support.v4.view.ViewCompat; -import android.support.v4.view.ViewPropertyAnimatorListener; + +import androidx.annotation.RequiresApi; +import androidx.core.view.ViewCompat; +import androidx.core.view.ViewPropertyAnimatorListener; +import androidx.interpolator.view.animation.FastOutSlowInInterpolator; + import android.util.TypedValue; import android.view.View; import android.view.ViewAnimationUtils; @@ -30,60 +34,52 @@ public interface AnimationListener { boolean onAnimationCancel(View view); } - public static void crossFadeViews(View showView, View hideView) { - crossFadeViews(showView, hideView, ANIMATION_DURATION_SHORT); - } - - public static void crossFadeViews(View showView, final View hideView, int duration) { - fadeInView(showView, duration); - fadeOutView(hideView, duration); - } + @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP) + public static void reveal(final View view, final AnimationListener listener, int duration) { + int cx = view.getWidth() - (int) TypedValue.applyDimension( + TypedValue.COMPLEX_UNIT_DIP, 24, view.getResources().getDisplayMetrics()); + int cy = view.getHeight() / 2; + int finalRadius = Math.max(view.getWidth(), view.getHeight()); - public static void fadeInView(View view) { - fadeInView(view, ANIMATION_DURATION_SHORT); - } + Animator anim = null; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { + anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, 0, finalRadius); + } + view.setVisibility(View.VISIBLE); + anim.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + listener.onAnimationStart(view); + } - public static void fadeInView(View view, int duration) { - fadeInView(view, duration, null); - } + @Override + public void onAnimationEnd(Animator animation) { + listener.onAnimationEnd(view); + } - public static void fadeInView(View view, int duration, final AnimationListener listener) { - view.setVisibility(View.VISIBLE); - view.setAlpha(0f); - ViewPropertyAnimatorListener vpListener = null; - - if (listener != null) { - vpListener = new ViewPropertyAnimatorListener() { - @Override - public void onAnimationStart(View view) { - if (!listener.onAnimationStart(view)) { - view.setDrawingCacheEnabled(true); - } - } + @Override + public void onAnimationCancel(Animator animation) { + listener.onAnimationCancel(view); + } - @Override - public void onAnimationEnd(View view) { - if (!listener.onAnimationEnd(view)) { - view.setDrawingCacheEnabled(false); - } - } + @Override + public void onAnimationRepeat(Animator animation) { - @Override - public void onAnimationCancel(View view) { - } - }; - } - ViewCompat.animate(view).alpha(1f).setDuration(duration).setListener(vpListener); + } + }); + anim.setDuration(duration); + anim.setInterpolator(new FastOutSlowInInterpolator()); + anim.start(); } @TargetApi(Build.VERSION_CODES.LOLLIPOP) - public static void reveal(final View view, final AnimationListener listener) { + public static void hide(final View view, final AnimationListener listener) { int cx = view.getWidth() - (int) TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 24, view.getResources().getDisplayMetrics()); int cy = view.getHeight() / 2; int finalRadius = Math.max(view.getWidth(), view.getHeight()); - Animator anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, 0, finalRadius); + Animator anim = ViewAnimationUtils.createCircularReveal(view, cx, cy, finalRadius, 0); view.setVisibility(View.VISIBLE); anim.addListener(new AnimatorListenerAdapter() { @Override diff --git a/sample/build.gradle b/sample/build.gradle index be56bf8..8692d6e 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -1,15 +1,15 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 29 + buildToolsVersion "29.0.2" defaultConfig { applicationId "com.miguelcatalan.materialsearchview.sample" - minSdkVersion 14 - targetSdkVersion 23 + minSdkVersion 22 + targetSdkVersion 29 versionCode 6 - versionName "1.3.1" + versionName "1.4.0" } buildTypes { release { @@ -17,11 +17,15 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { - compile fileTree(dir: 'libs', include: ['*.jar']) - compile project(':library') - compile 'com.android.support:appcompat-v7:23.1.0' - compile 'com.android.support:design:23.1.0' + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation project(':library') + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.1.0' } diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ColoredActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ColoredActivity.java index a792634..c5b7581 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ColoredActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ColoredActivity.java @@ -2,10 +2,10 @@ import android.content.Intent; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; +import com.google.android.material.snackbar.Snackbar; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; -import android.support.v7.widget.Toolbar; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DefaultActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DefaultActivity.java index dc2a481..70599ab 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DefaultActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DefaultActivity.java @@ -2,10 +2,10 @@ import android.content.Intent; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; +import com.google.android.material.snackbar.Snackbar; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; -import android.support.v7.widget.Toolbar; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; @@ -30,7 +30,7 @@ protected void onCreate(Bundle savedInstanceState) { searchView.setVoiceSearch(false); searchView.setCursorDrawable(R.drawable.custom_cursor); searchView.setEllipsize(true); - searchView.setSuggestions(getResources().getStringArray(R.array.query_suggestions)); + searchView.setSuggestions(getResources().getStringArray(R.array.query_suggestions), true); searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String query) { diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DummyFragment.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DummyFragment.java index e722923..37a9a32 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DummyFragment.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/DummyFragment.java @@ -1,7 +1,7 @@ package com.miguelcatalan.materialsearchview.sample; import android.os.Bundle; -import android.support.v4.app.Fragment; +import androidx.fragment.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/InputTypeActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/InputTypeActivity.java index b563bf3..97dd3af 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/InputTypeActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/InputTypeActivity.java @@ -3,9 +3,9 @@ import android.content.Intent; import android.os.Bundle; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import com.google.android.material.snackbar.Snackbar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/MainActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/MainActivity.java index 26ce136..10087f2 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/MainActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/MainActivity.java @@ -2,7 +2,7 @@ import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import android.widget.Button; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/StickyActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/StickyActivity.java index 1259b19..33887f1 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/StickyActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/StickyActivity.java @@ -3,9 +3,9 @@ import android.content.Intent; import android.os.Bundle; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import com.google.android.material.snackbar.Snackbar; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/TabActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/TabActivity.java index 0212236..8a9a19a 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/TabActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/TabActivity.java @@ -3,11 +3,11 @@ import android.content.Intent; import android.os.Bundle; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.design.widget.TabLayout; -import android.support.v4.view.ViewPager; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.tabs.TabLayout; +import androidx.viewpager.widget.ViewPager; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ViewPagerAdapter.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ViewPagerAdapter.java index 2deb6f6..279afd8 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ViewPagerAdapter.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/ViewPagerAdapter.java @@ -1,8 +1,8 @@ package com.miguelcatalan.materialsearchview.sample; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; import java.util.ArrayList; import java.util.List; diff --git a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/VoiceActivity.java b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/VoiceActivity.java index 467f975..5477c90 100644 --- a/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/VoiceActivity.java +++ b/sample/src/main/java/com/miguelcatalan/materialsearchview/sample/VoiceActivity.java @@ -2,10 +2,10 @@ import android.content.Intent; import android.speech.RecognizerIntent; -import android.support.design.widget.Snackbar; -import android.support.v7.app.AppCompatActivity; +import com.google.android.material.snackbar.Snackbar; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; -import android.support.v7.widget.Toolbar; +import androidx.appcompat.widget.Toolbar; import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; diff --git a/sample/src/main/res/layout/activity_appbarlayout.xml b/sample/src/main/res/layout/activity_appbarlayout.xml index 101e60d..928228b 100644 --- a/sample/src/main/res/layout/activity_appbarlayout.xml +++ b/sample/src/main/res/layout/activity_appbarlayout.xml @@ -5,7 +5,7 @@ android:layout_height="match_parent"> - - - - - + \ No newline at end of file diff --git a/sample/src/main/res/layout/activity_colored.xml b/sample/src/main/res/layout/activity_colored.xml index d6b2f75..208d995 100644 --- a/sample/src/main/res/layout/activity_colored.xml +++ b/sample/src/main/res/layout/activity_colored.xml @@ -16,7 +16,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - - -