修改商店UI,视频详情充值UI,修改time-zone,新增ffmpeg aar
@ -86,7 +86,8 @@ android {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
//implementation fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar")))
|
||||
implementation fileTree(include: ["*.jar", "*.aar"], dir: 'libs')
|
||||
implementation libs.appcompat
|
||||
implementation libs.material
|
||||
implementation libs.constraintlayout
|
||||
|
BIN
app/libs/lib-decoder-ffmpeg-release.aar
Normal file
@ -13,7 +13,7 @@ public class LogUtils {
|
||||
}
|
||||
|
||||
// public static boolean isDebug = ApiService.isDebug;// 是否需要打印bug,可以在application的onCreate函数里面初始化
|
||||
public static boolean isDebug = true;
|
||||
public static boolean isDebug = false;
|
||||
// public static boolean isDebug = false;// 是否需要打印bug,可以在application的onCreate函数里面初始化
|
||||
|
||||
private static final String TAG = "GleeStreamLog";
|
||||
|
@ -34,6 +34,10 @@ public class TimeUtils {
|
||||
}
|
||||
builder.append(sign);
|
||||
appendNumber(builder, 2, offsetMinutes / 60);
|
||||
if (includeMinuteSeparatori) {
|
||||
builder.append(':');
|
||||
}
|
||||
appendNumber(builder, 2, offsetMinutes % 60);
|
||||
return builder.toString();
|
||||
|
||||
}
|
||||
@ -114,7 +118,7 @@ public class TimeUtils {
|
||||
long lastOpenTime = TIndicator.getLong(ITItem.CONSTANTS_VipPurchaseTime_key, 0);
|
||||
if (lastOpenTime != 0) {
|
||||
long current = System.currentTimeMillis();
|
||||
if (current - lastOpenTime >=(60 * 60 * 1000) ) { //
|
||||
if (current - lastOpenTime >= (60 * 60 * 1000)) { //
|
||||
TIndicator.saveLong(ITItem.CONSTANTS_VipPurchaseTime_key, System.currentTimeMillis());
|
||||
return true;
|
||||
} else {
|
||||
|
@ -38,7 +38,7 @@ public class PVideoplayRules implements Interceptor {
|
||||
.addHeader("device-id", FZHeaderSingle.getUniqueId(GPplicationLoadingdefault.getAppContext()))
|
||||
.addHeader("system-type", "android")
|
||||
.addHeader("app-name", GPplicationLoadingdefault.getAppContext().getString(R.string.app_name))
|
||||
.addHeader("time_zone", TimeUtils.getCurrentTimeZone())
|
||||
.addHeader("time-zone", TimeUtils.getCurrentTimeZone())
|
||||
.addHeader("app-version", AppUtils.getPackageVersionName(GPplicationLoadingdefault.getAppContext()))
|
||||
.addHeader("model", Build.MODEL)
|
||||
// .addHeader("security","false")
|
||||
|
@ -28,6 +28,7 @@ import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.text.TextUtils;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
@ -817,4 +818,13 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
if(keyCode == KeyEvent.KEYCODE_BACK){
|
||||
moveTaskToBack(true);
|
||||
return true;
|
||||
}
|
||||
return super.onKeyDown(keyCode, event);
|
||||
}
|
||||
}
|
@ -66,14 +66,34 @@ public class GSAppViewModel extends ViewModel {
|
||||
VZBack.getInstance().firebaseToken(token)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe();
|
||||
.subscribe(new RREStyles<IMACloseStroke>() {
|
||||
@Override
|
||||
public void onSuccess(IMACloseStroke o) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void sendReport(String messageId,String title){
|
||||
VZBack.getInstance().sendReport(messageId,title)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe();
|
||||
.subscribe(new RREStyles<IMACloseStroke>() {
|
||||
@Override
|
||||
public void onSuccess(IMACloseStroke o) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(int code, String msg) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -101,7 +101,7 @@ public class GSMyVipActivity extends IDDetailsRoundActivity<ActivityVipZytBindin
|
||||
userViewModel.getGooglePay(gsGooglePayInfo);
|
||||
}, (purchase, str) -> {
|
||||
PAYLoginHeaddefault.revealToast(str, 0);
|
||||
if(purchase!=null){
|
||||
if (purchase != null) {
|
||||
gsGooglePayInfo = new GSGooglePayInfo();
|
||||
gsGooglePayInfo.setOrder_code(current_order_code);
|
||||
gsGooglePayInfo.setPay_setting_id(String.valueOf(current_pay_setting_id));
|
||||
@ -141,6 +141,7 @@ public class GSMyVipActivity extends IDDetailsRoundActivity<ActivityVipZytBindin
|
||||
subVipAdapter = new ZYTStoreSubVipAdapter();
|
||||
binding.recyclerviewMyVip.setAdapter(subVipAdapter);
|
||||
subVipAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
subVipAdapter.setCurrentPosition(i);
|
||||
ZYTPaySettingBean.Vip vip = subVipAdapter.getItem(i);
|
||||
android_template_id = vip.getAndroid_template_id();
|
||||
current_price = vip.getPrice();
|
||||
|
@ -32,6 +32,7 @@ import com.shortdrama.jelly.zyreotv.beginning.ZYTGooglePayUtils;
|
||||
import com.shortdrama.jelly.zyreotv.databinding.ActivityStoreBinding;
|
||||
import com.shortdrama.jelly.zyreotv.dlsym.IMACloseStroke;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.IDDetailsRoundActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreCoinsRechargeLargeAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreGoldRechargeAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreSubVipAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSGooglePayInfo;
|
||||
@ -65,6 +66,7 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
ZYTGooglePayUtils zytGooglePayUtils;
|
||||
|
||||
ZYTStoreGoldRechargeAdapter coinAdapter;
|
||||
ZYTStoreCoinsRechargeLargeAdapter coinLargerAdapter;
|
||||
ZYTStoreSubVipAdapter subVipAdapter;
|
||||
|
||||
boolean isConnect = false;
|
||||
@ -106,8 +108,9 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
if (translates != null) {
|
||||
binding.layoutStoreActionbar.tvToptitle.setText(translates.getGleestream_store());
|
||||
binding.layoutStoreActionbar.tvToptitleRight.setText(translates.getGleestream_restore());
|
||||
binding.layoutStoreRoot.tvStoreCoinsepisode.setText(translates.getGleestream_coins());
|
||||
binding.layoutStoreRoot.tvStoreMembership.setText(translates.getGleestream_membership());
|
||||
binding.layoutStoreRoot.tvStoreVip.setText(translates.getVip() + " | " + translates.getGleestream_vip_subintroduce());
|
||||
binding.layoutStoreRoot.tvStoreCoinsepisode.setText(translates.getGleestream_coins_recharge());
|
||||
// binding.layoutStoreRoot.tvStoreMembership.setText(translates.getGleestream_membership());
|
||||
binding.layoutStoreRoot.layoutVipIntroduct.tvMembershipIntroduce01.setText(translates.getGleestream_vip_introduct1());
|
||||
binding.layoutStoreRoot.layoutVipIntroduct.tvMembershipIntroduce02.setText(translates.getGleestream_vip_introduct2());
|
||||
binding.layoutStoreRoot.layoutVipIntroduct.tvMembershipIntroduce03.setText(translates.getGleestream_vip_introduct3());
|
||||
@ -179,7 +182,7 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
gsGooglePayInfo.setTransaction_id(purchase.getOrderId());
|
||||
gsGooglePayInfo.setShow_money(current_price);
|
||||
vtUserViewModel.getGooglePay(gsGooglePayInfo);
|
||||
// TIndicator.savePayOrder(gsGooglePayInfo);
|
||||
// TIndicator.savePayOrder(gsGooglePayInfo);
|
||||
}, (purchase, str) -> {
|
||||
binding.loading.hide();
|
||||
PAYLoginHeaddefault.revealToast(str, 0);
|
||||
@ -202,8 +205,8 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
coinAdapter.submitList(list);
|
||||
|
||||
coinLargerAdapter.submitList(listCoins(list, "big"));
|
||||
coinAdapter.submitList(listCoins(list, "small"));
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -225,15 +228,32 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
});
|
||||
vtUserViewModel.getPaySetting(0, 0);
|
||||
zytGooglePayUtils.startConnection(connect -> isConnect = connect);
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
|
||||
binding.layoutStoreRoot.recyclerviewStore.setLayoutManager(layoutManager);
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(this, 3);
|
||||
GridLayoutManager layoutManagerBig = new GridLayoutManager(this, 2);
|
||||
binding.layoutStoreRoot.recyclerviewStoreSmall.setLayoutManager(layoutManager);
|
||||
binding.layoutStoreRoot.recyclerviewStoreLarge.setLayoutManager(layoutManagerBig);
|
||||
binding.layoutStoreRoot.recyclerviewStoreVip.setLayoutManager(new LinearLayoutManager(this));
|
||||
|
||||
binding.layoutStoreActionbar.ivTopback.setOnClickListener(v -> finish());
|
||||
|
||||
coinLargerAdapter = new ZYTStoreCoinsRechargeLargeAdapter();
|
||||
binding.layoutStoreRoot.recyclerviewStoreLarge.setAdapter(coinLargerAdapter);
|
||||
|
||||
coinAdapter = new ZYTStoreGoldRechargeAdapter();
|
||||
binding.layoutStoreRoot.recyclerviewStore.setAdapter(coinAdapter);
|
||||
binding.layoutStoreRoot.recyclerviewStoreSmall.setAdapter(coinAdapter);
|
||||
|
||||
subVipAdapter = new ZYTStoreSubVipAdapter();
|
||||
binding.layoutStoreRoot.recyclerviewStoreVip.setAdapter(subVipAdapter);
|
||||
|
||||
coinLargerAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
binding.loading.show();
|
||||
coinLargerAdapter.setCurrentPosition(i);
|
||||
ZYTPaySettingBean.Coins coins = coinLargerAdapter.getItem(i);
|
||||
android_template_id = coins.getAndroid_template_id();
|
||||
current_price = coins.getPrice();
|
||||
current_pay_setting_id = coins.getId();
|
||||
vtUserViewModel.createOrder(coins.getId(), 0, 0, 0, BillingClient.ProductType.INAPP);
|
||||
});
|
||||
coinAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
binding.loading.show();
|
||||
ZYTPaySettingBean.Coins coins = coinAdapter.getItem(i);
|
||||
@ -245,6 +265,7 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
|
||||
subVipAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
binding.loading.show();
|
||||
subVipAdapter.setCurrentPosition(i);
|
||||
ZYTPaySettingBean.Vip vip = subVipAdapter.getItem(i);
|
||||
android_template_id = vip.getAndroid_template_id();
|
||||
current_price = vip.getPrice();
|
||||
@ -430,7 +451,8 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
// queryAvailableCoinsProducts(vtPaySettingBean.data.getList_coins());
|
||||
// queryAvailableVipProducts(vtPaySettingBean.data.getList_sub_vip());
|
||||
} else {
|
||||
coinAdapter.submitList(vtPaySettingBean.data.getList_coins());
|
||||
coinLargerAdapter.submitList(listCoins(vtPaySettingBean.data.getList_coins(), "big"));
|
||||
coinAdapter.submitList(listCoins(vtPaySettingBean.data.getList_coins(), "small"));
|
||||
subVipAdapter.submitList(vtPaySettingBean.data.getList_sub_vip());
|
||||
binding.loading.hide();
|
||||
}
|
||||
@ -518,6 +540,18 @@ public class ZYTStoreActivity extends IDDetailsRoundActivity<ActivityStoreBindin
|
||||
});
|
||||
}
|
||||
|
||||
public List<ZYTPaySettingBean.Coins> listCoins(List<ZYTPaySettingBean.Coins> it, String type) {
|
||||
List<ZYTPaySettingBean.Coins> typelist = new ArrayList<>();
|
||||
for (ZYTPaySettingBean.Coins coins : it) {
|
||||
if (coins.getSize().equals(type)) {
|
||||
typelist.add(coins);
|
||||
}
|
||||
|
||||
}
|
||||
return typelist;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
|
@ -5,14 +5,18 @@ import static android.text.Html.FROM_HTML_MODE_LEGACY;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.text.Html;
|
||||
import android.view.Gravity;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
@ -20,6 +24,7 @@ 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.ZYTStoreCoinsRechargeLargeAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreSubVipAdapter;
|
||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
|
||||
import com.shortdrama.jelly.zyreotv.R;
|
||||
@ -32,9 +37,10 @@ import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.LSQExampleCloseBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment {
|
||||
public class ZYTEpisodesRechargeDialogFragment extends DialogFragment {
|
||||
|
||||
private DialogPageEpisodesRechargeZytBinding dialogRechargeBinding;
|
||||
private GXCProgressLogin vtUserViewModel;
|
||||
@ -46,6 +52,7 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
private Context context; // You will need a Context (e.g., Activity or Fragment context)
|
||||
|
||||
private ZYTStoreGoldRechargeAdapter coinAdapter;
|
||||
private ZYTStoreCoinsRechargeLargeAdapter coinLargeAdapter;
|
||||
private ZYTStoreSubVipAdapter subVipAdapter;
|
||||
|
||||
boolean isConnect = false;
|
||||
@ -60,9 +67,10 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
|
||||
public ZYTGooglePayUtils zytGooglePayUtils;
|
||||
|
||||
public ZYTEpisodesRechargeDialogFragment(){
|
||||
public ZYTEpisodesRechargeDialogFragment() {
|
||||
|
||||
}
|
||||
|
||||
public ZYTEpisodesRechargeDialogFragment(Context context, ZYTGooglePayUtils zytGooglePayUtil, boolean isConnect) {
|
||||
this.context = context;
|
||||
this.zytGooglePayUtils = zytGooglePayUtil;
|
||||
@ -83,6 +91,16 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
this.dataPasser = dataPasser;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
Dialog dialog = getDialog();
|
||||
if (dialog != null && dialog.getWindow() != null) {
|
||||
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); // 如需透明背景
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
|
||||
@ -91,7 +109,11 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
translates = AppUtils.getTranslates();
|
||||
if (translates != null) {
|
||||
// dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(translates.getGleestream_coins());
|
||||
dialogRechargeBinding.layoutStoreRecharge.tvStoreMembership.setText(translates.getGleestream_membership());
|
||||
// dialogRechargeBinding.layoutStoreRecharge.tvStoreMembership.setText(translates.getGleestream_membership());
|
||||
dialogRechargeBinding.tvStoreYourcoins.setText(translates.getGleestream_youcoins() + ":");
|
||||
dialogRechargeBinding.tvStoreUnlock.setText(translates.getGleestream_unlock() + ":");
|
||||
dialogRechargeBinding.layoutStoreRecharge.tvStoreVip.setText(translates.getVip() + " | " + translates.getGleestream_vip_subintroduce());
|
||||
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText(translates.getGleestream_coins_recharge());
|
||||
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());
|
||||
@ -111,7 +133,8 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
requireActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
coinAdapter.submitList(list);
|
||||
coinAdapter.submitList(listCoins(list, "small"));
|
||||
coinLargeAdapter.submitList(listCoins(list, "big"));
|
||||
}
|
||||
});
|
||||
|
||||
@ -137,21 +160,41 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
if (parcelable instanceof LSQExampleCloseBean.YPZTestUnselect) {
|
||||
episode = (LSQExampleCloseBean.YPZTestUnselect) parcelable;
|
||||
shorplayId = episode.getShort_play_id();
|
||||
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsepisode.setText((translates != null ? translates.getGleestream_coins() : getString(R.string.coins_txt)) + " " + episode.getCoins());
|
||||
dialogRechargeBinding.tvStoreYourcoinsValue.setText(" "+(TIndicator.getAllCoin()));
|
||||
dialogRechargeBinding.tvStoreUnlockValue.setText(" " + 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((translates != null ? translates.getGleestream_youcoins() : getString(R.string.store_coins_your)) + Html.fromHtml(getString(R.string.store_coins, TIndicator.getAllCoin()),
|
||||
// FROM_HTML_MODE_LEGACY));
|
||||
dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText((translates != null ? translates.getGleestream_youcoins() : getString(R.string.store_coins_your)) + ": " + (TIndicator.getAllCoin()));
|
||||
// dialogRechargeBinding.layoutStoreRecharge.tvStoreCoinsvalue.setText((translates != null ? translates.getGleestream_youcoins() : getString(R.string.store_coins_your)) + ": " + (TIndicator.getAllCoin()));
|
||||
}
|
||||
}
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 2);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStore.setLayoutManager(layoutManager);
|
||||
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 3);
|
||||
GridLayoutManager layoutManagerlarge = new GridLayoutManager(getContext(), 2);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreSmall.setLayoutManager(layoutManager);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreLarge.setLayoutManager(layoutManagerlarge);
|
||||
coinAdapter = new ZYTStoreGoldRechargeAdapter();
|
||||
coinLargeAdapter = new ZYTStoreCoinsRechargeLargeAdapter();
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreVip.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
subVipAdapter = new ZYTStoreSubVipAdapter();
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStore.setAdapter(coinAdapter);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreSmall.setAdapter(coinAdapter);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreLarge.setAdapter(coinLargeAdapter);
|
||||
dialogRechargeBinding.layoutStoreRecharge.recyclerviewStoreVip.setAdapter(subVipAdapter);
|
||||
|
||||
coinLargeAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
if (dataPasser != null) {
|
||||
coinLargeAdapter.setCurrentPosition(i);
|
||||
ZYTPaySettingBean.GooglePayItem item = new ZYTPaySettingBean.GooglePayItem();
|
||||
ZYTPaySettingBean.Coins coins = coinLargeAdapter.getItem(i);
|
||||
if (coins != null) {
|
||||
item.setAndroid_template_id(coins.getAndroid_template_id());
|
||||
item.setCurrent_price(coins.getPrice());
|
||||
item.setCurrent_pay_setting_id(coins.getId());
|
||||
item.setPayType(BillingClient.ProductType.INAPP);
|
||||
dataPasser.onDataPass(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
coinAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
if (dataPasser != null) {
|
||||
coinAdapter.setCurrentPosition(i);
|
||||
@ -171,6 +214,7 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
if (dataPasser != null) {
|
||||
ZYTPaySettingBean.GooglePayItem item = new ZYTPaySettingBean.GooglePayItem();
|
||||
ZYTPaySettingBean.Vip vip = subVipAdapter.getItem(i);
|
||||
subVipAdapter.setCurrentPosition(i);
|
||||
if (vip != null) {
|
||||
item.setAndroid_template_id(vip.getAndroid_template_id());
|
||||
item.setCurrent_price(vip.getPrice());
|
||||
@ -224,20 +268,29 @@ public class ZYTEpisodesRechargeDialogFragment extends BottomSheetDialogFragment
|
||||
|
||||
builder.setView(dialogRechargeBinding.getRoot());
|
||||
Dialog dialog = builder.create();
|
||||
dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
|
||||
// dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
|
||||
android.view.Window window = dialog.getWindow();
|
||||
if (window != null) {
|
||||
window.getDecorView().setPadding(0, 0, 0, 0);
|
||||
window.setGravity(Gravity.BOTTOM);
|
||||
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
||||
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
layoutParams.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
window.setAttributes(layoutParams);
|
||||
}
|
||||
return dialog;
|
||||
|
||||
}
|
||||
|
||||
public List<ZYTPaySettingBean.Coins> listCoins(List<ZYTPaySettingBean.Coins> it, String type) {
|
||||
List<ZYTPaySettingBean.Coins> typelist = new ArrayList<>();
|
||||
for (ZYTPaySettingBean.Coins coins : it) {
|
||||
if (coins.getSize().equals(type)) {
|
||||
typelist.add(coins);
|
||||
}
|
||||
|
||||
}
|
||||
return typelist;
|
||||
|
||||
}
|
||||
|
||||
public void hideLoading() {
|
||||
dialogRechargeBinding.avi.hide();
|
||||
|
@ -25,6 +25,9 @@ import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.PlaybackException;
|
||||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.datasource.DefaultDataSourceFactory;
|
||||
import androidx.media3.exoplayer.DefaultRenderersFactory;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
import androidx.media3.exoplayer.hls.HlsMediaSource;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
@ -51,6 +54,7 @@ import com.shortdrama.jelly.zyreotv.topics.abslRwgt.decbn.GSMyVipActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.IDDetailsRoundActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.ZEpisodeEpisode;
|
||||
import com.shortdrama.jelly.zyreotv.topics.amera.BVXHeadView;
|
||||
import com.shortdrama.jelly.zyreotv.topics.amera.FfmpegRenderersFactory;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.WVideoplay;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTRecommondVideoAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.DBeanUnselectBean;
|
||||
@ -184,7 +188,9 @@ public class ZYTVideoPlayerDetailsActivity extends IDDetailsRoundActivity<MchDim
|
||||
}
|
||||
});
|
||||
|
||||
player = new ExoPlayer.Builder(this).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(this))).build();
|
||||
|
||||
player = new ExoPlayer.Builder(this,new FfmpegRenderersFactory(this)).setRenderersFactory(new DefaultRenderersFactory(this).setEnableDecoderFallback(true)).build();
|
||||
// player = new ExoPlayer.Builder(this).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(this))).build();
|
||||
viewBinding.viewVideoRecommend.recommendPlayerView.setPlayer(player);
|
||||
iv_cover_recommend_detail =
|
||||
viewBinding.viewVideoRecommend.recommendPlayerView.findViewById(R.id.iv_cover_recommend_detail);
|
||||
@ -639,12 +645,12 @@ public class ZYTVideoPlayerDetailsActivity extends IDDetailsRoundActivity<MchDim
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
private MediaSource buildMediaSource(String videoPath) {
|
||||
// DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, "gleestream");
|
||||
DataSource.Factory dataSourceFactory = new DefaultDataSourceFactory(this, "gleestream");
|
||||
if (videoPath.endsWith(".m3u8")) {
|
||||
return new HlsMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(this))
|
||||
return new HlsMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
} else {
|
||||
return new ProgressiveMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(this))
|
||||
return new ProgressiveMediaSource.Factory(dataSourceFactory)
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.shortdrama.jelly.zyreotv.topics.amera;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.os.Handler;
|
||||
@ -20,8 +21,12 @@ import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.PlaybackException;
|
||||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.exoplayer.DefaultRenderersFactory;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
import androidx.media3.exoplayer.hls.HlsMediaSource;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.source.ProgressiveMediaSource;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.shortdrama.jelly.zyreotv.GPplicationLoadingdefault;
|
||||
@ -40,6 +45,7 @@ import org.greenrobot.eventbus.EventBus;
|
||||
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
//详情播放器
|
||||
public class BVXHeadView extends FrameLayout {
|
||||
private ExoPlayer player;
|
||||
// private Job progressJob; //任务调度器
|
||||
@ -76,7 +82,8 @@ public class BVXHeadView extends FrameLayout {
|
||||
@OptIn(markerClass = UnstableApi.class)
|
||||
public BVXHeadView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
player = new ExoPlayer.Builder(context).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
// player = new ExoPlayer.Builder(context).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
player = new ExoPlayer.Builder(context, new FfmpegRenderersFactory(context)).setRenderersFactory(new DefaultRenderersFactory(context).setEnableDecoderFallback(true)).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
View inflate = inflater.inflate(R.layout.kbv_follow_unit, this, true);
|
||||
bind = KbvFollowUnitBinding.bind(inflate);
|
||||
@ -319,7 +326,10 @@ public class BVXHeadView extends FrameLayout {
|
||||
|
||||
public LSQExampleCloseBean.YPZTestUnselect mediaItem;
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
public void setMedia(LSQExampleCloseBean.YPZTestUnselect bean, LSQExampleCloseBean.YSearchUser shortVideoInfo) {
|
||||
Glide.with(getContext()).load(shortVideoInfo.getImage_url()).into(ivCoverPlayerDetail);
|
||||
Glide.with(getContext()).load(shortVideoInfo.getImage_url()).into(bind.playerViewTop.ivCoverPlayerDetail);
|
||||
ITItem.isCanPlay = true;
|
||||
ITItem.isLock = bean.isIs_lock();
|
||||
mediaItem = bean;
|
||||
@ -346,8 +356,8 @@ public class BVXHeadView extends FrameLayout {
|
||||
// tv_episode_playertotal.setText(String.valueOf(shortVideoInfo.getEpisode_total()));
|
||||
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()));
|
||||
@ -362,7 +372,8 @@ public class BVXHeadView extends FrameLayout {
|
||||
});
|
||||
if (!bean.isIs_lock()) {
|
||||
bind.playerViewTop.getRoot().setVisibility(GONE);
|
||||
player.setMediaItem(MediaItem.fromUri(Uri.parse(bean.getVideo_url())));
|
||||
// player.setMediaItem(MediaItem.fromUri(Uri.parse(bean.getVideo_url())));
|
||||
player.setMediaSource(buildMediaSource(bean.getVideo_url()));
|
||||
player.prepare();
|
||||
if (mediaItem.getPlay_seconds() != 0) {
|
||||
player.seekTo(mediaItem.getPlay_seconds());
|
||||
@ -378,6 +389,17 @@ public class BVXHeadView extends FrameLayout {
|
||||
|
||||
}
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
private MediaSource buildMediaSource(String videoPath) {
|
||||
if (videoPath.endsWith(".m3u8")) {
|
||||
return new HlsMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(getContext()))
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
} else {
|
||||
return new ProgressiveMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(getContext()))
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
LogUtils.d("player stop");
|
||||
player.stop();
|
||||
|
@ -0,0 +1,49 @@
|
||||
package com.shortdrama.jelly.zyreotv.topics.amera;
|
||||
|
||||
import static androidx.media3.exoplayer.DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.os.Handler;
|
||||
|
||||
import androidx.media3.decoder.ffmpeg.FfmpegAudioRenderer;
|
||||
import androidx.media3.exoplayer.DefaultRenderersFactory;
|
||||
import androidx.media3.exoplayer.Renderer;
|
||||
import androidx.media3.exoplayer.audio.AudioRendererEventListener;
|
||||
import androidx.media3.exoplayer.audio.AudioSink;
|
||||
import androidx.media3.exoplayer.mediacodec.MediaCodecSelector;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
public class FfmpegRenderersFactory extends DefaultRenderersFactory {
|
||||
|
||||
public FfmpegRenderersFactory(Context context) {
|
||||
super(context);
|
||||
setExtensionRendererMode(EXTENSION_RENDERER_MODE_ON);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void buildAudioRenderers(
|
||||
Context context,
|
||||
int extensionRendererMode,
|
||||
MediaCodecSelector mediaCodecSelector,
|
||||
boolean enableDecoderFallback,
|
||||
AudioSink audioSink,
|
||||
Handler eventHandler,
|
||||
AudioRendererEventListener eventListener,
|
||||
ArrayList<Renderer> out) {
|
||||
|
||||
out.add(new FfmpegAudioRenderer());
|
||||
super.buildAudioRenderers(
|
||||
context,
|
||||
extensionRendererMode,
|
||||
mediaCodecSelector,
|
||||
enableDecoderFallback,
|
||||
audioSink,
|
||||
eventHandler,
|
||||
eventListener,
|
||||
out
|
||||
);
|
||||
}
|
||||
}
|
@ -10,6 +10,7 @@ import java.util.Random;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.net.Uri;
|
||||
import android.util.AttributeSet;
|
||||
@ -30,8 +31,14 @@ import androidx.media3.common.MediaItem;
|
||||
import androidx.media3.common.PlaybackException;
|
||||
import androidx.media3.common.Player;
|
||||
import androidx.media3.common.util.UnstableApi;
|
||||
import androidx.media3.datasource.DataSource;
|
||||
import androidx.media3.datasource.DefaultDataSourceFactory;
|
||||
import androidx.media3.exoplayer.DefaultRenderersFactory;
|
||||
import androidx.media3.exoplayer.ExoPlayer;
|
||||
import androidx.media3.exoplayer.hls.HlsMediaSource;
|
||||
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
|
||||
import androidx.media3.exoplayer.source.MediaSource;
|
||||
import androidx.media3.exoplayer.source.ProgressiveMediaSource;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.shortdrama.jelly.zyreotv.R;
|
||||
@ -52,7 +59,7 @@ import java.util.concurrent.ScheduledExecutorService;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
//推荐播放器
|
||||
public class XCcountView extends FrameLayout {
|
||||
private volatile boolean has_UtilsLayout = false;
|
||||
private volatile ArrayList<Double> rulesKeyVideohistoryArray;
|
||||
@ -86,7 +93,11 @@ public class XCcountView extends FrameLayout {
|
||||
@OptIn(markerClass = UnstableApi.class)
|
||||
public XCcountView(Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
player = new ExoPlayer.Builder(context).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
player = new ExoPlayer.Builder(context, new FfmpegRenderersFactory(context))
|
||||
.setRenderersFactory(new DefaultRenderersFactory(context).setEnableDecoderFallback(true))
|
||||
.setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
|
||||
// player = new ExoPlayer.Builder(context).setMediaSourceFactory(new DefaultMediaSourceFactory(GSExplayCacheUtils.getCacheFactory(context))).build();
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
View inflate = inflater.inflate(R.layout.kd_ecyrpt_rewards, this, true);
|
||||
KdEcyrptRewardsBinding bind = KdEcyrptRewardsBinding.bind(inflate);
|
||||
@ -892,6 +903,7 @@ public class XCcountView extends FrameLayout {
|
||||
}
|
||||
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
public void setMedia(DBeanUnselectBean bean) {
|
||||
|
||||
ITItem.isLock = false;
|
||||
@ -1027,7 +1039,8 @@ public class XCcountView extends FrameLayout {
|
||||
}
|
||||
});
|
||||
|
||||
player.setMediaItem(MediaItem.fromUri(Uri.parse(bean.getVideo_info().getVideo_url())));
|
||||
// player.setMediaItem(MediaItem.fromUri(Uri.parse(bean.getVideo_info().getVideo_url())));
|
||||
player.setMediaSource(buildMediaSource(bean.getVideo_info().getVideo_url()));
|
||||
boolean continue_ii4 = false;
|
||||
player.prepare();
|
||||
float common1 = 1086.0f;
|
||||
@ -1036,6 +1049,17 @@ public class XCcountView extends FrameLayout {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("UnsafeOptInUsageError")
|
||||
private MediaSource buildMediaSource(String videoPath) {
|
||||
if (videoPath.endsWith(".m3u8")) {
|
||||
return new HlsMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(getContext()))
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
} else {
|
||||
return new ProgressiveMediaSource.Factory(GSExplayCacheUtils.getCacheFactory(getContext()))
|
||||
.createMediaSource(MediaItem.fromUri(Uri.parse(videoPath)));
|
||||
}
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
player.stop();
|
||||
HashMap<String, Double> utils8 = new HashMap<String, Double>();
|
||||
|
@ -0,0 +1,76 @@
|
||||
package com.shortdrama.jelly.zyreotv.topics.dts;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
import com.chad.library.adapter4.BaseQuickAdapter;
|
||||
import com.chad.library.adapter4.viewholder.QuickViewHolder;
|
||||
import com.shortdrama.jelly.zyreotv.R;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
|
||||
|
||||
public class ZYTStoreCoinsRechargeLargeAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Coins, QuickViewHolder> {
|
||||
|
||||
|
||||
private int currentPosition = -1;
|
||||
|
||||
|
||||
public void setCurrentPosition(int currentPosition) {
|
||||
this.currentPosition = currentPosition;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onBindViewHolder(QuickViewHolder holder, int position, ZYTPaySettingBean.Coins item) {
|
||||
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
|
||||
ConstraintLayout root = holder.getView(R.id.layout_store_root_item);
|
||||
AppCompatTextView tvCoins = holder.getView(R.id.tv_store_coins_item);
|
||||
// AppCompatTextView tvLimited = holder.getView(R.id.tv_store_coins_limited_item);
|
||||
AppCompatTextView tvPercent = holder.getView(R.id.tv_store_coins_item_percent);
|
||||
AppCompatTextView tvCoinsSend = holder.getView(R.id.tv_store_coins_add_item);
|
||||
AppCompatTextView tvCoinPrice = holder.getView(R.id.tv_store_coins_price_item);
|
||||
AppCompatImageView tvCornerMarker = holder.getView(R.id.iv_store_coins_hot);
|
||||
// tvLimited.setVisibility(GONE);
|
||||
// if (position == 0) {
|
||||
// tvLimited.setVisibility(VISIBLE);
|
||||
// }
|
||||
if (item.getCorner_marker().isEmpty()) {
|
||||
tvCornerMarker.setVisibility(GONE);
|
||||
} else {
|
||||
tvCornerMarker.setVisibility(VISIBLE);
|
||||
}
|
||||
if (item.getSend_coins() <= 0) {
|
||||
tvPercent.setVisibility(View.INVISIBLE);
|
||||
} else {
|
||||
tvPercent.setVisibility(VISIBLE);
|
||||
tvPercent.setText(TimeUtils.precess(item.getSend_coins(), item.getCoins()) + "%");
|
||||
}
|
||||
|
||||
root.setBackgroundResource(R.drawable.bg_store_coins_large_unselected_boder);
|
||||
if (position == currentPosition) {
|
||||
root.setBackgroundResource(R.drawable.bg_store_coins_large_selected_boder);
|
||||
}
|
||||
tvCoins.setText(String.valueOf(item.getCoins()));
|
||||
tvCoinsSend.setText(item.getSend_coins() == 0 ? "" : "+" + item.getSend_coins());
|
||||
tvCoinPrice.setText(item.getCurrency() + item.getPrice());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public QuickViewHolder onCreateViewHolder(Context context, ViewGroup parent, int viewType) {
|
||||
return new QuickViewHolder(R.layout.item_store_coinslist_larget_zyt, parent);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -10,7 +10,9 @@ import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import com.chad.library.adapter4.BaseQuickAdapter;
|
||||
import com.chad.library.adapter4.viewholder.QuickViewHolder;
|
||||
import com.shortdrama.jelly.zyreotv.R;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
|
||||
|
||||
@ -27,6 +29,7 @@ public class ZYTStoreGoldRechargeAdapter extends BaseQuickAdapter<ZYTPaySettingB
|
||||
|
||||
@Override
|
||||
protected void onBindViewHolder(QuickViewHolder holder, int position, ZYTPaySettingBean.Coins item) {
|
||||
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
|
||||
ConstraintLayout root = holder.getView(R.id.layout_store_root_item);
|
||||
AppCompatTextView tvCoins = holder.getView(R.id.tv_store_coins_item);
|
||||
AppCompatTextView tvLimited = holder.getView(R.id.tv_store_coins_limited_item);
|
||||
@ -38,17 +41,18 @@ public class ZYTStoreGoldRechargeAdapter extends BaseQuickAdapter<ZYTPaySettingB
|
||||
// tvLimited.setVisibility(VISIBLE);
|
||||
// }
|
||||
if (item.getSend_coins() <= 0) {
|
||||
tvPercent.setVisibility(View.GONE);
|
||||
tvPercent.setVisibility(View.INVISIBLE);
|
||||
} else {
|
||||
tvPercent.setVisibility(View.VISIBLE);
|
||||
tvPercent.setText(TimeUtils.precess(item.getSend_coins(), item.getCoins()) + "%");
|
||||
}
|
||||
|
||||
root.setBackgroundResource(R.drawable.cornor_ffffff_gradient_10dp);
|
||||
if (position == currentPosition) {
|
||||
root.setBackgroundResource(R.drawable.cornor_f564b6_gradient_10dp);
|
||||
}
|
||||
// root.setBackgroundResource(R.drawable.cornor_ffffff_gradient_10dp);
|
||||
// if (position == currentPosition) {
|
||||
// root.setBackgroundResource(R.drawable.cornor_f564b6_gradient_10dp);
|
||||
// }
|
||||
tvCoins.setText(String.valueOf(item.getCoins()));
|
||||
// tvCoinsSend.setText(item.getSend_coins() == 0 ? "" : "+" + item.getSend_coins() + ((translates != null) ? " "+translates.getGleestream_donate() : " Donate"));
|
||||
tvCoinsSend.setText(item.getSend_coins() == 0 ? "" : "+" + item.getSend_coins());
|
||||
tvCoinPrice.setText(item.getCurrency() + item.getPrice());
|
||||
|
||||
|
@ -1,9 +1,21 @@
|
||||
package com.shortdrama.jelly.zyreotv.topics.dts;
|
||||
|
||||
import static android.view.View.GONE;
|
||||
import static android.view.View.VISIBLE;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.LinearGradient;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.PorterDuffXfermode;
|
||||
import android.graphics.RadialGradient;
|
||||
import android.graphics.Shader;
|
||||
import android.graphics.Typeface;
|
||||
import android.text.TextPaint;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import androidx.appcompat.widget.AppCompatImageView;
|
||||
import androidx.appcompat.widget.AppCompatTextView;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
|
||||
@ -18,11 +30,12 @@ import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vip, QuickViewHolder> {
|
||||
|
||||
|
||||
private int currentPosition = 0;
|
||||
private int currentPosition = -1;
|
||||
|
||||
|
||||
public void setCurrentPosition(int currentPosition) {
|
||||
this.currentPosition = currentPosition;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -37,39 +50,197 @@ public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vi
|
||||
AppCompatTextView tvDesc = holder.getView(R.id.tv_membership_desc);
|
||||
AppCompatTextView tvDonateCoins = holder.getView(R.id.tv_membership_donatecoins);
|
||||
AppCompatTextView tvIntroduce = holder.getView(R.id.tv_membership_introduce);
|
||||
if (position == 0) {
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_one);
|
||||
tvTitle.setTextColor(Color.parseColor("#68003B"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#68003B"));
|
||||
tvPrice.setTextColor(Color.parseColor("#68003B"));
|
||||
tvVipType.setTextColor(Color.parseColor("#68003B"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_one_14dp);
|
||||
}
|
||||
if (position == 1) {
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_two);
|
||||
tvTitle.setTextColor(Color.parseColor("#71412B"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#71412B"));
|
||||
tvPrice.setTextColor(Color.parseColor("#71412B"));
|
||||
tvVipType.setTextColor(Color.parseColor("#71412B"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_two_14dp);
|
||||
}
|
||||
if (position == 2) {
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_three);
|
||||
tvTitle.setTextColor(Color.parseColor("#221C80"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#221C80"));
|
||||
tvPrice.setTextColor(Color.parseColor("#221C80"));
|
||||
tvVipType.setTextColor(Color.parseColor("#221C80"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_three_14dp);
|
||||
}
|
||||
if (position == 3) {
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_four);
|
||||
tvTitle.setTextColor(Color.parseColor("#00438D"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#00438D"));
|
||||
tvPrice.setTextColor(Color.parseColor("#00438D"));
|
||||
tvVipType.setTextColor(Color.parseColor("#00438D"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_four_14dp);
|
||||
}
|
||||
AppCompatImageView ivselected = holder.getView(R.id.iv_selected);
|
||||
String viptype = item.getVip_type_key();
|
||||
if (viptype.equals("year")) {
|
||||
tvTitle.setTextColor(Color.parseColor("#FFE2AD1C"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#FFE2AD1C"));
|
||||
tvPrice.setTextColor(Color.parseColor("#FFE2AD1C"));
|
||||
tvVipType.setTextColor(Color.parseColor("#FFE2AD1C"));
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_year);
|
||||
tvTitle.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvTitle, "#E2AD1C", "#C95D28");
|
||||
}
|
||||
});
|
||||
tvCurrency.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvCurrency, "#E2AD1C", "#C95D28");
|
||||
}
|
||||
});
|
||||
tvPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvPrice, "#E2AD1C", "#C95D28");
|
||||
}
|
||||
});
|
||||
tvVipType.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvVipType, "#E2AD1C", "#C95D28");
|
||||
}
|
||||
});
|
||||
|
||||
tvIntroduce.setTextColor(Color.parseColor("#D2815E"));
|
||||
tvDesc.setTextColor(Color.parseColor("#FF914C21"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_year_16dp);
|
||||
}
|
||||
if (viptype.equals("quarter")) {
|
||||
tvTitle.setTextColor(Color.parseColor("#FF675FD8"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#FF675FD8"));
|
||||
tvPrice.setTextColor(Color.parseColor("#FF675FD8"));
|
||||
tvVipType.setTextColor(Color.parseColor("#FF675FD8"));
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_quarter);
|
||||
tvTitle.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvTitle, "#675FD8", "#3A32B2");
|
||||
}
|
||||
});
|
||||
tvCurrency.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvCurrency, "#675FD8", "#3A32B2");
|
||||
}
|
||||
});
|
||||
tvPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvPrice, "#675FD8", "#3A32B2");
|
||||
}
|
||||
});
|
||||
tvVipType.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvVipType, "#675FD8", "#3A32B2");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
tvIntroduce.setTextColor(Color.parseColor("#8E8AC8"));
|
||||
tvDesc.setTextColor(Color.parseColor("#FF6650A1"));
|
||||
// tvTitle.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvCurrency.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvPrice.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvVipType.setTextColor(Color.parseColor("#221C80"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_quarter_16dp);
|
||||
}
|
||||
if (viptype.equals("week")) {
|
||||
tvTitle.setTextColor(Color.parseColor("#FF88A2D2"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#FF88A2D2"));
|
||||
tvPrice.setTextColor(Color.parseColor("#FF88A2D2"));
|
||||
tvVipType.setTextColor(Color.parseColor("#FF88A2D2"));
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_week);
|
||||
tvTitle.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvTitle, "#88A2D2", "#878BC5");
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
tvCurrency.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvCurrency, "#88A2D2", "#878BC5");
|
||||
}
|
||||
});
|
||||
|
||||
tvPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvPrice, "#88A2D2", "#878BC5");
|
||||
}
|
||||
});
|
||||
tvVipType.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvVipType, "#88A2D2", "#878BC5");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
tvIntroduce.setTextColor(Color.parseColor("#8FA5B5"));
|
||||
tvDesc.setTextColor(Color.parseColor("#FF616C99"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_week_16dp);
|
||||
}
|
||||
if (viptype.equals("month")) {
|
||||
tvTitle.setTextColor(Color.parseColor("#FF82CBF8"));
|
||||
tvCurrency.setTextColor(Color.parseColor("#FF82CBF8"));
|
||||
tvPrice.setTextColor(Color.parseColor("#FF82CBF8"));
|
||||
tvVipType.setTextColor(Color.parseColor("#FF82CBF8"));
|
||||
constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_month);
|
||||
tvTitle.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvTitle, "#82CBF8", "#6D9CE8");
|
||||
|
||||
}
|
||||
});
|
||||
tvCurrency.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvCurrency, "#82CBF8", "#6D9CE8");
|
||||
}
|
||||
});
|
||||
tvPrice.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvPrice, "#82CBF8", "#6D9CE8");
|
||||
}
|
||||
});
|
||||
tvVipType.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
applyGradient(tvVipType, "#82CBF8", "#6D9CE8");
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
tvIntroduce.setTextColor(Color.parseColor("#90AACF"));
|
||||
tvDesc.setTextColor(Color.parseColor("#FF4276B8"));
|
||||
tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_month_16dp);
|
||||
}
|
||||
// if (position == 0) {
|
||||
// constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_month);
|
||||
// tvTitle.setTextColor(Color.parseColor("#68003B"));
|
||||
// tvCurrency.setTextColor(Color.parseColor("#68003B"));
|
||||
// tvPrice.setTextColor(Color.parseColor("#68003B"));
|
||||
// tvVipType.setTextColor(Color.parseColor("#68003B"));
|
||||
// tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_one_14dp);
|
||||
// }
|
||||
// if (position == 1) {
|
||||
// constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_week);
|
||||
// tvTitle.setTextColor(Color.parseColor("#71412B"));
|
||||
// tvCurrency.setTextColor(Color.parseColor("#71412B"));
|
||||
// tvPrice.setTextColor(Color.parseColor("#71412B"));
|
||||
// tvVipType.setTextColor(Color.parseColor("#71412B"));
|
||||
// tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_two_14dp);
|
||||
// }
|
||||
// if (position == 2) {
|
||||
// constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_quarter);
|
||||
// tvTitle.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvCurrency.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvPrice.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvVipType.setTextColor(Color.parseColor("#221C80"));
|
||||
// tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_three_14dp);
|
||||
// }
|
||||
// if (position == 3) {
|
||||
// constraintLayout.setBackgroundResource(R.mipmap.ic_vippurchase_bg_year);
|
||||
// tvTitle.setTextColor(Color.parseColor("#00438D"));
|
||||
// tvCurrency.setTextColor(Color.parseColor("#00438D"));
|
||||
// tvPrice.setTextColor(Color.parseColor("#00438D"));
|
||||
// tvVipType.setTextColor(Color.parseColor("#00438D"));
|
||||
// tvDesc.setBackgroundResource(R.drawable.cornor_vippurchase_four_14dp);
|
||||
// }
|
||||
|
||||
if (currentPosition == position) {
|
||||
ivselected.setVisibility(VISIBLE);
|
||||
} else {
|
||||
ivselected.setVisibility(GONE);
|
||||
}
|
||||
tvTitle.setText(item.getBrief() + "");
|
||||
tvCurrency.setText(item.getCurrency() + "");
|
||||
tvPrice.setText(item.getPrice() + "");
|
||||
@ -77,10 +248,15 @@ public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vi
|
||||
tvDesc.setText(item.getDescription() + "");
|
||||
tvDonateCoins.setText("+Extra " + item.getSend_coins());
|
||||
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
|
||||
String introduce = getContext().getString(R.string.vip_donate_coins);
|
||||
if (translates != null) {
|
||||
tvIntroduce.setText(translates.getGleestream_vip_subintroduce());
|
||||
introduce = translates.getGleestream_vip_donate_coins();
|
||||
tvDonateCoins.setText("+" + translates.getGleestream_extra() + item.getSend_coins());
|
||||
}
|
||||
if (item.getSend_coins() > 0 && !introduce.isEmpty()) {
|
||||
tvIntroduce.setText(AppUtils.replace(introduce, item.getSend_coin_ttl() + ""));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -90,4 +266,33 @@ public class ZYTStoreSubVipAdapter extends BaseQuickAdapter<ZYTPaySettingBean.Vi
|
||||
}
|
||||
|
||||
|
||||
private void applyGradient(AppCompatTextView textView, String startColor, String endColor) {
|
||||
int width = textView.getWidth();
|
||||
int height = textView.getHeight();
|
||||
if (width == 0) width = textView.getMeasuredWidth(); // 防止为 0
|
||||
TextPaint textPaint = textView.getPaint();
|
||||
// 设置线性渐变
|
||||
Shader shader = new LinearGradient(
|
||||
0, 0, width, textView.getHeight(), // 斜向渐变 (水平渐变 高度为0)
|
||||
new int[]{Color.parseColor(startColor), Color.parseColor(endColor)},
|
||||
null,
|
||||
Shader.TileMode.CLAMP
|
||||
);
|
||||
textPaint.setShader(shader);
|
||||
textPaint.setStyle(Paint.Style.FILL);
|
||||
textView.invalidate(); // 刷新视图
|
||||
// Shader shader = new RadialGradient(
|
||||
// width/2f,
|
||||
// height/2f,
|
||||
// Math.max(width, height) / 2f,
|
||||
// new int[]{Color.parseColor(startColor), Color.parseColor(endColor)},
|
||||
// new float[]{0f, 1f},
|
||||
// Shader.TileMode.CLAMP);
|
||||
// textPaint.setShader(shader);
|
||||
// textPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OUT));
|
||||
// // textPaint.setStyle(Paint.Style.FILL);
|
||||
// textView.invalidate(); // 刷新视图
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -152,6 +152,44 @@ public class GSTranslatesBean {
|
||||
|
||||
private String gleestream_account_alreadyloged;
|
||||
|
||||
private String gleestream_vip_donate_coins;
|
||||
private String gleestream_coins_recharge;
|
||||
private String gleestream_unlock;
|
||||
|
||||
public String getGleestream_unlock() {
|
||||
return gleestream_unlock;
|
||||
}
|
||||
|
||||
public void setGleestream_unlock(String gleestream_unlock) {
|
||||
this.gleestream_unlock = gleestream_unlock;
|
||||
}
|
||||
|
||||
public String getGleestream_coins_recharge() {
|
||||
return gleestream_coins_recharge;
|
||||
}
|
||||
|
||||
public void setGleestream_coins_recharge(String gleestream_coins_recharge) {
|
||||
this.gleestream_coins_recharge = gleestream_coins_recharge;
|
||||
}
|
||||
|
||||
private String vip;
|
||||
|
||||
public String getVip() {
|
||||
return vip;
|
||||
}
|
||||
|
||||
public void setVip(String vip) {
|
||||
this.vip = vip;
|
||||
}
|
||||
|
||||
public String getGleestream_vip_donate_coins() {
|
||||
return gleestream_vip_donate_coins;
|
||||
}
|
||||
|
||||
public void setGleestream_vip_donate_coins(String gleestream_vip_donate_coins) {
|
||||
this.gleestream_vip_donate_coins = gleestream_vip_donate_coins;
|
||||
}
|
||||
|
||||
public String getGleestream_account_alreadyloged() {
|
||||
return gleestream_account_alreadyloged;
|
||||
}
|
||||
|
15
app/src/main/res/drawable/bg_store_coins_boder.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
||||
<item>
|
||||
<shape>
|
||||
<stroke
|
||||
android:width="@dimen/affffffSettings"
|
||||
android:color="#40FFFFFF" />
|
||||
<solid android:color="#443D4C" />
|
||||
<corners android:radius="@dimen/googleShare" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
||||
<item>
|
||||
<shape>
|
||||
<stroke
|
||||
android:width="@dimen/affffffSettings"
|
||||
android:color="#FFC99A" />
|
||||
<solid android:color="#84604E" />
|
||||
<corners android:radius="@dimen/googleShare" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
||||
<item>
|
||||
<shape>
|
||||
<stroke
|
||||
android:width="@dimen/affffffSettings"
|
||||
android:color="#40FFFFFF" />
|
||||
<solid android:color="#84604E" />
|
||||
<corners android:radius="@dimen/googleShare" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
19
app/src/main/res/drawable/bg_store_coins_price.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="@color/white">
|
||||
<!-- 默认显⽰效果-->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#F564B6"
|
||||
android:startColor="#BF6BFF"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners android:bottomRightRadius="@dimen/googleShare"
|
||||
android:bottomLeftRadius="@dimen/googleShare"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
19
app/src/main/res/drawable/bg_store_coins_price_larger.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="@color/white">
|
||||
<!-- 默认显⽰效果-->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#FFD792"
|
||||
android:startColor="#FFB06B"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners android:bottomRightRadius="@dimen/googleShare"
|
||||
android:bottomLeftRadius="@dimen/googleShare"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
18
app/src/main/res/drawable/bg_unlock_coins.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
|
||||
<item>
|
||||
<shape>
|
||||
|
||||
<gradient
|
||||
android:angle="180"
|
||||
android:endColor="#80F564B6"
|
||||
android:startColor="#80BF6BFF"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
<corners android:radius="19dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</layer-list>
|
||||
|
@ -5,8 +5,8 @@
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<solid android:color="#e60F1013" />
|
||||
<corners android:topLeftRadius="@dimen/aboutAbout" android:topRightRadius="@dimen/aboutAbout" />
|
||||
<solid android:color="#CC0F1013" />
|
||||
<corners android:topLeftRadius="24dp" android:topRightRadius="24dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
@ -6,8 +6,8 @@
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<solid android:color="#F564B6" />
|
||||
<corners android:topRightRadius="@dimen/agreementLock"
|
||||
android:bottomLeftRadius="@dimen/agreementLock"/>
|
||||
<corners android:topRightRadius="@dimen/googleShare"
|
||||
android:bottomLeftRadius="@dimen/googleShare"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
14
app/src/main/res/drawable/cornor_f78b49_left_right_8dp.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="@color/white">
|
||||
<!-- 默认显⽰效果-->
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
|
||||
<solid android:color="#F78B49" />
|
||||
<corners android:topRightRadius="@dimen/googleShare"
|
||||
android:bottomLeftRadius="@dimen/googleShare"/>
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
||||
|
@ -5,13 +5,13 @@
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FFB69A"
|
||||
android:startColor="#FFC270"
|
||||
android:angle="180"
|
||||
android:endColor="#97CAF6"
|
||||
android:startColor="#0097CAF6"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<corners android:radius="@dimen/detailsClickTatus" />
|
||||
<corners android:radius="@dimen/private_gqTabindicator" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
@ -5,13 +5,13 @@
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#94BCFF"
|
||||
android:startColor="#6BD1FF"
|
||||
android:angle="180"
|
||||
android:endColor="#ADA8FF"
|
||||
android:startColor="#00A5B3FF"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<corners android:radius="@dimen/detailsClickTatus" />
|
||||
<corners android:radius="@dimen/private_gqTabindicator" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
@ -5,13 +5,13 @@
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#FFA7D9"
|
||||
android:startColor="#FF719D"
|
||||
android:angle="180"
|
||||
android:endColor="#AAC1E6"
|
||||
android:startColor="#00AAC1E6"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<corners android:radius="@dimen/detailsClickTatus" />
|
||||
<corners android:radius="@dimen/private_gqTabindicator" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
@ -5,13 +5,13 @@
|
||||
<item>
|
||||
<shape android:shape="rectangle">
|
||||
<gradient
|
||||
android:angle="90"
|
||||
android:endColor="#ADA7FF"
|
||||
android:startColor="#A5B3FF"
|
||||
android:angle="180"
|
||||
android:endColor="#FFB179"
|
||||
android:startColor="#00FFB179"
|
||||
android:type="linear"
|
||||
android:useLevel="true" />
|
||||
|
||||
<corners android:radius="@dimen/detailsClickTatus" />
|
||||
<corners android:radius="@dimen/private_gqTabindicator" />
|
||||
</shape>
|
||||
</item>
|
||||
</ripple>
|
@ -6,25 +6,88 @@
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="44dp"
|
||||
android:background="@drawable/cornor_0f1013_12dp"
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="15dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent">
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_close_episodes_recharge"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:padding="@dimen/followHistoryOllow"
|
||||
app:srcCompat="@mipmap/ic_close" />
|
||||
android:paddingStart="15dp"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingEnd="15dp"
|
||||
android:paddingBottom="8dp"
|
||||
app:srcCompat="@mipmap/ic_rechargedialog_close" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_yourcoins"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_alignTop="@+id/layout_unlock"
|
||||
android:layout_alignBottom="@+id/layout_unlock"
|
||||
android:text="@string/store_coins_your"
|
||||
android:textColor="#99FFFFFF"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_yourcoins_value"
|
||||
android:layout_alignTop="@+id/layout_unlock"
|
||||
android:layout_alignBottom="@+id/layout_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_toEndOf="@+id/tv_store_yourcoins"
|
||||
android:textColor="#F564B6"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:id="@+id/layout_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="17dp"
|
||||
android:layout_marginStart="6dp"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingEnd="12dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:background="@drawable/bg_unlock_coins"
|
||||
android:layout_toEndOf="@+id/tv_store_yourcoins_value"
|
||||
android:gravity="center">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_unlock"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/tv_unlock"
|
||||
android:textColor="#FFFFFF"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_unlock_value"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="2dp"
|
||||
android:drawableEnd="@mipmap/ic_unlock_gold"
|
||||
android:textColor="#E5F564B6"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/registeredEaderUnit"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_below="@+id/iv_close_episodes_recharge">
|
||||
|
||||
|
||||
|
93
app/src/main/res/layout/item_store_coinslist_larget_zyt.xml
Normal file
@ -0,0 +1,93 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/layout_store_root_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/agreementLock"
|
||||
android:layout_marginEnd="@dimen/agreementLock"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_store_coins_hot"
|
||||
android:layout_width="@dimen/clickOdyload"
|
||||
android:layout_height="@dimen/clickOdyload"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="4dp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/ic_coins_hot" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_item_percent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/cornor_f78b49_left_right_8dp"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="3dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingBottom="3dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="12sp"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/aboutAbout"
|
||||
android:drawableEnd="@mipmap/ic_mywallet_coins"
|
||||
android:drawablePadding="@dimen/unitEventUnique"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/eaderPplicationHistory"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item_percent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_add_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#FFE4BE"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_store_coins_price_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_price_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/newsPolicyExplore"
|
||||
android:background="@drawable/bg_store_coins_price_larger"
|
||||
android:gravity="center"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="9dp"
|
||||
android:textColor="#BC6400"
|
||||
android:textSize="@dimen/ragmentSettings"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_store_coins_item"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_limited_item"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/cornor_f564b6_left_right_8dp"
|
||||
android:paddingStart="@dimen/googleShare"
|
||||
android:paddingEnd="@dimen/squareDefault_q"
|
||||
android:text="@string/recharge_limit_txt"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/stringsRechargeSeekbar"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_price_item" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -6,66 +6,73 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/agreementLock"
|
||||
android:layout_marginEnd="@dimen/agreementLock"
|
||||
android:background="@drawable/bg_store_coins_boder"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
android:id="@+id/tv_store_coins_item_percent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="@drawable/cornor_f564b6_left_right_10dp"
|
||||
android:paddingStart="6dp"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingEnd="6dp"
|
||||
android:paddingBottom="2dp"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/tv_store_coins_item_percent"
|
||||
android:background="@drawable/cornor_f564b6_left_right_8dp"
|
||||
android:paddingStart="5dp"
|
||||
android:paddingTop="3dp"
|
||||
android:paddingEnd="5dp"
|
||||
android:paddingBottom="3dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="11sp" />
|
||||
android:textSize="10sp"
|
||||
android:visibility="invisible"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/detailsClickTatus"
|
||||
android:layout_marginTop="@dimen/followHistoryOllow"
|
||||
android:drawableStart="@mipmap/ic_mywallet_coins"
|
||||
android:drawablePadding="@dimen/cateSplash"
|
||||
android:layout_marginTop="@dimen/aboutAbout"
|
||||
android:drawableEnd="@mipmap/ic_mywallet_coins"
|
||||
android:drawablePadding="@dimen/unitEventUnique"
|
||||
android:gravity="center_vertical"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/pisodesPisodesNine"
|
||||
android:textSize="@dimen/appnameOmmonClose"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item_percent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_add_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#8a899f"
|
||||
android:textColor="#F56490"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_store_coins_item"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_store_coins_item"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_store_coins_item" />
|
||||
app:layout_constraintBottom_toTopOf="@+id/tv_store_coins_price_item"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_price_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/detailsClickTatus"
|
||||
android:layout_marginBottom="@dimen/agreementLock"
|
||||
android:layout_marginTop="@dimen/newsPolicyExplore"
|
||||
android:background="@drawable/bg_store_coins_price"
|
||||
android:gravity="center"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="9dp"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/fragmentTabindicator"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_store_coins_item"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_item" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coins_limited_item"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/cornor_f564b6_left_right_10dp"
|
||||
android:background="@drawable/cornor_f564b6_left_right_8dp"
|
||||
android:paddingStart="@dimen/googleShare"
|
||||
android:paddingEnd="@dimen/squareDefault_q"
|
||||
android:text="@string/recharge_limit_txt"
|
||||
@ -73,5 +80,5 @@
|
||||
android:textSize="@dimen/stringsRechargeSeekbar"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_store_coins_price_item" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -1,15 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/item_membership_root"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/item_membership_root"
|
||||
android:layout_marginTop="@dimen/agreementLock"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="@dimen/agreementLock"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@mipmap/ic_vippurchase_bg_one"
|
||||
android:paddingStart="@dimen/followHistoryOllow"
|
||||
android:paddingBottom="@dimen/backupHistory">
|
||||
android:background="@mipmap/ic_vippurchase_bg_month"
|
||||
android:paddingStart="@dimen/followHistoryOllow">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_selected"
|
||||
android:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:srcCompat="@mipmap/ic_vip_selector" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_membership_donatecoins"
|
||||
@ -17,10 +25,10 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@mipmap/ic_vipdonata_bg"
|
||||
android:drawableEnd="@mipmap/ic_mywallet_coins"
|
||||
android:paddingStart="@dimen/playActivity"
|
||||
android:paddingTop="@dimen/cateSplash"
|
||||
android:gravity="center_vertical"
|
||||
android:drawablePadding="@dimen/cateSplash"
|
||||
android:gravity="center_vertical|end"
|
||||
android:paddingStart="@dimen/clickOdyload"
|
||||
android:paddingTop="@dimen/cateSplash"
|
||||
android:paddingEnd="@dimen/squareDefault_q"
|
||||
android:paddingBottom="@dimen/earchLayout"
|
||||
android:textColor="#8F5600"
|
||||
@ -34,9 +42,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/agreementLock"
|
||||
android:text="@string/vip_weekly_membership_txt"
|
||||
android:textStyle="bold"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
@ -44,19 +51,18 @@
|
||||
android:id="@+id/tv_membership_pricetype"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/ollowPisodesPlash"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
android:textSize="@dimen/time_i5PplicationAgreement"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_membership_price"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_membership_price" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_membership_price"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/vip_weekly_price_week_txt"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/commonAdapterAppname"
|
||||
android:textSize="@dimen/backgroundCircleGoogle"
|
||||
android:textStyle="bold"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_membership_pricetype"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_membership_title" />
|
||||
@ -65,18 +71,17 @@
|
||||
android:id="@+id/tv_membership_viptype"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="@dimen/ollowPisodesPlash"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/gradleAgreement"
|
||||
android:textSize="@dimen/appnameOmmonClose"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/tv_membership_price"
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_membership_price" />
|
||||
app:layout_constraintStart_toEndOf="@+id/tv_membership_price"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_membership_price" />
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_membership_desc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/squareDefault_q"
|
||||
android:layout_marginTop="@dimen/unitEventUnique"
|
||||
android:layout_marginBottom="@dimen/ollowPisodesPlash"
|
||||
android:background="@drawable/cornor_24ffffff_14dp"
|
||||
android:paddingStart="@dimen/squareDefault_q"
|
||||
@ -84,20 +89,19 @@
|
||||
android:paddingEnd="@dimen/squareDefault_q"
|
||||
android:paddingBottom="@dimen/unitEventUnique"
|
||||
android:text="@string/vip_noads_txt"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/rewardsTranslatesGradient"
|
||||
android:textSize="@dimen/stringsRechargeSeekbar"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_membership_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_membership_pricetype" />
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_membership_price" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_membership_introduce"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="@dimen/squareDefault_q"
|
||||
android:layout_marginBottom="@dimen/ollowPisodesPlash"
|
||||
android:layout_marginBottom="@dimen/agreementLock"
|
||||
android:text="@string/vip_introduce"
|
||||
android:textColor="#8A899F"
|
||||
android:textSize="@dimen/rewardsTranslatesGradient"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:textSize="@dimen/stringsRechargeSeekbar"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_membership_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_membership_desc" />
|
||||
|
||||
|
@ -13,58 +13,68 @@
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coinsepisode"
|
||||
android:id="@+id/tv_store_vip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:text="@string/coins_txt"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/appnameOmmonClose" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coinsvalue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/followHistoryOllow"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/appnameOmmonClose" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerview_store"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/tv_store_coinsvalue"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginTop="@dimen/earchLayout"
|
||||
android:layout_marginEnd="@dimen/earchLayout" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_membership"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/recyclerview_store"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginTop="@dimen/settingsHeaderGoogle"
|
||||
android:layout_marginEnd="@dimen/followHistoryOllow"
|
||||
android:text="@string/store_membership"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/appnameOmmonClose" />
|
||||
|
||||
android:text="VIP | Auto renew, cancel anytime "
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="@dimen/fragmentTabindicator"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerview_store_vip"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/tv_store_membership"
|
||||
android:layout_marginTop="@dimen/rechargeGradient" />
|
||||
android:layout_below="@+id/tv_store_vip"
|
||||
android:layout_marginTop="@dimen/agreementLock" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coinsepisode"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/recyclerview_store_vip"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginTop="@dimen/clickOdyload"
|
||||
android:text="@string/coins_recharge_txt"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_store_coinsvalue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignTop="@+id/tv_store_coinsepisode"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="@dimen/followHistoryOllow"
|
||||
android:textColor="@color/color_e6ffffff"
|
||||
android:textSize="@dimen/fragmentTabindicator" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerview_store_large"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/tv_store_coinsvalue"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginTop="@dimen/earchLayout"
|
||||
android:layout_marginEnd="@dimen/cateSplash" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerview_store_small"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/recyclerview_store_large"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginTop="@dimen/earchLayout"
|
||||
android:layout_marginEnd="@dimen/cateSplash" />
|
||||
|
||||
|
||||
<include
|
||||
android:id="@+id/layout_vip_introduct"
|
||||
layout="@layout/layout_purchase_introduce_gs"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/recyclerview_store_vip"
|
||||
android:layout_below="@+id/recyclerview_store_small"
|
||||
android:layout_marginStart="@dimen/followHistoryOllow"
|
||||
android:layout_marginEnd="@dimen/followHistoryOllow" />
|
||||
|
||||
|
BIN
app/src/main/res/mipmap-xxhdpi/ic_coins_hot.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_rechargedialog_close.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_unlock_gold.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_vip_selector.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 168 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_vippurchase_bg_month.png
Normal file
After Width: | Height: | Size: 294 KiB |
Before Width: | Height: | Size: 116 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_vippurchase_bg_quarter.png
Normal file
After Width: | Height: | Size: 343 KiB |
Before Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 167 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_vippurchase_bg_week.png
Normal file
After Width: | Height: | Size: 295 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_vippurchase_bg_year.png
Normal file
After Width: | Height: | Size: 344 KiB |
@ -50,6 +50,7 @@
|
||||
<string name="mywallet_txt">My Wallet</string>
|
||||
|
||||
<string name="coins_txt">Coins</string>
|
||||
<string name="coins_recharge_txt">Coin Recharge</string>
|
||||
<string name="bonus_txt">Bonus</string>
|
||||
<string name="coupons_txt">Coupons</string>
|
||||
<string name="vip_selector_txt">50% Off</string>
|
||||
@ -73,6 +74,7 @@
|
||||
<string name="vip_recharge_txt">Membership Recharge</string>
|
||||
<string name="vip_noads_txt">Unlimited access to all series for 1 week (No Ads)</string>
|
||||
<string name="vip_introduce">Auto renew, cancel anytime</string>
|
||||
<string name="vip_donate_coins">The donate coins will expire in ## days</string>
|
||||
|
||||
<string name="monthly_vip_txt">Monthly Vip </string>
|
||||
<string name="price_tag">$</string>
|
||||
@ -130,4 +132,7 @@
|
||||
<string name="language_txt">Language</string>
|
||||
<string name="default_notification_channel_id">gleestream</string>
|
||||
<string name="youraccount_isalreadylogged">Your account is already logged in on another device~</string>
|
||||
<string name="vip_introduce_top">VIP | Auto renew, cancel anytime</string>
|
||||
<string name="tv_unlock">Unlock:</string>
|
||||
|
||||
</resources>
|
@ -23,6 +23,6 @@ android.nonTransitiveRClass=true
|
||||
#org.gradle.internal.http.socketTimeout=600000
|
||||
# uploadCrashlyticsMappingFile
|
||||
systemProp.http.proxyHost=127.0.0.1
|
||||
systemProp.http.proxyPort=26001
|
||||
systemProp.http.proxyPort=10809
|
||||
systemProp.https.proxyHost=127.0.0.1
|
||||
systemProp.https.proxyPort=26001
|
||||
systemProp.https.proxyPort=10809
|