diff --git a/app/src/main/java/com/hippo/drawable/DrawableWrapper.java b/app/src/main/java/com/hippo/drawable/DrawableWrapper.java new file mode 100644 index 000000000..8c4b7776f --- /dev/null +++ b/app/src/main/java/com/hippo/drawable/DrawableWrapper.java @@ -0,0 +1,180 @@ +/* + * Copyright 2018 Hippo Seven + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.hippo.drawable; + +import android.content.res.ColorStateList; +import android.graphics.Canvas; +import android.graphics.ColorFilter; +import android.graphics.PorterDuff; +import android.graphics.Rect; +import android.graphics.Region; +import android.graphics.drawable.Drawable; +import android.support.annotation.NonNull; +import android.support.v4.graphics.drawable.DrawableCompat; + +public class DrawableWrapper extends Drawable implements Drawable.Callback { + private Drawable mDrawable; + + public DrawableWrapper(Drawable drawable) { + this.setWrappedDrawable(drawable); + } + + public void draw(@NonNull Canvas canvas) { + this.mDrawable.draw(canvas); + } + + protected void onBoundsChange(Rect bounds) { + this.mDrawable.setBounds(bounds); + } + + public void setChangingConfigurations(int configs) { + this.mDrawable.setChangingConfigurations(configs); + } + + public int getChangingConfigurations() { + return this.mDrawable.getChangingConfigurations(); + } + + public void setDither(boolean dither) { + this.mDrawable.setDither(dither); + } + + public void setFilterBitmap(boolean filter) { + this.mDrawable.setFilterBitmap(filter); + } + + public void setAlpha(int alpha) { + this.mDrawable.setAlpha(alpha); + } + + public void setColorFilter(ColorFilter cf) { + this.mDrawable.setColorFilter(cf); + } + + public boolean isStateful() { + return this.mDrawable.isStateful(); + } + + public boolean setState(@NonNull int[] stateSet) { + return this.mDrawable.setState(stateSet); + } + + @NonNull + public int[] getState() { + return this.mDrawable.getState(); + } + + public void jumpToCurrentState() { + this.mDrawable.jumpToCurrentState(); + } + + @NonNull + public Drawable getCurrent() { + return this.mDrawable.getCurrent(); + } + + public boolean setVisible(boolean visible, boolean restart) { + return super.setVisible(visible, restart) || this.mDrawable.setVisible(visible, restart); + } + + public int getOpacity() { + return this.mDrawable.getOpacity(); + } + + public Region getTransparentRegion() { + return this.mDrawable.getTransparentRegion(); + } + + public int getIntrinsicWidth() { + return this.mDrawable.getIntrinsicWidth(); + } + + public int getIntrinsicHeight() { + return this.mDrawable.getIntrinsicHeight(); + } + + public int getMinimumWidth() { + return this.mDrawable.getMinimumWidth(); + } + + public int getMinimumHeight() { + return this.mDrawable.getMinimumHeight(); + } + + public boolean getPadding(@NonNull Rect padding) { + return this.mDrawable.getPadding(padding); + } + + public void invalidateDrawable(@NonNull Drawable who) { + this.invalidateSelf(); + } + + public void scheduleDrawable(@NonNull Drawable who, @NonNull Runnable what, long when) { + this.scheduleSelf(what, when); + } + + public void unscheduleDrawable(@NonNull Drawable who, @NonNull Runnable what) { + this.unscheduleSelf(what); + } + + protected boolean onLevelChange(int level) { + return this.mDrawable.setLevel(level); + } + + public void setAutoMirrored(boolean mirrored) { + DrawableCompat.setAutoMirrored(this.mDrawable, mirrored); + } + + public boolean isAutoMirrored() { + return DrawableCompat.isAutoMirrored(this.mDrawable); + } + + public void setTint(int tint) { + DrawableCompat.setTint(this.mDrawable, tint); + } + + public void setTintList(ColorStateList tint) { + DrawableCompat.setTintList(this.mDrawable, tint); + } + + public void setTintMode(@NonNull PorterDuff.Mode tintMode) { + DrawableCompat.setTintMode(this.mDrawable, tintMode); + } + + public void setHotspot(float x, float y) { + DrawableCompat.setHotspot(this.mDrawable, x, y); + } + + public void setHotspotBounds(int left, int top, int right, int bottom) { + DrawableCompat.setHotspotBounds(this.mDrawable, left, top, right, bottom); + } + + public Drawable getWrappedDrawable() { + return this.mDrawable; + } + + public void setWrappedDrawable(Drawable drawable) { + if (this.mDrawable != null) { + this.mDrawable.setCallback(null); + } + + this.mDrawable = drawable; + if (drawable != null) { + drawable.setCallback(this); + } + } +} diff --git a/app/src/main/java/com/hippo/drawable/PreciselyClipDrawable.java b/app/src/main/java/com/hippo/drawable/PreciselyClipDrawable.java index 043b69f7c..1a1261e07 100644 --- a/app/src/main/java/com/hippo/drawable/PreciselyClipDrawable.java +++ b/app/src/main/java/com/hippo/drawable/PreciselyClipDrawable.java @@ -20,7 +20,6 @@ import android.graphics.Canvas; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.drawable.Drawable; -import android.support.v7.graphics.drawable.DrawableWrapper; import com.hippo.yorozuya.MathUtils; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java index c3d347e85..b039c6e3a 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/FilterActivity.java @@ -68,7 +68,7 @@ public class FilterActivity extends ToolbarActivity { TextView tip = (TextView) ViewUtils.$$(this, R.id.tip); mViewTransition = new ViewTransition(mRecyclerView, tip); - Drawable drawable = DrawableManager.getDrawable(this, R.drawable.big_filter); + Drawable drawable = DrawableManager.getVectorDrawable(this, R.drawable.big_filter); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); @@ -309,7 +309,7 @@ public class FilterActivity extends ToolbarActivity { if (R.layout.item_filter == layoutId) { holder.icon.setImageDrawable( - DrawableManager.getDrawable(FilterActivity.this, R.drawable.v_delete_x24)); + DrawableManager.getVectorDrawable(FilterActivity.this, R.drawable.v_delete_x24)); } return holder; diff --git a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java index cdb74867e..a8322a7bc 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/SettingsActivity.java @@ -77,7 +77,7 @@ public final class SettingsActivity extends EhPreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setActionBarUpIndicator(DrawableManager.getDrawable(this, R.drawable.v_arrow_left_dark_x24)); + setActionBarUpIndicator(DrawableManager.getVectorDrawable(this, R.drawable.v_arrow_left_dark_x24)); } @Override diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java index 93cc2949c..8fc05dbe7 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadLabelsScene.java @@ -93,7 +93,7 @@ public class DownloadLabelsScene extends ToolbarScene { Context context = getContext2(); AssertUtils.assertNotNull(context); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_label); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_label); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); tip.setText(R.string.no_download_label); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java index 90243c06e..4ba6733cd 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/DownloadsScene.java @@ -287,7 +287,7 @@ public class DownloadsScene extends ToolbarScene AssertUtils.assertNotNull(content); Resources resources = context.getResources(); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_download); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_download); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java index ea713eccd..244e8beeb 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java @@ -273,7 +273,7 @@ public class FavoritesScene extends BaseScene implements mLeftDrawable = new DrawerArrowDrawable(context, AttrResources.getAttrColor(context, R.attr.drawableColorPrimary)); mSearchBar.setLeftDrawable(mLeftDrawable); - mSearchBar.setRightDrawable(DrawableManager.getDrawable(context, R.drawable.v_magnify_x24)); + mSearchBar.setRightDrawable(DrawableManager.getVectorDrawable(context, R.drawable.v_magnify_x24)); mSearchBar.setHelper(this); mSearchBar.setAllowEmptySearch(false); updateSearchBar(); @@ -362,7 +362,7 @@ public class FavoritesScene extends BaseScene implements // Update hint if (!ObjectUtils.equal(favCatName, mOldFavCat)) { - Drawable searchImage = DrawableManager.getDrawable(context, R.drawable.v_magnify_x24); + Drawable searchImage = DrawableManager.getVectorDrawable(context, R.drawable.v_magnify_x24); SpannableStringBuilder ssb = new SpannableStringBuilder(" "); ssb.append(getString(R.string.favorites_search_bar_hint, favCatName)); int textSize = (int) (mSearchBar.getEditTextTextSize() * 1.25); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java index 57c8a15dd..ba5685df9 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryCommentsScene.java @@ -194,7 +194,7 @@ public final class GalleryCommentsScene extends ToolbarScene Resources resources = context.getResources(); int paddingBottomFab = resources.getDimensionPixelOffset(R.dimen.gallery_padding_bottom_fab); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_weird_face); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_weird_face); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); @@ -458,7 +458,7 @@ public final class GalleryCommentsScene extends ToolbarScene return; } - mFab.setVisibility(View.INVISIBLE); + ((View) mFab).setVisibility(View.INVISIBLE); mEditPanel.setVisibility(View.VISIBLE); int halfW = mEditPanel.getWidth() / 2; int halfH = mEditPanel.getHeight() / 2; @@ -483,7 +483,7 @@ public final class GalleryCommentsScene extends ToolbarScene return; } - mFab.setVisibility(View.INVISIBLE); + ((View) mFab).setVisibility(View.INVISIBLE); mEditPanel.setVisibility(View.VISIBLE); } } @@ -506,7 +506,7 @@ public final class GalleryCommentsScene extends ToolbarScene } mEditPanel.setVisibility(View.GONE); - mFab.setVisibility(View.VISIBLE); + ((View) mFab).setVisibility(View.VISIBLE); int fabStartX = mEditPanel.getLeft() + (mEditPanel.getWidth() / 2) - (mFab.getWidth() / 2); int fabStartY = mEditPanel.getTop() + (mEditPanel.getHeight() / 2) - (mFab.getHeight() / 2); mFab.setX(fabStartX); @@ -535,7 +535,7 @@ public final class GalleryCommentsScene extends ToolbarScene return; } - mFab.setVisibility(View.VISIBLE); + ((View) mFab).setVisibility(View.VISIBLE); mEditPanel.setVisibility(View.INVISIBLE); } } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java index bbbc68dd5..5e1615998 100755 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryDetailScene.java @@ -424,7 +424,7 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene Context context = getContext2(); AssertUtils.assertNotNull(context); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_weird_face); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_weird_face); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); mTip.setCompoundDrawables(null, drawable, null, null); mTip.setOnClickListener(this); @@ -652,21 +652,21 @@ public class GalleryDetailScene extends BaseScene implements View.OnClickListene } private void ensureActionDrawable(Context context) { - Drawable heart = DrawableManager.getDrawable(context, R.drawable.v_heart_primary_x48); + Drawable heart = DrawableManager.getVectorDrawable(context, R.drawable.v_heart_primary_x48); setActionDrawable(mHeart, heart); - Drawable heartOutline = DrawableManager.getDrawable(context, R.drawable.v_heart_outline_primary_x48); + Drawable heartOutline = DrawableManager.getVectorDrawable(context, R.drawable.v_heart_outline_primary_x48); setActionDrawable(mHeartOutline, heartOutline); - Drawable torrent = DrawableManager.getDrawable(context, R.drawable.v_utorrent_primary_x48); + Drawable torrent = DrawableManager.getVectorDrawable(context, R.drawable.v_utorrent_primary_x48); setActionDrawable(mTorrent, torrent); - Drawable archive = DrawableManager.getDrawable(context, R.drawable.v_archive_primary_x48); + Drawable archive = DrawableManager.getVectorDrawable(context, R.drawable.v_archive_primary_x48); setActionDrawable(mArchive, archive); - Drawable share = DrawableManager.getDrawable(context, R.drawable.v_share_primary_x48); + Drawable share = DrawableManager.getVectorDrawable(context, R.drawable.v_share_primary_x48); setActionDrawable(mShare, share); - Drawable rate = DrawableManager.getDrawable(context, R.drawable.v_thumb_up_primary_x48); + Drawable rate = DrawableManager.getVectorDrawable(context, R.drawable.v_thumb_up_primary_x48); setActionDrawable(mRate, rate); - Drawable similar = DrawableManager.getDrawable(context, R.drawable.v_similar_primary_x48); + Drawable similar = DrawableManager.getVectorDrawable(context, R.drawable.v_similar_primary_x48); setActionDrawable(mSimilar, similar); - Drawable searchCover = DrawableManager.getDrawable(context, R.drawable.v_file_find_primary_x48); + Drawable searchCover = DrawableManager.getVectorDrawable(context, R.drawable.v_file_find_primary_x48); setActionDrawable(mSearchCover, searchCover); } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java index fdaa8506b..90726d4b5 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java @@ -172,7 +172,7 @@ public final class GalleryListScene extends BaseScene @Override public void onAnimationEnd(Animator animation) { if (null != mFabLayout) { - mFabLayout.getPrimaryFab().setVisibility(View.INVISIBLE); + ((View) mFabLayout.getPrimaryFab()).setVisibility(View.INVISIBLE); } } }; @@ -305,7 +305,7 @@ public final class GalleryListScene extends BaseScene private void setSearchBarHint(Context context, SearchBar searchBar) { Resources resources = context.getResources(); - Drawable searchImage = DrawableManager.getDrawable(context, R.drawable.v_magnify_x24); + Drawable searchImage = DrawableManager.getVectorDrawable(context, R.drawable.v_magnify_x24); SpannableStringBuilder ssb = new SpannableStringBuilder(" "); ssb.append(resources.getString(EhUrl.SITE_EX == Settings.getGallerySite() ? R.string.gallery_list_search_bar_hint_exhentai : @@ -335,7 +335,7 @@ public final class GalleryListScene extends BaseScene private abstract class UrlSuggestion extends SearchBar.Suggestion { @Override public CharSequence getText(float textSize) { - Drawable bookImage = DrawableManager.getDrawable(getContext2(), R.drawable.v_book_open_x24); + Drawable bookImage = DrawableManager.getVectorDrawable(getContext2(), R.drawable.v_book_open_x24); SpannableStringBuilder ssb = new SpannableStringBuilder(" "); ssb.append(getResources2().getString(R.string.gallery_list_search_bar_open_gallery)); int imageSize = (int) (textSize * 1.25); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java index b2a7e7543..ea0b6492b 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.java @@ -104,7 +104,7 @@ public class HistoryScene extends ToolbarScene AssertUtils.assertNotNull(context); Resources resources = context.getResources(); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_history); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_history); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java index a24dbe98b..5d276c0b4 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/ProgressScene.java @@ -170,7 +170,7 @@ public final class ProgressScene extends BaseScene implements View.OnClickListen Context context = getContext2(); AssertUtils.assertNotNull(context); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_weird_face); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_weird_face); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); mTip.setCompoundDrawables(null, drawable, null, null); mTip.setOnClickListener(this); diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java index 1e6f0e86f..5b687d1e5 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/QuickSearchScene.java @@ -90,7 +90,7 @@ public final class QuickSearchScene extends ToolbarScene { Context context = getContext2(); AssertUtils.assertNotNull(context); - Drawable drawable = DrawableManager.getDrawable(context, R.drawable.big_search); + Drawable drawable = DrawableManager.getVectorDrawable(context, R.drawable.big_search); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); tip.setCompoundDrawables(null, drawable, null, null); tip.setText(R.string.no_quick_search); diff --git a/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java b/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java index 277047c62..01fd47eb2 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/SimpleRatingView.java @@ -58,9 +58,9 @@ public class SimpleRatingView extends View { private void init(Context context) { Resources resources = context.getResources(); - mStarDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_x16); - mStarHalfDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_half_x16); - mStarOutlineDrawable = DrawableManager.getDrawable(context, R.drawable.v_star_outline_x16); + mStarDrawable = DrawableManager.getVectorDrawable(context, R.drawable.v_star_x16); + mStarHalfDrawable = DrawableManager.getVectorDrawable(context, R.drawable.v_star_half_x16); + mStarOutlineDrawable = DrawableManager.getVectorDrawable(context, R.drawable.v_star_outline_x16); mRatingSize = resources.getDimensionPixelOffset(R.dimen.rating_size); mRatingInterval = resources.getDimensionPixelOffset(R.dimen.rating_interval); diff --git a/app/src/main/java/com/hippo/util/DrawableManager.java b/app/src/main/java/com/hippo/util/DrawableManager.java index 06277c575..13cbf7fab 100644 --- a/app/src/main/java/com/hippo/util/DrawableManager.java +++ b/app/src/main/java/com/hippo/util/DrawableManager.java @@ -24,14 +24,11 @@ import android.support.annotation.DrawableRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.graphics.drawable.VectorDrawableCompat; -import android.support.v7.widget.AppCompatDrawableManager; public final class DrawableManager { - private static final AppCompatDrawableManager sManager = AppCompatDrawableManager.get(); - - public static Drawable getDrawable(@NonNull Context context, @DrawableRes int resId) { - return sManager.getDrawable(context, resId); + public static Drawable getVectorDrawable(@NonNull Context context, @DrawableRes int resId) { + return getVectorDrawable(context.getResources(), resId, context.getTheme()); } public static Drawable getVectorDrawable(@NonNull Resources res, diff --git a/app/src/main/java/com/hippo/widget/BatteryView.java b/app/src/main/java/com/hippo/widget/BatteryView.java index c8a4b7fcc..dbe2ea848 100644 --- a/app/src/main/java/com/hippo/widget/BatteryView.java +++ b/app/src/main/java/com/hippo/widget/BatteryView.java @@ -24,13 +24,13 @@ import android.content.IntentFilter; import android.content.res.TypedArray; import android.graphics.Color; import android.os.BatteryManager; +import android.support.v7.widget.AppCompatTextView; import android.util.AttributeSet; -import android.widget.TextView; import com.hippo.drawable.BatteryDrawable; import com.hippo.ehviewer.R; -public class BatteryView extends TextView { +public class BatteryView extends AppCompatTextView { private int mColor; private int mWarningColor; diff --git a/app/src/main/java/com/hippo/widget/ContentLayout.java b/app/src/main/java/com/hippo/widget/ContentLayout.java index 3675851e7..115a5f318 100644 --- a/app/src/main/java/com/hippo/widget/ContentLayout.java +++ b/app/src/main/java/com/hippo/widget/ContentLayout.java @@ -301,7 +301,7 @@ public class ContentLayout extends FrameLayout { mRefreshLayout = contentLayout.mRefreshLayout; mRecyclerView = contentLayout.mRecyclerView; - Drawable drawable = DrawableManager.getDrawable(getContext(), R.drawable.big_weird_face); + Drawable drawable = DrawableManager.getVectorDrawable(getContext(), R.drawable.big_weird_face); drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()); mTipView.setCompoundDrawables(null, drawable, null, null); diff --git a/app/src/main/java/com/hippo/widget/CuteSpinner.java b/app/src/main/java/com/hippo/widget/CuteSpinner.java index b8b014eae..47c8751a8 100644 --- a/app/src/main/java/com/hippo/widget/CuteSpinner.java +++ b/app/src/main/java/com/hippo/widget/CuteSpinner.java @@ -18,11 +18,10 @@ package com.hippo.widget; import android.content.Context; import android.content.res.Resources; +import android.content.res.TypedArray; import android.support.v7.widget.AppCompatSpinner; -import android.support.v7.widget.TintTypedArray; import android.util.AttributeSet; import android.widget.ArrayAdapter; - import com.hippo.ehviewer.R; public class CuteSpinner extends AppCompatSpinner { @@ -58,7 +57,7 @@ public class CuteSpinner extends AppCompatSpinner { } private void init(Context context, AttributeSet attrs, int defStyleAttr) { - TintTypedArray a = TintTypedArray.obtainStyledAttributes(context, attrs, + TypedArray a = context.obtainStyledAttributes(attrs, android.support.v7.appcompat.R.styleable.Spinner, defStyleAttr, 0); final CharSequence[] entries = a.getTextArray(R.styleable.Spinner_android_entries); if (entries != null) { diff --git a/app/src/main/java/com/hippo/widget/LoadImageView.java b/app/src/main/java/com/hippo/widget/LoadImageView.java index e96a05bb7..b2865b5bf 100644 --- a/app/src/main/java/com/hippo/widget/LoadImageView.java +++ b/app/src/main/java/com/hippo/widget/LoadImageView.java @@ -308,7 +308,7 @@ public class LoadImageView extends FixedAspectImageView implements Unikery