From 41ecc8601c8dd4dad1327db56926ca387a9901ea Mon Sep 17 00:00:00 2001 From: Ray Li Date: Sun, 26 Aug 2018 11:17:51 -0500 Subject: [PATCH] v2.5.0 Rollup *Version Bump to v2.5.0. *Fix CustomAlertDialogue crash on restore from background. Dismiss dialog on pause. *Create Parcelable write implementation. --- customalert/build.gradle | 4 +- .../customalert/CustomAlertDialogue.java | 76 +++++++++++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 56 insertions(+), 26 deletions(-) diff --git a/customalert/build.gradle b/customalert/build.gradle index 46f4b14..2eaec39 100644 --- a/customalert/build.gradle +++ b/customalert/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.library' apply plugin: 'com.github.dcendents.android-maven' group='com.github.searchy2' -version = '2.4.2' +version = '2.5.0' android { compileSdkVersion 28 @@ -26,7 +26,7 @@ dependencies { maven { url "https://maven.google.com" } } implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'com.google.android.material:material:1.0.0-alpha3' + implementation 'com.google.android.material:material:1.0.0-rc01' implementation 'com.github.Dimezis.BlurView:blurview:version-1.4.0' } diff --git a/customalert/src/main/java/stream/customalert/CustomAlertDialogue.java b/customalert/src/main/java/stream/customalert/CustomAlertDialogue.java index dd7b3f8..c727a9e 100644 --- a/customalert/src/main/java/stream/customalert/CustomAlertDialogue.java +++ b/customalert/src/main/java/stream/customalert/CustomAlertDialogue.java @@ -46,7 +46,6 @@ public class CustomAlertDialogue extends DialogFragment { public static final String TAG = CustomAlertDialogue.class.getSimpleName(); private Builder builder; private Style style = Style.DIALOGUE; - private Integer gravity = Gravity.CENTER; private ArrayList inputList; private TextView positiveText; private ArrayList tagList; @@ -61,10 +60,12 @@ public static CustomAlertDialogue getInstance() { @Override public void onCreate(@Nullable Bundle savedInstanceState) { + Log.d("Builder", "Restore"); if (savedInstanceState != null) { - if (builder != null) { + if (builder == null) { builder = savedInstanceState.getParcelable(Builder.class.getSimpleName()); + Log.d("Builder", "Restore Not Null"); } } setStyle(DialogFragment.STYLE_NO_TITLE, R.style.CustomDialog); @@ -90,6 +91,12 @@ public void onSaveInstanceState(Bundle outState) { outState.putParcelable(Builder.class.getSimpleName(), builder); } + @Override + public void onPause() { + super.onPause(); + dismiss(); + } + @NonNull @Override public Dialog onCreateDialog(Bundle savedInstanceState) { @@ -125,7 +132,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) { if (builder.getGravity() != null) { wlp.gravity = builder.getGravity(); - switch (gravity) + switch (builder.getGravity()) { case Gravity.CENTER: wlp.windowAnimations = R.style.CustomDialogAnimation; @@ -148,6 +155,7 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, if (builder.getStyle() != null) { style = builder.getStyle(); + Log.d("View Inflator", "Inflated"); } switch (style) @@ -198,11 +206,7 @@ private void initCommonView(View view) { layout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - if (!builder.getCancelable()) - { - - } - else + if (builder.getCancelable()) { dismiss(); } @@ -312,7 +316,7 @@ private void initActionsheetView(View view) { float radius = 5; - TextView cancelButton = view.findViewById(R.id.cancel); + final TextView cancelButton = view.findViewById(R.id.cancel); if(builder.getCancelText() != null){ cancelButton.setVisibility(View.VISIBLE); cancelButton.setText(builder.getCancelText()); @@ -577,7 +581,7 @@ public static class Builder implements Parcelable { private boolean autoHide; private boolean cancelable = true; - private Integer gravity; + private Integer gravity = Gravity.CENTER; private Style style; private View decorView; private Context context; @@ -603,20 +607,10 @@ protected Builder(Parcel in) { boxInputText = in.createStringArrayList(); autoHide = in.readByte() != 0; cancelable = in.readByte() != 0; + gravity = in.readInt(); + style = Style.valueOf(in.readString()); } - public static final Creator CREATOR = new Creator() { - @Override - public Builder createFromParcel(Parcel in) { - return new Builder(in); - } - - @Override - public Builder[] newArray(int size) { - return new Builder[size]; - } - }; - /** * @param style - set DIALOGUE, ACTIONSHEET, SELECTOR, INPUT to select AlertView type. * @return @@ -630,7 +624,9 @@ public Builder setStyle(Style style) { public Style getStyle() { return style; } public Builder setGravity(Integer gravity) { - this.gravity = gravity; + if(gravity != null) { + this.gravity = gravity; + } return this; } public Integer getGravity() { return gravity; } @@ -1029,6 +1025,18 @@ public Dialog show() { return CustomAlertDialogue.getInstance().show(((Activity) context), this); } + public static final Creator CREATOR = new Creator() { + @Override + public Builder createFromParcel(Parcel in) { + return new Builder(in); + } + + @Override + public Builder[] newArray(int size) { + return new Builder[size]; + } + }; + @Override public int describeContents() { return 0; @@ -1036,6 +1044,28 @@ public int describeContents() { @Override public void writeToParcel(Parcel parcel, int i) { + parcel.writeString(title); + parcel.writeString(message); + parcel.writeString(positiveText); + parcel.writeString(negativeText); + parcel.writeString(cancelText); + parcel.writeInt(titleColor); + parcel.writeInt(messageColor); + parcel.writeInt(positiveColor); + parcel.writeInt(negativeColor); + parcel.writeInt(cancelColor); + parcel.writeInt(backgroundColor); + parcel.writeInt(timeToHide); + parcel.writeStringList(destructive); + parcel.writeStringList(others); + parcel.writeStringList(lineInputHint); + parcel.writeStringList(lineInputText); + parcel.writeStringList(boxInputHint); + parcel.writeStringList(boxInputText); + parcel.writeByte((byte) (autoHide ? 1 : 0)); + parcel.writeByte((byte) (cancelable ? 1 : 0)); + parcel.writeInt(gravity); + parcel.writeString(style.toString()); } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8793745..73a6c6c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip