Fixed problem with crashes relating to new translatable strings in preferences screens.

This commit is contained in:
Graham Jones
2020-11-05 19:12:00 +00:00
parent 13a8240964
commit eda4a1de76

View File

@@ -68,6 +68,7 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
*/ */
@Override @Override
public void onBuildHeaders(List<Header> target) { public void onBuildHeaders(List<Header> target) {
String titleStr;
loadHeadersFromResource(R.xml.preference_headers, target); loadHeadersFromResource(R.xml.preference_headers, target);
Log.v(TAG, "onBuildHeaders - target.size=" + target.size()); Log.v(TAG, "onBuildHeaders - target.size=" + target.size());
SharedPreferences SP = PreferenceManager SharedPreferences SP = PreferenceManager
@@ -80,8 +81,13 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
if (advancedMode) { if (advancedMode) {
for (int i = 0; i < target.size(); i++) { for (int i = 0; i < target.size(); i++) {
Header h = target.get(i); Header h = target.get(i);
Log.v(TAG, "found - " + h.title.toString()); if (h.title != null) {
if (h.title.toString().equals("Seizure Detector")) { titleStr = h.title.toString();
} else {
titleStr = getResources().getString(h.titleRes);
}
Log.v(TAG, "found - " + titleStr);
if (titleStr.equals("Seizure Detector")) {
Log.v(TAG, "found Seizure Detector Header"); Log.v(TAG, "found Seizure Detector Header");
if (dataSourceStr.equals("Network")) { if (dataSourceStr.equals("Network")) {
Log.v(TAG, "Removing seizure detector settings header"); Log.v(TAG, "Removing seizure detector settings header");
@@ -89,7 +95,7 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
i = i - 1; i = i - 1;
} }
} }
if (h.title.toString().equals("Network Datasource")) { if (titleStr.equals("Network Datasource")) {
Log.v(TAG, "found Network Datasource Header"); Log.v(TAG, "found Network Datasource Header");
if (!dataSourceStr.equals("Network")) { if (!dataSourceStr.equals("Network")) {
Log.v(TAG, "Removing network settings header"); Log.v(TAG, "Removing network settings header");
@@ -97,7 +103,7 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
i = i - 1; i = i - 1;
} }
} }
if (h.title.toString().equals("Pebble Datasource")) { if (titleStr.equals("Pebble Datasource")) {
Log.v(TAG, "found Pebble Datasource Header"); Log.v(TAG, "found Pebble Datasource Header");
if (!dataSourceStr.equals("Pebble")) { if (!dataSourceStr.equals("Pebble")) {
Log.v(TAG, "Removing Pebble settings header"); Log.v(TAG, "Removing Pebble settings header");
@@ -109,21 +115,23 @@ public class PrefActivity extends PreferenceActivity implements SharedPreference
} else { } else {
for (int i = 0; i < target.size(); i++) { for (int i = 0; i < target.size(); i++) {
Header h = target.get(i); Header h = target.get(i);
if (h.title != null) {
titleStr = h.title.toString();
} else {
titleStr = getResources().getString(h.titleRes);
}
Log.v(TAG, "i=" + i + ", h=" + h.toString()); Log.v(TAG, "i=" + i + ", h=" + h.toString());
Log.v(TAG, "found - " + h.title); Log.v(TAG, "found - " + titleStr);
if (!h.title.toString().equals("Basic")) { if (!titleStr.equals("Basic")) {
if (!advancedMode) { if (!advancedMode) {
Log.v(TAG, "an Advanced Mode Header"); Log.v(TAG, "an Advanced Mode Header");
target.remove(i); target.remove(i);
i = i - 1; i = i - 1;
} }
} }
}
} }
//mSelectBLEButton = findViewById(R.id.selectBLEDeviceButton); }
//mSelectBLEButton.setOnClickListener(this);
} }
@Override @Override