Refactored registration and unregistration of local broadcast receivers with utility methods
This commit is contained in:
parent
cf46160b1e
commit
3292da18f8
@ -3,10 +3,8 @@ package com.philliphsu.clock2.ringtone;
|
|||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.content.Loader;
|
import android.support.v4.content.Loader;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
@ -81,14 +79,13 @@ public class RingtoneActivity extends AppCompatActivity implements
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
LocalBroadcastManager.getInstance(this).registerReceiver(
|
LocalBroadcastHelper.registerReceiver(this, mFinishReceiver, ACTION_FINISH);
|
||||||
mFinishReceiver, new IntentFilter(ACTION_FINISH));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPause() {
|
protected void onPause() {
|
||||||
super.onPause();
|
super.onPause();
|
||||||
LocalBroadcastManager.getInstance(this).unregisterReceiver(mFinishReceiver);
|
LocalBroadcastHelper.unregisterReceiver(this, mFinishReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -7,7 +7,6 @@ import android.app.Service;
|
|||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
|
||||||
import android.media.AudioManager;
|
import android.media.AudioManager;
|
||||||
import android.media.Ringtone;
|
import android.media.Ringtone;
|
||||||
import android.media.RingtoneManager;
|
import android.media.RingtoneManager;
|
||||||
@ -18,7 +17,6 @@ import android.os.Vibrator;
|
|||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
import android.support.v4.app.NotificationCompat;
|
import android.support.v4.app.NotificationCompat;
|
||||||
import android.support.v4.content.LocalBroadcastManager;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.philliphsu.clock2.Alarm;
|
import com.philliphsu.clock2.Alarm;
|
||||||
@ -119,8 +117,7 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
LocalBroadcastManager.getInstance(this).registerReceiver(
|
LocalBroadcastHelper.registerReceiver(this, mNotifyMissedReceiver, ACTION_NOTIFY_MISSED);
|
||||||
mNotifyMissedReceiver, new IntentFilter(ACTION_NOTIFY_MISSED));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -147,7 +144,7 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc
|
|||||||
nm.notify(getClass().getName(), mAlarm.intId(), note);
|
nm.notify(getClass().getName(), mAlarm.intId(), note);
|
||||||
}
|
}
|
||||||
stopForeground(true);
|
stopForeground(true);
|
||||||
LocalBroadcastManager.getInstance(this).unregisterReceiver(mNotifyMissedReceiver);
|
LocalBroadcastHelper.unregisterReceiver(this, mNotifyMissedReceiver);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -16,13 +16,14 @@ public final class LocalBroadcastHelper {
|
|||||||
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(action));
|
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent(action));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Registers a BroadcastReceiver that filters intents by the action specified */
|
/** Registers a BroadcastReceiver that filters intents by the actions specified */
|
||||||
// TODO: Refactor any local registrations to use this utility method.
|
public static void registerReceiver(Context context, BroadcastReceiver receiver, String... actions) {
|
||||||
public static void registerReceiver(Context context, BroadcastReceiver receiver, String action) {
|
IntentFilter filter = new IntentFilter();
|
||||||
LocalBroadcastManager.getInstance(context).registerReceiver(receiver, new IntentFilter(action));
|
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) {
|
public static void unregisterReceiver(Context context, BroadcastReceiver receiver) {
|
||||||
LocalBroadcastManager.getInstance(context).unregisterReceiver(receiver);
|
LocalBroadcastManager.getInstance(context).unregisterReceiver(receiver);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user