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