diff --git a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneActivity.java b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneActivity.java index 22526df..8edf171 100644 --- a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneActivity.java +++ b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneActivity.java @@ -3,10 +3,8 @@ package com.philliphsu.clock2.ringtone; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.os.Bundle; import android.support.v4.content.Loader; -import android.support.v4.content.LocalBroadcastManager; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.WindowManager; @@ -81,14 +79,13 @@ public class RingtoneActivity extends AppCompatActivity implements @Override protected void onResume() { super.onResume(); - LocalBroadcastManager.getInstance(this).registerReceiver( - mFinishReceiver, new IntentFilter(ACTION_FINISH)); + LocalBroadcastHelper.registerReceiver(this, mFinishReceiver, ACTION_FINISH); } @Override protected void onPause() { super.onPause(); - LocalBroadcastManager.getInstance(this).unregisterReceiver(mFinishReceiver); + LocalBroadcastHelper.unregisterReceiver(this, mFinishReceiver); } @Override diff --git a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java index 11d3715..a5389a8 100644 --- a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java +++ b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java @@ -7,7 +7,6 @@ import android.app.Service; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.content.IntentFilter; import android.media.AudioManager; import android.media.Ringtone; import android.media.RingtoneManager; @@ -18,7 +17,6 @@ import android.os.Vibrator; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.NotificationCompat; -import android.support.v4.content.LocalBroadcastManager; import android.util.Log; import com.philliphsu.clock2.Alarm; @@ -119,8 +117,7 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc @Override public void onCreate() { super.onCreate(); - LocalBroadcastManager.getInstance(this).registerReceiver( - mNotifyMissedReceiver, new IntentFilter(ACTION_NOTIFY_MISSED)); + LocalBroadcastHelper.registerReceiver(this, mNotifyMissedReceiver, ACTION_NOTIFY_MISSED); } @Override @@ -147,7 +144,7 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc nm.notify(getClass().getName(), mAlarm.intId(), note); } stopForeground(true); - LocalBroadcastManager.getInstance(this).unregisterReceiver(mNotifyMissedReceiver); + LocalBroadcastHelper.unregisterReceiver(this, mNotifyMissedReceiver); } @Override diff --git a/app/src/main/java/com/philliphsu/clock2/util/LocalBroadcastHelper.java b/app/src/main/java/com/philliphsu/clock2/util/LocalBroadcastHelper.java index a2e7478..e98d7e6 100644 --- a/app/src/main/java/com/philliphsu/clock2/util/LocalBroadcastHelper.java +++ b/app/src/main/java/com/philliphsu/clock2/util/LocalBroadcastHelper.java @@ -16,13 +16,14 @@ public final class LocalBroadcastHelper { LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(action)); } - /** Registers a BroadcastReceiver that filters intents by the action specified */ - // TODO: Refactor any local registrations to use this utility method. - public static void registerReceiver(Context context, BroadcastReceiver receiver, String action) { - LocalBroadcastManager.getInstance(context).registerReceiver(receiver, new IntentFilter(action)); + /** Registers a BroadcastReceiver that filters intents by the actions specified */ + public static void registerReceiver(Context context, BroadcastReceiver receiver, String... actions) { + IntentFilter filter = new IntentFilter(); + for (String action : actions) + filter.addAction(action); + LocalBroadcastManager.getInstance(context).registerReceiver(receiver, filter); } - // TODO: Refactor any local unregistrations to use this utility method. public static void unregisterReceiver(Context context, BroadcastReceiver receiver) { LocalBroadcastManager.getInstance(context).unregisterReceiver(receiver); }