소스 검색

调整订阅页界面

zk 1 년 전
부모
커밋
5c9c814a5b

+ 0 - 14
app/src/main/java/com/atmob/voiceai/data/api/bean/GoodsBean.java

@@ -136,20 +136,6 @@ public class GoodsBean extends BaseObservable implements Comparable<GoodsBean> {
         return content;
     }
 
-    public String getPriceContent() {
-        if (content == null || content.isEmpty() || gpProductInfo == null) {
-            return content;
-        }
-        float goodsAmount = gpProductInfo.getAmount() / 1000000f;
-        String unit = "";
-        int unitIndex = gpProductInfo.getFormatPrice().indexOf(String.valueOf(goodsAmount));
-        if (unitIndex != -1) {
-            unit = gpProductInfo.getFormatPrice().substring(0, unitIndex);
-        }
-        String unPrice = unit + TextUtil.formatFloatWithout0End(goodsAmount / days, 2);
-        return content.replace("%s", unPrice);
-    }
-
 
     public void setContent(String content) {
         this.content = content;

+ 0 - 20
app/src/main/java/com/atmob/voiceai/module/subscription/SubscriptionPageViewModel.java

@@ -63,8 +63,6 @@ public class SubscriptionPageViewModel extends BaseViewModel {
     private final MutableLiveData<List<GoodsBean>> goodsList = new MutableLiveData<>();
     private final GPBillingClient gpBillingClient;
     private List<PayOptionsBean> payList;
-    private final MutableLiveData<CharSequence> autoRenewableText = new MutableLiveData<>();
-    private final MutableLiveData<CharSequence> subCancelTxt = new MutableLiveData<>();
     private final SingleLiveEvent<Pair<Boolean, String>> showLoading = new SingleLiveEvent<>();
     private final MemberRepository memberRepository;
     private GoodsBean checkGoodsBean;
@@ -110,29 +108,11 @@ public class SubscriptionPageViewModel extends BaseViewModel {
     }
 
     private void init() {
-        initSubTxt();
         addDisposable(RxJavaUtil.timer(3000, TimeUnit.MILLISECONDS, () -> {
             isShowCloseBtn.setValue(true);
         }));
     }
 
-    private void initSubTxt() {
-        String allRenewableTxt = "Subscription is auto-renewable.";
-        String targetRenewableTxt = "auto-renewable";
-        autoRenewableText.setValue(SpannableUtil.getSpannableStringBuilder(allRenewableTxt, targetRenewableTxt, ContextUtil.getContext().getResources().getColor(R.color.colorPrimaryVariant), false));
-        String allCancelTxt = "You can cancel your subscription at any time.";
-        String targetCancelTxt = "at any time";
-        subCancelTxt.setValue(SpannableUtil.getSpannableStringBuilder(allCancelTxt, targetCancelTxt, ContextUtil.getContext().getResources().getColor(R.color.colorPrimaryVariant), false));
-    }
-
-    public LiveData<CharSequence> getAutoRenewableText() {
-        return autoRenewableText;
-    }
-
-    public LiveData<CharSequence> getSubCancelTxt() {
-        return subCancelTxt;
-    }
-
     public void onBackClick() {
         EventHandler.report(EventId.purchaseclose_001);
         if (isShowRetentionDialog()) {

+ 1 - 2
app/src/main/java/com/atmob/voiceai/module/voiceai/VoiceAIViewModel.java

@@ -148,8 +148,7 @@ public class VoiceAIViewModel extends BaseViewModel {
             ToastUtil.show(R.string.voice_ai_no_choice, ToastUtil.LENGTH_SHORT);
             return;
         }
-        requestGenerateVoice();
-//        memberRepository.consumptionIntegral(content.length(), this::requestGenerateVoice);
+        memberRepository.consumptionIntegral(content.length(), this::requestGenerateVoice);
     }
 
     private void requestGenerateVoice() {

BIN
app/src/main/res/drawable-xxhdpi/bg_sub_rectangle.webp


BIN
app/src/main/res/drawable-xxhdpi/icon_sub_ai.webp


BIN
app/src/main/res/drawable-xxhdpi/icon_sub_multilingual.webp


BIN
app/src/main/res/drawable-xxhdpi/icon_sub_voice_download.webp


+ 107 - 269
app/src/main/res/layout/activity_subscription_page.xml

@@ -60,25 +60,9 @@
                     android:textStyle="bold"
                     app:layout_constraintHorizontal_chainStyle="packed"
                     app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toLeftOf="@+id/tv_pro"
-                    app:layout_constraintTop_toBottomOf="@+id/space1" />
-
-                <TextView
-                    android:id="@+id/tv_pro"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:layout_marginStart="7dp"
-                    android:background="@drawable/bg_sub_pro"
-                    android:gravity="center"
-                    android:text="@string/sub_pro"
-                    android:textColor="@color/white"
-                    android:textStyle="bold"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_title"
-                    app:layout_constraintDimensionRatio="48:23"
-                    app:layout_constraintLeft_toRightOf="@+id/tv_title"
                     app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintTop_toTopOf="@+id/tv_title"
-                    app:layout_constraintWidth_percent="0.1333333333333333" />
+                    app:layout_constraintTop_toBottomOf="@+id/space1"
+                    tools:text="Marta AI Voice" />
 
                 <TextView
                     android:id="@+id/tv_sub_desc"
@@ -96,283 +80,154 @@
                     android:id="@+id/space2"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
-                    app:layout_constraintDimensionRatio="360:16"
+                    app:layout_constraintDimensionRatio="360:31"
                     app:layout_constraintTop_toBottomOf="@+id/tv_sub_desc" />
 
-                <Space
-                    android:id="@+id/space3"
+                <ImageView
+                    android:id="@+id/iv_sub_bg"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
-                    app:layout_constraintDimensionRatio="360:5"
+                    android:layout_marginHorizontal="16dp"
+                    android:src="@drawable/bg_sub_rectangle"
+                    app:layout_constraintDimensionRatio="328:188"
                     app:layout_constraintTop_toBottomOf="@+id/space2" />
 
                 <View
-                    android:id="@+id/v_sub_card"
+                    android:id="@+id/v_sub_divider1"
                     android:layout_width="match_parent"
-                    android:layout_height="0dp"
-                    android:layout_marginHorizontal="16dp"
-                    android:background="@drawable/bg_sub_pro_card"
-                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub"
-                    app:layout_constraintTop_toBottomOf="@+id/space3" />
-
-                <View
-                    android:id="@+id/v_sub_line"
-                    android:layout_width="0dp"
                     android:layout_height="1dp"
-                    android:layout_marginHorizontal="12dp"
+                    android:layout_marginHorizontal="9dp"
                     android:background="@drawable/bg_sub_line"
-                    app:layout_constraintBottom_toBottomOf="@+id/v_sub_card"
-                    app:layout_constraintEnd_toEndOf="@id/v_sub_card"
-                    app:layout_constraintStart_toStartOf="@id/v_sub_card"
-                    app:layout_constraintTop_toTopOf="@id/v_sub_card"
-                    app:layout_constraintVertical_bias="0.1546762589928058" />
+                    app:layout_constraintBottom_toBottomOf="@id/iv_sub_bg"
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_bg"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_bg"
+                    app:layout_constraintVertical_bias="0.3457446808510638" />
 
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_basic"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/v_sub_line"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/space_guideline"
-                    app:layout_constraintTop_toTopOf="@id/v_sub_card" />
-
-                <TextView
-                    android:id="@+id/tv_function1"
+                <ImageView
+                    android:id="@+id/iv_sub_ai"
                     android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_generation_times"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@+id/tv_function2"
-                    app:layout_constraintEnd_toEndOf="@id/space_guideline"
-                    app:layout_constraintStart_toEndOf="@+id/space_line_start"
-                    app:layout_constraintTop_toTopOf="@+id/v_sub_line" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:gravity="center"
-                    android:text="3/Day"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function1"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/tv_function1"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function1" />
-
+                    android:layout_height="0dp"
+                    android:src="@drawable/icon_sub_ai"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_bg"
+                    app:layout_constraintDimensionRatio="1:1"
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintHorizontal_bias="0.0805369127516779"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_bg"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_bg"
+                    app:layout_constraintVertical_bias="0.1329113924050633"
+                    app:layout_constraintWidth_percent="0.0833333333333333" />
 
-                <TextView
-                    android:id="@+id/tv_function2"
+                <ImageView
                     android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_quantity"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@+id/tv_function3"
-                    app:layout_constraintEnd_toEndOf="@id/space_guideline"
-                    app:layout_constraintStart_toStartOf="@+id/tv_function1"
-                    app:layout_constraintTop_toBottomOf="@id/tv_function1" />
+                    android:layout_height="0dp"
+                    android:src="@drawable/icon_sub_goods_selected"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_ai"
+                    app:layout_constraintDimensionRatio="1:1"
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintHorizontal_bias="0.9342105263157895"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_bg"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_ai"
+                    app:layout_constraintWidth_percent="0.0666666666666667" />
 
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:gravity="center"
-                    android:text="5"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function2"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/tv_function2"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function2" />
-
-                <TextView
-                    android:id="@+id/tv_function3"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_clone_voice"
+                    android:layout_marginStart="17dp"
+                    android:text="@string/sub_ultra_realistic"
                     android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@+id/tv_function4"
-                    app:layout_constraintEnd_toEndOf="@id/space_guideline"
-                    app:layout_constraintStart_toStartOf="@+id/tv_function1"
-                    app:layout_constraintTop_toBottomOf="@id/tv_function2" />
+                    android:textSize="15sp"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_ai"
+                    app:layout_constraintStart_toEndOf="@+id/iv_sub_ai"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_ai" />
 
-                <View
+                <ImageView
+                    android:id="@+id/iv_sub_multilingual"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
-                    android:background="@drawable/bg_sub_no"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function3"
-                    app:layout_constraintDimensionRatio="15:3"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/tv_function3"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function3"
-                    app:layout_constraintWidth_percent="0.0416666666666667" />
+                    android:src="@drawable/icon_sub_multilingual"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_bg"
+                    app:layout_constraintDimensionRatio="1:1"
+                    app:layout_constraintStart_toStartOf="@id/iv_sub_ai"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_bg"
+                    app:layout_constraintWidth_percent="0.0833333333333333" />
 
                 <TextView
-                    android:id="@+id/tv_function4"
-                    android:layout_width="0dp"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:text="@string/sub_faster_processing"
+                    android:layout_marginStart="17dp"
+                    android:text="@string/sub_multiple_languages"
                     android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toTopOf="@+id/tv_function5"
-                    app:layout_constraintEnd_toEndOf="@id/space_guideline"
-                    app:layout_constraintStart_toStartOf="@+id/tv_function1"
-                    app:layout_constraintTop_toBottomOf="@id/tv_function3" />
-
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:background="@drawable/bg_sub_no"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function4"
-                    app:layout_constraintDimensionRatio="15:3"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/tv_function4"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function4"
-                    app:layout_constraintWidth_percent="0.0416666666666667" />
-
-                <TextView
-                    android:id="@+id/tv_function5"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_remove_ads"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@id/v_sub_card"
-                    app:layout_constraintEnd_toEndOf="@id/space_guideline"
-                    app:layout_constraintStart_toStartOf="@+id/tv_function1"
-                    app:layout_constraintTop_toBottomOf="@id/tv_function4" />
-
-
-                <View
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:background="@drawable/bg_sub_no"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function5"
-                    app:layout_constraintDimensionRatio="15:3"
-                    app:layout_constraintEnd_toStartOf="@id/iv_sub"
-                    app:layout_constraintStart_toEndOf="@+id/tv_function5"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function5"
-                    app:layout_constraintWidth_percent="0.0416666666666667" />
-
-                <Space
-                    android:id="@+id/space_guideline"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintStart_toStartOf="@+id/v_sub_card"
-                    app:layout_constraintTop_toTopOf="@+id/v_sub_card"
-                    app:layout_constraintWidth_percent="0.45" />
-
-                <Space
-                    android:id="@+id/space_line_start"
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    app:layout_constraintStart_toStartOf="@+id/v_sub_card"
-                    app:layout_constraintTop_toTopOf="@+id/v_sub_card"
-                    app:layout_constraintWidth_percent="0.0777777777777778" />
-
+                    android:textSize="15sp"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_multilingual"
+                    app:layout_constraintStart_toEndOf="@+id/iv_sub_multilingual"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_multilingual" />
 
                 <ImageView
-                    android:id="@+id/iv_sub"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
-                    android:layout_marginEnd="16dp"
-                    android:src="@drawable/bg_sub_rectangle"
-                    app:layout_constraintDimensionRatio="291:849"
-                    app:layout_constraintEnd_toEndOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/space2"
-                    app:layout_constraintWidth_percent="0.2694444444444444" />
+                    android:src="@drawable/icon_sub_goods_selected"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_multilingual"
+                    app:layout_constraintDimensionRatio="1:1"
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintHorizontal_bias="0.9342105263157895"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_multilingual"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_multilingual"
+                    app:layout_constraintWidth_percent="0.0666666666666667" />
 
                 <ImageView
-                    android:id="@+id/iv_vip"
+                    android:id="@+id/iv_sub_voice_download"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
-                    android:src="@drawable/icon_total_integration"
-                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub"
+                    android:src="@drawable/icon_sub_voice_download"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_bg"
                     app:layout_constraintDimensionRatio="1:1"
-                    app:layout_constraintHorizontal_chainStyle="packed"
-                    app:layout_constraintLeft_toLeftOf="@+id/iv_sub"
-                    app:layout_constraintRight_toLeftOf="@+id/tv_sub_pro"
-                    app:layout_constraintTop_toTopOf="@+id/iv_sub"
-                    app:layout_constraintVertical_bias="0.060377358490566"
-                    app:layout_constraintWidth_percent="0.05" />
-
-                <TextView
-                    android:id="@+id/tv_sub_pro"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginStart="5dp"
-                    android:text="@string/sub_pro"
-                    android:textColor="@color/colorPrimaryVariant"
-                    android:textSize="16sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/iv_vip"
-                    app:layout_constraintLeft_toRightOf="@+id/iv_vip"
-                    app:layout_constraintRight_toRightOf="@+id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/iv_vip" />
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="@string/sub_unlimited"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function1"
-                    app:layout_constraintEnd_toEndOf="@+id/iv_sub"
-                    app:layout_constraintStart_toStartOf="@id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function1" />
+                    app:layout_constraintStart_toStartOf="@id/iv_sub_ai"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_bg"
+                    app:layout_constraintVertical_bias="0.8670886075949367"
+                    app:layout_constraintWidth_percent="0.0833333333333333" />
 
                 <TextView
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:text="@string/sub_unlimited"
-                    android:textColor="@color/white"
-                    android:textSize="14sp"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function2"
-                    app:layout_constraintEnd_toEndOf="@+id/iv_sub"
-                    app:layout_constraintStart_toStartOf="@id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function2" />
-
-                <ImageView
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:src="@drawable/icon_sub_allow"
+                    android:layout_marginStart="17dp"
+                    android:text="@string/sub_download_voice"
                     android:textColor="@color/white"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function3"
-                    app:layout_constraintDimensionRatio="1:1"
-                    app:layout_constraintEnd_toEndOf="@+id/iv_sub"
-                    app:layout_constraintStart_toStartOf="@id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function3" />
+                    android:textSize="15sp"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_voice_download"
+                    app:layout_constraintStart_toEndOf="@+id/iv_sub_voice_download"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_voice_download" />
 
                 <ImageView
                     android:layout_width="0dp"
                     android:layout_height="0dp"
-                    android:src="@drawable/icon_sub_allow"
-                    android:textColor="@color/white"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function4"
+                    android:src="@drawable/icon_sub_goods_selected"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_sub_voice_download"
                     app:layout_constraintDimensionRatio="1:1"
-                    app:layout_constraintEnd_toEndOf="@+id/iv_sub"
-                    app:layout_constraintStart_toStartOf="@id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function4" />
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintHorizontal_bias="0.9342105263157895"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_voice_download"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_voice_download"
+                    app:layout_constraintWidth_percent="0.0666666666666667" />
 
-                <ImageView
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:src="@drawable/icon_sub_allow"
-                    android:textColor="@color/white"
-                    app:layout_constraintBottom_toBottomOf="@+id/tv_function5"
-                    app:layout_constraintDimensionRatio="1:1"
-                    app:layout_constraintEnd_toEndOf="@+id/iv_sub"
-                    app:layout_constraintStart_toStartOf="@id/iv_sub"
-                    app:layout_constraintTop_toTopOf="@+id/tv_function5" />
+                <View
+                    android:id="@+id/v_sub_divider2"
+                    android:layout_width="match_parent"
+                    android:layout_height="1dp"
+                    android:layout_marginHorizontal="9dp"
+                    android:background="@drawable/bg_sub_line"
+                    app:layout_constraintBottom_toBottomOf="@id/iv_sub_bg"
+                    app:layout_constraintEnd_toEndOf="@+id/iv_sub_bg"
+                    app:layout_constraintStart_toStartOf="@+id/iv_sub_bg"
+                    app:layout_constraintTop_toTopOf="@+id/iv_sub_bg"
+                    app:layout_constraintVertical_bias="0.6542553191489362" />
 
                 <Space
-                    android:id="@+id/space4"
+                    android:id="@+id/space3"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
-                    app:layout_constraintDimensionRatio="360:15"
-                    app:layout_constraintTop_toBottomOf="@id/v_sub_card" />
+                    app:layout_constraintDimensionRatio="360:20"
+                    app:layout_constraintTop_toBottomOf="@+id/iv_sub_bg" />
 
                 <Space
                     android:id="@+id/space_ry_top"
@@ -381,13 +236,13 @@
                     app:layout_constraintTop_toTopOf="@+id/rv_goods_list" />
 
                 <ProgressBar
-                    isGone="@{!subscriptionViewModel.showQuerySubLoading}"
                     android:id="@+id/common_loading_progress"
+                    isGone="@{!subscriptionViewModel.showQuerySubLoading}"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
-                    android:indeterminate="true"
                     android:layout_marginTop="30dp"
-                    android:indeterminateDrawable="@drawable/progress_common_loading"
+                    android:indeterminate="true"
+                    android:indeterminateTint="@color/white30"
                     app:layout_constraintDimensionRatio="1:1"
                     app:layout_constraintEnd_toEndOf="parent"
                     app:layout_constraintStart_toStartOf="parent"
@@ -410,7 +265,7 @@
                     android:layout_height="wrap_content"
                     android:layout_marginHorizontal="16dp"
                     android:overScrollMode="never"
-                    app:layout_constraintTop_toBottomOf="@+id/space4"
+                    app:layout_constraintTop_toBottomOf="@+id/space3"
                     tools:itemCount="3"
                     tools:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
                     tools:listitem="@layout/item_sub_goods_list"
@@ -517,31 +372,14 @@
             android:layout_height="wrap_content"
             android:layout_marginHorizontal="16dp"
             android:layout_marginTop="6dp"
-            android:gravity="center"
-            android:text="@{subscriptionViewModel.autoRenewableText}"
-            android:textColor="@color/white80"
-            android:textSize="12sp"
-            app:layout_constraintBottom_toTopOf="@+id/tv_cancel_txt"
-            app:layout_constraintEnd_toEndOf="@+id/space_sub"
-            app:layout_constraintStart_toStartOf="@+id/space_sub"
-            app:layout_constraintTop_toBottomOf="@+id/tv_sub_now"
-            tools:text="Subscription is auto-renewable." />
-
-
-        <TextView
-            android:id="@+id/tv_cancel_txt"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginHorizontal="16dp"
-            android:gravity="center"
-            android:text="@{subscriptionViewModel.subCancelTxt}"
+            android:text="@string/sub_tips"
             android:textColor="@color/white80"
             android:textSize="12sp"
             app:layout_constraintBottom_toBottomOf="@+id/space_sub"
             app:layout_constraintEnd_toEndOf="@+id/space_sub"
             app:layout_constraintStart_toStartOf="@+id/space_sub"
-            app:layout_constraintTop_toBottomOf="@+id/tv_auto_renewable"
-            tools:text="You can cancel your subscription at any time." />
+            app:layout_constraintTop_toBottomOf="@+id/tv_sub_now" />
+
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>

+ 19 - 19
app/src/main/res/layout/item_sub_goods_list.xml

@@ -59,45 +59,45 @@
             app:layout_constraintTop_toTopOf="@+id/space_top" />
 
 
-        <ImageView
-            android:id="@+id/iv_goods_select"
-            android:layout_width="0dp"
-            android:layout_height="0dp"
-            android:layout_marginStart="16dp"
-            android:src="@{goodsBean.select ? @drawable/icon_sub_goods_selected :@drawable/icon_sub_goods_not_select }"
-            app:layout_constraintBottom_toBottomOf="@+id/v_goods_bg"
-            app:layout_constraintDimensionRatio="1:1"
-            app:layout_constraintStart_toStartOf="@+id/v_goods_bg"
-            app:layout_constraintTop_toTopOf="@+id/v_goods_bg"
-            app:layout_constraintWidth_percent="0.0731707317073171"
-            tools:src="@drawable/icon_sub_goods_selected" />
-
         <TextView
             android:id="@+id/tv_goods_name"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginStart="12dp"
+            android:layout_marginStart="20dp"
             android:text="@{goodsBean.name}"
             android:textColor="@{goodsBean.select ? @color/colorPrimaryVariant : @color/white}"
             android:textSize="20sp"
             android:textStyle="bold"
             app:layout_constraintBottom_toTopOf="@+id/tv_content"
-            app:layout_constraintStart_toEndOf="@+id/iv_goods_select"
-            app:layout_constraintTop_toTopOf="@+id/iv_goods_select"
+            app:layout_constraintStart_toStartOf="@+id/v_goods_bg"
+            app:layout_constraintTop_toTopOf="@+id/v_goods_bg"
             app:layout_constraintVertical_chainStyle="packed"
             tools:text="Yearly"
             tools:textColor="@color/colorPrimaryVariant" />
 
+        <ImageView
+            android:id="@+id/iv_icon"
+            android:layout_width="0dp"
+            android:layout_height="0dp"
+            android:layout_marginStart="1dp"
+            android:src="@drawable/icon_total_integration"
+            app:layout_constraintBottom_toBottomOf="@+id/tv_content"
+            app:layout_constraintDimensionRatio="39:42"
+            app:layout_constraintStart_toStartOf="@+id/tv_goods_name"
+            app:layout_constraintTop_toTopOf="@+id/tv_content"
+            app:layout_constraintWidth_percent="0.0344444444444444" />
+
         <TextView
             android:id="@+id/tv_content"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
+            android:layout_marginStart="5.5dp"
             android:layout_marginTop="4dp"
-            android:text="@{goodsBean.priceContent}"
+            android:text="@{goodsBean.content}"
             android:textColor="@color/white50"
             android:textSize="12sp"
-            app:layout_constraintBottom_toBottomOf="@+id/iv_goods_select"
-            app:layout_constraintStart_toStartOf="@+id/tv_goods_name"
+            app:layout_constraintBottom_toBottomOf="@+id/v_goods_bg"
+            app:layout_constraintStart_toEndOf="@+id/iv_icon"
             app:layout_constraintTop_toBottomOf="@+id/tv_goods_name"
             tools:text="$0.77/week" />
 

+ 5 - 1
app/src/main/res/values/strings.xml

@@ -93,7 +93,7 @@
     <string name="sub_title">&app_name;</string>
     <string name="sub_pro">Pro</string>
     <string name="sub_bar_title">&app_name; PRO</string>
-    <string name="sub_unlock_features">Unlock All Features</string>
+    <string name="sub_unlock_features">Very realistic and easy to use AI voice tool</string>
     <string name="sub_basic">Basic</string>
     <string name="sub_generation_times">Voice AI \ngeneration times</string>
     <string name="sub_quantity">Voice AI quantity</string>
@@ -123,4 +123,8 @@
     <string name="thanks_feedback">Submit success</string>
     <string name="voice_ai_random_txt">Random text</string>
     <string name="setting_get_more">Get More</string>
+    <string name="sub_ultra_realistic">Ultra-realistic AI voice</string>
+    <string name="sub_multiple_languages">Multiple language support</string>
+    <string name="sub_download_voice">High quality audio downloads</string>
+    <string name="sub_tips">-Credits included in subscriptions do not carry over\n-Migration to other devices can be resumed\n-Automatic renewal</string>
 </resources>