/* Copyright Statement:
*
* This software/firmware and related documentation ("MediaTek Software") are
* protected under relevant copyright laws. The information contained herein
* is confidential and proprietary to MediaTek Inc. and/or its licensors.
* Without the prior written permission of MediaTek inc. and/or its licensors,
* any reproduction, modification, use or disclosure of MediaTek Software,
* and information contained herein, in whole or in part, shall be strictly prohibited.
*/
/* MediaTek Inc. (C) 2010. All rights reserved.
*
* BY OPENING THIS FILE, RECEIVER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO RECEIVER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND RECEIVER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. RECEIVER EXPRESSLY ACKNOWLEDGES
* THAT IT IS RECEIVER'S SOLE RESPONSIBILITY TO OBTAIN FROM ANY THIRD PARTY ALL PROPER LICENSES
* CONTAINED IN MEDIATEK SOFTWARE. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE FOR ANY MEDIATEK
* SOFTWARE RELEASES MADE TO RECEIVER'S SPECIFICATION OR TO CONFORM TO A PARTICULAR
* STANDARD OR OPEN FORUM. RECEIVER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND
* CUMULATIVE LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY RECEIVER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* The following software/firmware and/or related documentation ("MediaTek Software")
* have been modified by MediaTek Inc. All revisions are subject to any receiver's
* applicable license agreements with MediaTek Inc.
*/
package com.mediatek.schpwronoff;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.net.Uri;
import android.os.Parcel;
import android.os.UserHandle;
import android.provider.Settings;
import android.text.format.DateFormat;
import android.util.Log;
import java.util.Calendar;
/**
* The Alarms provider supplies info about Alarm Clock settings
*/
public class Alarms {
private static final String TAG = "Settings/Alarms";
// This string is used to indicate a silent alarm in the db.
public static final String ALARM_ALERT_SILENT = "silent";
// This extra is the raw Alarm object data. It is used in the
// AlarmManagerService to avoid a ClassNotFoundException when filling in
// the Intent extras.
public static final String ALARM_RAW_DATA = "intent.extra.alarm_raw";
// This string is used to identify the alarm id passed to SetAlarm from the
// list of alarms.
public static final String ALARM_ID = "alarm_id";
static final String PREF_SNOOZE_ID = "snooze_id";
static final String PREF_SNOOZE_TIME = "snooze_time";
private static final String M12 = "h:mm aa";
static final String M24 = "kk:mm";
/**
* Queries all alarms
* @param contentResolver ContentResolver
* @return cursor over all alarms
*/
public static Cursor getAlarmsCursor(ContentResolver contentResolver) {
return contentResolver.query(Alarm.Columns.CONTENT_URI, Alarm.Columns.ALARM_QUERY_COLUMNS,
null, null, Alarm.Columns.DEFAULT_SORT_ORDER);
}
// Private method to get a more limited set of alarms from the database.
private static Cursor getFilteredAlarmsCursor(ContentResolver contentResolver) {
return contentResolver.query(Alarm.Columns.CONTENT_URI, Alarm.Columns.ALARM_QUERY_COLUMNS,
Alarm.Columns.WHERE_ENABLED, null, null);
}
private static Cursor getFilteredAlarmsCursor(ContentResolver contentResolver, int alarmId) {
Log.d("@M_" + TAG, "User Id = " + UserHandle.myUserId());
return contentResolver.query(
ContentUris.withAppendedId(Alarm.Columns.CONTENT_URI, alarmId),
Alarm.Columns.ALARM_QUERY_COLUMNS, Alarm.Columns.WHERE_ENABLED, null, null);
}
/**
* Return an Alarm object representing the alarm id in the database.
* Returns null if no alarm exists.
* @param contentResolver ContentResolver
* @param alarmId id
* @return Alarm object
*/
public static Alarm getAlarm(ContentResolver contentResolver, int alarmId) {
Cursor cursor = null;
Alarm alarm = null;
try {
cursor = contentResolver.query(ContentUris.withAppendedId(Alarm.Columns.CONTENT_URI,
alarmId), Alarm.Columns.ALARM_QUERY_COLUMNS, null, null, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
alarm = new Alarm(cursor);
}
}
} finally {
if (cursor != null) {
cursor.close();
}
}
return alarm;
}
/**
* A convenience method to set an alarm in the Alarms content provider.
* @param context Context
* @param id corresponds to the _id column
* @param enabled corresponds to the ENABLED column
* @param hour corresponds to the HOUR column
* @param minutes corresponds to the MINUTES column
* @param daysOfWeek corresponds to the DAYS_OF_WEEK column
* @param vibrate corresponds to the VIBRATE column
* @param message corresponds to the MESSAGE column
* @param alert corresponds to the ALERT column
*/
public static void setAlarm(Context context, int id, boolean enabled, int hour, int minutes,
Alarm.DaysOfWeek daysOfWeek, boolean vibrate, String message, String alert) {
final int initSize = 8;
ContentValues values = new ContentValues(initSize);
ContentResolver resolver = context.getContentResolver();
// Set the alarm_time value if this alarm does not repeat. This will be
// used later to disable expired alarms.
long time = 0;
if (!daysOfWeek.isRepeatSet()) {
time = calculateAlarm(hour, minutes, daysOfWeek).getTimeInMillis();
}
Log.d("@M_" + TAG, "** setAlarm * idx " + id + " hour " + hour + " minutes " + minutes
+ " enabled " + enabled + " time " + time);
values.put(Alarm.Columns.ENABLED, enabled ? 1 : 0);
values.put(Alarm.Columns.HOUR, hour);
values.put(Alarm.Columns.MINUTES, minutes);
values.put(Alarm.Columns.ALARM_TIME, time);
values.put(Alarm.Columns.DAYS_OF_WEEK, daysOfWeek.getCoded());
values.put(Alarm.Columns.VIBRATE, vibrate);
values.put(Alarm.Columns.MESSAGE, message);
values.put(Alarm.Columns.ALERT, alert);
resolver.update(ContentUris.withAppendedId(Alarm.Columns.CONTENT_URI, id), values, null,
null);
if (id == 1) {
// power on
setNextAlertPowerOn(context);
} else if (id == 2) {
// power off
setNextAlertPowerOff(context);
}
}
/**
* A convenience method to enable or disable an alarm.
* @param context Context
* @param id corresponds to the _id column
* @param enabled corresponds to the ENABLED column
*/
public static void enableAlarm(final Context context, final int id, boolean enabled) {
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SchedulePowerOnOff.zip (93个子文件)
SchedulePowerOnOff
README 449B
Android.mk 483B
src
com
mediatek
schpwronoff
Alarms.java 20KB
SchPwrWakeLock.java 4KB
AlarmClock.java 12KB
RepeatPreference.java 5KB
AlarmReceiverService.java 4KB
Alarm.java 12KB
ShutdownActivity.java 8KB
AlarmInitReceiver.java 3KB
AlarmProvider.java 10KB
SchPwrOffReceiver.java 8KB
DigitalClock.java 8KB
SchPwrOnReceiver.java 5KB
SetAlarm.java 11KB
res
values-ur
strings.xml 7KB
values-es-rUS
strings.xml 5KB
values-fi
strings.xml 5KB
values-bn
strings.xml 8KB
drawable-mdpi
ic_settings_schpwronoff.png 2KB
ic_settings_schpwron.png 1KB
ic_settings_schpwroff.png 1KB
values-ms
strings.xml 7KB
values-ar
strings.xml 5KB
drawable-xhdpi
ic_settings_schpwronoff.png 2KB
ic_settings_schpwron.png 1KB
ic_settings_schpwroff.png 1KB
values-hi
strings.xml 7KB
values-it
strings.xml 7KB
values-zh-rTW
strings.xml 7KB
values-th
strings.xml 8KB
values-hy-rAM
strings.xml 6KB
values-hr
strings.xml 5KB
values-ko
strings.xml 7KB
values-nl
strings.xml 7KB
values-fr
strings.xml 7KB
values-lv
strings.xml 5KB
values-uk
strings.xml 5KB
drawable-xxhdpi
ic_settings_schpwronoff.png 3KB
ic_settings_schpwron.png 2KB
ic_settings_schpwroff.png 2KB
drawable-xxxhdpi
ic_settings_schpwronoff.png 3KB
ic_settings_schpwron.png 2KB
ic_settings_schpwroff.png 2KB
values-sl
strings.xml 4KB
values-de-rAT
strings.xml 4KB
values-pl
strings.xml 5KB
menu
schpwr_context_menu.xml 836B
values-sv
strings.xml 5KB
values-et-rEE
strings.xml 5KB
values-tl
strings.xml 7KB
values-pt
strings.xml 7KB
values-zh-rCN
strings.xml 4KB
values-de
strings.xml 7KB
values-km-rKH
strings.xml 9KB
values-fa
strings.xml 7KB
values-iw
strings.xml 7KB
values-es
strings.xml 7KB
values-my-rZG
strings.xml 7KB
values-sk
strings.xml 4KB
values-ja
strings.xml 5KB
values-kk
strings.xml 5KB
values-tr
strings.xml 7KB
values-en-rUS
strings.xml 4KB
values-hu
strings.xml 7KB
values-en-rGB
strings.xml 4KB
values-el
strings.xml 8KB
values-vi
strings.xml 7KB
values-sr
strings.xml 5KB
values-pt-rPT
strings.xml 7KB
xml
schpwr_alarm_prefs.xml 1KB
values-ru
strings.xml 8KB
values-lt
strings.xml 5KB
values
colors.xml 115B
strings.xml 6KB
values-nb
strings.xml 4KB
layout
schpwr_alarm_clock.xml 1KB
schpwr_off.xml 876B
schpwr_alarm_time.xml 3KB
schpwr_context_menu_header.xml 2KB
values-my-rMM
strings.xml 7KB
values-ca
strings.xml 5KB
values-ro
strings.xml 7KB
values-in
strings.xml 7KB
values-bg
strings.xml 5KB
values-da
strings.xml 4KB
values-zh-rHK
strings.xml 4KB
drawable-hdpi
ic_settings_schpwronoff.png 2KB
ic_settings_schpwron.png 1KB
ic_settings_schpwroff.png 1KB
values-cs
strings.xml 7KB
AndroidManifest.xml 5KB
NOTICE 611B
共 93 条
- 1
资源评论
android-rookie
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 论文(最终)_20240430235101.pdf
- 基于python编写的Keras深度学习框架开发,利用卷积神经网络CNN,快速识别图片并进行分类
- 最全空间计量实证方法(空间杜宾模型和检验以及结果解释文档).txt
- 5uonly.apk
- 蓝桥杯Python组的历年真题
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 2023-04-06-项目笔记 - 第一百十九阶段 - 4.4.2.117全局变量的作用域-117 -2024.04.30
- 前端开发技术实验报告:内含4四实验&实验报告
- Highlight Plus v20.0.1
- 林周瑜-论文.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功