Android Open Source - PrepayCredit Internet Addon Expire Receiver






From Project

Back to project page PrepayCredit.

License

The source code is released under:

GNU General Public License

If you think the Android project PrepayCredit 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

/*
 * This file is part of Prepay Credit for Android
 */* w  w w. j  a v  a  2 s. co  m*/
 * Copyright  2013  Damien O'Reilly
 *
 * Prepay Credit for Android 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.
 *
 * Prepay Credit for Android 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 Prepay Credit for Android.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Report bugs or new features at: https://github.com/DamienOReilly/PrepayCredit
 * Contact the author at:          damienreilly@gmail.com
 */

package damo.three.ie.prepay;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.support.v4.app.NotificationCompat;
import damo.three.ie.R;
import damo.three.ie.activity.InternetExpirationActivity;
import damo.three.ie.prepayusage.InternetUsageRegistry;
import org.joda.time.DateTime;

/**
 * Adds a notification in the notification bar when an internet add-on has expired or is about to.
 */
public class InternetAddonExpireReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {

        long millis = intent.getExtras().getLong(InternetUsageRegistry.INTERNET_EXPIRE_TIME);

        boolean alreadyExpired = false;

        if (millis > 0) {
            long now = new DateTime().getMillis();
            if (now > millis) {
                alreadyExpired = true;
            }
        }

        // Clicking on the notification opens the InternetExpirationActivity.
        Intent myIntent = new Intent(context, InternetExpirationActivity.class);
        myIntent.putExtra(InternetUsageRegistry.INTERNET_EXPIRED, alreadyExpired);
        PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, myIntent, PendingIntent.FLAG_ONE_SHOT);

        Bitmap largeIcon = BitmapFactory.decodeResource(context.getResources(), R.drawable.ic_launcher);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context)
                .setSmallIcon(R.drawable.ic_warning)
                .setLargeIcon(largeIcon)
                .setContentTitle(context.getString(alreadyExpired ? R.string.internet_addon_expired_title : R.string
                        .internet_addon_expiring_title))
                .setTicker(context.getString(alreadyExpired ? R.string.internet_addon_expired_title : R.string
                        .internet_addon_expiring_title))
                .setContentText(context.getString(alreadyExpired ? R.string.internet_addon_expired_text : R.string
                        .internet_addon_expiring_text))
                .setAutoCancel(true)
                .setDefaults(Notification.DEFAULT_ALL)
                .setContentIntent(pendingIntent);

        NotificationManager mNotificationManager =
                (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

        mNotificationManager.notify(0, mBuilder.build());
    }
}




Java Source Code List

damo.three.ie.PrepayCreditApplication.java
damo.three.ie.activity.AboutActivity.java
damo.three.ie.activity.InternetExpirationActivity.java
damo.three.ie.activity.LoginActivity.java
damo.three.ie.activity.PrepayCreditActivity.java
damo.three.ie.activity.SettingsActivity.java
damo.three.ie.fragment.AboutFragment.java
damo.three.ie.fragment.ChangeLogFragment.java
damo.three.ie.fragment.SettingsFragment.java
damo.three.ie.fragment.UpdateFragment.java
damo.three.ie.net.EasySSLSocketFactory.java
damo.three.ie.net.EasyX509TrustManager.java
damo.three.ie.net.ProcessRequest.java
damo.three.ie.net.ThreeHttpClient.java
damo.three.ie.net.ThreeHttpParameters.java
damo.three.ie.prepay.ConnectivityReceiver.java
damo.three.ie.prepay.Constants.java
damo.three.ie.prepay.InternetAddonAlarmManagerReceiver.java
damo.three.ie.prepay.InternetAddonExpireReceiver.java
damo.three.ie.prepay.UpdateAlarmManagerReceiver.java
damo.three.ie.prepay.UpdateAsyncTask.java
damo.three.ie.prepay.UpdateReceiver.java
damo.three.ie.prepay.UpdateService.java
damo.three.ie.prepay.UsageFetcher.java
damo.three.ie.prepayusage.BasicUsageItemExpireSorter.java
damo.three.ie.prepayusage.BasicUsageItemTypeSorter.java
damo.three.ie.prepayusage.BasicUsageItem.java
damo.three.ie.prepayusage.BasicUsageItemsGrouped.java
damo.three.ie.prepayusage.ExpireGroupType.java
damo.three.ie.prepayusage.InternetUsageRegistry.java
damo.three.ie.prepayusage.ItemFactory.java
damo.three.ie.prepayusage.UsageItem.java
damo.three.ie.prepayusage.items.Data.java
damo.three.ie.prepayusage.items.FreeCash.java
damo.three.ie.prepayusage.items.InternetAddon.java
damo.three.ie.prepayusage.items.OutOfBundle.java
damo.three.ie.prepayusage.items.SkypeCalls.java
damo.three.ie.prepayusage.items.Texts.java
damo.three.ie.prepayusage.items.Three2ThreeCalls.java
damo.three.ie.prepayusage.items.TopUp.java
damo.three.ie.prepayusage.items.WeekendVoiceMinutes.java
damo.three.ie.ui.BasicUsageLayout.java
damo.three.ie.ui.ExtendedScrollView.java
damo.three.ie.ui.OutOfBundleLayout.java
damo.three.ie.ui.SlidingTabLayout.java
damo.three.ie.ui.SlidingTabStrip.java
damo.three.ie.ui.ViewPagerAdapter.java
damo.three.ie.util.AccountException.java
damo.three.ie.util.CustomTagHandler.java
damo.three.ie.util.DateUtils.java
damo.three.ie.util.FileUtils.java
damo.three.ie.util.HtmlUtilities.java
damo.three.ie.util.JSONUtils.java
damo.three.ie.util.NumberUtils.java
damo.three.ie.util.PrepayException.java
damo.three.ie.util.UsageUtils.java