翻译修改,新增vip充值弹窗
This commit is contained in:
parent
4c6af1280e
commit
d4ffcb5780
@ -5,7 +5,7 @@ plugins {
|
||||
// alias(libs.plugins.firebase.perf)
|
||||
id("com.google.gms.google-services")
|
||||
id("com.google.firebase.firebase-perf")
|
||||
// id("com.google.firebase.crashlytics")
|
||||
id("com.google.firebase.crashlytics")
|
||||
|
||||
|
||||
}
|
||||
@ -41,11 +41,10 @@ android {
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
signingConfig signingConfigs.signs
|
||||
|
||||
}
|
||||
|
||||
debug {
|
||||
minifyEnabled true
|
||||
minifyEnabled false
|
||||
signingConfig signingConfigs.signs
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
|
||||
@ -75,6 +74,15 @@ android {
|
||||
}
|
||||
}
|
||||
|
||||
//禁用uploadCrashlyticsMappingFileRelease 手动上传
|
||||
// tasks.configureEach { task ->{
|
||||
// if (task.name == 'uploadCrashlyticsMappingFileRelease'||task.name=='uploadCrashlyticsMappingFileDebug') {
|
||||
// task.enabled = false
|
||||
// }
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
14
app/proguard-rules.pro
vendored
14
app/proguard-rules.pro
vendored
@ -546,14 +546,14 @@
|
||||
-keepclassmembers class com.verizon.ads.edition.BuildConfig {
|
||||
static *;
|
||||
}
|
||||
-keep public interface com.verizon.ads.interstitialplacement** {*; }
|
||||
-keep public interface com.verizon.ads.inlineplacement** {*; }
|
||||
-keep public interface com.verizon.ads.vastcontroller** {*; }
|
||||
-keep public interface com.verizon.ads.webcontroller** {*; }
|
||||
#-keep public interface com.verizon.ads.interstitialplacement** {*; }
|
||||
#-keep public interface com.verizon.ads.inlineplacement** {*; }
|
||||
#-keep public interface com.verizon.ads.vastcontroller** {*; }
|
||||
#-keep public interface com.verizon.ads.webcontroller** {*; }
|
||||
#For Vungle integration
|
||||
-keep public interface com.vungle.warren.PlayAdCallback {*; }
|
||||
-keep public interface com.vungle.warren.ui.contract** {*; }
|
||||
-keep public interface com.vungle.warren.ui.view** {*; }
|
||||
#-keep public interface com.vungle.warren.PlayAdCallback {*; }
|
||||
#-keep public interface com.vungle.warren.ui.contract** {*; }
|
||||
#-keep public interface com.vungle.warren.ui.view** {*; }
|
||||
#For AndroidX
|
||||
-keep class androidx.localbroadcastmanager.content.LocalBroadcastManager { *;}
|
||||
-keep class androidx.recyclerview.widget.RecyclerView { *;}
|
||||
|
@ -80,6 +80,8 @@ public class ITItem {
|
||||
public static final String CONSTANTS_Lang_key="Constants_language_key";
|
||||
public static final String CONSTANTS_Lang_key_System="system_";
|
||||
public static final String CONSTANTS_Translate_key="CONSTANTS_Translate_key";
|
||||
public static final String CONSTANTS_NotifyTime_key="CONSTANTS_NotifyTime_key";
|
||||
public static final String CONSTANTS_VipPurchaseTime_key="CONSTANTS_VipPurchaseTime_key";
|
||||
|
||||
|
||||
static String nextNoneFromTourist(int[] contents, int key, boolean hasEmoji) {
|
||||
|
@ -81,4 +81,37 @@ public class TimeUtils {
|
||||
return df.format((current / total) * 100);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static boolean notifyIsOpen() {
|
||||
long lastOpenTime = TIndicator.getLong(ITItem.CONSTANTS_NotifyTime_key, 0);
|
||||
if (lastOpenTime != 0) {
|
||||
long current = System.currentTimeMillis();
|
||||
if (current - lastOpenTime >= (24 * 60 * 60 * 1000)) {
|
||||
TIndicator.saveLong(ITItem.CONSTANTS_NotifyTime_key, System.currentTimeMillis());
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
TIndicator.saveLong(ITItem.CONSTANTS_NotifyTime_key, System.currentTimeMillis());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public static boolean vipPurchaseIsOpen() {
|
||||
long lastOpenTime = TIndicator.getLong(ITItem.CONSTANTS_VipPurchaseTime_key, 0);
|
||||
if (lastOpenTime != 0) {
|
||||
long current = System.currentTimeMillis();
|
||||
if (current - lastOpenTime >= 0) { //(60 * 60 * 1000)
|
||||
TIndicator.saveLong(ITItem.CONSTANTS_VipPurchaseTime_key, System.currentTimeMillis());
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
TIndicator.saveLong(ITItem.CONSTANTS_VipPurchaseTime_key, System.currentTimeMillis());
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ import com.shortdrama.jelly.zyreotv.beginning.LogUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.NotifyUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.REnterCircle;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.TimeUtils;
|
||||
import com.shortdrama.jelly.zyreotv.databinding.TManifestServiceBinding;
|
||||
import com.shortdrama.jelly.zyreotv.dlsym.IMACloseStroke;
|
||||
import com.shortdrama.jelly.zyreotv.dlsym.KGZyreotv;
|
||||
@ -294,6 +295,9 @@ public class AExtractionActivity extends IDDetailsRoundActivity<TManifestService
|
||||
|
||||
|
||||
public void openNotificationDialog() {
|
||||
if (!TimeUtils.notifyIsOpen()) {
|
||||
return;
|
||||
}
|
||||
NotifyDialog notifyDialog = new NotifyDialog(this);
|
||||
notifyDialog.setOnSureListener(new NotifyDialog.OnSureListener() {
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import java.util.ArrayList;
|
||||
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
|
||||
@ -26,6 +27,7 @@ import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import com.android.billingclient.api.BillingClient;
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.facebook.CallbackManager;
|
||||
import com.facebook.FacebookCallback;
|
||||
@ -39,17 +41,23 @@ import com.shortdrama.jelly.zyreotv.R;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.ITItem;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.LRewards;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.PAYLoginHeaddefault;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.REnterCircle;
|
||||
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.VezLoginPlashBinding;
|
||||
import com.shortdrama.jelly.zyreotv.databinding.LpEnterLocalBinding;
|
||||
import com.shortdrama.jelly.zyreotv.dlsym.KGZyreotv;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.XLHeaddefaultActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.app.GSLanguageActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.CommonSelectorDialog;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma.VipPurchaseDialog;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.web.ZYTWebViewIndexActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.KDZShareRound;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.TJEpisodeRoundBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
import com.youth.banner.util.LogUtils;
|
||||
|
||||
|
||||
@ -75,6 +83,9 @@ public class UBJPrivateOllowFragment extends Fragment {
|
||||
private GSTranslatesBean.Translates translates;
|
||||
|
||||
|
||||
ZYTGooglePayUtils zytGooglePayUtils;
|
||||
|
||||
|
||||
public static UBJPrivateOllowFragment newInstance() {
|
||||
return new UBJPrivateOllowFragment();
|
||||
}
|
||||
@ -414,7 +425,7 @@ public class UBJPrivateOllowFragment extends Fragment {
|
||||
loadingdefaultRunning.layoutRechargeVip.setVisibility(VISIBLE);
|
||||
loadingdefaultRunning.layoutRechargeNotvip.setVisibility(GONE);
|
||||
loadingdefaultRunning.tvMeName.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.mipmap.ic_vip_nicklevel), null);
|
||||
loadingdefaultRunning.tvMeRechargeVipExp.setText((translates!=null?translates.getGleestream_vipexpires()+": ":"Vip Expires: ") + TimeUtils.transToString(Long.parseLong(userInfoBean.getVip_end_time())));
|
||||
loadingdefaultRunning.tvMeRechargeVipExp.setText((translates != null ? translates.getGleestream_vipexpires() + ": " : "Vip Expires: ") + TimeUtils.transToString(Long.parseLong(userInfoBean.getVip_end_time())));
|
||||
}
|
||||
|
||||
Glide.with(requireActivity()).load(userInfoBean.getAvator()).placeholder(R.mipmap.share_loadingdefault).error(R.mipmap.share_loadingdefault).into(loadingdefaultRunning.ivHead);
|
||||
@ -425,10 +436,72 @@ public class UBJPrivateOllowFragment extends Fragment {
|
||||
|
||||
}
|
||||
|
||||
VipPurchaseDialog vipPurchaseDialog;
|
||||
|
||||
boolean isConnect = false;
|
||||
|
||||
|
||||
private String android_template_id = "";
|
||||
|
||||
private String current_price;
|
||||
private int current_pay_setting_id;
|
||||
private String current_order_code;
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
seenMarkView.getUserInfo();
|
||||
if (!TIndicator.is_Vip() && TimeUtils.vipPurchaseIsOpen() && vipPurchaseDialog == null) {
|
||||
zytGooglePayUtils = ZYTGooglePayUtils.getInstance(getActivity(), purchase -> {
|
||||
HashMap<String, Object> map = new HashMap<>();
|
||||
map.put("order_code", current_order_code);
|
||||
map.put("pay_setting_id", current_pay_setting_id);
|
||||
map.put("pkg_name", getContext().getPackageName());
|
||||
map.put("product_id", android_template_id);
|
||||
map.put("purchases_token", purchase.getPurchaseToken());
|
||||
map.put("transaction_id", purchase.getOrderId());
|
||||
map.put("show_money", current_price);
|
||||
seenMarkView.getGooglePay(map);
|
||||
}, (purchase, str) -> {
|
||||
|
||||
PAYLoginHeaddefault.revealToast(str, 0);
|
||||
});
|
||||
zytGooglePayUtils.setqueryProductResult(new ZYTGooglePayUtils.QueryProductResult() {
|
||||
@Override
|
||||
public void queryCoinProduct(List<ZYTPaySettingBean.Coins> list) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void queryVipProduct(List<ZYTPaySettingBean.Vip> list) {
|
||||
if (!list.isEmpty() && vipPurchaseDialog != null) {
|
||||
getActivity().runOnUiThread(() -> {
|
||||
vipPurchaseDialog.setListData(list);
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
seenMarkView.getPaySetting(0, 0);
|
||||
zytGooglePayUtils.startConnection(connect -> isConnect = connect);
|
||||
vipPurchaseDialog = new VipPurchaseDialog(getActivity());
|
||||
vipPurchaseDialog.setItemClickListener(new VipPurchaseDialog.onItemClickListener() {
|
||||
@Override
|
||||
public void onSubvipItem(ZYTPaySettingBean.Vip vip) {
|
||||
android_template_id = vip.getAndroid_template_id();
|
||||
current_price = vip.getPrice();
|
||||
current_pay_setting_id = vip.getId();
|
||||
seenMarkView.createOrder(vip.getId(), 0, 0, 0, BillingClient.ProductType.SUBS);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismissdialog() {
|
||||
zytGooglePayUtils.clearInstance();
|
||||
vipPurchaseDialog = null;
|
||||
}
|
||||
});
|
||||
vipPurchaseDialog.show();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private long dismissUniqueCookieCorePlay() {
|
||||
@ -560,6 +633,37 @@ public class UBJPrivateOllowFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
seenMarkView.getPayResBeanLiveData().observe(getActivity(), vtPaySettingBean -> {
|
||||
if (vtPaySettingBean != null && !vtPaySettingBean.data.getList_coins().isEmpty()) {
|
||||
if (isConnect) {
|
||||
zytGooglePayUtils.querySubsProductDetails(vtPaySettingBean.data.getList_sub_vip());
|
||||
}
|
||||
}
|
||||
});
|
||||
seenMarkView.getCreateOrderLiveData().observe(getActivity(), vtCreateOrderBean -> {
|
||||
if (vtCreateOrderBean != null && vtCreateOrderBean.data != null) {
|
||||
String userId = TIndicator.getUserInfo().getId();
|
||||
current_order_code = vtCreateOrderBean.data.getOrder_code();
|
||||
if (vtCreateOrderBean.data.getType().equals(BillingClient.ProductType.SUBS)) {
|
||||
String productType = BillingClient.ProductType.SUBS;
|
||||
zytGooglePayUtils.getGoogleProduct(
|
||||
android_template_id,
|
||||
userId,
|
||||
current_order_code,
|
||||
BillingClient.ProductType.SUBS);
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
seenMarkView.getGooglePayLiveData().observe(getActivity(), imaCloseStroke -> {
|
||||
|
||||
if (imaCloseStroke != null) {
|
||||
PAYLoginHeaddefault.revealToast(translates != null ? translates.getGleestream_googlepay_success() : getString(R.string.google_pay_success), 0);
|
||||
seenMarkView.getUserInfo();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
@ -0,0 +1,111 @@
|
||||
package com.shortdrama.jelly.zyreotv.topics.abslRwgt.pragma;
|
||||
|
||||
import static android.text.Html.FROM_HTML_MODE_LEGACY;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.text.Html;
|
||||
import android.view.Gravity;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
import androidx.lifecycle.ViewModelStoreOwner;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
|
||||
import com.shortdrama.jelly.zyreotv.R;
|
||||
|
||||
import com.shortdrama.jelly.zyreotv.beginning.AppUtils;
|
||||
import com.shortdrama.jelly.zyreotv.beginning.TIndicator;
|
||||
import com.shortdrama.jelly.zyreotv.databinding.DialogVipPurchaseBinding;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.decbn.GXCProgressLogin;
|
||||
import com.shortdrama.jelly.zyreotv.topics.abslRwgt.decbn.ZYTStoreActivity;
|
||||
import com.shortdrama.jelly.zyreotv.topics.dts.ZYTStoreSubVipAdapter;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.GSTranslatesBean;
|
||||
import com.shortdrama.jelly.zyreotv.unconfirmedPiecewise.ZYTPaySettingBean;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class VipPurchaseDialog extends Dialog {
|
||||
DialogVipPurchaseBinding binding;
|
||||
|
||||
private ZYTStoreSubVipAdapter subVipAdapter;
|
||||
|
||||
private List<ZYTPaySettingBean.Vip> list;
|
||||
|
||||
|
||||
private onItemClickListener itemClickListener;
|
||||
|
||||
public void setItemClickListener(onItemClickListener itemClickListener) {
|
||||
this.itemClickListener = itemClickListener;
|
||||
}
|
||||
|
||||
|
||||
public interface onItemClickListener {
|
||||
void onSubvipItem(ZYTPaySettingBean.Vip vip);
|
||||
|
||||
void dismissdialog();
|
||||
}
|
||||
|
||||
|
||||
public void setListData(List<ZYTPaySettingBean.Vip> list) {
|
||||
subVipAdapter.submitList(list);
|
||||
}
|
||||
|
||||
public VipPurchaseDialog(Context context) {
|
||||
super(context, R.style.ZyreoTVDialog);
|
||||
this.list = list;
|
||||
binding = DialogVipPurchaseBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
GSTranslatesBean.Translates translates = AppUtils.getTranslates();
|
||||
if (translates != null) {
|
||||
binding.tvDialogVippurchaseTitle.setText(Html.fromHtml(translates.getGleestream_vippurchase_dialog(),
|
||||
FROM_HTML_MODE_LEGACY));
|
||||
binding.tvDialogVippurchaseTitle2.setText(translates.getGleestream_vippurchase_dialog_unlock());
|
||||
binding.tvDialogVippurchaseAdfree.setText(translates.getGleestream_vip_benefits_adfree());
|
||||
binding.tvDialogVippurchaseExclusive.setText(translates.getGleestream_vip_benefits_exclusive());
|
||||
binding.tvDialogVippurchaseDailyfree.setText(translates.getGleestream_vip_benefits_dailyfree());
|
||||
binding.tvDialogVippurchaseMembership.setText(translates.getGleestream_membership_recharge());
|
||||
}
|
||||
|
||||
subVipAdapter = new ZYTStoreSubVipAdapter();
|
||||
binding.recyclerviewDialogVippurchase.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
binding.recyclerviewDialogVippurchase.setAdapter(subVipAdapter);
|
||||
subVipAdapter.submitList(list);
|
||||
subVipAdapter.setOnItemClickListener((baseQuickAdapter, view, i) -> {
|
||||
if (itemClickListener != null) {
|
||||
itemClickListener.onSubvipItem(subVipAdapter.getItem(i));
|
||||
}
|
||||
});
|
||||
binding.ivDialogVippurchaseClose.setOnClickListener(v -> {
|
||||
dismiss();
|
||||
});
|
||||
setCanceledOnTouchOutside(false);
|
||||
Window window = getWindow();
|
||||
WindowManager.LayoutParams wlp = window.getAttributes();
|
||||
wlp.width = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
wlp.height = WindowManager.LayoutParams.MATCH_PARENT;
|
||||
window.setAttributes(wlp);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void dismiss() {
|
||||
if (itemClickListener != null) {
|
||||
itemClickListener.dismissdialog();
|
||||
}
|
||||
super.dismiss();
|
||||
}
|
||||
}
|
@ -138,6 +138,24 @@ public class GSTranslatesBean {
|
||||
private String gleestream_googlepay_queryfailed;
|
||||
private String gleestream_googlepay_usercanceledtip1;
|
||||
private String gleestream_googlepay_usercanceledtip;
|
||||
private String gleestream_vippurchase_dialog_unlock;
|
||||
private String gleestream_vippurchase_dialog;
|
||||
|
||||
public String getGleestream_vippurchase_dialog_unlock() {
|
||||
return gleestream_vippurchase_dialog_unlock;
|
||||
}
|
||||
|
||||
public void setGleestream_vippurchase_dialog_unlock(String gleestream_vippurchase_dialog_unlock) {
|
||||
this.gleestream_vippurchase_dialog_unlock = gleestream_vippurchase_dialog_unlock;
|
||||
}
|
||||
|
||||
public String getGleestream_vippurchase_dialog() {
|
||||
return gleestream_vippurchase_dialog;
|
||||
}
|
||||
|
||||
public void setGleestream_vippurchase_dialog(String gleestream_vippurchase_dialog) {
|
||||
this.gleestream_vippurchase_dialog = gleestream_vippurchase_dialog;
|
||||
}
|
||||
|
||||
public String getGleestream_googlepay_suberror() {
|
||||
return gleestream_googlepay_suberror;
|
||||
|
173
app/src/main/res/layout/dialog_vip_purchase.xml
Normal file
173
app/src/main/res/layout/dialog_vip_purchase.xml
Normal file
@ -0,0 +1,173 @@
|
||||
<?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:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#b3000000"
|
||||
android:orientation="vertical">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/layout_conent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="30dp"
|
||||
android:layout_marginEnd="30dp"
|
||||
android:background="@mipmap/ic_dialog_vippurchase_bg"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline"
|
||||
android:layout_width="1dp"
|
||||
android:layout_height="@dimen/affffffSettings"
|
||||
android:orientation="vertical"
|
||||
app:layout_constraintGuide_percent="0.65" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_dialog_vippurchase_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:paddingStart="20dp"
|
||||
android:paddingTop="15dp"
|
||||
android:paddingEnd="20dp"
|
||||
android:paddingBottom="15dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@mipmap/ic_dialog_vippurchase_close" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_title"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="23dp"
|
||||
android:layout_marginTop="14dp"
|
||||
android:text="Go Premium \nElevate Your Binge!"
|
||||
android:textColor="#712B2B"
|
||||
android:textSize="18sp"
|
||||
app:layout_constraintEnd_toEndOf="@+id/guideline"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_title2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="4dp"
|
||||
android:text="Unlock 1000+ exclusive dramas"
|
||||
android:textColor="#AB7B7B"
|
||||
android:textSize="13sp"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_dialog_vippurchase_title"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_dialog_vippurchase_title" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_adfree"
|
||||
android:layout_width="57dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:drawableTop="@mipmap/ic_dialog_vippurchase_noads"
|
||||
android:gravity="center"
|
||||
android:text="Ad-Free\nStreaming"
|
||||
android:textColor="#712B2B"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintStart_toStartOf="@+id/tv_dialog_vippurchase_title2"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_dialog_vippurchase_title2" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_exclusive"
|
||||
android:layout_width="57dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableTop="@mipmap/ic_dialog_vippurchase_exclusive_episodes"
|
||||
android:gravity="center"
|
||||
android:text="Exclusive Episodes"
|
||||
android:textColor="#712B2B"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_dialog_vippurchase_adfree" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_dailyfree"
|
||||
android:layout_width="57dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:drawableTop="@mipmap/ic_dialog_vippurchase_dailyfree"
|
||||
android:gravity="center"
|
||||
android:text="Daily free coins"
|
||||
android:textColor="#712B2B"
|
||||
android:textSize="10sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/tv_dialog_vippurchase_adfree" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/tv_dialog_vippurchase_membership"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="23dp"
|
||||
android:drawableStart="@mipmap/ic_vip_left"
|
||||
android:drawableEnd="@mipmap/ic_vip_right"
|
||||
android:drawablePadding="10dp"
|
||||
android:gravity="center"
|
||||
android:text="Membership Recharge"
|
||||
android:textColor="#BF6BFF"
|
||||
android:textSize="14sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_dialog_vippurchase_adfree" />
|
||||
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerview_dialog_vippurchase"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:minHeight="100dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tv_dialog_vippurchase_membership" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/iv_dialog_vippurchase_unclock"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="47dp"
|
||||
android:layout_marginStart="14dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_marginEnd="14dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:background="@drawable/bg_text_delete_account_selected"
|
||||
android:drawableStart="@mipmap/ic_vip_left"
|
||||
android:drawableEnd="@mipmap/ic_vip_right"
|
||||
android:drawablePadding="10dp"
|
||||
android:gravity="center"
|
||||
android:text="Unlock VIP Benefits"
|
||||
android:textColor="@android:color/white"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/recyclerview_dialog_vippurchase" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_dialog_vippurchase_top"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="-20dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/layout_conent"
|
||||
app:srcCompat="@mipmap/ic_dialog_vippurchase_top" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@ -64,7 +64,7 @@ android:layout_height="0dp">
|
||||
app:tabMode="scrollable"
|
||||
app:tabPaddingBottom="@dimen/unitEventUnique"
|
||||
app:tabPaddingEnd="5dp"
|
||||
app:tabPaddingStart="5dp"
|
||||
app:tabPaddingStart="15dp"
|
||||
app:tabRippleColor="@null"
|
||||
app:tabSelectedTextColor="#F564B6"
|
||||
app:tabTextAppearance="@style/splashModity"
|
||||
|
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_bg.png
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_bg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 37 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_close.png
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_close.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 848 B |
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.0 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_noads.png
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_noads.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_top.png
Normal file
BIN
app/src/main/res/mipmap-xxhdpi/ic_dialog_vippurchase_top.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 123 KiB |
@ -6,5 +6,5 @@ plugins {
|
||||
//alias(libs.plugins.firebase.perf) apply false
|
||||
id("com.google.gms.google-services") version "4.4.2" apply false
|
||||
id("com.google.firebase.firebase-perf") version "1.4.2" apply false
|
||||
// id("com.google.firebase.crashlytics") version "3.0.3" apply false
|
||||
id("com.google.firebase.crashlytics") version "3.0.3" apply false
|
||||
}
|
@ -19,4 +19,10 @@ android.useAndroidX=true
|
||||
# resources declared in the library itself and none from the library's dependencies,
|
||||
# thereby reducing the size of the R class for that library
|
||||
android.nonTransitiveRClass=true
|
||||
#systemProp.http.nonProxyHosts=localhost|127.0.0.1|127.*|10.*|172.16.*|172.17.*|172.18.|172.19.*|172.20.*|172.21.*|172.22.*|172.23.*|172.24.*|172.25.*|172.26.*|172.27.*|172.28.*|172.29.*|172.30.*|172.31.*|192.168.*
|
||||
#org.gradle.internal.http.connectionTimeout=600000
|
||||
#org.gradle.internal.http.socketTimeout=600000
|
||||
# uploadCrashlyticsMappingFile
|
||||
systemProp.http.proxyHost=127.0.0.1
|
||||
systemProp.http.proxyPort=7890
|
||||
systemProp.https.proxyHost=127.0.0.1
|
||||
systemProp.https.proxyPort=7890
|
@ -1,21 +1,8 @@
|
||||
pluginManagement {
|
||||
repositories {
|
||||
google {
|
||||
content {
|
||||
includeGroupByRegex("com\\.android.*")
|
||||
includeGroupByRegex("com\\.google.*")
|
||||
includeGroupByRegex("androidx.*")
|
||||
}
|
||||
}
|
||||
google()
|
||||
mavenCentral()
|
||||
gradlePluginPortal()
|
||||
// maven {
|
||||
// setUrl("https://jitpack.io")
|
||||
// }
|
||||
// maven {
|
||||
// setUrl("https://maven.aliyun.com/nexus/content/repositories/jcenter")
|
||||
// }
|
||||
// maven { setUrl("https://s01.oss.sonatype.org/content/groups/public" ) }
|
||||
}
|
||||
}
|
||||
dependencyResolutionManagement {
|
||||
@ -24,14 +11,10 @@ dependencyResolutionManagement {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { url = uri("https://jitpack.io") }
|
||||
// maven { url = uri("https://maven.aliyun.com/nexus/content/repositories/jcenter") }
|
||||
// maven { url = uri("https://s01.oss.sonatype.org/content/groups/public") }
|
||||
// maven {
|
||||
// setUrl("https://maven.aliyun.com/nexus/content/repositories/jcenter")
|
||||
// }
|
||||
// maven { setUrl("https://s01.oss.sonatype.org/content/groups/public" ) }
|
||||
maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
|
||||
maven { url = uri("https://android-sdk.is.com") }
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "GleeStream"
|
||||
include ':app'
|
||||
include(":app")
|
||||
|
Loading…
x
Reference in New Issue
Block a user