Browse Source

Pop dialog icon animation added

master
Preyea Regmi 5 years ago
parent
commit
87ea6fb706
  1. 4
      .idea/assetWizardSettings.xml
  2. BIN
      .idea/caches/build_file_checksums.ser
  3. 42
      app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java
  4. 26
      app/src/main/res/drawable/avd_fail_transition.xml
  5. 24
      app/src/main/res/drawable/avd_success_transition.xml
  6. 13
      app/src/main/res/drawable/vd_alert_ico.xml
  7. 14
      app/src/main/res/drawable/vd_fail_ico.xml
  8. 12
      app/src/main/res/drawable/vd_success_ico.xml
  9. 8
      app/src/main/res/layout/dialog_common_error.xml

4
.idea/assetWizardSettings.xml

@ -19,8 +19,8 @@
<option name="values">
<map>
<entry key="assetSourceType" value="FILE" />
<entry key="outputName" value="ic_ico_contact" />
<entry key="sourceFile" value="$USER_HOME$/Desktop/ico_contact.svg" />
<entry key="outputName" value="vd_alert_ico" />
<entry key="sourceFile" value="$USER_HOME$/Desktop/alert.svg" />
</map>
</option>
</PersistentState>

BIN
.idea/caches/build_file_checksums.ser

42
app/src/main/java/com/gmeremit/online/gmeremittance_native/customwidgets/CustomAlertDialog.java

@ -3,6 +3,8 @@ package com.gmeremit.online.gmeremittance_native.customwidgets;
import android.app.Dialog;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.graphics.drawable.AnimatedVectorDrawableCompat;
import android.support.graphics.drawable.VectorDrawableCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.view.View;
@ -26,6 +28,8 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
private String positiveBtnString = null;
private String negativeBtnString = null;
private AnimatedVectorDrawableCompat logo;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
@ -36,56 +40,62 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
TextView dialogDescriptionTxt = dialogView.findViewById(R.id.txt_dialog_message);
TextView dialogOkButtonTxt = dialogView.findViewById(R.id.btn_diaog_ok);
TextView dialogCancelButtonTxt = dialogView.findViewById(R.id.btn_diaog_cancel);
if (positiveBtnString != null)
dialogOkButtonTxt.setText(positiveBtnString);
if (negativeBtnString != null) {
dialogCancelButtonTxt.setText(negativeBtnString);
dialogCancelButtonTxt.setVisibility(View.VISIBLE);
}
builder.setView(dialogView);
setCancelable(false);
dialogDescriptionTxt.setText(descriptionString);
logo = null;
switch (alertType) {
case ALERT:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.alert));
dialogTitleTxt.setText(getString(R.string.important_text));
imgStatusImgView.setImageDrawable(VectorDrawableCompat.create(getActivity().getResources(),R.drawable.vd_alert_ico,getActivity().getTheme()));
break;
case FAILED:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.error));
String walletNumber = GmeApplication.getStorage().getString(PrefKeys.USER_WALLET_NUMBER, "");
String message = getString(R.string.error_text);
if (walletNumber.length()>0)
if (walletNumber.length() > 0)
message += " - (" + walletNumber + ")";
dialogTitleTxt.setText(message);
logo=AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_success_transition);
break;
case BAD_REQUEST:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.server_errror));
dialogTitleTxt.setText(getString(R.string.operation_failed_text));
logo = AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_fail_transition);
break;
case NO_INTERNET:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.no_internet));
dialogTitleTxt.setText(getString(R.string.connection_failed_text));
logo = AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_fail_transition);
break;
case SUCCESS:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.correct));
dialogTitleTxt.setText(getString(R.string.success_text));
logo = AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_success_transition);
break;
case ALERT_RETRY:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.alert));
dialogTitleTxt.setText(getString(R.string.important_text));
dialogTitleTxt.setText(getString(R.string.error_text));
dialogOkButtonTxt.setText(getString(R.string.retry_text));
logo = AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_fail_transition);
break;
default:
imgStatusImgView.setImageDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.error));
dialogTitleTxt.setText(getString(R.string.error_text));
logo = AnimatedVectorDrawableCompat.create(getActivity(), R.drawable.avd_fail_transition);
break;
}
if (logo != null)
imgStatusImgView.setImageDrawable(logo);
dialogOkButtonTxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -121,6 +131,14 @@ public class CustomAlertDialog extends android.support.v4.app.DialogFragment {
}
@Override
public void onStart() {
super.onStart();
if (logo != null && !logo.isRunning()) {
logo.start();
}
}
@Override
public void onDestroyView() {
super.onDestroyView();

26
app/src/main/res/drawable/avd_fail_transition.xml

@ -7,21 +7,21 @@
<set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="350"
android:duration="250"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom=".3"
android:valueTo="2.0"
android:valueType="floatType"/>
<objectAnimator
android:duration="300"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="2.0"
android:valueTo="1.35"
android:valueType="floatType"/>
<objectAnimator
android:duration="250"
android:duration="150"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="1.35"
@ -30,21 +30,21 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="350"
android:duration="250"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom=".3"
android:valueTo="2.0"
android:valueType="floatType"/>
<objectAnimator
android:duration="300"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="2.0"
android:valueTo="1.35"
android:valueType="floatType"/>
<objectAnimator
android:duration="250"
android:duration="150"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="1.35"
@ -60,7 +60,7 @@
<set android:ordering="sequentially"
>
<objectAnimator
android:duration="1000"
android:duration="700"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="0"
@ -70,7 +70,7 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="1000"
android:duration="700"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="0"
@ -93,7 +93,7 @@
android:valueTo="0"
android:valueType="floatType"/>
<objectAnimator
android:startOffset="650"
android:startOffset="450"
android:duration="350"
android:interpolator="@interpolator/fingerprint_on_0"
android:propertyName="trimPathEnd"
@ -107,14 +107,14 @@
<aapt:attr name="android:animation">
<set android:ordering="sequentially">
<objectAnimator
android:duration="333"
android:duration="33"
android:interpolator="@android:interpolator/linear"
android:propertyName="trimPathEnd"
android:valueFrom="0"
android:valueTo="0"
android:valueType="floatType"/>
<objectAnimator
android:startOffset="650"
android:startOffset="750"
android:duration="350"
android:interpolator="@interpolator/fingerprint_on_0"
android:propertyName="trimPathEnd"
@ -130,7 +130,7 @@
<set>
<set android:ordering="sequentially">
<objectAnimator
android:startOffset="1200"
android:startOffset="900"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
@ -148,7 +148,7 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:startOffset="1200"
android:startOffset="900"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"

24
app/src/main/res/drawable/avd_success_transition.xml

@ -7,21 +7,21 @@
<set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="350"
android:duration="250"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom=".3"
android:valueTo="2.0"
android:valueType="floatType"/>
<objectAnimator
android:duration="300"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="2.0"
android:valueTo="1.35"
android:valueType="floatType"/>
<objectAnimator
android:duration="250"
android:duration="150"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="1.35"
@ -30,21 +30,21 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="350"
android:duration="250"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom=".3"
android:valueTo="2.0"
android:valueType="floatType"/>
<objectAnimator
android:duration="300"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="2.0"
android:valueTo="1.35"
android:valueType="floatType"/>
<objectAnimator
android:duration="250"
android:duration="150"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="1.35"
@ -60,7 +60,7 @@
<set android:ordering="sequentially"
>
<objectAnimator
android:duration="1000"
android:duration="700"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
android:valueFrom="0"
@ -70,7 +70,7 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:duration="1000"
android:duration="700"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"
android:valueFrom="0"
@ -95,8 +95,8 @@
android:valueTo="0"
android:valueType="floatType"/>
<objectAnimator
android:startOffset="650"
android:duration="500"
android:startOffset="500"
android:duration="400"
android:interpolator="@interpolator/fingerprint_on_0"
android:propertyName="trimPathEnd"
android:valueFrom="0.0"
@ -111,7 +111,7 @@
<set>
<set android:ordering="sequentially">
<objectAnimator
android:startOffset="1200"
android:startOffset="1000"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleX"
@ -129,7 +129,7 @@
</set>
<set android:ordering="sequentially">
<objectAnimator
android:startOffset="1200"
android:startOffset="1000"
android:duration="200"
android:interpolator="@android:interpolator/fast_out_slow_in"
android:propertyName="scaleY"

13
app/src/main/res/drawable/vd_alert_ico.xml

@ -0,0 +1,13 @@
<vector android:height="@dimen/_56sdp" android:viewportHeight="1980"
android:viewportWidth="1850" android:width="@dimen/_55sdp" xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:translateX="100"
>
<path android:fillColor="#ec1c24"
android:pathData="M685,1654c-162,-26 -343,-123 -461,-246 -148,-153 -224,-346 -224,-568 0,-374 227,-678 590,-792 65,-20 96,-23 225,-23 130,0 160,3 225,23 157,50 265,117 373,231 219,233 281,578 157,882 -66,162 -209,319 -366,401 -137,71 -206,89 -359,93 -71,2 -143,1 -160,-1zM1007,1445c318,-100 505,-438 423,-760 -62,-241 -253,-421 -499,-471 -306,-61 -627,133 -722,436 -81,258 18,548 239,707 166,119 364,150 559,88z" android:strokeColor="#00000000"/>
<path android:fillColor="#ec1c24"
android:pathData="M755,1235c-35,-34 -35,-96 0,-130 37,-38 95,-35 129,6 35,41 34,83 -3,120 -38,38 -91,40 -126,4z" android:strokeColor="#00000000"/>
<path android:fillColor="#ec1c24"
android:pathData="M774,1026c-51,-23 -55,-47 -52,-315l3,-243 28,-24c58,-49 138,-19 152,58 4,19 5,134 3,256 -3,221 -3,222 -28,246 -32,32 -67,39 -106,22z" android:strokeColor="#00000000"/>
</group>
</vector>

14
app/src/main/res/drawable/vd_fail_ico.xml

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:width="@dimen/_100sdp"
android:height="@dimen/_100sdp"
android:viewportHeight="32"
android:viewportWidth="32">
<group
@ -15,9 +15,9 @@
android:scaleY=".3">
<path
android:name="dot_path_outer"
android:fillColor="@android:color/holo_red_dark"
android:fillColor="@color/colorPrimary"
android:fillAlpha="1"
android:pathData="@string/checkable_radiobutton_dot_path"/>
android:pathData="M 0,0 m -5,0 a 5,5 0 1,0 10,0 a 5,5 0 1,0 -10,0"/>
</group>
@ -27,7 +27,7 @@
<path
android:name="dot_path_inner"
android:fillColor="@android:color/white"
android:pathData="@string/checkable_radiobutton_dot_path"/>
android:pathData="M 0,0 m -5,0 a 5,5 0 1,0 10,0 a 5,5 0 1,0 -10,0"/>
</group>
</group>
@ -44,14 +44,14 @@
android:strokeAlpha="1"
android:trimPathEnd="0"
android:strokeWidth="1"
android:strokeColor="@android:color/holo_red_dark"
android:strokeColor="@color/colorPrimary"
android:pathData="M 16 16 L 8 16 "/>
<path android:name="cross_path_data_2"
android:strokeAlpha="1"
android:trimPathEnd="0"
android:strokeWidth="1"
android:strokeColor="@android:color/holo_red_dark"
android:strokeColor="@color/colorPrimary"
android:pathData="M 12 12 L 12 20"/>
</group>

12
app/src/main/res/drawable/vd_success_ico.xml

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:width="@dimen/_100sdp"
android:height="@dimen/_100sdp"
android:viewportHeight="32"
android:viewportWidth="32">
<group
@ -15,9 +15,9 @@
android:scaleY=".3">
<path
android:name="dot_path_outer"
android:fillColor="@android:color/holo_red_dark"
android:fillColor="@color/colorPrimary"
android:fillAlpha="1"
android:pathData="@string/checkable_radiobutton_dot_path"/>
android:pathData="M 0,0 m -5,0 a 5,5 0 1,0 10,0 a 5,5 0 1,0 -10,0"/>
</group>
@ -27,7 +27,7 @@
<path
android:name="dot_path_inner"
android:fillColor="@android:color/white"
android:pathData="@string/checkable_radiobutton_dot_path"/>
android:pathData="M 0,0 m -5,0 a 5,5 0 1,0 10,0 a 5,5 0 1,0 -10,0"/>
</group>
</group>
@ -43,7 +43,7 @@
android:strokeAlpha="1"
android:trimPathEnd="0"
android:strokeWidth="1"
android:strokeColor="@android:color/holo_red_dark"
android:strokeColor="@color/colorPrimary"
android:pathData="M 9 13.7 L 9 16 L 16 16"/>
</group>

8
app/src/main/res/layout/dialog_common_error.xml

@ -4,22 +4,22 @@
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/dialog_round"
android:paddingTop="28dp">
android:paddingTop="@dimen/_13sdp">
<ImageView
android:id="@+id/img_status"
android:layout_width="54dp"
android:layout_height="54dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="@string/app_name" />
<com.gmeremit.online.gmeremittance_native.customwidgets.GmeTextView
android:layout_marginTop="-8dp"
android:id="@+id/txt_dialog_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="12dp"
android:layout_marginTop="24dp"
android:text="Error Message Title"
android:textColor="@color/cs_red"
android:textSize="18sp"

Loading…
Cancel
Save