[leanback] custom logo fix

pull/410/head
okjack 2 years ago
parent 1556dc5ed2
commit a30555a5c5
  1. 31
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 7
      app/src/leanback/res/layout/activity_home.xml

@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.activity;
import android.Manifest;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
@ -22,6 +23,10 @@ import androidx.viewpager.widget.ViewPager;
import com.android.cast.dlna.dmr.DLNARendererService;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
@ -477,6 +482,26 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
this.loading = loading;
}
private void setLogo() {
Glide.with(this).load(VodConfig.get().getConfig().getLogo()).circleCrop().override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL).listener(getListener()).into(mBinding.logo);
}
private RequestListener<Drawable> getListener() {
return new RequestListener<>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
mBinding.logo.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
mBinding.logo.setVisibility(View.VISIBLE);
return false;
}
};
}
private void setFocus() {
setLoading(false);
if (!mBinding.title.isFocusable()) App.post(() -> mBinding.title.setFocusable(true), 500);
@ -486,12 +511,6 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
}
}
private void setLogo() {
String logo = VodConfig.get().getConfig().getLogo();
mBinding.logo.setVisibility(TextUtils.isEmpty(logo) ? View.GONE : View.VISIBLE);
Glide.with(this).load(logo).error(R.drawable.ic_logo).circleCrop().into(mBinding.logo);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
boolean isHomeFragment = mBinding.pager.getCurrentItem() == 0;

@ -25,14 +25,15 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:gravity="center_vertical"
android:layout_marginEnd="12dp"
android:orientation="horizontal">
<ImageView
android:id="@+id/logo"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:visibility="gone"
@ -43,7 +44,7 @@
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:layout_gravity="center|start"
android:focusable="false"
android:text="@string/app_name"
android:textColor="@color/white"

Loading…
Cancel
Save