fix bug,修改翻译

This commit is contained in:
guozhen 2025-05-12 18:25:28 +08:00
parent 23debff80a
commit afc4e207f8
25 changed files with 485 additions and 73 deletions

View File

@ -48,6 +48,17 @@ public class TimeUtils {
}
public static long strToTime(String data) {
try {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = simpleDateFormat.parse(data);
return date.getTime();
} catch (Exception e) {
return 0;
}
}
public static String transToString(Long time) {
Date date = new Date(time * 1000);
return new SimpleDateFormat("yyyy-MM-dd").format(date);
@ -114,4 +125,19 @@ public class TimeUtils {
return true;
}
}
//毫秒
public static String parseSecond(long currentSecond, long totalSecond) {
String total = "00:00";
String current = String.format("%02d", (currentSecond / 1000 / 60)) + ":" + String.format("%02d", (currentSecond / 1000) % 60);
if (totalSecond > 0) {
total = String.format("%02d", (totalSecond / 1000 / 60)) + ":" + String.format("%02d", (totalSecond / 1000) % 60);
}
return current + "/" + total;
}
}

View File

@ -31,8 +31,6 @@ public class PVideoplayRules implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
LogUtils.d("auth" + TIndicator.getString(TIndicator.auth, ""));
Request request = chain.request().newBuilder()
.addHeader("Content-Type", "application/json")
.addHeader("authorization", TIndicator.getString(TIndicator.auth, ""))

View File

@ -53,6 +53,7 @@ public class GSLanguageActivity extends IDDetailsRoundActivity<ActivityLanguageB
@Override
public void initView() {
binding.loading.show();
String language = TIndicator.getString(ITItem.CONSTANTS_Lang_key, "en");
translates = AppUtils.getTranslates();
if (translates != null) {
@ -129,7 +130,7 @@ public class GSLanguageActivity extends IDDetailsRoundActivity<ActivityLanguageB
public void logic() {
userViewModel.getLanguagesLiveData().observe(this, response -> {
binding.loading.hide();
if (response != null && response.data != null) {
gsLanguageAdapter.submitList(response.data.getList());
}

View File

@ -5,10 +5,16 @@ import static com.shortdrama.jelly.zyreotv.beginning.ITItem.CONSTANTS_UserWeb_Re
import static com.shortdrama.jelly.zyreotv.beginning.ITItem.CONSTANTS_User_Refresh_Event;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.text.style.UnderlineSpan;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@ -67,26 +73,64 @@ public class GSLoginActivity extends IDDetailsRoundActivity<ActivityLoginBinding
binding.tvLoginWelcome.setText(translates.getGleestream_login_title());
binding.tvLoginFacebook.setText(translates.getGleestream_login_facebook());
binding.tvLoginAgree.setText(translates.getGleestream_login_agree());
binding.tvLoginAgreetotal.setText(translates.getGleestream_login_agree() + translates.getGleestream_useragreement() + "&" + translates.getGleestream_privacy());
binding.tvUserAgreement.setText(translates.getGleestream_useragreement());
binding.tvPrivatePolicy.setText(translates.getGleestream_privacy());
}
CharSequence text = binding.tvUserAgreement.getText();
SpannableString spannableString = new SpannableString(text);
spannableString.setSpan(new UnderlineSpan(), 0, text.length(), 0);
CharSequence textprivate = binding.tvPrivatePolicy.getText();
SpannableString spannableString2 = new SpannableString(text);
spannableString2.setSpan(new UnderlineSpan(), 0, textprivate.length(), 0);
CharSequence total = binding.tvLoginAgreetotal.getText().toString();
int startUser = total.toString().indexOf(":") + 1;
int endUser = total.toString().indexOf("&");
int startprivacy = total.toString().indexOf("&") + 1;
int endprivacy = total.toString().length();
SpannableString spannableString = new SpannableString(total);
ClickableSpan userClick = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_USERAgreement, total.toString().substring(startUser, endUser), ZYTWebViewIndexActivity.class);
}
binding.tvUserAgreement.setText(spannableString);
binding.tvPrivatePolicy.setText(spannableString2);
binding.tvUserAgreement.setOnClickListener(v -> {
LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_USERAgreement, getResources().getString(R.string.userVideoSettings), ZYTWebViewIndexActivity.class);
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.parseColor("#888888"));
}
};
});
binding.tvPrivatePolicy.setOnClickListener(v -> {
LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_Private, getResources().getString(R.string.stopSelect), ZYTWebViewIndexActivity.class);
});
ClickableSpan privacyClick = new ClickableSpan() {
@Override
public void onClick(@NonNull View widget) {
LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_USERAgreement, total.toString().substring(startprivacy, endprivacy), ZYTWebViewIndexActivity.class);
}
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
ds.setColor(Color.parseColor("#888888"));
}
};
// privacyClick.updateDrawState(userPaint);
spannableString.setSpan(userClick, startUser, endUser, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(privacyClick, startprivacy, endprivacy, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// spannableString.setSpan(new UnderlineSpan(), useragreementIndex - userAgreement.length(), useragreementIndex, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// spannableString.setSpan(new UnderlineSpan(), total.toString().indexOf("&"), total.toString().length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
binding.tvLoginAgreetotal.setHighlightColor(Color.TRANSPARENT);
binding.tvLoginAgreetotal.setText(spannableString);
binding.tvLoginAgreetotal.setMovementMethod(LinkMovementMethod.getInstance());
// binding.tvLoginAgreetotal.setHighlightColor(Color.TRANSPARENT);
// binding.tvUserAgreement.setText(spannableString);
// binding.tvPrivatePolicy.setText(spannableString2);
// binding.tvUserAgreement.setOnClickListener(v -> {
// LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_USERAgreement, getResources().getString(R.string.userVideoSettings), ZYTWebViewIndexActivity.class);
//
// });
// binding.tvPrivatePolicy.setOnClickListener(v -> {
// LRewards.startWebViewActivity(GSLoginActivity.this, KGZyreotv.GleeStream_Private, getResources().getString(R.string.stopSelect), ZYTWebViewIndexActivity.class);
// });
binding.layoutLoginFace.setOnClickListener(v -> {
WCenterVideo.singleClick(new Runnable() {

View File

@ -1,5 +1,6 @@
package com.shortdrama.jelly.zyreotv.topics.abslRwgt.app;
import static android.view.View.GONE;
import static com.shortdrama.jelly.zyreotv.beginning.ITItem.CONSTANTS_UserWeb_Refresh_Event;
import static com.shortdrama.jelly.zyreotv.beginning.ITItem.CONSTANTS_User_Refresh_Event;
import static com.shortdrama.jelly.zyreotv.beginning.ITItem.Constants_AppEnter;
@ -60,6 +61,11 @@ public class ZYTSettingActivity extends IDDetailsRoundActivity<ActivitySettingZy
binding.layoutSettingActionbar.tvToptitle.setText(getString(R.string.setting_txt));
}
if (TIndicator.isTourist()) {
binding.tvSettingLoginout.setVisibility(GONE);
binding.tvSettingDeleteaccount.setVisibility(GONE);
}
binding.layoutSettingActionbar.ivTopback.setOnClickListener(v -> finish());
binding.tvSettingLoginout.setOnClickListener(v -> {
if (!TIndicator.isTourist()) {
@ -75,6 +81,9 @@ public class ZYTSettingActivity extends IDDetailsRoundActivity<ActivitySettingZy
} else {
PAYLoginHeaddefault.revealToast(translates != null ? translates.getGleestream_login_first() : "Please login first", 0);
}
});
binding.tvSettingClean.setOnClickListener(v -> {
});
binding.tvSettingNotify.setOnClickListener(v -> {
boolean isOpen = NotifyUtils.isNotificationEnable(ZYTSettingActivity.this);
@ -138,7 +147,7 @@ public class ZYTSettingActivity extends IDDetailsRoundActivity<ActivitySettingZy
ZYTSettingActivity.this.finish();
} else {
binding.loading.hide();
PAYLoginHeaddefault.revealToast(translates!=null?translates.getGleestream_service_abnormality():"Service abnormality, please check the network", 0);
PAYLoginHeaddefault.revealToast(translates != null ? translates.getGleestream_service_abnormality() : "Service abnormality, please check the network", 0);
}

View File

@ -14,21 +14,31 @@ import com.android.billingclient.api.BillingClient;
import com.shortdrama.jelly.zyreotv.R;
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
import com.shortdrama.jelly.zyreotv.beginning.LRewards;
import com.shortdrama.jelly.zyreotv.beginning.LogUtils;
import com.shortdrama.jelly.zyreotv.beginning.PAYLoginHeaddefault;
import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
import com.shortdrama.jelly.zyreotv.beginning.ZYTGooglePayUtils;
import com.shortdrama.jelly.zyreotv.databinding.ActivityPlaylistGsBinding;
import com.shortdrama.jelly.zyreotv.databinding.ActivityStoreBinding;
import com.shortdrama.jelly.zyreotv.databinding.ItemPlaylistRootBinding;
import com.shortdrama.jelly.zyreotv.databinding.QyvHeaddefaultBinding;
import com.shortdrama.jelly.zyreotv.dlsym.IMACloseStroke;
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.IDDetailsRoundActivity;
import com.shortdrama.jelly.zyreotv.topics.dts.BAVideoIndicator;
import com.shortdrama.jelly.zyreotv.topics.dts.GSPlayListRootAdapter;
import com.shortdrama.jelly.zyreotv.topics.dts.TGFollowlistAdapter;
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreGoldRechargeAdapter;
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreSubVipAdapter;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSPlayListRootBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.KLAnnerBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GSPlayListActivity extends IDDetailsRoundActivity<ActivityPlaylistGsBinding> {
@ -39,6 +49,9 @@ public class GSPlayListActivity extends IDDetailsRoundActivity<ActivityPlaylistG
private BAVideoIndicator adapter;
private List<GSPlayListRootBean> listrootdata = new ArrayList<>();
private GSTranslatesBean.Translates translates;
@Override
public void init() {
@ -53,19 +66,17 @@ public class GSPlayListActivity extends IDDetailsRoundActivity<ActivityPlaylistG
binding.layoutPlaylistActionbar.ivTopback.setOnClickListener(v -> {
finish();
});
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
if(translates!=null){
translates = AppUtils.getTranslates();
if (translates != null) {
binding.layoutPlaylistActionbar.tvToptitle.setText(translates.getGleestream_playlist());
}else{
} else {
binding.layoutPlaylistActionbar.tvToptitle.setText("Play List");
}
initData();
binding.recyclerviewPlaylist.setLayoutManager(new GridLayoutManager(this, 3));
adapter = new BAVideoIndicator(this, QyvHeaddefaultBinding.class);
adapter.setItemClickListener((data, holder) -> {
LRewards.startPlayerDetails(this, data.getShort_play_id(), 0);
});
adapter.setItemClickListener((data, holder) -> LRewards.startPlayerDetails(GSPlayListActivity.this, data.getShort_play_id(), 0));
binding.recyclerviewPlaylist.setAdapter(adapter);
binding.ivPlaylistEmpty.setOnClickListener(v -> initData());
initSmartRefreshLayout();
@ -90,6 +101,54 @@ public class GSPlayListActivity extends IDDetailsRoundActivity<ActivityPlaylistG
}
private List<KLAnnerBean> listToday = new ArrayList<>();
private List<KLAnnerBean> listYes = new ArrayList<>();
private List<KLAnnerBean> listEarlier = new ArrayList<>();
private Map<String, List<KLAnnerBean>> listMap = new HashMap<>();
private void setRootData(List<KLAnnerBean> list) {
if (currentPage == 1) {
listrootdata.clear();
listToday.clear();
listYes.clear();
listEarlier.clear();
listMap.clear();
}
for (KLAnnerBean item : list) {
long time = TimeUtils.strToTime(item.getUpdated_at());
long current = System.currentTimeMillis();
String titletime;
LogUtils.d("item updated_ad " + item.getUpdated_at() + " time==" + time + " currenttime==" + current);
if (current - time <= (24 * 60 * 60 * 1000)) {
titletime = (translates != null ? translates.getGleestream_today() : "Today");
listToday.add(listToday.size(), item);
listMap.put(titletime, listToday);
} else if (current - time <= (24 * 60 * 60 * 1000) * 2) {
titletime = (translates != null ? translates.getGleestream_yesterday() : "Yesterday");
listYes.add(listYes.size(), item);
listMap.put(titletime, listYes);
} else {
titletime = (translates != null ? translates.getGleestream_earlier() : "Earlier");
listEarlier.add(listEarlier.size(), item);
listMap.put(titletime, listEarlier);
}
}
for (String key : listMap.keySet()) {
listrootdata.add(new GSPlayListRootBean(key, listMap.get(key)));
}
}
public void addLastData(List<KLAnnerBean> list) {
GSPlayListRootBean item = listrootdata.get(listrootdata.size() - 1);
listMap.get(item.getTime()).addAll(list);
listrootdata.add(new GSPlayListRootBean(item.getTime(), list));
}
@Override
public void logic() {
userViewModel.getUserVideoHistoryLiveData().observe(this, IMACloseStroke -> {
@ -97,7 +156,14 @@ public class GSPlayListActivity extends IDDetailsRoundActivity<ActivityPlaylistG
binding.smartrefreshlayoutMylistPlay.finishRefresh();
binding.recyclerviewPlaylist.setVisibility(View.VISIBLE);
binding.ivPlaylistEmpty.setVisibility(GONE);
// adapter.setPage(currentPage);
if (IMACloseStroke != null && IMACloseStroke.data != null && !IMACloseStroke.data.getList().isEmpty()) {
// if (currentPage == 1) {
// setRootData(IMACloseStroke.data.getList());
// } else {
// addLastData(IMACloseStroke.data.getList());
// adapter.setMoreListData(IMACloseStroke.data.getList());
// }
adapter.addDataList(IMACloseStroke.data.getList(), currentPage == 1);
} else {
if (currentPage == 1) {

View File

@ -80,6 +80,7 @@ public class VItemGradlewFragment extends Fragment {
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
loadingdefaultRunning.loading.show();
double click6 = 6325.0;
setFrontParty();
boolean currenth = true;
@ -105,6 +106,7 @@ public class VItemGradlewFragment extends Fragment {
@Override
public void onSuccess(IMACloseStroke<CFRewardsLoginBean> feedbackResp) {
loadingdefaultRunning.loading.hide();
if (feedbackResp.data != null) {
List<BMRagmentBean> KLAnnerBeans = feedbackResp.data.getCategory();
int indicatorO = 1949;
@ -137,7 +139,7 @@ public class VItemGradlewFragment extends Fragment {
@Override
public void onError(int code, String msg) {
loadingdefaultRunning.loading.hide();
}
});
}

View File

@ -18,6 +18,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.android.billingclient.api.BillingClient;
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
import com.shortdrama.jelly.zyreotv.beginning.ZYTGooglePayUtils;
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreSubVipAdapter;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
@ -27,6 +28,7 @@ import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
import com.shortdrama.jelly.zyreotv.databinding.DialogPageEpisodesRechargeZytBinding;
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.decbn.GXCProgressLogin;
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreGoldRechargeAdapter;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.LSQExampleCloseBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
@ -71,6 +73,8 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
private OnDataItemPass dataPasser;
private GSTranslatesBean.Translates translates;
public void setDataPasser(OnDataItemPass dataPasser) {
this.dataPasser = dataPasser;
@ -79,9 +83,23 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
vtUserViewModel = new ViewModelProvider(this).get(GXCProgressLogin.class);
dialogRechargeBinding = DialogPageEpisodesRechargeZytBinding.inflate(getLayoutInflater());
AlertDialog.Builder builder = new AlertDialog.Builder(requireActivity());
translates = AppUtils.getTranslates();
if(translates!=null){
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(translates.getGleestream_coins());
dialogRechargeBinding.layoutStoreRecharge.tvStoreMembership.setText(translates.getGleestream_membership());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce01.setText(translates.getGleestream_vip_introduct1());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce02.setText(translates.getGleestream_vip_introduct2());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce03.setText(translates.getGleestream_vip_introduct3());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce04.setText(translates.getGleestream_vip_introduct4());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce05.setText(translates.getGleestream_vip_introduct5());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce06.setText(translates.getGleestream_vip_introduct6());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce07.setText(translates.getGleestream_vip_introduct7());
dialogRechargeBinding.layoutStoreRecharge.layoutVipIntroduct.tvMembershipIntroduce08.setText(translates.getGleestream_vip_introduct8());
}
vtUserViewModel = new ViewModelProvider(this).get(GXCProgressLogin.class);
dialogRechargeBinding.avi.show();
zytGooglePayUtils.setqueryProductResult(new ZYTGooglePayUtils.QueryProductResult() {
@Override
@ -116,7 +134,7 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
if (parcelable instanceof LSQExampleCloseBean.YPZTestUnselect) {
episode = (LSQExampleCloseBean.YPZTestUnselect) parcelable;
shorplayId = episode.getShort_play_id();
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(getString(R.string.coins_txt) + " " + episode.getCoins());
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText((translates!=null?translates.getGleestream_coins():getString(R.string.coins_txt)) + " " + episode.getCoins());
vtUserViewModel.getPaySetting(shorplayId, episode.getShort_play_video_id());
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText(Html.fromHtml(getString(R.string.store_coins, TIndicator.getAllCoin()),
FROM_HTML_MODE_LEGACY));

View File

@ -23,6 +23,8 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.activity.OnBackPressedCallback;
import androidx.activity.OnBackPressedDispatcher;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.annotation.NonNull;
@ -135,11 +137,23 @@ public class ZYTWebViewIndexActivity extends IDDetailsRoundActivity<FBannerPolic
}
});
binding.ivWebviewRight.setOnClickListener(v -> {
LRewards.startWebViewActivity(this, KGZyreotv.GleeStream_Feedback_List, translates!=null?translates.getGleestream_feedback_list():"FeedBack List", ZYTFeedBackListActivity.class);
LRewards.startWebViewActivity(this, KGZyreotv.GleeStream_Feedback_List, translates != null ? translates.getGleestream_feedback_list() : "FeedBack List", ZYTFeedBackListActivity.class);
});
OnBackPressedDispatcher dispatcher = getOnBackPressedDispatcher();
dispatcher.addCallback(this, new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
if (binding.webview.canGoBack()) {
binding.webview.goBack();
} else {
finish();
}
}
});
}
WebChromeClient webChromeClient = new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
@ -260,8 +274,8 @@ public class ZYTWebViewIndexActivity extends IDDetailsRoundActivity<FBannerPolic
if (grantResults.length > 0 && grantResults[0] == 0) {
openFilePicker();
} else {
GSTranslatesBean.Translates translates= AppUtils.getTranslates();
PAYLoginHeaddefault.revealToast(translates!=null?translates.getGleestream_permission_denied():"Permission Denied", 0);
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
PAYLoginHeaddefault.revealToast(translates != null ? translates.getGleestream_permission_denied() : "Permission Denied", 0);
}
}
@ -285,6 +299,7 @@ public class ZYTWebViewIndexActivity extends IDDetailsRoundActivity<FBannerPolic
}
@Override
protected void onDestroy() {
super.onDestroy();

View File

@ -69,6 +69,8 @@ public class BVXHeadView extends FrameLayout {
private GSTranslatesBean.Translates translates;
private AppCompatTextView textSeconds;
// private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
@OptIn(markerClass = UnstableApi.class)
@ -91,6 +93,7 @@ public class BVXHeadView extends FrameLayout {
load_line = bind.playerView.findViewById(R.id.load_line);
rl_ep = bind.playerView.findViewById(R.id.rl_ep);
iv_episode_playertotal = bind.playerView.findViewById(R.id.iv_episodes_controller);
textSeconds = bind.playerView.findViewById(R.id.tv_totalseconds);
iv_back_hibit_episode.setOnClickListener(v ->
EventBus.getDefault().post(ITItem.Constants_RecommendPlayerView_CLOSEExample)
@ -193,12 +196,13 @@ public class BVXHeadView extends FrameLayout {
long duration = player.getDuration();
long position = player.getCurrentPosition();
int progress = (int) (position * 100 / (duration == C.TIME_UNSET ? 1 : duration));
textSeconds.setText(TimeUtils.parseSecond(position, player.getDuration()));
if (seekBar != null) {
seekBar.setMax(100);
seekBar.setProgress(progress + 1);
}
}
handler.postDelayed(this, 1000); // 1 秒执行一次
handler.postDelayed(this, 500); // 1 秒执行一次
}
};
handler.post(progressRunnable); // 启动
@ -343,7 +347,7 @@ public class BVXHeadView extends FrameLayout {
tv_des_player.setText(shortVideoInfo.getDescription());
Glide.with(getContext()).load(shortVideoInfo.getImage_url()).into(ivCoverPlayerDetail);
// ivCoverPlayerDetail.setVisibility(View.VISIBLE);
// ivCoverPlayerDetail.setVisibility(View.VISIBLE);
iv_collection_controller.setImageResource(shortVideoInfo.isIs_collect() ? R.mipmap.banner_ffffff : R.mipmap.launcher_preference);
bind.playerViewTop.ivCollectionController.setImageResource(shortVideoInfo.isIs_collect() ? R.mipmap.banner_ffffff : R.mipmap.launcher_preference);
tv_collection_num_controller.setText(TimeUtils.formatNumber(shortVideoInfo.getCollect_total()));
@ -360,6 +364,11 @@ public class BVXHeadView extends FrameLayout {
bind.playerViewTop.getRoot().setVisibility(GONE);
player.setMediaItem(MediaItem.fromUri(Uri.parse(bean.getVideo_url())));
player.prepare();
if (mediaItem.getPlay_seconds() != 0) {
player.seekTo(mediaItem.getPlay_seconds());
}
// textSeconds.setText(TimeUtils.parseSecond(mediaItem.getPlay_seconds(), player.getDuration()));
} else {
bind.playerViewTop.getRoot().setVisibility(VISIBLE);
}

View File

@ -0,0 +1,87 @@
package com.shortdrama.jelly.zyreotv.topics.dts;
import android.content.Context;
import androidx.recyclerview.widget.GridLayoutManager;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.shortdrama.jelly.zyreotv.R;
import com.shortdrama.jelly.zyreotv.beginning.LRewards;
import com.shortdrama.jelly.zyreotv.beginning.LogUtils;
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
import com.shortdrama.jelly.zyreotv.databinding.ItemPlaylistRootBinding;
import com.shortdrama.jelly.zyreotv.databinding.QyvHeaddefaultBinding;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSPlayListRootBean;
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.KLAnnerBean;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Random;
public class GSPlayListRootAdapter
extends TGFollowlistAdapter<GSPlayListRootBean, ItemPlaylistRootBinding> {
OnRootItemClickListener itemClickListener;
public void setOnRootItemClickListener(OnRootItemClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public interface OnRootItemClickListener {
void startDetails(int shorplayId);
}
private Context context;
private int page = 1;
private BAVideoIndicator adapter;
private List<KLAnnerBean> listload;
public GSPlayListRootAdapter(
Context context, Class<ItemPlaylistRootBinding> viewBinding) {
super(context, viewBinding);
this.context = context;
}
public void setPage(int currentpage) {
this.page = currentpage;
}
public void setMoreListData(List<KLAnnerBean> list) {
this.listload = list;
}
@Override
public void onBindViewHolder(
ItemPlaylistRootBinding binding,
int position,
GSPlayListRootBean data,
int bingingAdapterPosition) {
LogUtils.d("position===" + position);
binding.tvPlaylistTime.setText(data.getTime());
if (adapter == null) {
binding.recyclerviewPlaylist.setLayoutManager(new GridLayoutManager(context, 3));
adapter = new BAVideoIndicator(context, QyvHeaddefaultBinding.class);
}
adapter.addDataList(data.getList(), page == 1);
adapter.setItemClickListener((data1, holder) -> {
if (itemClickListener != null) {
itemClickListener.startDetails(data1.getShort_play_id());
}
});
}
}

View File

@ -0,0 +1,31 @@
package com.shortdrama.jelly.zyreotv.unconfirmedPiecewise;
import java.util.ArrayList;
import java.util.List;
public class GSPlayListRootBean {
private String time;
private List<KLAnnerBean> list;
public GSPlayListRootBean(String time, List<KLAnnerBean> list) {
this.time = time;
this.list = list;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public List<KLAnnerBean> getList() {
return list;
}
public void setList(List<KLAnnerBean> list) {
this.list = list;
}
}

View File

@ -141,6 +141,34 @@ public class GSTranslatesBean {
private String gleestream_vippurchase_dialog_unlock;
private String gleestream_vippurchase_dialog;
private String gleestream_today;
private String gleestream_yesterday;
private String gleestream_earlier;
public String getGleestream_today() {
return gleestream_today;
}
public void setGleestream_today(String gleestream_today) {
this.gleestream_today = gleestream_today;
}
public String getGleestream_yesterday() {
return gleestream_yesterday;
}
public void setGleestream_yesterday(String gleestream_yesterday) {
this.gleestream_yesterday = gleestream_yesterday;
}
public String getGleestream_earlier() {
return gleestream_earlier;
}
public void setGleestream_earlier(String gleestream_earlier) {
this.gleestream_earlier = gleestream_earlier;
}
public String getGleestream_vippurchase_dialog_unlock() {
return gleestream_vippurchase_dialog_unlock;
}

View File

@ -2,13 +2,15 @@
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background">
<shape>
<solid android:color="#9E9696" />
<solid android:color="#1fffffff" />
<corners android:radius="3dp"/>
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<solid android:color="#FF0049" />
<solid android:color="#7affffff" />
<corners android:radius="3dp"/>
</shape>
</clip>
</item>

View File

@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<solid android:color="#FF0049"/>
<solid android:color="#7affffff" />
<corners android:radius="3dp"/>
</shape>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/registered_tatus"
@ -49,11 +50,16 @@
android:background="@drawable/bg_text_delete_account_selected"
android:gravity="center"
android:text="OK"
android:visibility="gone"
android:textColor="@android:color/white"
android:textSize="14sp" />
android:textSize="14sp"
android:visibility="gone" />
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.core.widget.NestedScrollView>
<com.wang.avi.AVLoadingIndicatorView
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:indicatorName="BallSpinFadeLoaderIndicator" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -70,6 +70,22 @@
android:textSize="@dimen/ragmentSettings" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_login_agreetotal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/clickOdyload"
android:layout_marginTop="@dimen/rewardsPlash"
android:layout_marginEnd="@dimen/clickOdyload"
android:layout_marginBottom="@dimen/manifestLock"
android:gravity="center"
android:text="@string/login_introduce_txt"
android:textColor="#888888"
android:textSize="@dimen/gradleAgreement"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_login_face" />
<LinearLayout
android:layout_width="match_parent"
@ -79,6 +95,7 @@
android:layout_marginEnd="@dimen/clickOdyload"
android:layout_marginBottom="@dimen/manifestLock"
android:orientation="horizontal"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_login_face">

View File

@ -32,6 +32,8 @@
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview_playlist"
android:layout_width="match_parent"
android:layout_marginStart="5dp"
android:layout_marginEnd="15dp"
android:layout_height="wrap_content" />
<androidx.appcompat.widget.AppCompatImageView

View File

@ -52,7 +52,7 @@
android:text="@string/setting_clean_txt"
android:textColor="#e6ffffff"
android:textSize="@dimen/pisodesPisodesNine"
android:visibility="gone" />
android:visibility="visible" />
<androidx.appcompat.widget.AppCompatTextView

View File

@ -10,11 +10,15 @@
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_mywallet_name_item"
android:layout_width="wrap_content"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/playActivity"
android:textColor="@color/color_e6ffffff"
android:textSize="@dimen/pisodesPisodesNine"
android:singleLine="true"
android:ellipsize="end"
android:layout_marginEnd="10dp"
app:layout_constraintEnd_toStartOf="@+id/tv_mywallet_value_itme"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -42,7 +46,7 @@
android:textColor="@color/zyreotvExploreAbout"
android:textSize="@dimen/ragmentSettings"
android:textStyle="bold"
app:layout_constraintEnd_toStartOf="@+id/iv_mywallet_gold_item"
app:layout_constraintRight_toLeftOf="@+id/iv_mywallet_gold_item"
app:layout_constraintTop_toTopOf="@+id/tv_mywallet_name_item"
app:layout_goneMarginEnd="@dimen/utilsPage" />

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_playlist_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:drawableStart="@mipmap/ic_playlist_time"
android:drawablePadding="4dp"
android:textColor="#D2D2D2"
android:textSize="13sp" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/recyclerview_playlist"
android:layout_marginTop="10dp" />
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -95,6 +95,15 @@
<!-- progress-->
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_totalseconds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/ll_top"
android:layout_marginStart="16dp"
android:textColor="#e6ffffff"
android:textSize="12sp" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_top"
android:layout_width="match_parent"

View File

@ -25,42 +25,42 @@
android:layout_height="match_parent"
android:layout_marginStart="@dimen/followHistoryOllow"
android:layout_marginEnd="@dimen/followHistoryOllow"
android:textColorHint="#38ffffff"
android:gravity="center_vertical"
android:drawablePadding="@dimen/squareDefault_q"
android:textColor="#38ffffff"
android:maxLines="1"
android:ellipsize="end"
android:gravity="center_vertical"
android:maxLines="1"
android:textColor="#38ffffff"
android:textColorHint="#38ffffff"
android:textSize="@dimen/gradleAgreement"
app:drawableStartCompat="@mipmap/utils_utils_ollow" />
<LinearLayout
android:background="#B9EAA2"
android:layout_width="0dp"
android:paddingTop="78dp"
android:orientation="vertical"
android:visibility="gone"
android:layout_height="0dp">
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="0dp"
android:background="#B9EAA2"
android:orientation="vertical"
android:paddingTop="78dp"
android:visibility="gone"></LinearLayout>
</FrameLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/followHistoryOllow"
android:layout_height="@dimen/eaderShareLauncher"
android:layout_centerVertical="true"
android:layout_marginTop="@dimen/followHistoryOllow"
android:background="@android:color/transparent"
app:layout_constraintTop_toBottomOf="@+id/layout_search"
app:tabBackground="@android:color/transparent"
app:tabIndicator="@drawable/lls_register_themes_item"
app:tabIndicatorColor="@color/zyreotvExploreAbout"
app:tabIndicatorGravity="bottom"
app:tabIndicatorFullWidth="false"
app:tabInlineLabel="false"
app:tabIndicatorHeight="@dimen/googleShare"
app:tabMinWidth="@dimen/eaderShareLauncher"
app:tabIndicatorAnimationMode="fade"
app:tabIndicatorColor="@color/zyreotvExploreAbout"
app:tabIndicatorFullWidth="false"
app:tabIndicatorGravity="bottom"
app:tabIndicatorHeight="@dimen/googleShare"
app:tabInlineLabel="false"
app:tabMinWidth="@dimen/eaderShareLauncher"
app:tabMode="scrollable"
app:tabPaddingBottom="@dimen/unitEventUnique"
app:tabPaddingEnd="5dp"
@ -69,23 +69,35 @@ android:layout_height="0dp">
app:tabSelectedTextColor="#F564B6"
app:tabTextAppearance="@style/splashModity"
app:tabTextColor="#D2D2D2" />
<LinearLayout
android:layout_width="227dp"
android:padding="19dp"
android:orientation="horizontal"
android:visibility="gone"
android:layout_height="38dp"
tools:ignore="MissingConstraints">
</LinearLayout>
<LinearLayout
android:layout_width="227dp"
android:layout_height="38dp"
android:orientation="horizontal"
android:padding="19dp"
android:visibility="gone"
tools:ignore="MissingConstraints"></LinearLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/agreementLock"
app:layout_constraintTop_toBottomOf="@+id/tablayout"
android:overScrollMode="never"
app:layout_constraintBottom_toBottomOf="parent"
android:overScrollMode="never" />
app:layout_constraintTop_toBottomOf="@+id/tablayout" />
<com.wang.avi.AVLoadingIndicatorView
android:id="@+id/loading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:indicatorName="BallSpinFadeLoaderIndicator"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -6,7 +6,7 @@
<string name="episode_txt">Episode </string>
<string name="login_zyreotv_txt">Welcome to GleeStream</string>
<string name="login_introduce_txt">By logging in you agree to: </string>
<string name="login_introduce_txt">By logging in you agree to:User Agreement&amp;Privacy Policy</string>
<string name="login_face_txt">Login with Facebook</string>
<string name="and_txt"> &amp; </string>