/*
========================================================================================
Filename: 17_EmployeeActivity.txt
Program 17: Create an app that launches a new activity on a button click to calculate and display employee details and salary.
Files Included: MainActivity.java, SecondaryActivity.java
========================================================================================

WHAT ALL TO DO / SETUP INSTRUCTIONS:
----------------------------------------------------------------------------------------
1. UI Components to Add (in res/layout/activity_main.xml):
   In activity_main.xml:
     - 3 EditText (TextBox): etName (Name), etId (Employee ID), etSalary (Basic Salary)
     - 1 Button: Text: 'Calculate Salary', onClick: 'calculateSalary'
     - 1 TextView heading: 'Employee Salary Calculator'
   In activity_secondary.xml:
     - 7 TextView: tvName, tvId, tvBasic, tvHra, tvDa, tvGross, and heading

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

3. Menu Configuration:
   - None required.

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

5. AndroidManifest.xml:
   Add SecondaryActivity registration:
   <activity android:name=".SecondaryActivity" android:exported="false" />

6. Additional Files & Resources Required:
   - HRA = 10% of basic, DA = 7% of basic, Gross = Basic + HRA + DA. Pass via Intent extras to SecondaryActivity.java.
========================================================================================
*/

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

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {
    EditText etName,etId,etSalary;
    @Override
    protected void onCreate(Bundle b) {
        super.onCreate(b);
        setContentView(R.layout.activity_main);
        etName=findViewById(R.id.etName);
        etId=findViewById(R.id.etId);
        etSalary=findViewById(R.id.etSalary);
    }

    public void calculateSalary(View v) {
        String name=etName.getText().toString().trim(),id=etId.getText().toString().trim(),s=etSalary.getText().toString().trim();
        if(name.isEmpty()||id.isEmpty()||s.isEmpty()) {
            Toast.makeText(this,"Please fill all fields",Toast.LENGTH_SHORT).show();
            return;
        }

        double basic=Double.parseDouble(s),hra=basic*.20,da=basic*.10,gross=basic+hra+da;
        Intent i=new Intent(this,SecondaryActivity.class);
        i.putExtra("name",name);
        i.putExtra("id",id);
        i.putExtra("basic",basic);
        i.putExtra("hra",hra);
        i.putExtra("da",da);
        i.putExtra("gross",gross);
        startActivity(i);
    }
}

// ======================================================================================
// File: SecondaryActivity.java
// ======================================================================================
package com.example.employeeactivity;

import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class SecondaryActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle b) {
        super.onCreate(b);
        setContentView(R.layout.activity_secondary);
        ((TextView)findViewById(R.id.tvName)).setText("Employee Name : "+getIntent().getStringExtra("name"));
        ((TextView)findViewById(R.id.tvId)).setText("Employee ID : "+getIntent().getStringExtra("id"));
        double basic=getIntent().getDoubleExtra("basic",0),hra=getIntent().getDoubleExtra("hra",0),da=getIntent().getDoubleExtra("da",0),gross=getIntent().getDoubleExtra("gross",0);
        ((TextView)findViewById(R.id.tvBasic)).setText("Basic Salary : "+basic);
        ((TextView)findViewById(R.id.tvHra)).setText("HRA (20%) : "+hra);
        ((TextView)findViewById(R.id.tvDa)).setText("DA (10%) : "+da);
        ((TextView)findViewById(R.id.tvGross)).setText("Gross Salary : "+gross);
    }
}
