DetailScreen.java 3.34 KB
Newer Older
donia's avatar
donia committed
1 2
package com.example.tpleboncoin.ui;

donia's avatar
donia committed
3 4
import static android.text.Layout.JUSTIFICATION_MODE_INTER_WORD;

donia's avatar
donia committed
5 6 7 8
import androidx.appcompat.app.AppCompatActivity;
import com.example.tpleboncoin.databinding.ActivityDetailScreenBinding;

import android.content.Intent;
donia's avatar
donia committed
9 10 11
import android.graphics.text.LineBreaker;
import android.net.Uri;
import android.os.Build;
donia's avatar
donia committed
12
import android.os.Bundle;
donia's avatar
donia committed
13 14 15
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
donia's avatar
donia committed
16 17

import com.example.tpleboncoin.R;
donia's avatar
donia committed
18
import com.example.tpleboncoin.models.Annonce;
donia's avatar
donia committed
19

20 21
import java.util.Objects;

donia's avatar
donia committed
22 23
public class DetailScreen extends AppCompatActivity {
        ActivityDetailScreenBinding binding;
24
        Annonce annonce;
donia's avatar
donia committed
25 26 27 28 29 30 31 32
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            //setContentView(R.layout.activity_detail_screen);
            binding = ActivityDetailScreenBinding.inflate(getLayoutInflater());
            setContentView(binding.getRoot());
            Intent intent = this.getIntent();
            if (intent != null){
33
                annonce = intent.getParcelableExtra("annonce");
donia's avatar
donia committed
34

35
                binding.adresseTextView.setText(annonce.getAdresse());
donia's avatar
donia committed
36
                binding.prixTextView.setText( String.format("%,.2f €", annonce.getPrix())) ;
37
                binding.descriptionTextView4.setText(annonce.getDescription());
donia's avatar
donia committed
38 39 40
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                    binding.descriptionTextView4.setJustificationMode(LineBreaker.JUSTIFICATION_MODE_INTER_WORD);
                }
41
                binding.titreTextView.setText(annonce.getTitre());
42 43 44 45 46

                if(annonce.getImage() != null){
                    binding.imageView.setImageBitmap(annonce.getImageAsBitmap());
                }

donia's avatar
donia committed
47
            }
48 49 50 51 52 53 54 55 56 57

            //Only show buttons if data provided in annonce
            if(Objects.equals(annonce.getNumeroTelephone(), "")){
                binding.smsButton.setVisibility(View.INVISIBLE);
            }
            if(Objects.equals(annonce.getEmail(), "")){
                binding.emailButton.setVisibility(View.INVISIBLE);
            }

            //Buttons for SMS or email
donia's avatar
donia committed
58 59 60
            binding.smsButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
61 62 63 64 65
                    Intent smsIntent = new Intent(Intent.ACTION_VIEW);
                    smsIntent.setData(Uri.parse("sms:"));
                    smsIntent.setType("vnd.android-dir/mms-sms");
                    smsIntent.putExtra(Intent.EXTRA_TEXT, "");
                    smsIntent.putExtra("address",  annonce.getNumeroTelephone());
donia's avatar
donia committed
66 67 68 69
                    startActivity(smsIntent);
                }
            });

70 71 72 73 74 75 76 77 78 79 80 81

            binding.emailButton.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
                            "mailto", annonce.getEmail(), null));
                    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Réponse à l'annonce - " + annonce.getTitre());
//                    emailIntent.putExtra(Intent.EXTRA_TEXT, "Body");
                    startActivity(Intent.createChooser(emailIntent, "Envoi d'email"));
                }
            });

donia's avatar
donia committed
82 83
        }
}