package com.example.listviewimages;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    int desertNumber;

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

        final ArrayList<Dessert> desserts = new ArrayList<Dessert>();
        desserts.add(new Dessert("Donut", 0, R.drawable.donut));
        desserts.add(new Dessert("Cookie", 0, R.drawable.cookie));
        desserts.add(new Dessert("Cake", 0, R.drawable.cake));
        desserts.add(new Dessert("Pastry", 0, R.drawable.pastry));

        DessertAdapter flavorAdapter = new DessertAdapter(this, desserts);
        ListView listView = findViewById(R.id.listview);
        listView.setAdapter(flavorAdapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener(){
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                switch(i) {
                    case 0:
                        Intent donut = new Intent(MainActivity.this, Donut.class);
                        startActivity(donut);
                        break;
                    case 1:
                        Intent cookie = new Intent(MainActivity.this, Cookie.class);
                        startActivity(cookie);
                        break;
                    case 2:
                        Intent pieceOfCake = new Intent(MainActivity.this, Cake.class);
                        startActivity(pieceOfCake);
                        break;
                    case 3:
                        Intent pastry = new Intent(MainActivity.this, Pastry.class);
                        startActivity(pastry);
                        break;
                }
            }
        });
    }
    public void Decrement(View view) {
        LinearLayout parentRow = (LinearLayout) view.getParent();
        TextView quantityView = parentRow.findViewById(R.id.dessert_number);
        String quantityString = quantityView.getText().toString();
        desertNumber = Integer.parseInt(quantityString);
        desertNumber -= 1;
        if (desertNumber < 0) {
            desertNumber = 0;
            Toast.makeText(MainActivity.this, "Can not be less than 0",
                    Toast.LENGTH_SHORT).show();}
        quantityView.setText(String.valueOf(desertNumber));
    }

    public void Increment(View view) {
        LinearLayout parentRow = (LinearLayout) view.getParent();
        TextView quantityView = parentRow.findViewById(R.id.dessert_number);
        String quantityString = quantityView.getText().toString();
        desertNumber = Integer.parseInt(quantityString);
        desertNumber += 1;
        quantityView.setText(String.valueOf(desertNumber));
    }
}
