30 import android.os.Bundle; |
30 import android.os.Bundle; |
31 import android.support.v4.app.DialogFragment; |
31 import android.support.v4.app.DialogFragment; |
32 |
32 |
33 public class DownloadDialogFragment extends DialogFragment { |
33 public class DownloadDialogFragment extends DialogFragment { |
34 |
34 |
35 public static final int NUM_ALREADYDOWNLOADED = 0; |
35 public static final int NUM_ALREADYDOWNLOADED = 0; |
36 public static final int NUM_AREYOUSURE = 1; |
36 public static final int NUM_AREYOUSURE = 1; |
37 |
37 |
38 private final static String BUNDLE_TASK = "task"; |
38 private final static String BUNDLE_TASK = "task"; |
39 |
39 |
40 static DownloadDialogFragment newInstance(DownloadPackage task){ |
40 static DownloadDialogFragment newInstance(DownloadPackage task){ |
41 DownloadDialogFragment dialog = new DownloadDialogFragment(); |
41 DownloadDialogFragment dialog = new DownloadDialogFragment(); |
42 |
42 |
43 Bundle args = new Bundle(); |
43 Bundle args = new Bundle(); |
44 args.putParcelable(DownloadDialogFragment.BUNDLE_TASK, task); |
44 args.putParcelable(DownloadDialogFragment.BUNDLE_TASK, task); |
45 dialog.setArguments(args); |
45 dialog.setArguments(args); |
46 |
46 |
47 return dialog; |
47 return dialog; |
48 } |
48 } |
49 |
49 |
50 public Dialog onCreateDialog(Bundle savedInstanceState){ |
50 public Dialog onCreateDialog(Bundle savedInstanceState){ |
51 DownloadPackage task = (DownloadPackage)getArguments().getParcelable(DownloadDialogFragment.BUNDLE_TASK); |
51 DownloadPackage task = (DownloadPackage)getArguments().getParcelable(DownloadDialogFragment.BUNDLE_TASK); |
52 |
52 |
53 Builder builder = new AlertDialog.Builder(getActivity()); |
53 Builder builder = new AlertDialog.Builder(getActivity()); |
54 |
54 |
55 switch(task.getStatus()){ |
55 switch(task.getStatus()){ |
56 case CURRENTVERSION: |
56 case CURRENTVERSION: |
57 case NEWERVERSION: |
57 case NEWERVERSION: |
58 builder.setMessage(R.string.download_areyousure); |
58 builder.setMessage(R.string.download_areyousure); |
59 break; |
59 break; |
60 case OLDERVERSION: |
60 case OLDERVERSION: |
61 builder.setMessage(R.string.download_alreadydownloaded); |
61 builder.setMessage(R.string.download_alreadydownloaded); |
62 break; |
62 break; |
63 } |
63 } |
64 |
64 |
65 DownloadClicker clicker = new DownloadClicker(task); |
65 DownloadClicker clicker = new DownloadClicker(task); |
66 builder.setPositiveButton(android.R.string.yes, clicker); |
66 builder.setPositiveButton(android.R.string.yes, clicker); |
67 builder.setNegativeButton(android.R.string.no, clicker); |
67 builder.setNegativeButton(android.R.string.no, clicker); |
68 |
68 |
69 return builder.create(); |
69 return builder.create(); |
70 } |
70 } |
71 |
71 |
72 class DownloadClicker implements OnClickListener{ |
72 class DownloadClicker implements OnClickListener{ |
73 |
73 |
74 DownloadPackage task = null; |
74 DownloadPackage task = null; |
75 |
75 |
76 public DownloadClicker(DownloadPackage _task){ |
76 public DownloadClicker(DownloadPackage _task){ |
77 task = _task; |
77 task = _task; |
78 } |
78 } |
79 |
79 |
80 public void onClick(DialogInterface dialog, int which) { |
80 public void onClick(DialogInterface dialog, int which) { |
81 if(which == Dialog.BUTTON_POSITIVE){ |
81 if(which == Dialog.BUTTON_POSITIVE){ |
82 Intent i = new Intent(getActivity(), DownloadListActivity.class); |
82 Intent i = new Intent(getActivity(), DownloadListActivity.class); |
83 i.putExtra(DownloadFragment.EXTRA_TASK, task); |
83 i.putExtra(DownloadFragment.EXTRA_TASK, task); |
84 getActivity().startActivity(i); |
84 getActivity().startActivity(i); |
85 } |
85 } |
86 } |
86 } |
87 } |
87 } |
88 } |
88 } |