Dependency : 
implementation 'com.faendir.rhino:rhino-android:1.5.2'
 Java Part : 
package first.learn.calculator;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import com.google.android.material.button.MaterialButton;
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    TextView tvMath, tvResult;
    MaterialButton btnDoubleZero, btnZero, btnDot, btnEqual, btnOne, btnTwo, btnThree, btnFour,
            btnFive, btnSix, btnSeven, btnEight, btnNine, btnPlus, btnMinus, btnMultiply, btnDivide,
            btnBracketOpen, btnBracketEnd, btnC;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvMath = (TextView) findViewById(R.id.tvMath);
        tvResult = (TextView) findViewById(R.id.tvResult);
        castingAndSettingClickListener(btnDoubleZero, R.id.btnDoubleZero);
        castingAndSettingClickListener(btnZero, R.id.btnZero);
        castingAndSettingClickListener(btnDot, R.id.btnDot);
        castingAndSettingClickListener(btnEqual, R.id.btnEqual);
        castingAndSettingClickListener(btnOne, R.id.btnOne);
        castingAndSettingClickListener(btnTwo, R.id.btnTwo);
        castingAndSettingClickListener(btnThree, R.id.btnThree);
        castingAndSettingClickListener(btnFour, R.id.btnFour);
        castingAndSettingClickListener(btnFive, R.id.btnFive);
        castingAndSettingClickListener(btnSix, R.id.btnSix);
        castingAndSettingClickListener(btnSeven, R.id.btnSeven);
        castingAndSettingClickListener(btnEight, R.id.btnEight);
        castingAndSettingClickListener(btnNine, R.id.btnNine);
        castingAndSettingClickListener(btnPlus, R.id.btnPlus);
        castingAndSettingClickListener(btnMinus, R.id.btnMinus);
        castingAndSettingClickListener(btnMultiply, R.id.btnMultiply);
        castingAndSettingClickListener(btnDivide, R.id.btnDivide);
        castingAndSettingClickListener(btnBracketOpen, R.id.btnBracketOpen);
        castingAndSettingClickListener(btnBracketEnd, R.id.btnBracketEnd);
        castingAndSettingClickListener(btnC, R.id.btnC);
    }
    void castingAndSettingClickListener(MaterialButton bttn, int id){
        bttn = findViewById(id);
        bttn.setOnClickListener(this);
    }
    @Override
    public void onClick(View view) {
        MaterialButton clickedButton = (MaterialButton) view;
        String buttonText = clickedButton.getText().toString();
        String dataForCalculation = tvMath.getText().toString();
        if (buttonText.equals("C")){
            tvMath.setText("");
            tvResult.setText("0");
            return;
        }else if (buttonText.equals("=")){
            tvMath.setText(tvResult.getText().toString());
            return;
        }else{
            dataForCalculation = dataForCalculation+buttonText;
        }
        tvMath.setText(dataForCalculation);
        String finalResult = makeResult(dataForCalculation);
        if (!finalResult.equals("Error")){
            tvResult.setText(finalResult);
        }
    }
    String makeResult(String data){
        try {
            Context newContext = Context.enter();
            newContext.setOptimizationLevel(-1);
            Scriptable newScriptable = newContext.initStandardObjects();
            String finalResult = newContext.evaluateString(newScriptable, data, "Javascript", 1, null).toString();
            if (finalResult.endsWith(".0")){
                finalResult = finalResult.replace(".0", "");
            }
            return finalResult;
        }catch (Exception e){
            return "Error";
        }
    }
}
Xml Part : 
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:background="#F6B6B6"
    android:gravity="bottom"
    android:paddingBottom="15dp"
    android:orientation="vertical"
    tools:context=".MainActivity">
    <TextView
        android:layout_width="match_parent"
        android:id="@+id/tvMath"
        android:layout_marginBottom="20dp"
        android:textSize="30dp"
        android:textColor="@color/black"
        android:paddingHorizontal="40dp"
        android:gravity="right"
        android:layout_height="wrap_content"/>
    <TextView
        android:layout_width="match_parent"
        android:id="@+id/tvResult"
        android:text="0"
        android:layout_marginBottom="20dp"
        android:textSize="60dp"
        android:textColor="@color/black"
        android:paddingHorizontal="40dp"
        android:gravity="right"
        android:layout_height="wrap_content"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="C"
            android:id="@+id/btnC"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="("
            android:id="@+id/btnBracketOpen"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text=")"
            android:id="@+id/btnBracketEnd"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="/"
            android:id="@+id/btnDivide"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="7"
            android:id="@+id/btnSeven"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="8"
            android:id="@+id/btnEight"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="9"
            android:id="@+id/btnNine"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="*"
            android:id="@+id/btnMultiply"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="4"
            android:id="@+id/btnFour"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="5"
            android:id="@+id/btnFive"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="6"
            android:id="@+id/btnSix"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="-"
            android:id="@+id/btnMinus"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="1"
            android:id="@+id/btnOne"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="2"
            android:id="@+id/btnTwo"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="3"
            android:id="@+id/btnThree"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="+"
            android:id="@+id/btnPlus"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:layout_height="wrap_content">
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="00"
            android:id="@+id/btnDoubleZero"
            android:layout_margin="10dp"
            android:textSize="22sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="0"
            android:id="@+id/btnZero"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="@color/white"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="."
            android:id="@+id/btnDot"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/black" />
        <com.google.android.material.button.MaterialButton
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:backgroundTint="#0022FF"
            app:cornerRadius="35dp"
            style="@style/Widget.MaterialComponents.ExtendedFloatingActionButton"
            android:text="="
            android:id="@+id/btnEqual"
            android:layout_margin="10dp"
            android:textSize="30sp"
            android:textColor="@color/white" />
    </LinearLayout>
</LinearLayout>