Browse Source

商品增加loading

zk 1 năm trước cách đây
mục cha
commit
7eff6ad016

+ 8 - 3
app/src/main/java/com/atmob/voiceai/module/subscription/SubscriptionPageViewModel.java

@@ -5,7 +5,6 @@ import android.os.SystemClock;
 
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.MutableLiveData;
-import androidx.media3.common.C;
 
 import com.android.billingclient.api.BillingClient;
 import com.android.billingclient.api.BillingResult;
@@ -18,7 +17,6 @@ import com.atmob.common.logging.AtmobLog;
 import com.atmob.common.runtime.ActivityUtil;
 import com.atmob.common.runtime.ContextUtil;
 import com.atmob.voiceai.R;
-import com.atmob.voiceai.data.api.AtmobApi;
 import com.atmob.voiceai.data.api.bean.GoodsBean;
 import com.atmob.voiceai.data.api.bean.PayOptionsBean;
 import com.atmob.voiceai.data.api.response.OrderPayResponse;
@@ -41,7 +39,6 @@ import atmob.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
 import atmob.reactivex.rxjava3.annotations.NonNull;
 import atmob.reactivex.rxjava3.core.Observable;
 import atmob.reactivex.rxjava3.core.ObservableSource;
-import atmob.reactivex.rxjava3.core.Single;
 import atmob.reactivex.rxjava3.core.SingleObserver;
 import atmob.reactivex.rxjava3.core.SingleSource;
 import atmob.reactivex.rxjava3.disposables.Disposable;
@@ -57,6 +54,7 @@ public class SubscriptionPageViewModel extends BaseViewModel {
 
     private final String TAG = SubscriptionPageViewModel.class.getSimpleName();
     private final String LAST_BACK_SHOW_RETAIN_TIME = "last_back_show_retain_time";
+    private final MutableLiveData<Boolean> showQuerySubLoading = new MutableLiveData<>();
 
     private final SingleLiveEvent<?> showRetentionDialogEvent = new SingleLiveEvent<>();
     private final SingleLiveEvent<?> finishEvent = new SingleLiveEvent<>();
@@ -83,6 +81,10 @@ public class SubscriptionPageViewModel extends BaseViewModel {
         EventHandler.report(EventId.purchase_001);
     }
 
+    public LiveData<Boolean> getShowQuerySubLoading() {
+        return showQuerySubLoading;
+    }
+
     public LiveData<Pair<Boolean, String>> getShowLoading() {
         return showLoading;
     }
@@ -199,11 +201,13 @@ public class SubscriptionPageViewModel extends BaseViewModel {
                     @Override
                     public void onSubscribe(@NonNull Disposable d) {
                         addDisposable(d);
+                        showQuerySubLoading.setValue(true);
                     }
 
                     @Override
                     public void onSuccess(@NonNull List<GoodsBean> goodsBeanList) {
                         goodsList.setValue(goodsBeanList);
+                        showQuerySubLoading.setValue(false);
                         if (gpBillingClient.isSupportProductDetails()) {
                             EventHandler.report(EventId.playsethigh_001);
                         } else {
@@ -213,6 +217,7 @@ public class SubscriptionPageViewModel extends BaseViewModel {
 
                     @Override
                     public void onError(@NonNull Throwable e) {
+                        showQuerySubLoading.setValue(false);
                         ErrorHelper.errorThrowableToast(e, ToastUtil.LENGTH_SHORT);
                     }
                 });

+ 15 - 0
app/src/main/res/layout/activity_subscription_page.xml

@@ -380,6 +380,21 @@
                     android:layout_height="12.5dp"
                     app:layout_constraintTop_toTopOf="@+id/rv_goods_list" />
 
+                <ProgressBar
+                    isGone="@{!subscriptionViewModel.showQuerySubLoading}"
+                    android:id="@+id/common_loading_progress"
+                    android:layout_width="0dp"
+                    android:layout_height="0dp"
+                    android:indeterminate="true"
+                    android:layout_marginTop="30dp"
+                    android:indeterminateDrawable="@drawable/progress_common_loading"
+                    app:layout_constraintDimensionRatio="1:1"
+                    app:layout_constraintEnd_toEndOf="parent"
+                    app:layout_constraintStart_toStartOf="parent"
+                    app:layout_constraintTop_toBottomOf="@+id/space_ry_top"
+                    app:layout_constraintVertical_chainStyle="packed"
+                    app:layout_constraintWidth_percent="0.0916666666666667" />
+
                 <View
                     android:layout_width="0dp"
                     android:layout_height="0dp"