Home | History | Annotate | Download | only in ui
      1 package com.android.tv.dvr.ui;
      2 
      3 import android.app.Activity;
      4 import android.app.FragmentManager;
      5 import android.os.Bundle;
      6 
      7 import android.support.v17.leanback.app.GuidedStepFragment;
      8 import android.support.v17.leanback.widget.GuidanceStylist.Guidance;
      9 import android.support.v17.leanback.widget.GuidedAction;
     10 
     11 import com.android.tv.data.Program;
     12 import com.android.tv.dialog.SafeDismissDialogFragment;
     13 import com.android.tv.dvr.ScheduledRecording;
     14 import com.android.tv.guide.ProgramManager.TableEntry;
     15 import com.android.tv.MainActivity;
     16 import com.android.tv.R;
     17 
     18 import java.util.List;
     19 
     20 public class DvrRecordScheduleFragment extends DvrGuidedStepFragment {
     21     private static final int ACTION_RECORD_YES = 1;
     22     private static final int ACTION_RECORD_NO = 2;
     23 
     24     public DvrRecordScheduleFragment(TableEntry entry) {
     25         super(entry);
     26     }
     27 
     28     @Override
     29     public Guidance onCreateGuidance(Bundle savedInstanceState) {
     30         String title = getResources().getString(R.string.epg_dvr_dialog_message_schedule_recording);
     31         return new Guidance(title, null, null, null);
     32     }
     33 
     34     @Override
     35     public void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) {
     36         Activity activity = getActivity();
     37         actions.add(new GuidedAction.Builder(activity)
     38                 .id(ACTION_RECORD_YES)
     39                 .title(getResources().getString(android.R.string.yes))
     40                 .build());
     41         actions.add(new GuidedAction.Builder(activity)
     42                 .id(ACTION_RECORD_NO)
     43                 .title(getResources().getString(android.R.string.no))
     44                 .build());
     45     }
     46 
     47     @Override
     48     public void onGuidedActionClicked(GuidedAction action) {
     49         TableEntry entry = getEntry();
     50         Program program = entry.program;
     51         final List<ScheduledRecording> conflicts =
     52                 getDvrManager().getScheduledRecordingsThatConflict(program);
     53         if (action.getId() == ACTION_RECORD_YES) {
     54             if (conflicts.isEmpty()) {
     55                 getDvrManager().addSchedule(program, conflicts);
     56                 dismissDialog();
     57             } else {
     58                 DvrRecordConflictFragment dvrConflict = new DvrRecordConflictFragment(entry);
     59                 SafeDismissDialogFragment currentDialog =
     60                 ((MainActivity) getActivity()).getOverlayManager().getCurrentDialog();
     61                 if (currentDialog instanceof DvrDialogFragment) {
     62                     FragmentManager fm = currentDialog.getChildFragmentManager();
     63                     GuidedStepFragment.add(fm, dvrConflict, R.id.halfsized_dialog_host);
     64                 }
     65             }
     66         } else if (action.getId() == ACTION_RECORD_NO) {
     67             dismissDialog();
     68         }
     69     }
     70 }
     71