Android Open Source - permission-explorer Read Calendar Action






From Project

Back to project page permission-explorer.

License

The source code is released under:

Copyright (C) 2012 Rui Gon?alves and Daniel Cibr?o Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),...

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

package pt.up.fe.ssin.pexplorer.actions;
/*w  w  w . jav  a  2  s  .  co  m*/
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import pt.up.fe.ssin.pexplorer.R;
import pt.up.fe.ssin.pexplorer.app.PermissionAction;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Context;
import android.content.DialogInterface;
import android.database.Cursor;
import android.net.Uri;
import android.os.Build;
import android.text.format.DateUtils;

public class ReadCalendarAction extends PermissionAction {

    public static final DateFormat dateFormater = new SimpleDateFormat(
            "yyyy-MM-dd");

    public ReadCalendarAction() {
        super(R.string.read_calendar_label, R.string.read_calendar_label,
                PermissionAction.DO_NOTHING);
    }

    @Override
    protected void doAction(final Context context) {
        ContentResolver contentResolver = context.getContentResolver();
        String id = new String();
        String contentProvider = null;

        if (Build.VERSION.RELEASE.contains("2.2")
                || Build.VERSION.RELEASE.contains("2.3"))
            contentProvider = "com.android.calendar";
        else
            contentProvider = "calendar";

        final Cursor cursor = contentResolver.query(
                Uri.parse("content://" + contentProvider + "/calendars"),
                (new String[] { "_id" }), null, null, null);

        if (cursor.getCount() > 0) {
            while (cursor.moveToNext()) {
                id = cursor.getString(0);
                break;
            }
        }

        Uri.Builder builder = Uri.parse(
                "content://" + contentProvider + "/instances/when").buildUpon();
        long now = new Date().getTime();
        ContentUris.appendId(builder, now - DateUtils.WEEK_IN_MILLIS);
        ContentUris.appendId(builder, now + DateUtils.WEEK_IN_MILLIS);

        Cursor eventCursor = contentResolver.query(builder.build(),
                new String[] { "title", "begin", "end", "allDay" },
                "Calendars._id=" + id, null, "startDay ASC, startMinute ASC");

        String title = new String();
        Date begin = new Date(), end = new Date();
        while (eventCursor.moveToNext()) {
            title = eventCursor.getString(0);
            begin = new Date(eventCursor.getLong(1));
            end = new Date(eventCursor.getLong(2));
            if (title.length() > 0)
                break;
        }

        new AlertDialog.Builder(context)
                .setTitle(R.string.read_calendar_title)
                .setMessage(
                        String.format(
                                context.getString(R.string.read_calendar_entry),
                                title, dateFormater.format(begin),
                                dateFormater.format(end)))
                .setCancelable(true)
                .setPositiveButton(R.string.continue_,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                            }
                        }).show();
    }
}




Java Source Code List

pt.up.fe.ssin.pexplorer.actions.AccessFineLocationAction.java
pt.up.fe.ssin.pexplorer.actions.AccessNetworkStateAction.java
pt.up.fe.ssin.pexplorer.actions.ChangeWifiStateAction.java
pt.up.fe.ssin.pexplorer.actions.GetAccountsAction.java
pt.up.fe.ssin.pexplorer.actions.InternetAccessAction.java
pt.up.fe.ssin.pexplorer.actions.PhoneCallAction.java
pt.up.fe.ssin.pexplorer.actions.ReadCalendarAction.java
pt.up.fe.ssin.pexplorer.actions.ReadContactsAction.java
pt.up.fe.ssin.pexplorer.actions.ReadPhoneStateAction.java
pt.up.fe.ssin.pexplorer.actions.RebootAction.java
pt.up.fe.ssin.pexplorer.actions.RetrieveRunningTasksAction.java
pt.up.fe.ssin.pexplorer.actions.SendTestSmsAction.java
pt.up.fe.ssin.pexplorer.actions.ShellCommandAction.java
pt.up.fe.ssin.pexplorer.actions.TakePictureAction.java
pt.up.fe.ssin.pexplorer.actions.TakePictureActivity.java
pt.up.fe.ssin.pexplorer.actions.VibrateAction.java
pt.up.fe.ssin.pexplorer.actions.WriteCalendarAction.java
pt.up.fe.ssin.pexplorer.actions.WriteExternalStorageAction.java
pt.up.fe.ssin.pexplorer.actions.WriteSettingsAction.java
pt.up.fe.ssin.pexplorer.app.ActionRegistry.java
pt.up.fe.ssin.pexplorer.app.ApplicationListAdapter.java
pt.up.fe.ssin.pexplorer.app.FilterConfigActivity.java
pt.up.fe.ssin.pexplorer.app.Keys.java
pt.up.fe.ssin.pexplorer.app.PermissionAction.java
pt.up.fe.ssin.pexplorer.app.PermissionExplorerActivity.java
pt.up.fe.ssin.pexplorer.app.PermissionInfoActivity.java
pt.up.fe.ssin.pexplorer.app.PermissionListAdapter.java
pt.up.fe.ssin.pexplorer.data.GlobalSchema.java
pt.up.fe.ssin.pexplorer.data.PermissionCatalog.java
pt.up.fe.ssin.pexplorer.data.PermissionDBOperations.java
pt.up.fe.ssin.pexplorer.data.PermissionExplorerContentProvider.java
pt.up.fe.ssin.pexplorer.entities.Contact.java
pt.up.fe.ssin.pexplorer.utils.ApplicationDetailsHelper.java
pt.up.fe.ssin.pexplorer.utils.Pair.java
pt.up.fe.ssin.pexplorer.utils.PermissionUtils.java
pt.up.fe.ssin.pexplorer.utils.ui.AlertDialogHelper.java
pt.up.fe.ssin.pexplorer.utils.ui.CheckedLinearLayout.java
pt.up.fe.ssin.pexplorer.utils.ui.CheckedRelativeLayout.java
pt.up.fe.ssin.pexplorer.utils.ui.FilterTextWatcher.java
pt.up.fe.ssin.pexplorer.utils.ui.InputDialogBuilder.java
pt.up.fe.ssin.pexplorer.utils.ui.SimpleObjectAdapter.java
pt.up.fe.ssin.pexplorer.utils.ui.views.NonEventBlockingScrollView.java