Android Open Source - callmeter Ads






From Project

Back to project page callmeter.

License

The source code is released under:

GNU General Public License

If you think the Android project callmeter 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) 2011-2013 Felix Bechstein
 * /*from  ww w.j av a2  s  .co  m*/
 * This file is part of ub0rlib.
 * 
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation; either version 3 of the License, or (at your option) any later
 * version.
 * 
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 * 
 * You should have received a copy of the GNU General Public License along with
 * this program; If not, see <http://www.gnu.org/licenses/>.
 */
package de.ub0r.android.callmeter;

import com.google.ads.Ad;
import com.google.ads.AdListener;
import com.google.ads.AdRequest;
import com.google.ads.AdRequest.ErrorCode;
import com.google.ads.AdSize;
import com.google.ads.AdView;

import android.app.Activity;
import android.os.Build;
import android.view.View;
import android.webkit.WebViewDatabase;
import android.widget.LinearLayout;

import java.util.Set;

import de.ub0r.android.logg0r.Log;

/**
 * Class managing ads.
 *
 * @author flx
 */
public final class Ads {

    /** Tag for output. */
    private static final String TAG = "Ads";

    /** Size of an large ad. */
    // private final static int AD_HSIZE = 728;

    /**
     * Default constructor.
     */
    private Ads() {

    }

    /**
     * Load ads.
     *
     * @param activity activity to show ad in
     * @param adBase   {@link LinearLayout} to ad the adView
     * @param unitId   google's unit id
     * @param keywords keywords for the ads
     */
    public static void loadAd(final Activity activity, final int adBase, final String unitId,
            final Set<String> keywords) {
        Log.d(TAG, "loadAd(", unitId, ")");

        final LinearLayout adframe = (LinearLayout) activity.findViewById(adBase);
        if (adframe == null) {
            Log.e(TAG, "adframe=null");
            return;
        } else if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) {
            Log.d(TAG, "API ", Build.VERSION.SDK_INT, " <= FROYO");
            WebViewDatabase webViewDB = WebViewDatabase.getInstance(activity);
            if (webViewDB == null) {
                Log.e(TAG, "webViewDB == null");
                return;
            }
        }

        AdView adv;
        View v = adframe.getChildAt(0);
        if (v != null && v instanceof AdView) {
            adv = (AdView) v;
        } else {
            adv = new AdView(activity, AdSize.SMART_BANNER, unitId);
            adframe.addView(adv);
        }

        final AdRequest ar = new AdRequest();
        if (keywords != null) {
            ar.setKeywords(keywords);
        }

        adv.setAdListener(new AdListener() {
            @Override
            public void onReceiveAd(final Ad ad) {
                Log.d(TAG, "got ad: ", ad.toString());
                adframe.setVisibility(View.VISIBLE);
            }

            @Override
            public void onPresentScreen(final Ad ad) {
                // nothing todo
            }

            @Override
            public void onLeaveApplication(final Ad ad) {
                // nothing todo
            }

            @Override
            public void onFailedToReceiveAd(final Ad ad, final ErrorCode err) {
                Log.i(TAG, "failed to load ad: " + err);
            }

            @Override
            public void onDismissScreen(final Ad arg0) {
                // nothing todo
            }
        });
        Log.d(TAG, "send request");
        adv.loadAd(ar);
        Log.d(TAG, "loadAd() end");
    }
}




Java Source Code List

android.preference.DatePreference.java
com.actionbarsherlock.BuildConfig.java
de.ub0r.android.callmeter.Ads.java
de.ub0r.android.callmeter.CallMeter.java
de.ub0r.android.callmeter.TrackingUtils.java
de.ub0r.android.callmeter.data.DataProvider.java
de.ub0r.android.callmeter.data.Device.java
de.ub0r.android.callmeter.data.ExportProvider.java
de.ub0r.android.callmeter.data.LogRunnerReceiver.java
de.ub0r.android.callmeter.data.LogRunnerService.java
de.ub0r.android.callmeter.data.NameCache.java
de.ub0r.android.callmeter.data.NameLoader.java
de.ub0r.android.callmeter.data.RuleMatcher.java
de.ub0r.android.callmeter.data.SysClassNet.java
de.ub0r.android.callmeter.ui.AboutActivity.java
de.ub0r.android.callmeter.ui.AddLogActivity.java
de.ub0r.android.callmeter.ui.AskForPlan.java
de.ub0r.android.callmeter.ui.Common.java
de.ub0r.android.callmeter.ui.HelpActivity.java
de.ub0r.android.callmeter.ui.IntroActivity.java
de.ub0r.android.callmeter.ui.LogsFragment.java
de.ub0r.android.callmeter.ui.PlansFragment.java
de.ub0r.android.callmeter.ui.Plans.java
de.ub0r.android.callmeter.ui.TrackingActivity.java
de.ub0r.android.callmeter.ui.TrackingSherlockActivity.java
de.ub0r.android.callmeter.ui.TrackingSherlockFragmentActivity.java
de.ub0r.android.callmeter.ui.TrackingSherlockPreferenceActivity.java
de.ub0r.android.callmeter.ui.prefs.BillModeListPreference.java
de.ub0r.android.callmeter.ui.prefs.CV2EditTextPreference.java
de.ub0r.android.callmeter.ui.prefs.CVBillModePreference.java
de.ub0r.android.callmeter.ui.prefs.CVCheckBoxPreference.java
de.ub0r.android.callmeter.ui.prefs.CVDatePreference.java
de.ub0r.android.callmeter.ui.prefs.CVEditTextPreference.java
de.ub0r.android.callmeter.ui.prefs.CVListPreference.java
de.ub0r.android.callmeter.ui.prefs.HourGroupEdit.java
de.ub0r.android.callmeter.ui.prefs.HourGroups.java
de.ub0r.android.callmeter.ui.prefs.NumberGroupEdit.java
de.ub0r.android.callmeter.ui.prefs.NumberGroups.java
de.ub0r.android.callmeter.ui.prefs.PlanEdit.java
de.ub0r.android.callmeter.ui.prefs.Plans.java
de.ub0r.android.callmeter.ui.prefs.PreferencesImport.java
de.ub0r.android.callmeter.ui.prefs.PreferencesPlain.java
de.ub0r.android.callmeter.ui.prefs.PreferencesRules.java
de.ub0r.android.callmeter.ui.prefs.Preferences.java
de.ub0r.android.callmeter.ui.prefs.RuleEdit.java
de.ub0r.android.callmeter.ui.prefs.Rules.java
de.ub0r.android.callmeter.ui.prefs.SimplePreferencesChild.java
de.ub0r.android.callmeter.ui.prefs.SimplePreferences.java
de.ub0r.android.callmeter.ui.prefs.UpDownPreference.java
de.ub0r.android.callmeter.ui.prefs.UpdateListener.java
de.ub0r.android.callmeter.widget.LogsAppWidgetConfigure.java
de.ub0r.android.callmeter.widget.LogsAppWidgetProvider.java
de.ub0r.android.callmeter.widget.StatsAppWidgetConfigure.java
de.ub0r.android.callmeter.widget.StatsAppWidgetProvider.java
yuku.ambilwarna.AmbilWarnaDialog.java
yuku.ambilwarna.AmbilWarnaKotak.java