@@ -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+"%"); | |||
} | |||
} |
@@ -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 { | |||
@@ -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> |
@@ -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> |