Thursday, 11 June 2015

Transparent activity class

package com.siliconicpro.admin.ialarm;

import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.NotificationCompat;
import android.view.WindowManager;

public class Transparent extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.transparent);

        // Getting data from intent
        String id = getIntent().getExtras().getString("id");

        // Get alarm data
        DatabaseOperations dop = new DatabaseOperations(this);
        Cursor c = AlarmsTable.getAlarm(dop, id);
        String title = c.getString(c.getColumnIndex(AlarmsTable.TITLE));
        String location = c.getString(c.getColumnIndex(AlarmsTable.LOCATION));
        String time = c.getString(c.getColumnIndex(AlarmsTable.TIME));
        String date = c.getString(c.getColumnIndex(AlarmsTable.DATE));
        int interval = c.getInt(c.getColumnIndex(AlarmsTable.INTERVAL));
        String alarmTime = Home.ringTime(time, date, interval);

        // Request the notification manager
        NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
        Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

        // Create the notification
        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)
                .setSmallIcon(android.R.drawable.ic_dialog_alert)
                .setTicker("" + title + "  " + location)
                .setContentTitle(title)
                .setSound(uri)
                .setAutoCancel(true);
        Intent i = new Intent(this, Home.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0);
        mBuilder.setContentIntent(pi);
        if(!location.equals("")) {
            mBuilder.setContentText(location + "  " + alarmTime);
        }
        else{
            mBuilder.setContentText(alarmTime);
        }

        //  Fire Notification
        notificationManager.notify((int)System.currentTimeMillis(), mBuilder.build());
    }

    @Override
    protected void onResume() {
        super.onResume();
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                finish();
            }
        }, 2000);
    }
}

No comments:

Post a Comment