Skip to content
This repository was archived by the owner on Nov 7, 2023. It is now read-only.

Commit a1cc00c

Browse files
author
Kevin King
committed
use LocalBroadcastManager on app-local BroadcastReceivers
1 parent e63998b commit a1cc00c

10 files changed

Lines changed: 33 additions & 22 deletions

File tree

app/src/main/java/co/krypt/krypton/devices/DeviceDetailFragment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.os.Handler;
1010
import android.os.Looper;
1111
import android.support.v4.app.Fragment;
12+
import android.support.v4.content.LocalBroadcastManager;
1213
import android.support.v7.widget.GridLayoutManager;
1314
import android.support.v7.widget.LinearLayoutManager;
1415
import android.support.v7.widget.RecyclerView;
@@ -162,7 +163,7 @@ public void onReceive(Context context, Intent intent) {
162163
};
163164
IntentFilter filter = new IntentFilter();
164165
filter.addAction(Pairings.ON_DEVICE_LOG_ACTION);
165-
context.registerReceiver(onDeviceLogReceiver, filter);
166+
LocalBroadcastManager.getInstance(context).registerReceiver(onDeviceLogReceiver, filter);
166167
Silo.shared(getContext()).pairings().registerOnSharedPreferenceChangedListener(this);
167168

168169
return view;
@@ -172,7 +173,7 @@ public void onReceive(Context context, Intent intent) {
172173
public void onDestroyView() {
173174
Silo.shared(getContext()).pairings().unregisterOnSharedPreferenceChangedListener(this);
174175
if (attachedContext != null && onDeviceLogReceiver != null) {
175-
attachedContext.unregisterReceiver(onDeviceLogReceiver);
176+
LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(onDeviceLogReceiver);
176177
}
177178
onDeviceLogReceiver = null;
178179
super.onDestroyView();

app/src/main/java/co/krypt/krypton/devices/DevicesFragment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.os.Bundle;
1010
import android.support.v4.app.Fragment;
1111
import android.support.v4.app.FragmentTransaction;
12+
import android.support.v4.content.LocalBroadcastManager;
1213
import android.support.v7.widget.GridLayoutManager;
1314
import android.support.v7.widget.LinearLayoutManager;
1415
import android.support.v7.widget.RecyclerView;
@@ -98,7 +99,7 @@ public void onReceive(Context context, Intent intent) {
9899
};
99100
IntentFilter filter = new IntentFilter();
100101
filter.addAction(Pairings.ON_DEVICE_LOG_ACTION);
101-
context.registerReceiver(onDeviceLogReceiver, filter);
102+
LocalBroadcastManager.getInstance(getContext()).registerReceiver(onDeviceLogReceiver, filter);
102103
Silo.shared(getContext()).pairings().registerOnSharedPreferenceChangedListener(this);
103104

104105
populateDevices();
@@ -116,7 +117,7 @@ public void onAttach(Context context) {
116117
public void onDestroyView() {
117118
Silo.shared(getContext()).pairings().unregisterOnSharedPreferenceChangedListener(this);
118119
if (attachedContext != null && onDeviceLogReceiver != null) {
119-
attachedContext.unregisterReceiver(onDeviceLogReceiver);
120+
LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(onDeviceLogReceiver);
120121
}
121122
attachedContext = null;
122123
onDeviceLogReceiver = null;

app/src/main/java/co/krypt/krypton/knownhosts/KnownHostsFragment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.os.Bundle;
99
import android.support.v4.app.Fragment;
1010
import android.support.v4.app.FragmentTransaction;
11+
import android.support.v4.content.LocalBroadcastManager;
1112
import android.support.v7.widget.LinearLayoutManager;
1213
import android.support.v7.widget.RecyclerView;
1314
import android.view.LayoutInflater;
@@ -84,13 +85,13 @@ public void onReceive(Context context, Intent intent) {
8485
};
8586
IntentFilter filter = new IntentFilter();
8687
filter.addAction(Silo.KNOWN_HOSTS_CHANGED_ACTION);
87-
context.registerReceiver(receiver, filter);
88+
LocalBroadcastManager.getInstance(context).registerReceiver(receiver, filter);
8889
}
8990

9091
@Override
9192
public void onDetach() {
9293
super.onDetach();
93-
context.unregisterReceiver(receiver);
94+
LocalBroadcastManager.getInstance(context).unregisterReceiver(receiver);
9495
receiver = null;
9596
context = null;
9697
}

app/src/main/java/co/krypt/krypton/onboarding/FirstPairFragment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import android.os.Bundle;
99
import android.support.v4.app.Fragment;
1010
import android.support.v4.app.FragmentTransaction;
11+
import android.support.v4.content.LocalBroadcastManager;
1112
import android.view.LayoutInflater;
1213
import android.view.View;
1314
import android.view.ViewGroup;
@@ -59,13 +60,13 @@ public void onAttach(Context context) {
5960
super.onAttach(context);
6061
IntentFilter pairFilter = new IntentFilter();
6162
pairFilter.addAction(PairFragment.PAIRING_SUCCESS_ACTION);
62-
context.registerReceiver(pairReceiver, pairFilter);
63+
LocalBroadcastManager.getInstance(context).registerReceiver(pairReceiver, pairFilter);
6364
}
6465

6566
@Override
6667
public void onDetach() {
6768
super.onDetach();
68-
getContext().unregisterReceiver(pairReceiver);
69+
LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(pairReceiver);
6970
}
7071

7172
@Override

app/src/main/java/co/krypt/krypton/onboarding/OnboardingActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.support.v4.app.Fragment;
1010
import android.support.v4.app.FragmentActivity;
1111
import android.support.v4.app.FragmentTransaction;
12+
import android.support.v4.content.LocalBroadcastManager;
1213
import android.util.Log;
1314
import android.view.MotionEvent;
1415
import android.view.View;
@@ -109,7 +110,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
109110
case CAMERA_PERMISSION_REQUEST:
110111
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
111112
Intent cameraIntent = new Intent(CAMERA_PERMISSION_GRANTED_ACTION);
112-
sendBroadcast(cameraIntent);
113+
LocalBroadcastManager.getInstance(this).sendBroadcast(cameraIntent);
113114
}
114115
}
115116
}

app/src/main/java/co/krypt/krypton/onboarding/TestSSHFragment.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import android.content.IntentFilter;
88
import android.os.Bundle;
99
import android.support.v4.app.Fragment;
10+
import android.support.v4.content.LocalBroadcastManager;
1011
import android.view.LayoutInflater;
1112
import android.view.View;
1213
import android.view.ViewGroup;
@@ -68,13 +69,13 @@ public void onAttach(Context context) {
6869
super.onAttach(context);
6970
IntentFilter sshMeFilter = new IntentFilter();
7071
sshMeFilter.addAction(SSH_ME_ACTION);
71-
context.registerReceiver(sshMeReceiver, sshMeFilter);
72+
LocalBroadcastManager.getInstance(context).registerReceiver(sshMeReceiver, sshMeFilter);
7273
}
7374

7475
@Override
7576
public void onDetach() {
7677
super.onDetach();
77-
getContext().unregisterReceiver(sshMeReceiver);
78+
LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(sshMeReceiver);
7879
}
7980

8081
@Override

app/src/main/java/co/krypt/krypton/pairing/PairFragment.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import android.support.v4.app.ActivityCompat;
1616
import android.support.v4.app.Fragment;
1717
import android.support.v4.content.ContextCompat;
18+
import android.support.v4.content.LocalBroadcastManager;
1819
import android.util.Base64;
1920
import android.util.Log;
2021
import android.view.LayoutInflater;
@@ -36,14 +37,14 @@
3637
import java.util.concurrent.atomic.AtomicBoolean;
3738
import java.util.concurrent.atomic.AtomicReference;
3839

39-
import co.krypt.kryptonite.MainActivity;
4040
import co.krypt.krypton.R;
4141
import co.krypt.krypton.analytics.Analytics;
4242
import co.krypt.krypton.exception.CryptoException;
4343
import co.krypt.krypton.exception.TransportException;
4444
import co.krypt.krypton.onboarding.OnboardingActivity;
4545
import co.krypt.krypton.protocol.PairingQR;
4646
import co.krypt.krypton.silo.Silo;
47+
import co.krypt.kryptonite.MainActivity;
4748

4849

4950
/**
@@ -217,21 +218,21 @@ public void onAttach(Context context) {
217218
super.onAttach(context);
218219
IntentFilter permissionFilter = new IntentFilter();
219220
permissionFilter.addAction(MainActivity.CAMERA_PERMISSION_GRANTED_ACTION);
220-
context.registerReceiver(permissionReceiver, permissionFilter);
221+
LocalBroadcastManager.getInstance(getContext()).registerReceiver(permissionReceiver, permissionFilter);
221222
}
222223

223224
@Override
224225
public void onAttach(Activity activity) {
225226
super.onAttach(activity);
226227
IntentFilter permissionFilter = new IntentFilter();
227228
permissionFilter.addAction(MainActivity.CAMERA_PERMISSION_GRANTED_ACTION);
228-
getContext().registerReceiver(permissionReceiver, permissionFilter);
229+
LocalBroadcastManager.getInstance(getContext()).registerReceiver(permissionReceiver, permissionFilter);
229230
}
230231

231232
@Override
232233
public void onDetach() {
233234
super.onDetach();
234-
getContext().unregisterReceiver(permissionReceiver);
235+
LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(permissionReceiver);
235236
}
236237

237238

@@ -262,6 +263,7 @@ public void run() {
262263
updateCamera(getContext());
263264
}
264265
});
266+
265267
}
266268

267269
@Override
@@ -289,7 +291,7 @@ private void onPairingSuccess(final Pairing pairing) {
289291
successIntent.putExtra("deviceName", pairing.workstationName);
290292
Context context = getContext();
291293
if (context != null) {
292-
context.sendBroadcast(successIntent);
294+
LocalBroadcastManager.getInstance(context).sendBroadcast(successIntent);
293295
new Analytics(context).postEvent("device", "pair", "success", null, false);
294296
}
295297

app/src/main/java/co/krypt/krypton/pairing/Pairings.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import android.content.Context;
44
import android.content.Intent;
55
import android.content.SharedPreferences;
6+
import android.support.v4.content.LocalBroadcastManager;
67
import android.util.ArraySet;
78

89
import com.j256.ormlite.android.apptools.OpenHelperManager;
@@ -191,7 +192,7 @@ public void appendToSSHLog(SSHSignatureLog log) {
191192
}
192193
}
193194
Intent onLog = new Intent(ON_DEVICE_LOG_ACTION);
194-
context.sendBroadcast(onLog);
195+
LocalBroadcastManager.getInstance(context).sendBroadcast(onLog);
195196
}
196197

197198
public HashSet<SSHSignatureLog> getSSHLogs(String pairingUUID) {
@@ -247,7 +248,7 @@ public void appendToCommitLogs(GitCommitSignatureLog log) {
247248
}
248249
}
249250
Intent onLog = new Intent(ON_DEVICE_LOG_ACTION);
250-
context.sendBroadcast(onLog);
251+
LocalBroadcastManager.getInstance(context).sendBroadcast(onLog);
251252
}
252253

253254
public HashSet<GitTagSignatureLog> getTagLogs(String pairingUUID) {
@@ -275,7 +276,7 @@ public void appendToTagLogs(GitTagSignatureLog log) {
275276
}
276277
}
277278
Intent onLog = new Intent(ON_DEVICE_LOG_ACTION);
278-
context.sendBroadcast(onLog);
279+
LocalBroadcastManager.getInstance(context).sendBroadcast(onLog);
279280
}
280281

281282
public List<Log> getAllLogsTimeDescending(String pairingUUID) {

app/src/main/java/co/krypt/krypton/silo/Silo.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.content.Context;
44
import android.content.Intent;
5+
import android.support.v4.content.LocalBroadcastManager;
56
import android.support.v4.util.LruCache;
67
import android.util.Log;
78

@@ -418,7 +419,7 @@ public Void visit(SignRequest signRequest) throws Exception {
418419
Notifications.notifySuccess(context, pairing, request, log);
419420
if (signRequest.verifiedHostNameOrDefault("unknown host").equals("me.krypt.co")) {
420421
Intent sshMeIntent = new Intent(TestSSHFragment.SSH_ME_ACTION);
421-
context.sendBroadcast(sshMeIntent);
422+
LocalBroadcastManager.getInstance(context).sendBroadcast(sshMeIntent);
422423
}
423424
if (signRequest.hostAuth == null) {
424425
new Analytics(context).postEvent("host", "unknown", null, null, false);
@@ -642,7 +643,7 @@ public boolean hasKnownHost(String hostName) {
642643

643644
private void broadcastKnownHostsChanged() {
644645
Intent intent = new Intent(KNOWN_HOSTS_CHANGED_ACTION);
645-
context.sendBroadcast(intent);
646+
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
646647
}
647648

648649
}

app/src/main/java/co/krypt/kryptonite/MainActivity.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import android.support.v4.app.FragmentManager;
1212
import android.support.v4.app.FragmentPagerAdapter;
1313
import android.support.v4.app.FragmentTransaction;
14+
import android.support.v4.content.LocalBroadcastManager;
1415
import android.support.v4.view.ViewPager;
1516
import android.support.v7.app.AppCompatActivity;
1617
import android.util.Log;
@@ -135,7 +136,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
135136
case CAMERA_PERMISSION_REQUEST:
136137
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
137138
Intent cameraIntent = new Intent(CAMERA_PERMISSION_GRANTED_ACTION);
138-
sendBroadcast(cameraIntent);
139+
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(cameraIntent);
139140
}
140141
}
141142
}

0 commit comments

Comments
 (0)