/*
========================================================================================
Filename: 06_DateTimeLinear.txt
Program 06: Create an app that displays Date and Time in different formats using Linear Layout.
Files Included: MainActivity.java
========================================================================================

WHAT ALL TO DO / SETUP INSTRUCTIONS:
----------------------------------------------------------------------------------------
1. UI Components to Add (in res/layout/activity_main.xml):
   Add 4 TextView:
     - tvTitle: 'Date and Time'
     - tvNumericDate: To display date in numeric format (e.g., 'dd/MM/yyyy')
     - tvTextualDate: To display date in textual format (e.g., 'EEEE, MMMM d')
     - tvCurrentTime: To display time format (e.g., 'hh:mm a')
   Add 1 Button:
     - Text: 'Display', onClick: 'displayDateAndTime'

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:
   - None.
========================================================================================
*/

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

import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class MainActivity extends AppCompatActivity {
    TextView tvNumericDate,tvTextualDate,tvCurrentTime;
    @Override
    protected void onCreate(Bundle b) {
        super.onCreate(b);
        setContentView(R.layout.activity_main);
        tvNumericDate=findViewById(R.id.tvNumericDate);
        tvTextualDate=findViewById(R.id.tvTextualDate);
        tvCurrentTime=findViewById(R.id.tvCurrentTime);
    }

    public void displayDateAndTime(View v) {
        Date d=Calendar.getInstance().getTime();
        tvNumericDate.setText(new SimpleDateFormat("dd/MM/yyyy",Locale.getDefault()).format(d));
        tvTextualDate.setText(new SimpleDateFormat("EEEE, MMMM d",Locale.getDefault()).format(d));
        tvCurrentTime.setText(new SimpleDateFormat("hh:mm a",Locale.getDefault()).format(d));
    }
}
