Android Open Source - android4tv-example5 Frontend Manager






From Project

Back to project page android4tv-example5.

License

The source code is released under:

Apache License

If you think the Android project android4tv-example5 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   w  ww . j a  va 2 s .c o  m*/
package com.iwedia.five.dtv;

import android.util.Log;

import java.util.ArrayList;

public class FrontendManager {
    private static final String TAG = "FrontendManager";
    private ArrayList<Frontend> mFrontends;
    private static FrontendManager sInstance;

    private static FrontendManager getInstance() {
        if (sInstance == null) {
            sInstance = new FrontendManager();
        }
        return sInstance;
    }

    public FrontendManager() {
        mFrontends = new ArrayList<Frontend>();
    }

    /**
     * Adds frontend to frontend list.
     * 
     * @param frontend
     */
    public static void frontendFound(Frontend frontend) {
        boolean exist = false;
        for (int i = 0; i < getInstance().mFrontends.size(); i++) {
            if (frontend.getFrontendIndex() == getInstance().mFrontends.get(i)
                    .getFrontendIndex()) {
                exist = true;
            }
        }
        if (!exist) {
            getInstance().mFrontends.add(frontend);
        }
        Log.d(TAG, getInstance().mFrontends.toString());
    }

    /**
     * Returns route by frontend index.
     * 
     * @param frontendIndex
     * @return Live route or -1 if it is not found.
     */
    public static int getLiveRouteByFrontendIndex(int frontendIndex) {
        for (int i = 0; i < getInstance().mFrontends.size(); i++) {
            if (frontendIndex == getInstance().mFrontends.get(i)
                    .getFrontendIndex()) {
                return getInstance().mFrontends.get(i).getRoute();
            }
        }
        return -1;
    }

    /**
     * Set current antenna state.
     * 
     * @param frontendIndex
     * @param state
     *        Connected or not.
     */
    public static void setAntennaState(int frontendIndex, boolean state) {
        for (int i = 0; i < getInstance().mFrontends.size(); i++) {
            if (frontendIndex == getInstance().mFrontends.get(i)
                    .getFrontendIndex()) {
                getInstance().mFrontends.get(i).setAntennaConnnected(state);
            }
        }
    }

    /**
     * Is antenna connected for desired route;
     * 
     * @param routeId
     *        Desired route;
     * @return True if antenna is connected, False otherwise.
     */
    public static boolean getAntennaState(int routeId) {
        for (int i = 0; i < getInstance().mFrontends.size(); i++) {
            if (routeId == getInstance().mFrontends.get(i).getRoute()) {
                return getInstance().mFrontends.get(i).isAntennaConnnected();
            }
        }
        return true;
    }
}




Java Source Code List

com.iwedia.five.ChannelListDialog.java
com.iwedia.five.DTVActivity.java
com.iwedia.five.ListDialog.java
com.iwedia.five.MediaMountedReceiver.java
com.iwedia.five.PvrActivity.java
com.iwedia.five.RecordListDialog.java
com.iwedia.five.SoftwareVersionDialog.java
com.iwedia.five.adapters.ChannelListAdapter.java
com.iwedia.five.callbacks.ScanCallBack.java
com.iwedia.five.dtv.ChannelInfo.java
com.iwedia.five.dtv.DVBManager.java
com.iwedia.five.dtv.FrontendManager.java
com.iwedia.five.dtv.Frontend.java
com.iwedia.five.dtv.IPService.java
com.iwedia.five.dtv.PvrManager.java
com.iwedia.five.dtv.PvrSpeedMode.java
com.iwedia.five.dtv.ReminderManager.java