Bläddra i källkod

调整设置页获取积分跳转

zk 1 år sedan
förälder
incheckning
48deea7f25

+ 10 - 2
app/src/main/java/com/atmob/voiceai/data/repositories/MemberRepository.java

@@ -10,6 +10,7 @@ import com.android.billingclient.api.BillingClient;
 import com.android.billingclient.api.Purchase;
 import com.atmob.app.lib.handler.RxHttpHandler;
 import com.atmob.common.logging.AtmobLog;
+import com.atmob.common.runtime.ActivityUtil;
 import com.atmob.common.runtime.ContextUtil;
 import com.atmob.voiceai.data.api.AtmobApi;
 import com.atmob.voiceai.data.api.bean.MemberInfoBean;
@@ -153,6 +154,13 @@ public class MemberRepository {
                 .doOnTerminate(this::refreshUserData);
     }
 
+    public void goGetIntegral() {
+        if (BoxingUtil.boxing(isMember.getValue())) {
+            InternalPurchaseActivity.start(ActivityUtil.getTopActivity());
+        } else {
+            SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
+        }
+    }
 
     public void consumptionIntegral(int integral, @NonNull Runnable runnable) {
         //积分是否足够
@@ -167,9 +175,9 @@ public class MemberRepository {
             refreshUserData();
         }
         if (BoxingUtil.boxing(isMember.getValue())) {
-            InternalPurchaseActivity.start(ContextUtil.getContext());
+            InternalPurchaseActivity.start(ActivityUtil.getTopActivity());
         } else {
-            SubscriptionPageActivity.start(ContextUtil.getContext());
+            SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
         }
     }
 

+ 2 - 2
app/src/main/java/com/atmob/voiceai/module/clonevoice/CloneVoiceViewModel.java

@@ -315,8 +315,8 @@ public class CloneVoiceViewModel extends BaseViewModel {
         });
     }
 
-    public void onGoSubscriptionClick() {
-        SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
+    public void onGoGetIntegralClick() {
+        memberRepository.goGetIntegral();
     }
 
     public void onSettingClick() {

+ 2 - 2
app/src/main/java/com/atmob/voiceai/module/history/HistoryViewModel.java

@@ -51,8 +51,8 @@ public class HistoryViewModel extends BaseViewModel {
     }
 
 
-    public void onGoSubscriptionClick() {
-        SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
+    public void onGoGetIntegralClick() {
+        memberRepository.goGetIntegral();
     }
 
     public void onHistoryItemClick(@NonNull UserVoiceBean cloneHistoryBean) {

+ 8 - 8
app/src/main/java/com/atmob/voiceai/module/setting/SettingViewModel.java

@@ -34,16 +34,20 @@ public class SettingViewModel extends BaseViewModel {
     private final MutableLiveData<Boolean> isHideScoring = new MutableLiveData<>();
     private final SingleLiveEvent<?> showScoringEvent = new SingleLiveEvent<>();
     private final MutableLiveData<String> versionName = new MutableLiveData<>();
-    private final MutableLiveData<String> proName = new MutableLiveData<>();
+    private final MemberRepository memberRepository;
 
     @Inject
-    public SettingViewModel() {
+    public SettingViewModel(MemberRepository memberRepository) {
+        this.memberRepository = memberRepository;
         Context context = ContextUtil.getContext();
         versionName.setValue(context.getString(R.string.version_name, SystemUtil.getVersionName(context)));
-        proName.setValue(context.getString(R.string.setting_app_name_pro, context.getString(R.string.app_name)));
         isHideScoring.setValue(ScoringUtils.isHideScoring());
     }
 
+    public LiveData<Integer> getCredit() {
+        return memberRepository.getCredit();
+    }
+
     public LiveData<Boolean> getIsHideScoring() {
         return isHideScoring;
     }
@@ -52,10 +56,6 @@ public class SettingViewModel extends BaseViewModel {
         return showScoringEvent;
     }
 
-    public LiveData<String> getProName() {
-        return proName;
-    }
-
 
     public LiveData<String> getVersionName() {
         return versionName;
@@ -68,7 +68,7 @@ public class SettingViewModel extends BaseViewModel {
 
     public void onSettingProClick() {
         EventHandler.report(EventId.settingpro_001);
-        SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
+        memberRepository.goGetIntegral();
     }
 
     public void onRateClick() {

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

@@ -353,7 +353,7 @@ public class VoiceAIViewModel extends BaseViewModel {
 
     public void onGoSubscriptionClick() {
         EventHandler.report(EventId.homeprobutton_001);
-        SubscriptionPageActivity.start(ActivityUtil.getTopActivity());
+        memberRepository.goGetIntegral();
     }
 
     public void onRandomTxtClick() {

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


+ 1 - 1
app/src/main/res/layout/fragment_clone_voice.xml

@@ -770,7 +770,7 @@
             android:layout_height="0dp"
             android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
             android:background="@drawable/bg_voice_ai_vip"
-            android:onClick="@{()-> cloneVoiceViewModel.onGoSubscriptionClick()}"
+            android:onClick="@{()-> cloneVoiceViewModel.onGoGetIntegralClick()}"
             app:layout_constraintBottom_toBottomOf="@+id/v_menu"
             app:layout_constraintDimensionRatio="80:28"
             app:layout_constraintStart_toStartOf="@+id/v_menu"

+ 1 - 1
app/src/main/res/layout/fragment_history.xml

@@ -46,7 +46,7 @@
             android:layout_height="0dp"
             android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
             android:background="@drawable/bg_voice_ai_vip"
-            android:onClick="@{()-> historyViewModel.onGoSubscriptionClick()}"
+            android:onClick="@{()-> historyViewModel.onGoGetIntegralClick()}"
             app:layout_constraintBottom_toBottomOf="@+id/v_tool_bar"
             app:layout_constraintDimensionRatio="80:28"
             app:layout_constraintStart_toStartOf="@+id/v_tool_bar"

+ 32 - 7
app/src/main/res/layout/setting_activity.xml

@@ -21,6 +21,7 @@
             app:layout_constraintDimensionRatio="1080:2400"
             app:layout_constraintTop_toTopOf="parent" />
 
+
         <androidx.appcompat.widget.Toolbar
             android:id="@+id/toolbar"
             android:layout_width="match_parent"
@@ -73,31 +74,55 @@
             app:layout_constraintDimensionRatio="312:60"
             app:layout_constraintTop_toBottomOf="@id/space2" />
 
+        <ImageView
+            app:layout_constraintWidth_percent="0.0541666666666667"
+            android:id="@+id/iv_consumption_integration"
+            app:layout_constraintTop_toTopOf="@+id/view_setting_pro"
+            app:layout_constraintLeft_toLeftOf="@+id/view_setting_pro"
+            app:layout_constraintBottom_toBottomOf="@+id/view_setting_pro"
+            android:layout_marginStart="15dp"
+            app:layout_constraintDimensionRatio="59:71"
+            android:src="@drawable/icon_voice_consumption_integration"
+            android:layout_width="0dp"
+            android:layout_height="0dp" />
+
         <TextView
-            tools:text="Funny Voice AI Pro"
-            android:text="@{settingViewModel.proName}"
+            app:layout_constraintStart_toEndOf="@+id/iv_consumption_integration"
+            android:text="@{String.valueOf(settingViewModel.credit)}"
+            tools:text="10000"
             android:id="@+id/tv_setting_pro"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginStart="20dp"
+            android:layout_marginStart="5dp"
             android:textColor="@color/colorPrimary"
             android:textSize="17sp"
             android:textStyle="bold"
             app:layout_constraintBottom_toBottomOf="@+id/view_setting_pro"
-            app:layout_constraintStart_toStartOf="@+id/view_setting_pro"
             app:layout_constraintTop_toTopOf="@+id/view_setting_pro" />
 
         <ImageView
             android:id="@+id/iv_setting_pro_arrow"
             android:layout_width="0dp"
             android:layout_height="0dp"
-            android:layout_marginEnd="20dp"
+            android:layout_marginEnd="18dp"
             android:src="@drawable/icon_setting_pro_arrow"
             app:layout_constraintBottom_toBottomOf="@+id/view_setting_pro"
-            app:layout_constraintDimensionRatio="1:1"
+            app:layout_constraintDimensionRatio="21:30"
             app:layout_constraintEnd_toEndOf="@+id/view_setting_pro"
             app:layout_constraintTop_toTopOf="@+id/view_setting_pro"
-            app:layout_constraintWidth_percent="0.1" />
+            app:layout_constraintWidth_percent="0.0138888888888889" />
+
+        <TextView
+            android:layout_marginEnd="9dp"
+            android:textSize="14sp"
+            android:textStyle="bold"
+            app:layout_constraintTop_toTopOf="@+id/iv_setting_pro_arrow"
+            android:textColor="@color/colorPrimary"
+            app:layout_constraintBottom_toBottomOf="@+id/iv_setting_pro_arrow"
+            app:layout_constraintEnd_toStartOf="@+id/iv_setting_pro_arrow"
+            android:text="@string/setting_get_more"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content" />
 
         <Space
             android:id="@+id/space3"

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

@@ -122,4 +122,5 @@
     <string name="scoring_advice_hint">Enter your advice</string>
     <string name="thanks_feedback">Submit success</string>
     <string name="voice_ai_random_txt">Random text</string>
+    <string name="setting_get_more">Get More</string>
 </resources>