Просмотр исходного кода

Change loading dialog for progress meter.

pull/24/head
Mushegh Sahakyan 4 лет назад
Родитель
Сommit
7d007adfca
5 измененных файлов: 59 добавлений и 24 удалений
  1. +14
    -7
      ui/src/main/java/com/getbubblenow/android/fragment/ProgressLoadingDialogFragment.java
  2. +3
    -2
      ui/src/main/java/com/getbubblenow/android/repository/DataRepository.java
  3. +40
    -15
      ui/src/main/res/layout/progress_loading_dialog.xml
  4. +1
    -0
      ui/src/main/res/raw/progress_loading.json
  5. +1
    -0
      ui/src/main/res/values/colors.xml

+ 14
- 7
ui/src/main/java/com/getbubblenow/android/fragment/ProgressLoadingDialogFragment.java Просмотреть файл

@@ -7,9 +7,9 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ProgressBar;
import android.widget.TextView;

import com.airbnb.lottie.LottieAnimationView;
import com.getbubblenow.android.R;
import com.getbubblenow.android.activity.BaseActivityBubble;
import com.getbubblenow.android.repository.DataRepository;
@@ -22,9 +22,9 @@ import androidx.lifecycle.ViewModelProvider;

public class ProgressLoadingDialogFragment extends DialogFragment implements DataRepository.NetworkProgressStatusInterface {

private ProgressBar progressLoading;
private ProgressLoadingViewModel progressLoadingViewModel;
private TextView progressTitle;
private LottieAnimationView lottieAnimationView;

public static ProgressLoadingDialogFragment newInstance() {
ProgressLoadingDialogFragment fragment = new ProgressLoadingDialogFragment();
@@ -36,7 +36,7 @@ public class ProgressLoadingDialogFragment extends DialogFragment implements Dat
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
final Dialog dialog = new Dialog(getActivity(), getTheme()) {
final Dialog dialog = new Dialog(getActivity(), android.R.style.Theme_DeviceDefault_Light_NoActionBar_Fullscreen) {
@Override
public void onBackPressed() {
if (getActivity().getSupportFragmentManager().findFragmentByTag(BaseActivityBubble.PROGRESS_TAG) != null) {
@@ -60,7 +60,7 @@ public class ProgressLoadingDialogFragment extends DialogFragment implements Dat
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
progressLoadingViewModel = new ViewModelProvider(this).get(ProgressLoadingViewModel.class);
progressLoading = view.findViewById(R.id.network_progress);
lottieAnimationView = view.findViewById(R.id.network_progress);
progressTitle = view.findViewById(R.id.progress_title);
progressLoadingViewModel.setNetworkProgressStateInterface(this);
}
@@ -69,8 +69,15 @@ public class ProgressLoadingDialogFragment extends DialogFragment implements Dat
super.onCreate(savedInstanceState);
}

@Override public void setProgress(final long percent, final String progressTitle) {
progressLoading.setProgress(Integer.parseInt(String.valueOf(percent)));
this.progressTitle.setText(percent+":"+progressTitle);
@Override public void setProgress(long percent) {
final long textProgress = percent;
if(percent%10>=5){
percent = percent + 10 - (percent%10);
}
else {
percent -= (percent % 10);
}
lottieAnimationView.setProgress(percent/100f);
progressTitle.setText(textProgress+"%");
}
}

+ 3
- 2
ui/src/main/java/com/getbubblenow/android/repository/DataRepository.java Просмотреть файл

@@ -185,6 +185,7 @@ public class DataRepository {
}
}
if(networkStatus.get(indexNetworkState).getPercent()==100){
networkProgressStatusInterface.setProgress(networkStatus.get(indexNetworkState).getPercent());
Disposable getNodeBaseURIDisposable = clientApi.getNodeBaseURI(header)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
@@ -208,7 +209,7 @@ public class DataRepository {
compositeDisposable.add(getNodeBaseURIDisposable);
}
else {
networkProgressStatusInterface.setProgress(networkStatus.get(indexNetworkState).getPercent(),networkStatus.get(indexNetworkState).getMessageKey());
networkProgressStatusInterface.setProgress(networkStatus.get(indexNetworkState).getPercent());
}
}
},throwable -> {
@@ -745,7 +746,7 @@ public class DataRepository {
// UtilKt.deleteTunnel(tunnels);
}
public interface NetworkProgressStatusInterface {
void setProgress(long percent, String progressTitle);
void setProgress(long percent);
}

public interface ShowNetworkProgressInterface {


+ 40
- 15
ui/src/main/res/layout/progress_loading_dialog.xml Просмотреть файл

@@ -1,29 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:gravity="center_vertical"
android:background="@android:color/transparent">
android:background="@color/background_progress">

<ProgressBar
android:layout_gravity="center_horizontal"
android:background="@android:color/transparent"
<com.airbnb.lottie.LottieAnimationView
android:id="@+id/network_progress"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="200dp"
android:layout_height="wrap_content" />
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_marginStart="@dimen/margin_start_and_end"
android:layout_marginEnd="@dimen/margin_start_and_end"
android:background="@android:color/transparent"
android:backgroundTint="@android:color/transparent"
android:foregroundGravity="center_horizontal"
app:layout_constraintBottom_toBottomOf="@+id/progress_constraints"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/progress_constraints"
app:lottie_rawRes="@raw/progress_loading" />

<TextView
android:id="@+id/progress_title"
android:paddingTop="20dp"
android:textColor="@color/white"
android:textSize="16sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
/>
android:layout_marginStart="@dimen/margin_start_and_end"
android:layout_marginTop="250dp"
android:layout_marginEnd="@dimen/margin_start_and_end"
android:fontFamily="@font/lato"
android:paddingTop="10dp"
android:textColor="@android:color/black"
android:textStyle="bold"
android:textSize="@dimen/myBubble_text_size"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/network_progress" />

<androidx.constraintlayout.widget.Constraints
android:id="@+id/progress_constraints"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_start_and_end"
android:layout_marginTop="@dimen/margin_start_and_end"
android:layout_marginEnd="@dimen/margin_start_and_end"
android:layout_marginBottom="@dimen/margin_start_and_end"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

+ 1
- 0
ui/src/main/res/raw/progress_loading.json
Разница между файлами не показана из-за своего большого размера
Просмотреть файл


+ 1
- 0
ui/src/main/res/values/colors.xml Просмотреть файл

@@ -44,4 +44,5 @@
<color name="sign_in_enable_end_color">#C037C0</color>
<color name="toast_color">#4E4E4E</color>
<color name="logout">#159F97</color>
<color name="background_progress">#F7F8FC</color>
</resources>

Загрузка…
Отмена
Сохранить