Update sample prebults for 2017-02 release (nyc-mr1-dev)
developers/samples/android commit: 6f3586bc08b96d14d8f1315f4839ac59aa39798c Change-Id: I08c9af2d58f1b3314eba807048dc05175a58e164
This commit is contained in:
@@ -129,7 +129,7 @@ public class SchedulerFragment extends Fragment {
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
Alarm alarm = intent.getParcelableExtra(AlarmIntentService.ALARM_KEY);
|
||||
Alarm alarm = AlarmUtil.readAlarm(intent.getExtras());
|
||||
mAlarmAdapter.deleteAlarm(alarm);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,66 +16,44 @@
|
||||
|
||||
package com.example.android.directboot.alarms;
|
||||
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import android.support.annotation.NonNull;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Class represents a single alarm.
|
||||
*/
|
||||
public class Alarm implements Comparable<Alarm>, Parcelable {
|
||||
public class Alarm implements Comparable<Alarm> {
|
||||
|
||||
public int id;
|
||||
|
||||
public int month;
|
||||
|
||||
public int date;
|
||||
|
||||
/** Integer as a 24-hour format */
|
||||
public int hour;
|
||||
|
||||
public int minute;
|
||||
|
||||
public Alarm() {}
|
||||
|
||||
protected Alarm(Parcel in) {
|
||||
id = in.readInt();
|
||||
month = in.readInt();
|
||||
date = in.readInt();
|
||||
hour = in.readInt();
|
||||
minute = in.readInt();
|
||||
public Alarm(int id, int month, int date, int hour, int minute) {
|
||||
this.id = id;
|
||||
this.month = month;
|
||||
this.date = date;
|
||||
this.hour = hour;
|
||||
this.minute = minute;
|
||||
}
|
||||
|
||||
public static final Creator<Alarm> CREATOR = new Creator<Alarm>() {
|
||||
@Override
|
||||
public Alarm createFromParcel(Parcel in) {
|
||||
return new Alarm(in);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Alarm[] newArray(int size) {
|
||||
return new Alarm[size];
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
public int describeContents() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void writeToParcel(Parcel parcel, int i) {
|
||||
parcel.writeInt(id);
|
||||
parcel.writeInt(month);
|
||||
parcel.writeInt(date);
|
||||
parcel.writeInt(hour);
|
||||
parcel.writeInt(minute);
|
||||
public Alarm() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize the instance as a JSON String.
|
||||
*
|
||||
* @return serialized JSON String.
|
||||
*/
|
||||
public String toJson() {
|
||||
|
||||
@@ -34,7 +34,17 @@ public class AlarmIntentService extends IntentService {
|
||||
|
||||
public static final String ALARM_WENT_OFF_ACTION = AlarmIntentService.class.getName()
|
||||
+ ".ALARM_WENT_OFF";
|
||||
public static final String ALARM_KEY = "alarm_instance";
|
||||
|
||||
|
||||
public static final String KEY_ALARM_ID = "alarm_id";
|
||||
|
||||
public static final String KEY_ALARM_MONTH = "alarm_month";
|
||||
|
||||
public static final String KEY_ALARM_DATE = "alarm_date";
|
||||
|
||||
public static final String KEY_ALARM_HOUR = "alarm_hour";
|
||||
|
||||
public static final String KEY_ALARM_MINUTE = "alarm_minute";
|
||||
|
||||
public AlarmIntentService() {
|
||||
super(AlarmIntentService.class.getName());
|
||||
@@ -43,7 +53,7 @@ public class AlarmIntentService extends IntentService {
|
||||
@Override
|
||||
protected void onHandleIntent(Intent intent) {
|
||||
Context context = getApplicationContext();
|
||||
Alarm alarm = intent.getParcelableExtra(ALARM_KEY);
|
||||
Alarm alarm = AlarmUtil.readAlarm(intent.getExtras());
|
||||
|
||||
NotificationManager notificationManager = context
|
||||
.getSystemService(NotificationManager.class);
|
||||
@@ -59,7 +69,7 @@ public class AlarmIntentService extends IntentService {
|
||||
AlarmStorage alarmStorage = new AlarmStorage(context);
|
||||
alarmStorage.deleteAlarm(alarm);
|
||||
Intent wentOffIntent = new Intent(ALARM_WENT_OFF_ACTION);
|
||||
wentOffIntent.putExtra(ALARM_KEY, alarm);
|
||||
wentOffIntent.putExtras(AlarmUtil.writeAlarm(alarm));
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(wentOffIntent);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ import android.app.AlarmManager;
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.Calendar;
|
||||
@@ -45,7 +46,9 @@ public class AlarmUtil {
|
||||
*/
|
||||
public void scheduleAlarm(Alarm alarm) {
|
||||
Intent intent = new Intent(mContext, AlarmIntentService.class);
|
||||
intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
|
||||
Bundle extras = writeAlarm(alarm);
|
||||
intent.putExtras(extras);
|
||||
|
||||
PendingIntent pendingIntent = PendingIntent
|
||||
.getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
Calendar alarmTime = Calendar.getInstance();
|
||||
@@ -71,7 +74,6 @@ public class AlarmUtil {
|
||||
*/
|
||||
public void cancelAlarm(Alarm alarm) {
|
||||
Intent intent = new Intent(mContext, AlarmIntentService.class);
|
||||
intent.putExtra(AlarmIntentService.ALARM_KEY, alarm);
|
||||
PendingIntent pendingIntent = PendingIntent
|
||||
.getService(mContext, alarm.id, intent, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||
mAlarmManager.cancel(pendingIntent);
|
||||
@@ -94,4 +96,25 @@ public class AlarmUtil {
|
||||
}
|
||||
return alarmTime;
|
||||
}
|
||||
|
||||
public static Alarm readAlarm(Bundle extras) {
|
||||
int id = extras.getInt(AlarmIntentService.KEY_ALARM_ID);
|
||||
int month = extras.getInt(AlarmIntentService.KEY_ALARM_MONTH);
|
||||
int date = extras.getInt(AlarmIntentService.KEY_ALARM_DATE);
|
||||
int hour = extras.getInt(AlarmIntentService.KEY_ALARM_HOUR);
|
||||
int minute = extras.getInt(AlarmIntentService.KEY_ALARM_MINUTE);
|
||||
|
||||
return new Alarm(id, month, date, hour, minute);
|
||||
}
|
||||
|
||||
public static Bundle writeAlarm(Alarm alarm){
|
||||
Bundle extras = new Bundle();
|
||||
extras.putInt(AlarmIntentService.KEY_ALARM_ID, alarm.id);
|
||||
extras.putInt(AlarmIntentService.KEY_ALARM_MONTH, alarm.month);
|
||||
extras.putInt(AlarmIntentService.KEY_ALARM_DATE, alarm.date);
|
||||
extras.putInt(AlarmIntentService.KEY_ALARM_HOUR, alarm.hour);
|
||||
extras.putInt(AlarmIntentService.KEY_ALARM_MINUTE, alarm.minute);
|
||||
|
||||
return extras;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user