pull/149/head
FongMi 2 years ago
parent 4c827a95e1
commit b04dabc35f
  1. 14
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  2. 33
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/CustomClickSpan.java
  3. 32
      app/src/mobile/java/com/fongmi/android/tv/ui/custom/CustomClickSpan.java

@ -11,6 +11,7 @@ import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
@ -61,7 +62,6 @@ import com.fongmi.android.tv.player.Source;
import com.fongmi.android.tv.player.danmu.Parser;
import com.fongmi.android.tv.ui.adapter.QualityAdapter;
import com.fongmi.android.tv.ui.base.BaseActivity;
import com.fongmi.android.tv.ui.custom.CustomClickSpan;
import com.fongmi.android.tv.ui.custom.CustomKeyDownVod;
import com.fongmi.android.tv.ui.custom.dialog.DescDialog;
import com.fongmi.android.tv.ui.custom.dialog.TrackDialog;
@ -538,7 +538,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
SpannableString span = new SpannableString(text);
for (String s : map.keySet()) {
int index = text.indexOf(s);
span.setSpan(CustomClickSpan.create(this, getKey(), map.get(s)), index, index + s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(getClickableSpan(map.get(s)), index, index + s.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
return span;
}
@ -554,6 +554,16 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
return text;
}
private ClickableSpan getClickableSpan(String json) {
return new ClickableSpan() {
@Override
public void onClick(@NonNull View view) {
VodActivity.start(getActivity(), getKey(), Result.type(json));
mPlayers.pause();
}
};
}
private void setFlagActivated(Flag item) {
if (mFlagAdapter.size() == 0 || item.isActivated()) return;
for (int i = 0; i < mFlagAdapter.size(); i++) ((Flag) mFlagAdapter.get(i)).setActivated(item);

@ -1,33 +0,0 @@
package com.fongmi.android.tv.ui.custom;
import android.app.Activity;
import android.text.style.ClickableSpan;
import android.view.View;
import androidx.annotation.NonNull;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.ui.activity.VodActivity;
public class CustomClickSpan extends ClickableSpan {
private final Activity activity;
private final String json;
private final String key;
public static CustomClickSpan create(Activity activity, String key, String json) {
return new CustomClickSpan(activity, key, json);
}
public CustomClickSpan(Activity activity, String key, String json) {
this.activity = activity;
this.json = json;
this.key = key;
}
@Override
public void onClick(@NonNull View view) {
VodActivity.start(activity, key, Result.type(json));
}
}

@ -1,32 +0,0 @@
package com.fongmi.android.tv.ui.custom;
import android.app.Activity;
import android.text.style.ClickableSpan;
import android.view.View;
import androidx.annotation.NonNull;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.ui.activity.FolderActivity;
public class CustomClickSpan extends ClickableSpan {
private final Activity activity;
private final String json;
private final String key;
public static CustomClickSpan create(Activity activity, String key, String json) {
return new CustomClickSpan(activity, key, json);
}
public CustomClickSpan(Activity activity, String key, String json) {
this.activity = activity;
this.json = json;
this.key = key;
}
@Override
public void onClick(@NonNull View view) {
FolderActivity.start(activity, key, Result.type(json));
}
}
Loading…
Cancel
Save