zk 1 سال پیش
والد
کامیت
11c377a5e9

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

@@ -57,6 +57,7 @@ public class VoiceAIViewModel extends BaseViewModel {
     private final VoiceAIRepository voiceAIRepository;
 
 
+    private final MutableLiveData<Boolean> showQueryLoading = new MutableLiveData<>(true);
     private final MutableLiveData<List<TypeListBean>> voiceTypeList = new MutableLiveData<>();
     private final MutableLiveData<Pair<List<VoiceListBean>, VoiceListBean>> voiceDetailList = new MutableLiveData<>();
     private final MemberRepository memberRepository;
@@ -99,6 +100,9 @@ public class VoiceAIViewModel extends BaseViewModel {
         iniVoiceAI();
     }
 
+    public LiveData<Boolean> getShowQueryLoading() {
+        return showQueryLoading;
+    }
 
     public LiveData<Integer> getScrollToTabPosition() {
         return scrollToTabPosition;
@@ -314,6 +318,7 @@ public class VoiceAIViewModel extends BaseViewModel {
 
             @Override
             public void onSuccess(@NonNull VoiceListResponse voiceListResponse) {
+                showQueryLoading.setValue(false);
                 List<VoiceListBean> voiceList = voiceListResponse.getVoiceList();
                 if (voiceList == null) {
                     voiceList = new ArrayList<>();
@@ -341,6 +346,7 @@ public class VoiceAIViewModel extends BaseViewModel {
 
             @Override
             public void onError(@NonNull Throwable e) {
+                showQueryLoading.setValue(false);
                 ErrorHelper.errorThrowableToast(e, ToastUtil.LENGTH_SHORT);
             }
         });

+ 20 - 5
app/src/main/res/layout/fragment_voice_ai.xml

@@ -47,12 +47,12 @@
                 app:layout_constraintTop_toBottomOf="@+id/v_status_bar" />
 
             <View
-                android:onClick="@{()-> voiceAIViewModel.onGoSubscriptionClick()}"
                 android:id="@+id/v_vip_bg"
                 android:layout_width="0dp"
                 android:layout_height="0dp"
                 android:layout_marginStart="@dimen/app_common_page_horizontal_padding"
                 android:background="@drawable/bg_voice_ai_vip"
+                android:onClick="@{()-> voiceAIViewModel.onGoSubscriptionClick()}"
                 app:layout_constraintBottom_toBottomOf="@+id/v_tool_bar"
                 app:layout_constraintDimensionRatio="58:28"
                 app:layout_constraintStart_toStartOf="@+id/v_tool_bar"
@@ -98,10 +98,10 @@
                 app:layout_constraintTop_toTopOf="@+id/v_tool_bar" />
 
             <ImageView
-                android:onClick="@{()-> voiceAIViewModel.onSettingClick()}"
                 android:layout_width="0dp"
                 android:layout_height="0dp"
                 android:layout_marginEnd="@dimen/app_common_page_horizontal_padding"
+                android:onClick="@{()-> voiceAIViewModel.onSettingClick()}"
                 android:src="@drawable/icon_voice_ai_menu"
                 app:layout_constraintBottom_toBottomOf="@+id/v_tool_bar"
                 app:layout_constraintDimensionRatio="1:1"
@@ -123,13 +123,13 @@
                     app:layout_constraintTop_toTopOf="parent" />
 
                 <View
-                    android:onClick="@{()-> voiceAIViewModel.onGetMoreClick()}"
                     android:id="@+id/v_free_get_bg"
                     android:layout_width="match_parent"
                     android:layout_height="0dp"
                     android:layout_marginHorizontal="@dimen/app_common_page_horizontal_padding"
                     android:alpha="0.1"
                     android:background="@drawable/bg_voice_ai_free"
+                    android:onClick="@{()-> voiceAIViewModel.onGetMoreClick()}"
                     app:layout_constraintDimensionRatio="336:36"
                     app:layout_constraintTop_toBottomOf="@+id/space1" />
 
@@ -309,6 +309,7 @@
             android:layout_height="0dp"
             android:layout_weight="1">
 
+
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/ry_voice_view"
                 android:layout_width="match_parent"
@@ -316,13 +317,27 @@
                 android:layout_marginTop="16dp"
                 android:fadingEdge="vertical"
                 android:fadingEdgeLength="10dp"
-                android:requiresFadingEdge="vertical"
                 android:paddingHorizontal="@dimen/app_common_page_horizontal_padding"
+                android:requiresFadingEdge="vertical"
                 tools:itemCount="10"
                 tools:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
                 tools:listitem="@layout/item_voice_ai_list"
                 tools:spanCount="4" />
 
+
+            <ProgressBar
+                android:id="@+id/common_loading_progress"
+                isGone="@{!voiceAIViewModel.showQueryLoading}"
+                android:layout_width="40dp"
+                android:layout_height="40dp"
+                android:layout_centerHorizontal="true"
+                android:layout_marginTop="40dp"
+                android:indeterminate="true"
+                android:indeterminateTint="@color/white30"
+                app:layout_constraintDimensionRatio="1:1"
+                app:layout_constraintVertical_chainStyle="packed"
+                app:layout_constraintWidth_percent="0.0916666666666667" />
+
             <androidx.constraintlayout.widget.ConstraintLayout
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -347,8 +362,8 @@
                     app:layout_constraintTop_toTopOf="@+id/v_generate" />
 
                 <ImageView
-                    isGone="@{voiceAIViewModel.isMember()}"
                     android:id="@+id/iv_ad"
+                    isGone="@{voiceAIViewModel.isMember()}"
                     android:layout_width="0dp"
                     android:layout_height="0dp"
                     android:src="@drawable/icon_ad_film"

+ 2 - 2
build.gradle

@@ -6,8 +6,8 @@ buildscript {
         minSdkVersion = 21
         targetSdkVersion = 33
 
-        versionCode = 102
-        versionName = "1.0.2"
+        versionCode = 103
+        versionName = "1.0.3"
 
         hilt_version = '2.41'
         lifecycle_version = "2.6.1"