Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.58 KB | None | 0 0
  1. package com.example.studentn.movies.view;
  2.  
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.arch.persistence.room.Database;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.os.Handler;
  10. import android.provider.Settings;
  11. import android.support.annotation.NonNull;
  12. import android.support.v4.graphics.ColorUtils;
  13. import android.view.View;
  14. import android.widget.ArrayAdapter;
  15. import android.widget.EditText;
  16. import android.widget.ListView;
  17. import android.widget.Spinner;
  18. import android.widget.TextView;
  19. import android.widget.Toast;
  20.  
  21.  
  22. import com.example.studentn.movies.R;
  23. import com.example.studentn.movies.db.DirectorDao;
  24. import com.example.studentn.movies.db.MoviesDatabase;
  25. import com.example.studentn.movies.model.Actor;
  26. import com.example.studentn.movies.model.Director;
  27. import com.example.studentn.movies.model.Movie;
  28.  
  29. import java.lang.reflect.Array;
  30. import java.util.ArrayList;
  31. import java.util.Collection;
  32. import java.util.Iterator;
  33. import java.util.List;
  34. import java.util.ListIterator;
  35.  
  36. import static com.example.studentn.movies.R.id.actors;
  37. import static com.example.studentn.movies.R.id.addMovies;
  38. import static com.example.studentn.movies.R.id.heading;
  39. import static com.example.studentn.movies.R.id.movie_time;
  40.  
  41. public class AddMovieActivity extends Activity {
  42. private float[] hsl = {0f,1f,1/2f};
  43. private Handler handler = new Handler();
  44. private Runnable runnable;
  45.  
  46. private Spinner directorsSpinner;
  47. private Spinner genre;
  48. private MoviesDatabase database;
  49. private EditText movie_name;
  50. private EditText movie_year;
  51. private EditText movie_time;
  52. private Spinner actorsSpinner;
  53. private TextView directorNotFound;
  54. private TextView actorNotFound;
  55. private ListView actorsList;
  56.  
  57.  
  58.  
  59. final ArrayList<Actor> selectedActors = new ArrayList<>();
  60.  
  61. @Override
  62. protected void onCreate(Bundle savedInstanceState) {
  63. super.onCreate(savedInstanceState);
  64. setContentView(R.layout.activity_add_movie);
  65. movie_name = (EditText)findViewById(R.id.movie_name);
  66. movie_year = (EditText)findViewById(R.id.movie_year);
  67. movie_time = (EditText)findViewById(R.id.movie_time);
  68. actorsSpinner = (Spinner)findViewById(R.id.actors);
  69. database = MoviesDatabase.getDatabase(this);
  70. genre = (Spinner)findViewById(R.id.genre);
  71. directorsSpinner = (Spinner)findViewById(R.id.directors);
  72. directorNotFound = (TextView)findViewById(R.id.directorNotFound);
  73. actorNotFound = (TextView)findViewById(R.id.actorNotFound);
  74. actorsList = (ListView)findViewById(R.id.actorsList);
  75.  
  76.  
  77.  
  78.  
  79. ArrayAdapter<Actor> actorsInList = new ArrayAdapter<Actor>(this, android.R.layout.simple_spinner_dropdown_item, selectedActors);
  80. actorsList.setAdapter(actorsInList);
  81.  
  82. String[] genres = {"Action", "Adventure", "Comedy", "Drama", "Fantasy", "Horror", "Romance"};
  83. ArrayAdapter genresAdapter = new ArrayAdapter(
  84. this,
  85. android.R.layout.simple_spinner_dropdown_item,
  86. genres);
  87. genre.setAdapter(genresAdapter);
  88.  
  89. Director[] directors = database.directorDao().getAll();
  90. ArrayAdapter directorsAdapter = new ArrayAdapter(
  91. this,
  92. android.R.layout.simple_spinner_dropdown_item,
  93. directors);
  94. directorsSpinner.setAdapter(directorsAdapter);
  95.  
  96. Actor[] actors = database.actorDao().getAll();
  97. ArrayAdapter actorsAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, actors);
  98. actorsSpinner.setAdapter(actorsAdapter);
  99.  
  100.  
  101.  
  102. runnable = new Runnable() {
  103. @Override
  104. public void run() {
  105.  
  106.  
  107. movie_name.setTextColor(ColorUtils.HSLToColor(hsl));
  108. hsl[0] += 5;
  109. if (hsl[0] == 360)
  110. {
  111. hsl[0] = 0;
  112. }
  113. movie_year.setTextColor(ColorUtils.HSLToColor(hsl));
  114. hsl[0] -= 20;
  115. movie_time.setTextColor(ColorUtils.HSLToColor(hsl));
  116. hsl[0] += 20;
  117. // Repeat every 2 seconds
  118. handler.postDelayed(runnable, 50);
  119. }
  120. };
  121.  
  122. handler.post(runnable);
  123. }
  124.  
  125. public void onClick(View v) {
  126.  
  127. Director director = (Director)directorsSpinner.getSelectedItem();
  128.  
  129. final String message = "No directors Found, Please add the director to continue";
  130. if (director == null)
  131. {
  132. new AlertDialog.Builder(this)
  133. .setTitle(movie_name.getText())
  134. .setMessage(message)
  135. .setPositiveButton("OK", new DialogInterface.OnClickListener() {
  136. public void onClick(DialogInterface dialog, int id) {
  137. // User clicked OK button
  138. Intent i = new Intent(AddMovieActivity.this, AddDirectorActivity.class);
  139. startActivity(i);
  140. }
  141. })
  142. .show();
  143. }
  144. else {
  145. Movie movie = new Movie(movie_name.getText().toString(), director.getId(), 1, genre.getSelectedItem().toString(), Integer.parseInt(movie_time.getText().toString()), Integer.parseInt(movie_year.getText().toString()));
  146. database.movieDao().insert(movie);
  147.  
  148. Toast.makeText(this, "Added", Toast.LENGTH_LONG).show();
  149. movie_name.setText("");
  150. movie_year.setText("");
  151. movie_time.setText("");
  152. }
  153. //Intent intent = new Intent(this, AddMovieActivity.class);
  154. //startActivity(intent);
  155. }
  156.  
  157.  
  158. public void addDirector(View v)
  159. {
  160. Intent i = new Intent(this, AddDirectorActivity.class);
  161. startActivity(i);
  162. }
  163.  
  164.  
  165. @Override
  166. protected void onResume() {
  167. super.onResume();
  168. handler.post(runnable);
  169. }
  170.  
  171. @Override
  172. protected void onPause() {
  173. handler.removeCallbacks(runnable);
  174. super.onPause();
  175. }
  176.  
  177. public void addActor(View v)
  178. {
  179. Intent i = new Intent(this, AddActorActivity.class);
  180. startActivity(i);
  181. }
  182.  
  183. public void addActorToList(View v)
  184. {
  185. selectedActors.add((Actor)actorsSpinner.getSelectedItem());
  186. actorsList.setAdapter(actorsInList);
  187. }
  188.  
  189. public void removeActorFromList(View v)
  190. {
  191. selectedActors.remove(actorsSpinner.getSelectedItem());
  192. }
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement