Support gif logo

pull/496/head
FongMi 2 years ago
parent e28e06c897
commit 9c9f352d15
  1. 12
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/KeepActivity.java
  3. 1
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  4. 32
      app/src/leanback/res/layout/activity_home.xml
  5. 31
      app/src/mobile/java/com/fongmi/android/tv/ui/fragment/VodFragment.java
  6. 2
      app/src/mobile/res/layout/fragment_vod.xml

@ -17,6 +17,7 @@ import androidx.recyclerview.widget.RecyclerView;
import androidx.viewbinding.ViewBinding;
import com.android.cast.dlna.dmr.DLNARendererService;
import com.bumptech.glide.Glide;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.Product;
import com.fongmi.android.tv.R;
@ -173,6 +174,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
getHistory();
getVideo();
setFocus();
setLogo();
}
@Override
@ -201,6 +203,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
if (!mBinding.title.hasFocus()) mBinding.recycler.requestFocus();
}
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);
}
private void getVideo() {
mResult = Result.empty();
int index = getRecommendIndex();
@ -368,6 +376,9 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
public void onRefreshEvent(RefreshEvent event) {
super.onRefreshEvent(event);
switch (event.getType()) {
case CONFIG:
setLogo();
break;
case VIDEO:
getVideo();
break;
@ -411,6 +422,7 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
@Override
public void success() {
RefreshEvent.history();
RefreshEvent.config();
RefreshEvent.video();
onCastEvent(event);
}

@ -59,6 +59,7 @@ public class KeepActivity extends BaseActivity implements KeepAdapter.OnClickLis
public void success() {
VideoActivity.start(getActivity(), item.getSiteKey(), item.getVodId(), item.getVodName(), item.getVodPic());
RefreshEvent.history();
RefreshEvent.config();
RefreshEvent.video();
}

@ -181,6 +181,7 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
setCacheText();
Notify.dismiss();
RefreshEvent.video();
RefreshEvent.config();
RefreshEvent.history();
mBinding.vodUrl.setText(VodConfig.getDesc());
mBinding.liveUrl.setText(LiveConfig.getDesc());

@ -16,15 +16,33 @@
android:paddingEnd="24dp"
android:paddingBottom="8dp">
<com.fongmi.android.tv.ui.custom.CustomTitleView
android:id="@+id/title"
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:focusable="false"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="24sp" />
android:gravity="center_vertical"
android:orientation="horizontal">
<ImageView
android:id="@+id/logo"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginEnd="12dp"
android:background="?attr/selectableItemBackgroundBorderless"
android:visibility="gone"
tools:src="@drawable/ic_logo"
tools:visibility="visible" />
<com.fongmi.android.tv.ui.custom.CustomTitleView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:focusable="false"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="24sp" />
</LinearLayout>
<TextView
android:id="@+id/time"

@ -2,11 +2,10 @@ package com.fongmi.android.tv.ui.fragment;
import android.app.Activity;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@ -17,8 +16,7 @@ import androidx.lifecycle.ViewModelProvider;
import androidx.viewbinding.ViewBinding;
import androidx.viewpager.widget.ViewPager;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.bumptech.glide.Glide;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.Setting;
@ -47,11 +45,8 @@ import com.fongmi.android.tv.ui.dialog.LinkDialog;
import com.fongmi.android.tv.ui.dialog.ReceiveDialog;
import com.fongmi.android.tv.ui.dialog.SiteDialog;
import com.fongmi.android.tv.utils.FileChooser;
import com.fongmi.android.tv.utils.ImgUtil;
import com.github.catvod.net.OkHttp;
import com.github.catvod.utils.Trans;
import com.google.android.material.shape.RelativeCornerSize;
import com.google.android.material.shape.ShapeAppearanceModel;
import com.google.common.net.HttpHeaders;
import org.greenrobot.eventbus.EventBus;
@ -249,25 +244,9 @@ public class VodFragment extends BaseFragment implements SiteCallback, FilterCal
}
private void setLogo() {
ImgUtil.load(VodConfig.get().getConfig().getLogo(), R.drawable.ic_logo, new CustomTarget<>() {
@Override
public void onResourceReady(@NonNull Drawable drawable, @Nullable Transition<? super Drawable> transition) {
mBinding.logo.setShapeAppearanceModel(new ShapeAppearanceModel.Builder().setAllCornerSizes(new RelativeCornerSize(0.5f)).build());
mBinding.logo.setScaleType(ImageView.ScaleType.CENTER_CROP);
mBinding.logo.setImageDrawable(drawable);
}
@Override
public void onLoadFailed(@Nullable Drawable errorDrawable) {
mBinding.logo.setShapeAppearanceModel(new ShapeAppearanceModel.Builder().setAllCornerSizes(0).build());
mBinding.logo.setScaleType(ImageView.ScaleType.FIT_CENTER);
mBinding.logo.setImageResource(R.drawable.ic_logo);
}
@Override
public void onLoadCleared(@Nullable Drawable drawable) {
}
});
String logo = VodConfig.get().getConfig().getLogo();
if (TextUtils.isEmpty(logo)) mBinding.logo.setImageResource(R.drawable.ic_logo);
else Glide.with(this).load(logo).error(R.drawable.ic_logo).circleCrop().into(mBinding.logo);
}
public Result getResult() {

@ -24,7 +24,7 @@
android:paddingBottom="4dp"
app:layout_scrollFlags="scroll|enterAlways">
<com.google.android.material.imageview.ShapeableImageView
<ImageView
android:id="@+id/logo"
android:layout_width="24dp"
android:layout_height="24dp"

Loading…
Cancel
Save