Advertisement
ioana_martin98

Untitled

Nov 19th, 2020
517
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.62 KB | None | 0 0
  1. package ro.ase.seminar1;
  2.  
  3. import androidx.annotation.NonNull;
  4. import androidx.annotation.Nullable;
  5. import androidx.appcompat.app.AppCompatActivity;
  6.  
  7. import android.app.AlertDialog;
  8. import android.app.Dialog;
  9. import android.content.DialogInterface;
  10. import android.content.Intent;
  11. import android.graphics.Color;
  12. import android.os.Bundle;
  13. import android.view.Menu;
  14. import android.view.MenuItem;
  15. import android.view.View;
  16. import android.view.ViewGroup;
  17. import android.widget.AdapterView;
  18. import android.widget.ArrayAdapter;
  19. import android.widget.Button;
  20. import android.widget.LinearLayout;
  21. import android.widget.ListView;
  22. import android.widget.TextView;
  23. import android.widget.Toast;
  24.  
  25. import com.google.android.material.floatingactionbutton.FloatingActionButton;
  26.  
  27. import java.io.InputStream;
  28. import java.net.MalformedURLException;
  29. import java.net.URL;
  30. import java.util.ArrayList;
  31. import java.util.List;
  32.  
  33. public class MainActivity2 extends AppCompatActivity {
  34.  
  35.     private FloatingActionButton floatingActionButton;
  36.  
  37.     public static final int REQUEST_CODE = 200;
  38.  
  39.     public static final int REQUEST_CODE_EDIT = 300;
  40.  
  41.     public static final String EDIT_MOVIE = "editMovie";
  42.  
  43.     public int poz;
  44.  
  45.     private ListView listView;
  46.     List<Movie> movieList = new ArrayList<Movie>();
  47.  
  48.     private Intent intent;
  49.  
  50.     @Override
  51.     protected void onCreate(Bundle savedInstanceState) {
  52.         super.onCreate(savedInstanceState);
  53.         setContentView(R.layout.activity_main2);
  54.  
  55.         floatingActionButton = findViewById(R.id.floatingActionButton);
  56.         floatingActionButton.setOnClickListener(new View.OnClickListener() {
  57.             @Override
  58.             public void onClick(View view) {
  59.                 intent = new Intent(getApplicationContext(), AddMovieActivity.class);
  60.                 startActivityForResult(intent, REQUEST_CODE);
  61.             }
  62.         });
  63.  
  64.         listView = findViewById(R.id.listView);
  65.  
  66.         listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
  67.             @Override
  68.             public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
  69.  
  70.                 poz = position;
  71.                 intent = new Intent(getApplicationContext(), AddMovieActivity.class);
  72.                 intent.putExtra(EDIT_MOVIE, movieList.get(position));
  73.                 startActivityForResult(intent, REQUEST_CODE_EDIT);
  74.             }
  75.         });
  76.  
  77.  
  78.         listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
  79.             @Override
  80.             public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long id) {
  81.  
  82.                 final Movie movie = movieList.get(position);
  83.  
  84.  
  85.                 final MovieAdapter adapter = (MovieAdapter) listView.getAdapter();
  86.  
  87.  
  88.  
  89.  
  90.                 /*final Dialog dlg = new Dialog(MainActivity2.this);
  91.                 LinearLayout linearLayout = new LinearLayout(getApplicationContext());
  92.                 linearLayout.setOrientation(LinearLayout.VERTICAL);
  93.                 linearLayout.setBackgroundColor(Color.WHITE);
  94.                 TextView mesaj = new TextView(getApplicationContext());
  95.                 mesaj.setText("Sigur doriti stergerea?");
  96.                 Button btnYes = new Button(getApplicationContext());
  97.                 btnYes.setText("Yes");
  98.                 Button btnNo = new Button(getApplicationContext());
  99.                 btnNo.setText("No");
  100.                 linearLayout.addView(mesaj);
  101.                 linearLayout.addView(btnYes);
  102.                 linearLayout.addView(btnNo);
  103.                 dlg.setContentView(linearLayout);
  104.                 dlg.show();
  105.  
  106.                 btnYes.setOnClickListener(new View.OnClickListener() {
  107.                     @Override
  108.                     public void onClick(View view) {
  109.                         movieList.remove(movie);
  110.                         adapter.notifyDataSetChanged();
  111.                         Toast.makeText(getApplicationContext(), "S-a sters filmul: "+movie.toString(),
  112.                                 Toast.LENGTH_LONG).show();
  113.                         dlg.dismiss();
  114.                     }
  115.                 });
  116.  
  117.                 btnNo.setOnClickListener(new View.OnClickListener() {
  118.                     @Override
  119.                     public void onClick(View view) {
  120.                         Toast.makeText(getApplicationContext(), "Nu s-a sters nimic!",
  121.                                 Toast.LENGTH_LONG).show();
  122.                         dlg.dismiss();
  123.                     }
  124.                 });
  125. */
  126.  
  127.                 AlertDialog dialog = new AlertDialog.Builder(MainActivity2.this)
  128.                         .setTitle("Confirmare stergere")
  129.                         .setMessage("Sigur doriti stergerea?")
  130.                         .setNegativeButton("No", new DialogInterface.OnClickListener() {
  131.                             @Override
  132.                             public void onClick(DialogInterface dialogInterface, int i) {
  133.                                 Toast.makeText(getApplicationContext(), "Nu s-a sters nimic!",
  134.                                         Toast.LENGTH_LONG).show();
  135.                                 dialogInterface.cancel();
  136.                             }
  137.                         }).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
  138.                             @Override
  139.                             public void onClick(DialogInterface dialogInterface, int i) {
  140.                                 movieList.remove(movie);
  141.                                 adapter.notifyDataSetChanged();
  142.                                 Toast.makeText(getApplicationContext(), "S-a sters filmul: "+movie.toString(),
  143.                                         Toast.LENGTH_LONG).show();
  144.                                 dialogInterface.cancel();
  145.                             }
  146.                         }).create();
  147.  
  148.                         dialog.show();
  149.  
  150.                 return true;
  151.             }
  152.         });
  153.     }
  154.  
  155.     @Override
  156.     public boolean onCreateOptionsMenu(Menu menu) {
  157.         getMenuInflater().inflate(R.menu.meniu_principal, menu);
  158.         return true;
  159.     }
  160.  
  161.     @Override
  162.     public boolean onOptionsItemSelected(@NonNull MenuItem item) {
  163.  
  164.         switch (item.getItemId())
  165.         {
  166.             case R.id.optiune1:
  167.                 Intent intent = new Intent(this, BNRActivity.class);
  168.                 startActivity(intent);
  169.                 break;
  170.             case R.id.optiune2:
  171.                 Toast.makeText(this, "Ati selectat optiune 2", Toast.LENGTH_LONG).show();
  172.                 break;
  173.             case R.id.optiune3:
  174.                 //Toast.makeText(this, "Ati selectat optiune 3", Toast.LENGTH_LONG).show();
  175.  
  176.                 /*ExtractMovies extractMovies = new ExtractMovies(){
  177.  
  178.                     @Override
  179.                     protected void onPostExecute(InputStream inputStream) {
  180.  
  181.                         movieList.addAll(ExtractMovies.listaFilme);
  182.  
  183.                         MovieAdapter adapter = new MovieAdapter(getApplicationContext(), R.layout.elemlistview,
  184.                                 movieList, getLayoutInflater()){
  185.                             @NonNull
  186.                             @Override
  187.                             public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  188.                                 View view = super.getView(position, convertView, parent);
  189.  
  190.                                 Movie movie =  movieList.get(position);
  191.  
  192.                                 TextView tvProfit = view.findViewById(R.id.profit);
  193.                                 if(movie.getProfit() > 100000)
  194.                                     tvProfit.setTextColor(Color.GREEN);
  195.                                 else
  196.                                     tvProfit.setTextColor(Color.RED);
  197.  
  198.                                 return view;
  199.                             }
  200.                         };
  201.                         listView.setAdapter(adapter);
  202.                     }
  203.                 };
  204.                 try {
  205.                     extractMovies.execute(new URL("https://pastebin.com/raw/crjKE827"));
  206.                 } catch (MalformedURLException e) {
  207.                     e.printStackTrace();
  208.                 }
  209. */
  210.                 ExtractMoviesJSON extractMoviesJSON = new ExtractMoviesJSON(){
  211.  
  212.                     @Override
  213.                     protected void onPostExecute(String s) {
  214.                         movieList.addAll(ExtractMoviesJSON.listaFilme);
  215.  
  216.                         MovieAdapter adapter = new MovieAdapter(getApplicationContext(), R.layout.elemlistview,
  217.                                 movieList, getLayoutInflater()){
  218.                             @NonNull
  219.                             @Override
  220.                             public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  221.                                 View view = super.getView(position, convertView, parent);
  222.  
  223.                                 Movie movie =  movieList.get(position);
  224.  
  225.                                                                TextView tvProfit = view.findViewById(R.id.profit);
  226.                                 if(movie.getProfit() > 100000)
  227.                                     tvProfit.setTextColor(Color.GREEN);
  228.                                 else
  229.                                     tvProfit.setTextColor(Color.RED);
  230.  
  231.                                 return view;
  232.  
  233.                             }
  234.  
  235.                         };
  236.                         listView.setAdapter(adapter);
  237.                         //Pentru ROOM:
  238.                         MoviesDB moviesDB = MoviesDB.getInstanta(getApplicationContext());
  239.                         moviesDB.getMovieDAO().insert(movieList);
  240.  
  241.                         List<Movie> listaRoom = moviesDB.getMovieDAO().getAll();
  242.                         if(listaRoom!=null){
  243.                             for(Movie m:listaRoom){
  244.                                 Toast.makeText(getApplicationContext(),m.toString(),Toast.LENGTH_LONG).show();
  245.                             }
  246.                         }
  247.  
  248.                     }
  249.                 };
  250.                 try {
  251.                     extractMoviesJSON.execute(new URL("https://pastebin.com/raw/TG263q6t"));
  252.                 } catch (MalformedURLException e) {
  253.                     e.printStackTrace();
  254.                 }
  255.  
  256.                 return  true;
  257.         }
  258.  
  259.         return false;
  260.     }
  261.  
  262.     @Override
  263.     protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  264.         super.onActivityResult(requestCode, resultCode, data);
  265.  
  266.         if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
  267.             Movie movie = (Movie) data.getSerializableExtra(AddMovieActivity.ADD_MOVIE);
  268.  
  269.             if (movie != null) {
  270.                 //Toast.makeText(getApplicationContext(), movie.toString(), Toast.LENGTH_LONG).show();
  271.                 movieList.add(movie);
  272.  
  273.                /* ArrayAdapter<Movie> adapter = new ArrayAdapter<Movie>(getApplicationContext(),
  274.                         android.R.layout.simple_list_item_1, movieList);*/
  275.  
  276.                MovieAdapter adapter = new MovieAdapter(getApplicationContext(), R.layout.elemlistview,
  277.                        movieList, getLayoutInflater()){
  278.                    @NonNull
  279.                    @Override
  280.                    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  281.                        View view = super.getView(position, convertView, parent);
  282.  
  283.                        Movie movie =  movieList.get(position);
  284.  
  285.                        TextView tvProfit = view.findViewById(R.id.profit);
  286.                        if(movie.getProfit() > 100000)
  287.                            tvProfit.setTextColor(Color.GREEN);
  288.                        else
  289.                            tvProfit.setTextColor(Color.RED);
  290.  
  291.                        return view;
  292.                    }
  293.                };
  294.  
  295.                 listView.setAdapter(adapter);
  296.             }
  297.         }
  298.         else
  299.         if (requestCode == REQUEST_CODE_EDIT && resultCode == RESULT_OK && data != null) {
  300.             Movie movie = (Movie) data.getSerializableExtra(AddMovieActivity.ADD_MOVIE);
  301.             {
  302.                 if (movie!=null)
  303.                 {
  304.                     movieList.get(poz).setTitle(movie.getTitle());
  305.                     movieList.get(poz).setData(movie.getData());
  306.                     movieList.get(poz).setRegizor(movie.getRegizor());
  307.                     movieList.get(poz).setProfit(movie.getProfit());
  308.                     movieList.get(poz).setGenFilm(movie.getGenFilm());
  309.                     movieList.get(poz).setPlatforma(movie.getPlatforma());
  310.  
  311.                     MovieAdapter adapter = new MovieAdapter(getApplicationContext(), R.layout.elemlistview,
  312.                             movieList, getLayoutInflater()){
  313.                         @NonNull
  314.                         @Override
  315.                         public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  316.                             View view = super.getView(position, convertView, parent);
  317.  
  318.                             Movie movie =  movieList.get(position);
  319.  
  320.                             TextView tvProfit = view.findViewById(R.id.profit);
  321.                             if(movie.getProfit() > 100000)
  322.                                 tvProfit.setTextColor(Color.GREEN);
  323.                             else
  324.                                 tvProfit.setTextColor(Color.RED);
  325.  
  326.                             return view;
  327.                         }
  328.                     };
  329.                     listView.setAdapter(adapter);
  330.                 }
  331.             }
  332.         }
  333.     }
  334. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement