From 6851c21d03f89c9b119a3b96c96fb3a232fbab12 Mon Sep 17 00:00:00 2001 From: Muhammad Taimoor Sultani Date: Sat, 19 Jun 2021 00:47:40 +0500 Subject: [PATCH] Feat: License added & example updated --- LICENSE | 21 ++ .../android_sweetaler2/MainActivity.java | 297 ++++++++++++------ app/src/main/res/drawable/custom_img.jpg | Bin 0 -> 30042 bytes app/src/main/res/drawable/logo_big.png | Bin 0 -> 17162 bytes app/src/main/res/layout/activity_main.xml | 230 +++++++++++--- app/src/main/res/values/dimens.xml | 2 +- app/src/main/res/values/strings.xml | 16 + app/src/main/res/values/themes.xml | 8 + sweetalert2/build.gradle | 6 +- sweetalert2/consumer-rules.pro | 0 sweetalert2/proguard-rules.pro | 21 -- 11 files changed, 436 insertions(+), 165 deletions(-) create mode 100644 LICENSE create mode 100644 app/src/main/res/drawable/custom_img.jpg create mode 100644 app/src/main/res/drawable/logo_big.png delete mode 100644 sweetalert2/consumer-rules.pro delete mode 100644 sweetalert2/proguard-rules.pro diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7533339 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Muhammad Taimoor Sultani + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/app/src/main/java/taimoor/sultani/android_sweetaler2/MainActivity.java b/app/src/main/java/taimoor/sultani/android_sweetaler2/MainActivity.java index 62226f7..b8cb207 100644 --- a/app/src/main/java/taimoor/sultani/android_sweetaler2/MainActivity.java +++ b/app/src/main/java/taimoor/sultani/android_sweetaler2/MainActivity.java @@ -5,125 +5,236 @@ import android.annotation.SuppressLint; import android.graphics.Color; import android.os.Bundle; +import android.os.CountDownTimer; import android.os.Handler; import android.os.Looper; import android.view.View; -import android.widget.Button; +import android.widget.CheckBox; +import android.widget.EditText; +import android.widget.LinearLayout; -import taimoor.sultani.customlog.CustomLogs; +import taimoor.sultani.sweetalert2.Constants; import taimoor.sultani.sweetalert2.Sweetalert; public class MainActivity extends AppCompatActivity implements View.OnClickListener { - Button loading_sweetalert, basic_sweetalert, error_sweetalert, delete_confirmation_sweetalert, custom_sweetalert; + private int i = -1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - loading_sweetalert = findViewById(R.id.loading_sweetalert); - basic_sweetalert = findViewById(R.id.basic_sweetalert); - error_sweetalert = findViewById(R.id.error_sweetalert); - delete_confirmation_sweetalert = findViewById(R.id.delete_confirmation_sweetalert); - custom_sweetalert = findViewById(R.id.custom_sweetalert); - - loading_sweetalert.setOnClickListener(this); - basic_sweetalert.setOnClickListener(this); - error_sweetalert.setOnClickListener(this); - delete_confirmation_sweetalert.setOnClickListener(this); - custom_sweetalert.setOnClickListener(this); + int[] btnIds = { + R.id.basic_test, R.id.styled_text_and_stroke, R.id.basic_test_without_buttons, R.id.under_text_test, + R.id.error_text_test, R.id.success_text_test, R.id.warning_confirm_test, R.id.warning_cancel_test, + R.id.custom_img_test, R.id.progress_dialog, R.id.neutral_btn_test, R.id.disabled_btn_test, + R.id.custom_view_test, R.id.custom_btn_colors_test + }; + for (Integer id : btnIds) { + findViewById(id).setOnClickListener(this); + findViewById(id).setOnTouchListener(Constants.FOCUS_TOUCH_LISTENER); + } + + CheckBox dark_style = findViewById(R.id.dark_style); + dark_style.setOnCheckedChangeListener((buttonView, isChecked) -> Sweetalert.DARK_STYLE = isChecked); } - @SuppressLint("NonConstantResourceId") + @SuppressLint({"NonConstantResourceId", "SetTextI18n"}) @Override public void onClick(View v) { - int id = v.getId(); - CustomLogs.e("Id is: " + id); - CustomLogs.d("Id is: " + id); - switch (id) { - case R.id.loading_sweetalert: { - showLoadingSweetalert(); + switch (v.getId()) { + case R.id.basic_test: + Sweetalert sd = new Sweetalert(this); + sd.setCancelable(true); + sd.setCanceledOnTouchOutside(true); + sd.setContentText("Here's a message"); + sd.show(); break; - } - case R.id.basic_sweetalert: { - showBasicSweetalert(); + case R.id.basic_test_without_buttons: + Sweetalert sd2 = new Sweetalert(this); + sd2.setCancelable(true); + sd2.setCanceledOnTouchOutside(true); + sd2.setContentText("Here's a message"); + sd2.hideConfirmButton(); + sd2.show(); break; - } - case R.id.error_sweetalert: { - showErrorSweetalert(); + case R.id.under_text_test: + new Sweetalert(this) + .setTitleText("Title") + .setContentText("It's pretty, isn't it?") + .show(); break; - } - case R.id.delete_confirmation_sweetalert: { - showDeleteSweetalert(); + case R.id.styled_text_and_stroke: + new Sweetalert(this) + .setTitleText("Red title") + .setContentText("Big green bold") + .setContentTextSize(21) + .setStrokeWidth(2) + .show(); break; - } - case R.id.custom_sweetalert: { - showCustomSweetalert(); + case R.id.error_text_test: + new Sweetalert(this, Sweetalert.ERROR_TYPE) + .setTitleText("Oops...") + .setContentText("Something went wrong!") + .show(); break; - } - } - } + case R.id.success_text_test: + new Sweetalert(this, Sweetalert.SUCCESS_TYPE) + .setTitleText("Good job!") + .setContentText("You clicked the button!") + .show(); + break; + case R.id.warning_confirm_test: + new Sweetalert(this, Sweetalert.WARNING_TYPE) + .setTitleText("Are you sure?") + .setContentText("Won't be able to recover this file!") + .setCancelButton("Yes, delete it!", sweetAlertDialog -> { + // reuse previous dialog instance + sweetAlertDialog + .setTitleText("Loading") + .setContentText("Please wait...") + .hideConfirmButton() + .changeAlertType(Sweetalert.PROGRESS_TYPE); + new Handler(Looper.myLooper()).postDelayed(() -> sweetAlertDialog + .setTitleText("Deleted!") + .setContentText("Your imaginary file has been deleted!") + .setConfirmClickListener(null) + .changeAlertType(Sweetalert.SUCCESS_TYPE), 3000); + }) + .show(); + break; + case R.id.warning_cancel_test: + new Sweetalert(this, Sweetalert.WARNING_TYPE) + .setTitleText("Are you sure?") + .setContentText("Won't be able to recover this file!") + .setCancelText("No, cancel pls!") + .setConfirmText("Yes, delete it!") + .showCancelButton(true) + .setCancelClickListener(sDialog -> { + // reuse previous dialog instance, keep widget user state, reset them if you need + sDialog.setTitleText("Cancelled!") + .setContentText("Your imaginary file is safe :)") + .setConfirmText("OK") + .showCancelButton(false) + .setCancelClickListener(null) + .setConfirmClickListener(null) + .changeAlertType(Sweetalert.ERROR_TYPE); + }) + .setConfirmClickListener(sDialog -> sDialog.setTitleText("Deleted!") + .setContentText("Your imaginary file has been deleted!") + .setConfirmText("OK") + .showCancelButton(false) + .setCancelClickListener(null) + .setConfirmClickListener(null) + .changeAlertType(Sweetalert.SUCCESS_TYPE)) + .show(); + break; + case R.id.custom_img_test: + new Sweetalert(this, Sweetalert.CUSTOM_IMAGE_TYPE) + .setTitleText("Sweet!") + .setContentText("Here's a custom image.") + .setCustomImage(R.drawable.custom_img) + .show(); + break; + case R.id.progress_dialog: + final Sweetalert pDialog = new Sweetalert(this, Sweetalert.PROGRESS_TYPE) + .setTitleText("Loading"); + pDialog.show(); + pDialog.setCancelable(false); + new CountDownTimer(800 * 7, 800) { + public void onTick(long millisUntilFinished) { + // you can change the progress bar color by ProgressHelper every 800 millis + i++; + switch (i) { + case 0: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.blue_btn_bg_color)); + break; + case 1: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_50)); + break; + case 2: + case 6: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.success_stroke_color)); + break; + case 3: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_deep_teal_20)); + break; + case 4: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.material_blue_grey_80)); + break; + case 5: + pDialog.getProgressHelper().setBarColor(getResources().getColor(R.color.warning_stroke_color)); + break; + } + } - private void showLoadingSweetalert() { - Sweetalert pDialog = new Sweetalert(this, Sweetalert.PROGRESS_TYPE); - pDialog.getProgressHelper().setBarColor(Color.parseColor("#A5DC86")); - pDialog.setTitleText("Loading"); - pDialog.setCancelable(false); - pDialog.show(); - new Handler(Looper.myLooper()).postDelayed(new Runnable() { - @Override - public void run() { - pDialog.dismissWithAnimation(); - } - }, 2000); - } + public void onFinish() { + i = -1; + pDialog.setTitleText("Success!") + .setConfirmText("OK") + .changeAlertType(Sweetalert.SUCCESS_TYPE); + } + }.start(); + break; - private void showBasicSweetalert() { - new Sweetalert(this) - .setTitleText("Here's a message!") - .show(); - } + case R.id.neutral_btn_test: + new Sweetalert(this, Sweetalert.NORMAL_TYPE) + .setTitleText("Title") + .setContentText("Three buttons dialog") + .setConfirmText("Confirm") + .setCancelText("Cancel") + .setNeutralText("Neutral") + .show(); + break; - private void showErrorSweetalert() { - new Sweetalert(this, Sweetalert.ERROR_TYPE) - .setTitleText("Oops...") - .setContentText("Something went wrong!") - .show(); - } + case R.id.disabled_btn_test: + final Sweetalert disabledBtnDialog = new Sweetalert(this, Sweetalert.NORMAL_TYPE) + .setTitleText("Title") + .setContentText("Disabled button dialog") + .setConfirmText("OK") + .setCancelText("Cancel") + .setNeutralText("Neutral"); - private void showDeleteSweetalert() { - new Sweetalert(this, Sweetalert.WARNING_TYPE) - .setTitleText("Are you sure?") - .setContentText("Won't be able to recover this file!") - .setConfirmText("Yes, delete it!") - .setConfirmClickListener(new Sweetalert.OnSweetClickListener() { - @Override - public void onClick(Sweetalert sDialog) { - sDialog.setTitleText("Loading").setContentText("Please wait...").changeAlertType(Sweetalert.PROGRESS_TYPE); - Handler handler = new Handler(); - handler.postDelayed(new Runnable() { - public void run() { - sDialog - .setTitleText("Deleted!") - .setContentText("Your imaginary file has been deleted!") - .setConfirmText("OK") - .setConfirmClickListener(null) - .changeAlertType(Sweetalert.SUCCESS_TYPE); - } - }, 2000); - } - }) - .show(); - } + disabledBtnDialog.setOnShowListener(dialog -> disabledBtnDialog.getButton(Sweetalert.BUTTON_CONFIRM).setEnabled(false)); + disabledBtnDialog.show(); + break; + + case R.id.custom_view_test: + final EditText editText = new EditText(this); + final CheckBox checkBox = new CheckBox(this); + editText.setText("Some edit text"); + checkBox.setChecked(true); + checkBox.setText("Some checkbox"); + + if (Sweetalert.DARK_STYLE) { + editText.setTextColor(Color.WHITE); + checkBox.setTextColor(Color.WHITE); + } - private void showCustomSweetalert() { - Sweetalert.DARK_STYLE = true; - new Sweetalert(this, Sweetalert.ERROR_TYPE) - .setTitleText("Red title") - .setContentText("Big green bold") - .setContentTextSize(21) - .setStrokeWidth(2) - .show(); - Sweetalert.DARK_STYLE = false; + LinearLayout linearLayout = new LinearLayout(getApplicationContext()); + linearLayout.setOrientation(LinearLayout.VERTICAL); + linearLayout.addView(editText); + linearLayout.addView(checkBox); + + Sweetalert dialog = new Sweetalert(this, Sweetalert.NORMAL_TYPE) + .setTitleText("Custom view") + .hideConfirmButton(); + + dialog.setCustomView(linearLayout); + dialog.show(); + break; + case R.id.custom_btn_colors_test: + new Sweetalert(this, Sweetalert.NORMAL_TYPE) + .setTitleText("Custom view") + .setCancelButton("red", null) + .setCancelButtonBackgroundColor(Color.RED) + .setNeutralButton("cyan", null) + .setNeutralButtonBackgroundColor(Color.CYAN) + .setConfirmButton("blue", null) + .setConfirmButtonBackgroundColor(Color.BLUE) + .show(); + break; + + } } } \ No newline at end of file diff --git a/app/src/main/res/drawable/custom_img.jpg b/app/src/main/res/drawable/custom_img.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b459c981af0e0ccd8a3721e4d3047f7f2a16df8 GIT binary patch literal 30042 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

xH(L~SK(&h{IGtYFX+>{{&X1Zv7xIeB6uT4WGAO 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 Rvo8Pu002ovPDHLkV1kY*4sieg literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 8d84360..0f47b4f 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,57 +1,197 @@ - + android:background="#FFF"> - + android:layout_gravity="center|top"> -