Android Open Source - android4tv-example2 Pvr Manager






From Project

Back to project page android4tv-example2.

License

The source code is released under:

Apache License

If you think the Android project android4tv-example2 listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2014 iWedia S.A. Licensed under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with the
 * License. You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
 * or agreed to in writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *///from ww w.j  a v a 2  s  .  c  o  m
package com.iwedia.dtv;

import com.iwedia.dtv.dtvmanager.IDTVManager;
import com.iwedia.dtv.pvr.IPvrCallback;
import com.iwedia.dtv.pvr.IPvrControl;
import com.iwedia.dtv.pvr.PvrRecordType;
import com.iwedia.dtv.pvr.PvrSortMode;
import com.iwedia.dtv.pvr.PvrSortOrder;

import java.util.ArrayList;

/**
 * Class for PVR related functions.
 */
public class PvrManager {
    private IPvrControl mPvrControl;
    private IPvrCallback mPvrCallback;
    private static PvrManager instance = null;

    protected static PvrManager getInstance(IDTVManager mDTVManager) {
        if (instance == null) {
            instance = new PvrManager(mDTVManager);
        }
        return instance;
    }

    private PvrManager(IDTVManager mDTVManager) {
        mPvrControl = mDTVManager.getPvrControl();
    }

    /**
     * Registers PVR callback.
     * 
     * @param callback
     *        Callback to register.
     */
    public void registerPvrCallback(IPvrCallback callback) {
        mPvrCallback = callback;
        mPvrControl.registerCallback(callback);
    }

    /**
     * Unregisters PVR callback.
     */
    public void unregisterPvrCallback() {
        if (mPvrCallback != null) {
            mPvrControl.unregisterCallback(mPvrCallback);
        }
    }

    /**
     * Sets PVR media path.
     * 
     * @param mediaPath
     *        Path to set.
     */
    public void setMediaPath(String mediaPath) {
        mPvrControl.setDevicePath(mediaPath);
    }

    /**
     * Retrieves list of scheduled records.
     * 
     * @return List of scheduled records.
     */
    public ArrayList<Object> getPvrScheduledRecords() {
        ArrayList<Object> records = new ArrayList<Object>();
        int numberOfMediaRecords = mPvrControl.updateRecordList();
        for (int i = 0; i < numberOfMediaRecords; i++) {
            PvrRecordType type = mPvrControl.getRecordType(i);
            if (type == PvrRecordType.ONTOUCH) {
                records.add(mPvrControl.getOnTouchInfo(i));
            } else if (type == PvrRecordType.SMART) {
                records.add(mPvrControl.getSmartInfo(i));
            } else {
                records.add(mPvrControl.getTimerInfo(i));
            }
        }
        return records;
    }

    /**
     * Delete scheduled PVR record.
     * 
     * @param index
     *        of scheduled record to delete.
     */
    public void deleteScheduledRecord(int index) {
        mPvrControl.destroyRecord(index);
    }

    /**
     * Sets desired sort mode.
     * 
     * @param order
     *        New sort mode to set.
     */
    public void setScheduledSortMode(PvrSortMode mode) {
        mPvrControl.setRecordListSortMode(mode);
    }

    /**
     * Returns active sort mode.
     */
    public PvrSortMode getScheduledSortMode() {
        return mPvrControl.getRecordListSortMode();
    }

    /**
     * Sets desired sort order.
     * 
     * @param order
     *        New sort order to set.
     */
    public void setScheduledSortOrder(PvrSortOrder order) {
        mPvrControl.setRecordListSortOrder(order);
    }

    /**
     * Returns active sort order.
     */
    public PvrSortOrder getScheduledSortOrder() {
        return mPvrControl.getRecordListSortOrder();
    }
}




Java Source Code List

com.iwedia.activities.ChannelListDialog.java
com.iwedia.activities.CustomTimePickerDialog.java
com.iwedia.activities.DTVActivity.java
com.iwedia.activities.EPGActivity.java
com.iwedia.activities.ListDialog.java
com.iwedia.activities.ManualPvrRecordDialog.java
com.iwedia.activities.ManualReminderDialog.java
com.iwedia.activities.ManualSetDialog.java
com.iwedia.activities.MediaMountedReceiver.java
com.iwedia.activities.ReminderListDialog.java
com.iwedia.activities.ScheduledRecordListDialog.java
com.iwedia.activities.SoftwareVersionDialog.java
com.iwedia.activities.TVActivity.java
com.iwedia.adapters.ChannelListAdapter.java
com.iwedia.adapters.FragmentTabAdapter.java
com.iwedia.adapters.ListViewChannelsAdapter.java
com.iwedia.adapters.ListViewTimeAdapter.java
com.iwedia.callback.EPGCallBack.java
com.iwedia.callback.PvrCallback.java
com.iwedia.callback.ReminderCallback.java
com.iwedia.custom.TimeLineObject.java
com.iwedia.custom.TimeLine.java
com.iwedia.dtv.ChannelInfo.java
com.iwedia.dtv.DVBManager.java
com.iwedia.dtv.IPService.java
com.iwedia.dtv.PvrManager.java
com.iwedia.dtv.ReminderManager.java
com.iwedia.dtv.TimeEventHolder.java
com.iwedia.dtv.TimeEvent.java
com.iwedia.fragments.EPGFragment.java