... | ... |
@@ -3,6 +3,7 @@ |
3 | 3 |
package="app.librenews.io.librenews"> |
4 | 4 |
|
5 | 5 |
<uses-permission android:name="android.permission.INTERNET" /> |
6 |
+ <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> |
|
6 | 7 |
|
7 | 8 |
<application |
8 | 9 |
android:allowBackup="true" |
... | ... |
@@ -199,6 +199,7 @@ public class FlashManager { |
199 | 199 |
defaults.add("Breaking News"); |
200 | 200 |
defaults.add("Announcements"); // mwahaha |
201 | 201 |
final Set<String> channels = prefs.getStringSet("channels", defaults); |
202 |
+ final boolean newInstallation = getLatestPushedFlashes().size() == 0; |
|
202 | 203 |
if (!newServerUrl.equals(serverUrl)) { |
203 | 204 |
// they changed their server preferences! |
204 | 205 |
try { |
... | ... |
@@ -229,7 +230,9 @@ public class FlashManager { |
229 | 230 |
} |
230 | 231 |
try { |
231 | 232 |
if (!pushed) { |
232 |
- pushFlashNotification(f); |
|
233 |
+ if(!newInstallation) { |
|
234 |
+ pushFlashNotification(f); |
|
235 |
+ } |
|
233 | 236 |
ArrayList<Flash> q = getLatestPushedFlashes(); |
234 | 237 |
q.add(f); |
235 | 238 |
writeFlashesToStorage(q); // lots of IO, but it's OK |
... | ... |
@@ -63,7 +63,7 @@ public class SyncManager { |
63 | 63 |
public static class BootReceiver extends BroadcastReceiver { |
64 | 64 |
@Override |
65 | 65 |
public void onReceive(Context context, Intent intent){ |
66 |
- SyncManager manager = new SyncManager(context, new FlashManager(context)); |
|
66 |
+ SyncManager manager = new SyncManager(context.getApplicationContext(), new FlashManager(context.getApplicationContext())); |
|
67 | 67 |
manager.startSyncService(); |
68 | 68 |
} |
69 | 69 |
} |
... | ... |
@@ -13,10 +13,8 @@ public class SettingsActivityFragment extends PreferenceFragment { |
13 | 13 |
@Override |
14 | 14 |
public void onCreate(final Bundle savedInstanceState) { |
15 | 15 |
super.onCreate(savedInstanceState); |
16 |
- |
|
17 | 16 |
// Load the preferences from an XML resource |
18 | 17 |
addPreferencesFromResource(R.xml.preferences); |
19 |
- |
|
20 | 18 |
SharedPreferences.OnSharedPreferenceChangeListener spChanged = new |
21 | 19 |
SharedPreferences.OnSharedPreferenceChangeListener() { |
22 | 20 |
@Override |
... | ... |
@@ -30,7 +28,6 @@ public class SettingsActivityFragment extends PreferenceFragment { |
30 | 28 |
} |
31 | 29 |
} |
32 | 30 |
}; |
33 |
- |
|
34 | 31 |
PreferenceManager.getDefaultSharedPreferences(getActivity()).registerOnSharedPreferenceChangeListener(spChanged); |
35 | 32 |
} |
36 | 33 |
} |