From 06a5edcda5db8160076f2fc8fc2814708b78479d Mon Sep 17 00:00:00 2001 From: SethuramanSrinivasan Date: Wed, 25 Sep 2019 15:00:44 +1000 Subject: [PATCH 1/2] support included for context string --- .idea/codeStyles/Project.xml | 116 ++++++++++++++++++ .../inspectionProfiles/profiles_settings.xml | 7 -- .../gdacciaro/iOSDialogDemo/MainActivity.java | 2 +- .../gdacciaro/iOSDialog/iOSDialogBuilder.java | 50 ++++++-- 4 files changed, 154 insertions(+), 21 deletions(-) create mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml new file mode 100644 index 0000000..681f41a --- /dev/null +++ b/.idea/codeStyles/Project.xml @@ -0,0 +1,116 @@ + + + + + + + +
+ + + + xmlns:android + + ^$ + + + +
+
+ + + + xmlns:.* + + ^$ + + + BY_NAME + +
+
+ + + + .*:id + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + .*:name + + http://schemas.android.com/apk/res/android + + + +
+
+ + + + name + + ^$ + + + +
+
+ + + + style + + ^$ + + + +
+
+ + + + .* + + ^$ + + + BY_NAME + +
+
+ + + + .* + + http://schemas.android.com/apk/res/android + + + ANDROID_ATTRIBUTE_ORDER + +
+
+ + + + .* + + .* + + + BY_NAME + +
+
+
+
+
+
\ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 3b31283..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/src/main/java/com/gdacciaro/iOSDialogDemo/MainActivity.java b/app/src/main/java/com/gdacciaro/iOSDialogDemo/MainActivity.java index 0ad2a48..b55be96 100644 --- a/app/src/main/java/com/gdacciaro/iOSDialogDemo/MainActivity.java +++ b/app/src/main/java/com/gdacciaro/iOSDialogDemo/MainActivity.java @@ -24,7 +24,7 @@ protected void onCreate(Bundle savedInstanceState) { .setSubtitle(getString(R.string.example_subtitle)) .setBoldPositiveLabel(true) .setCancelable(false) - .setPositiveListener(getString(R.string.ok),new iOSDialogClickListener() { + .setPositiveListener(android.R.string.ok,new iOSDialogClickListener() { @Override public void onClick(iOSDialog dialog) { Toast.makeText(MainActivity.this,"Clicked!",Toast.LENGTH_LONG).show(); diff --git a/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialogBuilder.java b/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialogBuilder.java index a9a3186..bac3cb7 100644 --- a/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialogBuilder.java +++ b/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialogBuilder.java @@ -1,4 +1,5 @@ package com.gdacciaro.iOSDialog; + import android.content.Context; import android.graphics.Typeface; @@ -11,7 +12,7 @@ public class iOSDialogBuilder { private Typeface tf; - private boolean bold,cancelable; + private boolean bold, cancelable; private String title, subtitle, okLabel, koLabel; private Context context; private iOSDialogClickListener positiveListener; @@ -26,41 +27,64 @@ public iOSDialogBuilder setTitle(String title) { return this; } + public iOSDialogBuilder setTitle(int title) { + this.title = context.getString(title); + return this; + } + public iOSDialogBuilder setSubtitle(String subtitle) { this.subtitle = subtitle; return this; } + public iOSDialogBuilder setSubtitle(int subtitle) { + this.subtitle = context.getString(subtitle); + return this; + } + public iOSDialogBuilder setBoldPositiveLabel(boolean bold) { this.bold = bold; return this; } public iOSDialogBuilder setFont(Typeface font) { - this.tf=font; + this.tf = font; return this; } - public iOSDialogBuilder setCancelable(boolean cancelable){ - this.cancelable=cancelable; + + public iOSDialogBuilder setCancelable(boolean cancelable) { + this.cancelable = cancelable; + return this; + } + + public iOSDialogBuilder setNegativeListener(String koLabel, iOSDialogClickListener listener) { + this.negativeListener = listener; + this.koLabel = koLabel; + return this; + } + + public iOSDialogBuilder setPositiveListener(String okLabel, iOSDialogClickListener listener) { + this.positiveListener = listener; + this.okLabel = okLabel; return this; } - public iOSDialogBuilder setNegativeListener(String koLabel,iOSDialogClickListener listener) { - this.negativeListener=listener; - this.koLabel=koLabel; + public iOSDialogBuilder setNegativeListener(int koLabel, iOSDialogClickListener listener) { + this.negativeListener = listener; + this.koLabel = context.getString(koLabel); return this; } - public iOSDialogBuilder setPositiveListener(String okLabel,iOSDialogClickListener listener) { + public iOSDialogBuilder setPositiveListener(int okLabel, iOSDialogClickListener listener) { this.positiveListener = listener; - this.okLabel=okLabel; + this.okLabel = context.getString(okLabel); return this; } - public iOSDialog build(){ - iOSDialog dialog = new iOSDialog(context,title,subtitle, bold, tf,cancelable); - dialog.setNegative(koLabel,negativeListener); - dialog.setPositive(okLabel,positiveListener); + public iOSDialog build() { + iOSDialog dialog = new iOSDialog(context, title, subtitle, bold, tf, cancelable); + dialog.setNegative(koLabel, negativeListener); + dialog.setPositive(okLabel, positiveListener); return dialog; } From a3a7cd7eade40f19ee8b605a4250e1fac7b04e54 Mon Sep 17 00:00:00 2001 From: SethuramanSrinivasan Date: Fri, 27 Sep 2019 19:59:21 +1000 Subject: [PATCH 2/2] ability to add null listener for negative listener --- .../com/gdacciaro/iOSDialog/iOSDialog.java | 65 +++++++++++-------- 1 file changed, 38 insertions(+), 27 deletions(-) diff --git a/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialog.java b/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialog.java index 0022a89..e217d5b 100644 --- a/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialog.java +++ b/iosdialog/src/main/java/com/gdacciaro/iOSDialog/iOSDialog.java @@ -5,7 +5,6 @@ import android.graphics.Color; import android.graphics.Typeface; import android.graphics.drawable.ColorDrawable; -import android.util.Log; import android.view.View; import android.widget.TextView; @@ -18,7 +17,7 @@ public class iOSDialog { private Dialog dialog; - private TextView dialogButtonOk ,dialogButtonNo; + private TextView dialogButtonOk, dialogButtonNo; private TextView title_lbl, subtitle_lbl; private View separator; private iOSDialogClickListener positiveListener; @@ -26,11 +25,11 @@ public class iOSDialog { private boolean negativeExist; private static final String LOG_ERROR = "iOSDialog_ERROR"; - public iOSDialog(Context context, String title, String subtitle, boolean bold, Typeface typeFace,boolean cancelable) { - negativeExist=false; + public iOSDialog(Context context, String title, String subtitle, boolean bold, Typeface typeFace, boolean cancelable) { + negativeExist = false; dialog = new Dialog(context); dialog.setContentView(R.layout.alerts_two_buttons); - if(dialog.getWindow()!=null) + if (dialog.getWindow() != null) dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); initViews(); @@ -49,44 +48,52 @@ public void setPositive(String okLabel, iOSDialogClickListener listener) { this.dismiss(); setPositiveLabel(okLabel); } + public void setNegative(String koLabel, iOSDialogClickListener listener) { - if (listener != null){ - this.negativeListener = listener; - this.dismiss(); - negativeExist = true; - setNegativeLabel(koLabel); - } + this.negativeListener = listener; + this.dismiss(); + + negativeExist = koLabel != null; + setNegativeLabel(koLabel); } - public void show(){ - if(!negativeExist){ + + public void show() { + if (!negativeExist) { dialogButtonNo.setVisibility(View.GONE); separator.setVisibility(View.GONE); } dialog.show(); } - public void dismiss(){ + + public void dismiss() { dialog.dismiss(); } - public void setTitle(String title){ + + public void setTitle(String title) { title_lbl.setText(title); } - public void setSubtitle(String subtitle){ + + public void setSubtitle(String subtitle) { subtitle_lbl.setText(subtitle); } - private void setPositiveLabel(String positive){ + + private void setPositiveLabel(String positive) { dialogButtonOk.setText(positive); } - private void setNegativeLabel(String negative){ + + private void setNegativeLabel(String negative) { dialogButtonNo.setText(negative); } - private void setBoldPositiveLabel(boolean bold){ - if(bold) + + private void setBoldPositiveLabel(boolean bold) { + if (bold) dialogButtonOk.setTypeface(null, Typeface.BOLD); else dialogButtonOk.setTypeface(null, Typeface.NORMAL); } - private void setTypefaces(Typeface appleFont){ - if(appleFont!=null) { + + private void setTypefaces(Typeface appleFont) { + if (appleFont != null) { title_lbl.setTypeface(appleFont); subtitle_lbl.setTypeface(appleFont); dialogButtonOk.setTypeface(appleFont); @@ -97,18 +104,20 @@ private void setTypefaces(Typeface appleFont){ private void initViews() { title_lbl = dialog.findViewById(R.id.title); - subtitle_lbl = dialog.findViewById(R.id.subtitle); - dialogButtonOk = dialog.findViewById(R.id.dialogButtonOK); - dialogButtonNo = dialog.findViewById(R.id.dialogButtonNO); - separator = dialog.findViewById(R.id.separator); + subtitle_lbl = dialog.findViewById(R.id.subtitle); + dialogButtonOk = dialog.findViewById(R.id.dialogButtonOK); + dialogButtonNo = dialog.findViewById(R.id.dialogButtonNO); + separator = dialog.findViewById(R.id.separator); } - private void initEvents(){ + private void initEvents() { dialogButtonOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if (positiveListener != null) { positiveListener.onClick(iOSDialog.this); + } else { + dialog.dismiss(); } } }); @@ -117,6 +126,8 @@ public void onClick(View view) { public void onClick(View view) { if (negativeListener != null) { negativeListener.onClick(iOSDialog.this); + } else { + dialog.dismiss(); } } });