165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko/* 265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Copyright (C) 2016 The Android Open Source Project 365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Licensed under the Apache License, Version 2.0 (the "License"); 565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * you may not use this file except in compliance with the License. 665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * You may obtain a copy of the License at 765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * http://www.apache.org/licenses/LICENSE-2.0 965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * 1065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * Unless required by applicable law or agreed to in writing, software 1165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * distributed under the License is distributed on an "AS IS" BASIS, 1265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * See the License for the specific language governing permissions and 1465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko * limitations under the License. 1565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko */ 1665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 1765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkopackage com.android.tv.dvr.ui; 1865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 1965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport android.app.Activity; 2065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport android.content.Intent; 2165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport android.os.Bundle; 2265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport android.support.v17.leanback.widget.GuidanceStylist.Guidance; 2365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport android.support.v17.leanback.widget.GuidedAction; 2465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 2565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport com.android.tv.R; 2665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport com.android.tv.TvApplication; 2765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport com.android.tv.dvr.DvrDataManager; 2865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 2965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkoimport java.util.List; 3065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 3165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalkopublic class DvrInsufficientSpaceErrorFragment extends DvrGuidedStepFragment { 3265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko private static final int ACTION_DONE = 1; 3365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko private static final int ACTION_OPEN_DVR = 2; 3465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 3565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko @Override 3665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public Guidance onCreateGuidance(Bundle savedInstanceState) { 3765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko String title = getResources().getString(R.string.dvr_error_insufficient_space_title); 3865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko String description = getResources() 3965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .getString(R.string.dvr_error_insufficient_space_description); 4065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko return new Guidance(title, description, null, null); 4165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 4265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 4365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko @Override 4465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public void onCreateActions(List<GuidedAction> actions, Bundle savedInstanceState) { 4565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko Activity activity = getActivity(); 4665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko actions.add(new GuidedAction.Builder(activity) 4765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .id(ACTION_DONE) 4865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .title(getResources().getString(R.string.dvr_action_error_done)) 4965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .build()); 5065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko DvrDataManager dvrDataManager = TvApplication.getSingletons(getContext()) 5165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .getDvrDataManager(); 5265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko if (!(dvrDataManager.getRecordedPrograms().isEmpty() 5365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko && dvrDataManager.getStartedRecordings().isEmpty() 5465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko && dvrDataManager.getNonStartedScheduledRecordings().isEmpty() 5565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko && dvrDataManager.getSeriesRecordings().isEmpty())) { 5665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko actions.add(new GuidedAction.Builder(activity) 5765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .id(ACTION_OPEN_DVR) 5865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .title(getResources().getString(R.string.dvr_action_error_open_dvr)) 5965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko .build()); 6065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 6165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 6265fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko 6365fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko @Override 6465fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko public void onGuidedActionClicked(GuidedAction action) { 6565fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko if (action.getId() == ACTION_OPEN_DVR) { 6665fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko Intent intent = new Intent(getActivity(), DvrActivity.class); 6765fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko getActivity().startActivity(intent); 6865fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 6965fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko dismissDialog(); 7065fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko } 7165fda1eaa94968bb55d5ded10dcb0b3f37fb05f2Nick Chalko} 72