Refactored registration and unregistration of local broadcast receivers with utility methods

This commit is contained in:
Phillip Hsu 2016-07-06 00:55:22 -07:00
parent cf46160b1e
commit 3292da18f8
3 changed files with 10 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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);
}