Refactor AlarmController to use ContentIntentUtils to create the content intent for the status bar alarm icon

This commit is contained in:
Phillip Hsu 2016-09-28 18:26:35 -07:00
parent 474068bd5e
commit 879f2ef1e3
2 changed files with 7 additions and 12 deletions

View File

@ -12,12 +12,12 @@ import android.view.View;
import com.philliphsu.clock2.MainActivity; import com.philliphsu.clock2.MainActivity;
import com.philliphsu.clock2.R; import com.philliphsu.clock2.R;
import com.philliphsu.clock2.alarms.Alarm; import com.philliphsu.clock2.alarms.Alarm;
import com.philliphsu.clock2.alarms.ui.AlarmsFragment;
import com.philliphsu.clock2.ringtone.AlarmActivity;
import com.philliphsu.clock2.ringtone.playback.AlarmRingtoneService;
import com.philliphsu.clock2.alarms.background.PendingAlarmScheduler; import com.philliphsu.clock2.alarms.background.PendingAlarmScheduler;
import com.philliphsu.clock2.alarms.background.UpcomingAlarmReceiver; import com.philliphsu.clock2.alarms.background.UpcomingAlarmReceiver;
import com.philliphsu.clock2.alarms.data.AlarmsTableManager; import com.philliphsu.clock2.alarms.data.AlarmsTableManager;
import com.philliphsu.clock2.ringtone.AlarmActivity;
import com.philliphsu.clock2.ringtone.playback.AlarmRingtoneService;
import com.philliphsu.clock2.util.ContentIntentUtils;
import com.philliphsu.clock2.util.DelayedSnackbarHandler; import com.philliphsu.clock2.util.DelayedSnackbarHandler;
import com.philliphsu.clock2.util.DurationUtils; import com.philliphsu.clock2.util.DurationUtils;
@ -78,12 +78,7 @@ public final class AlarmController {
final long ringAt = alarm.isSnoozed() ? alarm.snoozingUntil() : alarm.ringsAt(); final long ringAt = alarm.isSnoozed() ? alarm.snoozingUntil() : alarm.ringsAt();
final PendingIntent alarmIntent = alarmIntent(alarm, false); final PendingIntent alarmIntent = alarmIntent(alarm, false);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Intent viewAlarm = new Intent(mAppContext, MainActivity.class) PendingIntent showIntent = ContentIntentUtils.create(mAppContext, MainActivity.PAGE_ALARMS, alarm.getId());
.setAction(AlarmsFragment.ACTION_SCROLL_TO_STABLE_ID)
.putExtra(MainActivity.EXTRA_SHOW_PAGE, MainActivity.PAGE_ALARMS)
.putExtra(AlarmsFragment.EXTRA_SCROLL_TO_STABLE_ID, alarm.getId());
PendingIntent showIntent = PendingIntent.getActivity(mAppContext,
alarm.getIntId(), viewAlarm, FLAG_CANCEL_CURRENT);
AlarmManager.AlarmClockInfo info = new AlarmManager.AlarmClockInfo(ringAt, showIntent); AlarmManager.AlarmClockInfo info = new AlarmManager.AlarmClockInfo(ringAt, showIntent);
am.setAlarmClock(info, alarmIntent); am.setAlarmClock(info, alarmIntent);
} else { } else {

View File

@ -6,7 +6,7 @@ import android.content.Intent;
import android.support.annotation.NonNull; import android.support.annotation.NonNull;
import com.philliphsu.clock2.MainActivity; import com.philliphsu.clock2.MainActivity;
import com.philliphsu.clock2.alarms.ui.AlarmsFragment; import com.philliphsu.clock2.list.RecyclerViewFragment;
import static android.app.PendingIntent.FLAG_CANCEL_CURRENT; import static android.app.PendingIntent.FLAG_CANCEL_CURRENT;
@ -21,9 +21,9 @@ public final class ContentIntentUtils {
public static PendingIntent create(@NonNull Context context, int targetPage, long stableId) { public static PendingIntent create(@NonNull Context context, int targetPage, long stableId) {
Intent intent = new Intent(context, MainActivity.class) Intent intent = new Intent(context, MainActivity.class)
.setAction(AlarmsFragment.ACTION_SCROLL_TO_STABLE_ID) .setAction(RecyclerViewFragment.ACTION_SCROLL_TO_STABLE_ID)
.putExtra(MainActivity.EXTRA_SHOW_PAGE, targetPage) .putExtra(MainActivity.EXTRA_SHOW_PAGE, targetPage)
.putExtra(AlarmsFragment.EXTRA_SCROLL_TO_STABLE_ID, stableId); .putExtra(RecyclerViewFragment.EXTRA_SCROLL_TO_STABLE_ID, stableId);
return PendingIntent.getActivity(context, (int) stableId, intent, FLAG_CANCEL_CURRENT); return PendingIntent.getActivity(context, (int) stableId, intent, FLAG_CANCEL_CURRENT);
} }