beginner – Easter date calculator Android application

Since Easter holidays are close, I have decided to develop my Android skills by writing an Android app that calculate that date for the Western and Easter calendars.

The formulas were gotten from the Internet.
It is a simple app where, you enter the year and you get the dates for both calendars in a TextView, I’ve used EditText as labels and made them unclickable, they appear when the dates are visible and get hidden when the dates are not show.

I do not have any professional or internship experience whatsoever. Any input would help.
It was built and compiled on Android Studio 4.1.2 and ran on my device.

Here is the code for the XML.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">


    <TextView
        android:id="@+id/textView"
        android:layout_width="459dp"
        android:layout_height="56dp"
        android:layout_marginTop="8dp"
        android:layout_marginBottom="8dp"
        android:text="@string/welcome"
        android:textSize="22sp"
        app:layout_constraintBottom_toTopOf="@+id/editTextDate"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        android:gravity="center"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editTextDate"
        android:layout_width="wrap_content"
        android:layout_height="46dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:gravity="center"
        android:maxLength="4"
        android:digits="0123456789"
        android:inputType="date"
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.5"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView" />

    <TextView
        android:id="@+id/textViewWestern"
        android:layout_width="150dp"
        android:layout_height="48dp"
        android:layout_marginTop="60dp"
        android:gravity="center"
        android:text=""
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.045"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <TextView
        android:id="@+id/textViewEastern"
        android:layout_width="150dp"
        android:layout_height="48dp"
        android:layout_marginTop="60dp"
        android:gravity="center"
        android:text=""
        android:textSize="22sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.969"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <EditText
        android:id="@+id/western"
        android:layout_width="150dp"
        android:layout_height="44dp"
        android:layout_marginStart="12dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:gravity="center"
        android:inputType="textPersonName"
        android:background="@android:color/transparent"
        android:text="Western"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />

    <EditText
        android:id="@+id/eastern"
        android:layout_width="150dp"
        android:layout_height="44dp"
        android:layout_marginTop="16dp"
        android:ems="10"
        android:focusable="false"
        android:focusableInTouchMode="false"
        android:inputType="textPersonName"
        android:text="Eastern"
        android:background="@android:color/transparent"
        android:gravity="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.969"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editTextDate" />
</androidx.constraintlayout.widget.ConstraintLayout> 

The MainActivity.java code.

package com.example.easterdate;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText Edit = findViewById(R.id.editTextDate);
        final TextView text = findViewById(R.id.textViewWestern);
        final TextView textEastern = findViewById(R.id.textViewEastern);
        final EditText eastern = findViewById(R.id.eastern);
        final EditText western = findViewById(R.id.western);

        eastern.setVisibility(View.INVISIBLE);
        western.setVisibility(View.INVISIBLE);

        Edit.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.toString().trim().length() == 0 || Integer.parseInt(s.toString()) < 1800) {
                    text.setText("");
                    textEastern.setText("");
                    eastern.setVisibility(View.INVISIBLE);
                    western.setVisibility(View.INVISIBLE);
                    return;
                }

                EditText Edit = findViewById(R.id.editTextDate);
                int AN = Integer.parseInt(Edit.getText().toString());

                int G = AN % 19;
                int C = AN / 100;
                int H = (C - C / 4 - (8 * C + 13) / 25 + 19 * G + 15) % 30;
                int I = H - (H / 28) * (1 - (H / 28) * (29 / (H + 1)) * ((21 - G) / 11));
                int J = (AN + AN / 4 + I + 2 - C + C / 4) % 7;

                int L = I - J;
                int MP = 3 + (L + 40) / 44;
                int JP = L + 28 - 31 * (MP / 4);

                int mon, day;

                int A = AN % 19;
                int b = AN % 7;
                int ce = AN % 4;
                int d = (19 * A + 16) % 30;
                int e = (2 * ce + 4 * b + 6 * d) % 7;
                int f = (19 * A + 16) % 30;
                int key = f + e + 3;
                if (key > 30)
                    mon = 5;
                else
                    mon = 4;
                if (key > 30)
                    day = key - 30;
                else day = key;

                String() month = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};

                eastern.setVisibility(View.VISIBLE);
                western.setVisibility(View.VISIBLE);
                text.setText("Sunday " + JP + " " + month(MP - 1));
                textEastern.setText("Sunday " + day + " " + month(mon - 1));

            }

            @Override
            public void afterTextChanged(Editable s) {


            }
        });

    }
}

How professional is this code? should I have used functions instead of imperative programming?
The TextWatcher is used to prevent the app from crashing and to have the dates display on input, any better solution?