/*
========================================================================================
Filename: 28_CounterApp.txt
Program 28: Create an app to demonstrate counter.
Files Included: MainActivity.java
========================================================================================

WHAT ALL TO DO / SETUP INSTRUCTIONS:
----------------------------------------------------------------------------------------
1. UI Components to Add (in res/layout/activity_main.xml):
   Add 2 TextView:
     - Title: 'Counter'
     - counterText: Displaying current count (initial '0', textSize 48sp)
   Add 3 Button:
     - Increment: Text: 'Increment', onClick: 'increment'
     - Decrement: id: decrementButton, Text: 'Decrement', onClick: 'decrement'
     - Reset: Text: 'Reset', onClick: 'reset'

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

3. Menu Configuration:
   - None required.

4. Themes Configuration (res/values/themes.xml):
   - Theme.MaterialComponents.DayNight.NoActionBar in themes.xml.

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

6. Additional Files & Resources Required:
   - None.
========================================================================================
*/

// ======================================================================================
// File: MainActivity.java
// ======================================================================================
package com.example.counterapp;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    TextView counterText;
    Button decrementButton;
    int count = 0;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        counterText = findViewById(R.id.counterText);
        decrementButton = findViewById(R.id.decrementButton);
    }
    public void increment(View view) {
        count++;
        counterText.setText(String.valueOf(count));
        if (count >= 1) {
            decrementButton.setVisibility(View.VISIBLE);
        }
    }
    public void decrement(View view) {
        count--;
        if (count == 0) {
            decrementButton.setVisibility(View.GONE);
        }
        counterText.setText(String.valueOf(count));
    }
    public void reset(View view) {
        count = 0;
        counterText.setText(String.valueOf(count));
        decrementButton.setVisibility(View.GONE);
    }
}
