/*
========================================================================================
Filename: 08_AlertBox.txt
Program 08: Create an app that creates an Alert Dialog Box.
Files Included: MainActivity.java
========================================================================================

WHAT ALL TO DO / SETUP INSTRUCTIONS:
----------------------------------------------------------------------------------------
1. UI Components to Add (in res/layout/activity_main.xml):
   Add 1 TextView:
     - tvTitle: 'Alert Box'
   Add 1 Button:
     - Text: 'Show Alert Dialog', onClick: 'showAlertDialog'

2. Layout Configuration:
   - LinearLayout (vertical, gravity='center', padding 20dp)

3. Menu Configuration:
   - None required.

4. Themes Configuration (res/values/themes.xml):
   - Default theme. No changes needed.

5. AndroidManifest.xml:
   <activity android:name=".MainActivity" android:exported="true" />

6. Additional Files & Resources Required:
   - AlertDialog.Builder with Positive, Negative, and Neutral buttons.
========================================================================================
*/

// ======================================================================================
// File: MainActivity.java
// ======================================================================================
package com.example.alertbox;

import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle b) {
        super.onCreate(b);
        setContentView(R.layout.activity_main);
    }

    public void showAlertDialog(View v) {
        AlertDialog.Builder builder=new AlertDialog.Builder(this);
        builder.setTitle("Notification");
        builder.setMessage("This is an alert dialog box triggered by your button click!");
        builder.setCancelable(false);
        builder.setPositiveButton("OK",(d,w)-> {
            Toast.makeText(this,"Clicked OK",Toast.LENGTH_SHORT).show();
            d.dismiss();
        }

        );
        builder.setNegativeButton("Cancel",(d,w)-> {
            Toast.makeText(this,"Dialog Cancelled",Toast.LENGTH_SHORT).show();
            d.dismiss();
        }

        );
        builder.create().show();
    }
}
