Skip to content

Commit e2677d0

Browse files
committed
Fixed crash when device is rotated while subscription list is open
1 parent 5732929 commit e2677d0

File tree

2 files changed

+24
-18
lines changed

2 files changed

+24
-18
lines changed

AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="org.adblockplus.android"
44
android:versionCode="146"
5-
android:versionName="1.0" >
5+
android:versionName="1.0.1a" >
66

77
<uses-sdk
88
android:minSdkVersion="7"
@@ -61,4 +61,4 @@
6161
<receiver android:name=".updater.AlarmReceiver" />
6262
</application>
6363

64-
</manifest>
64+
</manifest>

src/org/adblockplus/android/Preferences.java

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ public class Preferences extends SummarizedPreferences
6262

6363
private static ProxyService proxyService = null;
6464

65+
private RefreshableListPreference subscriptionList;
66+
6567
private AboutDialog aboutDialog;
6668
private boolean showAbout = false;
6769
private boolean trafficDetected = false;
@@ -98,6 +100,23 @@ public void onCreate(Bundle savedInstanceState)
98100
{
99101
copyAssets();
100102
}
103+
104+
AdblockPlus application = AdblockPlus.getApplication();
105+
106+
// Initialize subscription list
107+
subscriptionList = (RefreshableListPreference) findPreference(getString(R.string.pref_subscription));
108+
List<Subscription> subscriptions = application.getSubscriptions();
109+
String[] entries = new String[subscriptions.size()];
110+
String[] entryValues = new String[subscriptions.size()];
111+
int i = 0;
112+
for (Subscription subscription : subscriptions)
113+
{
114+
entries[i] = subscription.title;
115+
entryValues[i] = subscription.url;
116+
i++;
117+
}
118+
subscriptionList.setEntries(entries);
119+
subscriptionList.setEntryValues(entryValues);
101120
}
102121

103122
@Override
@@ -117,24 +136,11 @@ public void onResume()
117136

118137
final AdblockPlus application = AdblockPlus.getApplication();
119138

120-
// Construct subscription list
121-
RefreshableListPreference subscriptionList = (RefreshableListPreference) findPreference(getString(R.string.pref_subscription));
122-
List<Subscription> subscriptions = application.getSubscriptions();
123-
String[] entries = new String[subscriptions.size()];
124-
String[] entryValues = new String[subscriptions.size()];
125-
String current = prefs.getString(getString(R.string.pref_subscription), (String) null);
126-
int i = 0;
127-
for (Subscription subscription : subscriptions)
128-
{
129-
entries[i] = subscription.title;
130-
entryValues[i] = subscription.url;
131-
i++;
132-
}
133-
subscriptionList.setEntries(entries);
134-
subscriptionList.setEntryValues(entryValues);
135-
136139
boolean firstRun = false;
137140

141+
// Get current subscription
142+
String current = prefs.getString(getString(R.string.pref_subscription), (String) null);
143+
138144
// If there is no current subscription autoselect one
139145
if (current == null)
140146
{

0 commit comments

Comments
 (0)