diff --git a/F-Droid/src/org/fdroid/fdroid/AppDetails.java b/F-Droid/src/org/fdroid/fdroid/AppDetails.java index abf543b57..b9dad3662 100644 --- a/F-Droid/src/org/fdroid/fdroid/AppDetails.java +++ b/F-Droid/src/org/fdroid/fdroid/AppDetails.java @@ -1089,20 +1089,24 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A } boolean finished = false; - if (event.type.equals(Downloader.EVENT_PROGRESS)) { - updateProgressDialog(event.progress, event.total); - } else if (event.type.equals(ApkDownloader.EVENT_ERROR)) { - final String text; - if (event.getData().getInt(ApkDownloader.EVENT_DATA_ERROR_TYPE) == ApkDownloader.ERROR_HASH_MISMATCH) - text = getString(R.string.corrupt_download); - else - text = getString(R.string.details_notinstalled); - // this must be on the main UI thread - Toast.makeText(this, text, Toast.LENGTH_LONG).show(); - finished = true; - } else if (event.type.equals(ApkDownloader.EVENT_APK_DOWNLOAD_COMPLETE)) { - downloadCompleteInstallApk(); - finished = true; + switch (event.type) { + case Downloader.EVENT_PROGRESS: + updateProgressDialog(event.progress, event.total); + break; + case ApkDownloader.EVENT_ERROR: + final String text; + if (event.getData().getInt(ApkDownloader.EVENT_DATA_ERROR_TYPE) == ApkDownloader.ERROR_HASH_MISMATCH) + text = getString(R.string.corrupt_download); + else + text = getString(R.string.details_notinstalled); + // this must be on the main UI thread + Toast.makeText(this, text, Toast.LENGTH_LONG).show(); + finished = true; + break; + case ApkDownloader.EVENT_APK_DOWNLOAD_COMPLETE: + downloadCompleteInstallApk(); + finished = true; + break; } if (finished) { @@ -1276,18 +1280,20 @@ public class AppDetails extends ActionBarActivity implements ProgressListener, A } private String descAntiFeature(String af) { - if (af.equals("Ads")) - return getString(R.string.antiadslist); - if (af.equals("Tracking")) - return getString(R.string.antitracklist); - if (af.equals("NonFreeNet")) - return getString(R.string.antinonfreenetlist); - if (af.equals("NonFreeAdd")) - return getString(R.string.antinonfreeadlist); - if (af.equals("NonFreeDep")) - return getString(R.string.antinonfreedeplist); - if (af.equals("UpstreamNonFree")) - return getString(R.string.antiupstreamnonfreelist); + switch (af) { + case "Ads": + return getString(R.string.antiadslist); + case "Tracking": + return getString(R.string.antitracklist); + case "NonFreeNet": + return getString(R.string.antinonfreenetlist); + case "NonFreeAdd": + return getString(R.string.antinonfreeadlist); + case "NonFreeDep": + return getString(R.string.antinonfreedeplist); + case "UpstreamNonFree": + return getString(R.string.antiupstreamnonfreelist); + } return null; } diff --git a/F-Droid/src/org/fdroid/fdroid/Preferences.java b/F-Droid/src/org/fdroid/fdroid/Preferences.java index c1beaa0b5..a1cb6407a 100644 --- a/F-Droid/src/org/fdroid/fdroid/Preferences.java +++ b/F-Droid/src/org/fdroid/fdroid/Preferences.java @@ -226,30 +226,37 @@ public class Preferences implements SharedPreferences.OnSharedPreferenceChangeLi Log.d(TAG, "Invalidating preference '" + key + "'."); uninitialize(key); - if (key.equals(PREF_COMPACT_LAYOUT)) { - for (ChangeListener listener : compactLayoutListeners) { - listener.onPreferenceChange(); - } - } else if (key.equals(PREF_ROOTED)) { - for (ChangeListener listener : filterAppsRequiringRootListeners) { - listener.onPreferenceChange(); - } - } else if (key.equals(PREF_UPD_HISTORY)) { - for (ChangeListener listener : updateHistoryListeners) { - listener.onPreferenceChange(); - } - } else if (key.equals(PREF_LOCAL_REPO_BONJOUR)) { - for (ChangeListener listener : localRepoBonjourListeners) { - listener.onPreferenceChange(); - } - } else if (key.equals(PREF_LOCAL_REPO_NAME)) { - for (ChangeListener listener : localRepoNameListeners) { - listener.onPreferenceChange(); - } - } else if (key.equals(PREF_LOCAL_REPO_HTTPS)) { - for (ChangeListener listener : localRepoHttpsListeners) { - listener.onPreferenceChange(); - } + switch (key) { + case PREF_COMPACT_LAYOUT: + for (ChangeListener listener : compactLayoutListeners) { + listener.onPreferenceChange(); + } + break; + case PREF_ROOTED: + for (ChangeListener listener : filterAppsRequiringRootListeners) { + listener.onPreferenceChange(); + } + break; + case PREF_UPD_HISTORY: + for (ChangeListener listener : updateHistoryListeners) { + listener.onPreferenceChange(); + } + break; + case PREF_LOCAL_REPO_BONJOUR: + for (ChangeListener listener : localRepoBonjourListeners) { + listener.onPreferenceChange(); + } + break; + case PREF_LOCAL_REPO_NAME: + for (ChangeListener listener : localRepoNameListeners) { + listener.onPreferenceChange(); + } + break; + case PREF_LOCAL_REPO_HTTPS: + for (ChangeListener listener : localRepoHttpsListeners) { + listener.onPreferenceChange(); + } + break; } } diff --git a/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java b/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java index 8ad308a27..c213fa7af 100644 --- a/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java +++ b/F-Droid/src/org/fdroid/fdroid/RepoXMLHandler.java @@ -124,123 +124,159 @@ public class RepoXMLHandler extends DefaultHandler { apksList.add(curapk); curapk = null; } else if (curapk != null && str != null) { - if (curel.equals("version")) { - curapk.version = str; - } else if (curel.equals("versioncode")) { - try { - curapk.vercode = Integer.parseInt(str); - } catch (NumberFormatException ex) { - curapk.vercode = -1; - } - } else if (curel.equals("size")) { - try { - curapk.size = Integer.parseInt(str); - } catch (NumberFormatException ex) { - curapk.size = 0; - } - } else if (curel.equals("hash")) { - if (hashType == null || hashType.equals("md5")) { - if (curapk.hash == null) { - curapk.hash = str; - curapk.hashType = "MD5"; + switch (curel) { + case "version": + curapk.version = str; + break; + case "versioncode": + try { + curapk.vercode = Integer.parseInt(str); + } catch (NumberFormatException ex) { + curapk.vercode = -1; } - } else if (hashType.equals("sha256")) { - curapk.hash = str; - curapk.hashType = "SHA-256"; - } - } else if (curel.equals("sig")) { - curapk.sig = str; - } else if (curel.equals("srcname")) { - curapk.srcname = str; - } else if (curel.equals("apkname")) { - curapk.apkName = str; - } else if (curel.equals("sdkver")) { - try { - curapk.minSdkVersion = Integer.parseInt(str); - } catch (NumberFormatException ex) { - curapk.minSdkVersion = 0; - } - } else if (curel.equals("maxsdkver")) { - try { - curapk.maxSdkVersion = Integer.parseInt(str); - } catch (NumberFormatException ex) { - curapk.maxSdkVersion = 0; - } - } else if (curel.equals("added")) { - try { - curapk.added = str.length() == 0 ? null : Utils.DATE_FORMAT - .parse(str); - } catch (ParseException e) { - curapk.added = null; - } - } else if (curel.equals("permissions")) { - curapk.permissions = Utils.CommaSeparatedList.make(str); - } else if (curel.equals("features")) { - curapk.features = Utils.CommaSeparatedList.make(str); - } else if (curel.equals("nativecode")) { - curapk.nativecode = Utils.CommaSeparatedList.make(str); + break; + case "size": + try { + curapk.size = Integer.parseInt(str); + } catch (NumberFormatException ex) { + curapk.size = 0; + } + break; + case "hash": + if (hashType == null || hashType.equals("md5")) { + if (curapk.hash == null) { + curapk.hash = str; + curapk.hashType = "MD5"; + } + } else if (hashType.equals("sha256")) { + curapk.hash = str; + curapk.hashType = "SHA-256"; + } + break; + case "sig": + curapk.sig = str; + break; + case "srcname": + curapk.srcname = str; + break; + case "apkname": + curapk.apkName = str; + break; + case "sdkver": + try { + curapk.minSdkVersion = Integer.parseInt(str); + } catch (NumberFormatException ex) { + curapk.minSdkVersion = 0; + } + break; + case "maxsdkver": + try { + curapk.maxSdkVersion = Integer.parseInt(str); + } catch (NumberFormatException ex) { + curapk.maxSdkVersion = 0; + } + break; + case "added": + try { + curapk.added = str.length() == 0 ? null : Utils.DATE_FORMAT + .parse(str); + } catch (ParseException e) { + curapk.added = null; + } + break; + case "permissions": + curapk.permissions = Utils.CommaSeparatedList.make(str); + break; + case "features": + curapk.features = Utils.CommaSeparatedList.make(str); + break; + case "nativecode": + curapk.nativecode = Utils.CommaSeparatedList.make(str); + break; } } else if (curapp != null && str != null) { - if (curel.equals("name")) { - curapp.name = str; - } else if (curel.equals("icon")) { - curapp.icon = str; - } else if (curel.equals("description")) { - // This is the old-style description. We'll read it - // if present, to support old repos, but in newer - // repos it will get overwritten straight away! - curapp.description = "

" + str + "

"; - } else if (curel.equals("desc")) { - // New-style description. - curapp.description = str; - } else if (curel.equals("summary")) { - curapp.summary = str; - } else if (curel.equals("license")) { - curapp.license = str; - } else if (curel.equals("source")) { - curapp.sourceURL = str; - } else if (curel.equals("donate")) { - curapp.donateURL = str; - } else if (curel.equals("bitcoin")) { - curapp.bitcoinAddr = str; - } else if (curel.equals("litecoin")) { - curapp.litecoinAddr = str; - } else if (curel.equals("dogecoin")) { - curapp.dogecoinAddr = str; - } else if (curel.equals("flattr")) { - curapp.flattrID = str; - } else if (curel.equals("web")) { - curapp.webURL = str; - } else if (curel.equals("tracker")) { - curapp.trackerURL = str; - } else if (curel.equals("added")) { - try { - curapp.added = str.length() == 0 ? null : Utils.DATE_FORMAT - .parse(str); - } catch (ParseException e) { - curapp.added = null; - } - } else if (curel.equals("lastupdated")) { - try { - curapp.lastUpdated = str.length() == 0 ? null - : Utils.DATE_FORMAT.parse(str); - } catch (ParseException e) { - curapp.lastUpdated = null; - } - } else if (curel.equals("marketversion")) { - curapp.upstreamVersion = str; - } else if (curel.equals("marketvercode")) { - try { - curapp.upstreamVercode = Integer.parseInt(str); - } catch (NumberFormatException ex) { - curapp.upstreamVercode = -1; - } - } else if (curel.equals("categories")) { - curapp.categories = Utils.CommaSeparatedList.make(str); - } else if (curel.equals("antifeatures")) { - curapp.antiFeatures = Utils.CommaSeparatedList.make(str); - } else if (curel.equals("requirements")) { - curapp.requirements = Utils.CommaSeparatedList.make(str); + switch (curel) { + case "name": + curapp.name = str; + break; + case "icon": + curapp.icon = str; + break; + case "description": + // This is the old-style description. We'll read it + // if present, to support old repos, but in newer + // repos it will get overwritten straight away! + curapp.description = "

" + str + "

"; + break; + case "desc": + // New-style description. + curapp.description = str; + break; + case "summary": + curapp.summary = str; + break; + case "license": + curapp.license = str; + break; + case "source": + curapp.sourceURL = str; + break; + case "donate": + curapp.donateURL = str; + break; + case "bitcoin": + curapp.bitcoinAddr = str; + break; + case "litecoin": + curapp.litecoinAddr = str; + break; + case "dogecoin": + curapp.dogecoinAddr = str; + break; + case "flattr": + curapp.flattrID = str; + break; + case "web": + curapp.webURL = str; + break; + case "tracker": + curapp.trackerURL = str; + break; + case "added": + try { + curapp.added = str.length() == 0 ? null : Utils.DATE_FORMAT + .parse(str); + } catch (ParseException e) { + curapp.added = null; + } + break; + case "lastupdated": + try { + curapp.lastUpdated = str.length() == 0 ? null + : Utils.DATE_FORMAT.parse(str); + } catch (ParseException e) { + curapp.lastUpdated = null; + } + break; + case "marketversion": + curapp.upstreamVersion = str; + break; + case "marketvercode": + try { + curapp.upstreamVercode = Integer.parseInt(str); + } catch (NumberFormatException ex) { + curapp.upstreamVercode = -1; + } + break; + case "categories": + curapp.categories = Utils.CommaSeparatedList.make(str); + break; + case "antifeatures": + curapp.antiFeatures = Utils.CommaSeparatedList.make(str); + break; + case "requirements": + curapp.requirements = Utils.CommaSeparatedList.make(str); + break; } } else if (curel.equals("description")) { description = cleanWhiteSpace(str); diff --git a/F-Droid/src/org/fdroid/fdroid/UpdateService.java b/F-Droid/src/org/fdroid/fdroid/UpdateService.java index 501c731c4..c4e01a9ab 100644 --- a/F-Droid/src/org/fdroid/fdroid/UpdateService.java +++ b/F-Droid/src/org/fdroid/fdroid/UpdateService.java @@ -805,13 +805,16 @@ public class UpdateService extends IntentService implements ProgressListener { // TODO: Switch to passing through Bundles of data with the event, rather than a repo address. They are // now much more general purpose then just repo downloading. String repoAddress = event.getData().getString(RepoUpdater.PROGRESS_DATA_REPO_ADDRESS); - if (event.type.equals(Downloader.EVENT_PROGRESS)) { - String downloadedSize = Utils.getFriendlySize(event.progress); - String totalSize = Utils.getFriendlySize(event.total); - int percent = (int)((double)event.progress/event.total * 100); - message = getString(R.string.status_download, repoAddress, downloadedSize, totalSize, percent); - } else if (event.type.equals(RepoUpdater.PROGRESS_TYPE_PROCESS_XML)) { - message = getString(R.string.status_processing_xml, repoAddress, event.progress, event.total); + switch (event.type) { + case Downloader.EVENT_PROGRESS: + String downloadedSize = Utils.getFriendlySize(event.progress); + String totalSize = Utils.getFriendlySize(event.total); + int percent = (int)((double)event.progress/event.total * 100); + message = getString(R.string.status_download, repoAddress, downloadedSize, totalSize, percent); + break; + case RepoUpdater.PROGRESS_TYPE_PROCESS_XML: + message = getString(R.string.status_processing_xml, repoAddress, event.progress, event.total); + break; } sendStatus(STATUS_INFO, message); } diff --git a/F-Droid/src/org/fdroid/fdroid/Utils.java b/F-Droid/src/org/fdroid/fdroid/Utils.java index 9b24dfb71..08b6c5c57 100644 --- a/F-Droid/src/org/fdroid/fdroid/Utils.java +++ b/F-Droid/src/org/fdroid/fdroid/Utils.java @@ -477,27 +477,31 @@ public final class Utils { @Override public void handleTag(boolean opening, String tag, Editable output, XMLReader reader) { - if (tag.equals("ul")) { - if (opening) - listNum = -1; - else - output.append('\n'); - } else if (tag.equals("ol")) { - if (opening) - listNum = 1; - else - output.append('\n'); - } else if (tag.equals("li")) { - if (opening) { - if (listNum == -1) { - output.append("\t• "); + switch (tag) { + case "ul": + if (opening) + listNum = -1; + else + output.append('\n'); + break; + case "ol": + if (opening) + listNum = 1; + else + output.append('\n'); + break; + case "li": + if (opening) { + if (listNum == -1) { + output.append("\t• "); + } else { + output.append("\t").append(Integer.toString(listNum)).append(". "); + listNum++; + } } else { - output.append("\t").append(Integer.toString(listNum)).append(". "); - listNum++; + output.append('\n'); } - } else { - output.append('\n'); - } + break; } } } diff --git a/F-Droid/src/org/fdroid/fdroid/data/Apk.java b/F-Droid/src/org/fdroid/fdroid/data/Apk.java index f70166a60..9bcc7f20e 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/Apk.java +++ b/F-Droid/src/org/fdroid/fdroid/data/Apk.java @@ -63,46 +63,67 @@ public class Apk extends ValueObject implements Comparable { for (int i = 0; i < cursor.getColumnCount(); i++) { String column = cursor.getColumnName(i); - if (column.equals(ApkProvider.DataColumns.HASH)) { - hash = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.HASH_TYPE)) { - hashType = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.ADDED_DATE)) { - added = ValueObject.toDate(cursor.getString(i)); - } else if (column.equals(ApkProvider.DataColumns.FEATURES)) { - features = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(ApkProvider.DataColumns.APK_ID)) { - id = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.IS_COMPATIBLE)) { - compatible = cursor.getInt(i) == 1; - } else if (column.equals(ApkProvider.DataColumns.MIN_SDK_VERSION)) { - minSdkVersion = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.MAX_SDK_VERSION)) { - maxSdkVersion = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.NAME)) { - apkName = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.PERMISSIONS)) { - permissions = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(ApkProvider.DataColumns.NATIVE_CODE)) { - nativecode = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(ApkProvider.DataColumns.INCOMPATIBLE_REASONS)) { - incompatible_reasons = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(ApkProvider.DataColumns.REPO_ID)) { - repo = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.SIGNATURE)) { - sig = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.SIZE)) { - size = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.SOURCE_NAME)) { - srcname = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.VERSION)) { - version = cursor.getString(i); - } else if (column.equals(ApkProvider.DataColumns.VERSION_CODE)) { - vercode = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.REPO_VERSION)) { - repoVersion = cursor.getInt(i); - } else if (column.equals(ApkProvider.DataColumns.REPO_ADDRESS)) { - repoAddress = cursor.getString(i); + switch (cursor.getColumnName(i)) { + case ApkProvider.DataColumns.HASH: + hash = cursor.getString(i); + break; + case ApkProvider.DataColumns.HASH_TYPE: + hashType = cursor.getString(i); + break; + case ApkProvider.DataColumns.ADDED_DATE: + added = ValueObject.toDate(cursor.getString(i)); + break; + case ApkProvider.DataColumns.FEATURES: + features = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case ApkProvider.DataColumns.APK_ID: + id = cursor.getString(i); + break; + case ApkProvider.DataColumns.IS_COMPATIBLE: + compatible = cursor.getInt(i) == 1; + break; + case ApkProvider.DataColumns.MIN_SDK_VERSION: + minSdkVersion = cursor.getInt(i); + break; + case ApkProvider.DataColumns.MAX_SDK_VERSION: + maxSdkVersion = cursor.getInt(i); + break; + case ApkProvider.DataColumns.NAME: + apkName = cursor.getString(i); + break; + case ApkProvider.DataColumns.PERMISSIONS: + permissions = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case ApkProvider.DataColumns.NATIVE_CODE: + nativecode = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case ApkProvider.DataColumns.INCOMPATIBLE_REASONS: + incompatible_reasons = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case ApkProvider.DataColumns.REPO_ID: + repo = cursor.getInt(i); + break; + case ApkProvider.DataColumns.SIGNATURE: + sig = cursor.getString(i); + break; + case ApkProvider.DataColumns.SIZE: + size = cursor.getInt(i); + break; + case ApkProvider.DataColumns.SOURCE_NAME: + srcname = cursor.getString(i); + break; + case ApkProvider.DataColumns.VERSION: + version = cursor.getString(i); + break; + case ApkProvider.DataColumns.VERSION_CODE: + vercode = cursor.getInt(i); + break; + case ApkProvider.DataColumns.REPO_VERSION: + repoVersion = cursor.getInt(i); + break; + case ApkProvider.DataColumns.REPO_ADDRESS: + repoAddress = cursor.getString(i); + break; } } } diff --git a/F-Droid/src/org/fdroid/fdroid/data/App.java b/F-Droid/src/org/fdroid/fdroid/data/App.java index 482171ce6..d3c12a165 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/App.java +++ b/F-Droid/src/org/fdroid/fdroid/data/App.java @@ -112,65 +112,94 @@ public class App extends ValueObject implements Comparable { checkCursorPosition(cursor); for (int i = 0; i < cursor.getColumnCount(); i++) { - String column = cursor.getColumnName(i); - if (column.equals(AppProvider.DataColumns.IS_COMPATIBLE)) { - compatible = cursor.getInt(i) == 1; - } else if (column.equals(AppProvider.DataColumns.APP_ID)) { - id = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.NAME)) { - name = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.SUMMARY)) { - summary = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.ICON)) { - icon = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.DESCRIPTION)) { - description = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.LICENSE)) { - license = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.WEB_URL)) { - webURL = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.TRACKER_URL)) { - trackerURL = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.SOURCE_URL)) { - sourceURL = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.DONATE_URL)) { - donateURL = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.BITCOIN_ADDR)) { - bitcoinAddr = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.LITECOIN_ADDR)) { - litecoinAddr = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.DOGECOIN_ADDR)) { - dogecoinAddr = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.FLATTR_ID)) { - flattrID = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.SuggestedApk.VERSION)) { - suggestedVersion = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.SUGGESTED_VERSION_CODE)) { - suggestedVercode = cursor.getInt(i); - } else if (column.equals(AppProvider.DataColumns.UPSTREAM_VERSION_CODE)) { - upstreamVercode = cursor.getInt(i); - } else if (column.equals(AppProvider.DataColumns.UPSTREAM_VERSION)) { - upstreamVersion = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.ADDED)) { - added = ValueObject.toDate(cursor.getString(i)); - } else if (column.equals(AppProvider.DataColumns.LAST_UPDATED)) { - lastUpdated = ValueObject.toDate(cursor.getString(i)); - } else if (column.equals(AppProvider.DataColumns.CATEGORIES)) { - categories = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(AppProvider.DataColumns.ANTI_FEATURES)) { - antiFeatures = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(AppProvider.DataColumns.REQUIREMENTS)) { - requirements = Utils.CommaSeparatedList.make(cursor.getString(i)); - } else if (column.equals(AppProvider.DataColumns.IGNORE_ALLUPDATES)) { - ignoreAllUpdates = cursor.getInt(i) == 1; - } else if (column.equals(AppProvider.DataColumns.IGNORE_THISUPDATE)) { - ignoreThisUpdate = cursor.getInt(i); - } else if (column.equals(AppProvider.DataColumns.ICON_URL)) { - iconUrl = cursor.getString(i); - } else if (column.equals(AppProvider.DataColumns.InstalledApp.VERSION_CODE)) { - installedVersionCode = cursor.getInt(i); - } else if (column.equals(AppProvider.DataColumns.InstalledApp.VERSION_NAME)) { - installedVersionName = cursor.getString(i); + switch (cursor.getColumnName(i)) { + case AppProvider.DataColumns.IS_COMPATIBLE: + compatible = cursor.getInt(i) == 1; + break; + case AppProvider.DataColumns.APP_ID: + id = cursor.getString(i); + break; + case AppProvider.DataColumns.NAME: + name = cursor.getString(i); + break; + case AppProvider.DataColumns.SUMMARY: + summary = cursor.getString(i); + break; + case AppProvider.DataColumns.ICON: + icon = cursor.getString(i); + break; + case AppProvider.DataColumns.DESCRIPTION: + description = cursor.getString(i); + break; + case AppProvider.DataColumns.LICENSE: + license = cursor.getString(i); + break; + case AppProvider.DataColumns.WEB_URL: + webURL = cursor.getString(i); + break; + case AppProvider.DataColumns.TRACKER_URL: + trackerURL = cursor.getString(i); + break; + case AppProvider.DataColumns.SOURCE_URL: + sourceURL = cursor.getString(i); + break; + case AppProvider.DataColumns.DONATE_URL: + donateURL = cursor.getString(i); + break; + case AppProvider.DataColumns.BITCOIN_ADDR: + bitcoinAddr = cursor.getString(i); + break; + case AppProvider.DataColumns.LITECOIN_ADDR: + litecoinAddr = cursor.getString(i); + break; + case AppProvider.DataColumns.DOGECOIN_ADDR: + dogecoinAddr = cursor.getString(i); + break; + case AppProvider.DataColumns.FLATTR_ID: + flattrID = cursor.getString(i); + break; + case AppProvider.DataColumns.SuggestedApk.VERSION: + suggestedVersion = cursor.getString(i); + break; + case AppProvider.DataColumns.SUGGESTED_VERSION_CODE: + suggestedVercode = cursor.getInt(i); + break; + case AppProvider.DataColumns.UPSTREAM_VERSION_CODE: + upstreamVercode = cursor.getInt(i); + break; + case AppProvider.DataColumns.UPSTREAM_VERSION: + upstreamVersion = cursor.getString(i); + break; + case AppProvider.DataColumns.ADDED: + added = ValueObject.toDate(cursor.getString(i)); + break; + case AppProvider.DataColumns.LAST_UPDATED: + lastUpdated = ValueObject.toDate(cursor.getString(i)); + break; + case AppProvider.DataColumns.CATEGORIES: + categories = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case AppProvider.DataColumns.ANTI_FEATURES: + antiFeatures = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case AppProvider.DataColumns.REQUIREMENTS: + requirements = Utils.CommaSeparatedList.make(cursor.getString(i)); + break; + case AppProvider.DataColumns.IGNORE_ALLUPDATES: + ignoreAllUpdates = cursor.getInt(i) == 1; + break; + case AppProvider.DataColumns.IGNORE_THISUPDATE: + ignoreThisUpdate = cursor.getInt(i); + break; + case AppProvider.DataColumns.ICON_URL: + iconUrl = cursor.getString(i); + break; + case AppProvider.DataColumns.InstalledApp.VERSION_CODE: + installedVersionCode = cursor.getInt(i); + break; + case AppProvider.DataColumns.InstalledApp.VERSION_NAME: + installedVersionName = cursor.getString(i); + break; } } } diff --git a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java index 991b7b337..d7d1b8977 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java +++ b/F-Droid/src/org/fdroid/fdroid/data/AppProvider.java @@ -314,19 +314,25 @@ public class AppProvider extends FDroidProvider { @Override public void addField(String field) { - if (field.equals(DataColumns.SuggestedApk.VERSION)) { - addSuggestedApkVersionField(); - } else if (field.equals(DataColumns.InstalledApp.VERSION_NAME)) { - addInstalledAppVersionName(); - } else if (field.equals(DataColumns.InstalledApp.VERSION_CODE)) { - addInstalledAppVersionCode(); - } else if (field.equals(DataColumns._COUNT)) { - appendCountField(); - } else { - if (field.equals(DataColumns.CATEGORIES)) { - categoryFieldAdded = true; - } - appendField(field, "fdroid_app"); + switch (field) { + case DataColumns.SuggestedApk.VERSION: + addSuggestedApkVersionField(); + break; + case DataColumns.InstalledApp.VERSION_NAME: + addInstalledAppVersionName(); + break; + case DataColumns.InstalledApp.VERSION_CODE: + addInstalledAppVersionCode(); + break; + case DataColumns._COUNT: + appendCountField(); + break; + default: + if (field.equals(DataColumns.CATEGORIES)) { + categoryFieldAdded = true; + } + appendField(field, "fdroid_app"); + break; } } diff --git a/F-Droid/src/org/fdroid/fdroid/data/Repo.java b/F-Droid/src/org/fdroid/fdroid/data/Repo.java index 934ebaddb..ebe674d42 100644 --- a/F-Droid/src/org/fdroid/fdroid/data/Repo.java +++ b/F-Droid/src/org/fdroid/fdroid/data/Repo.java @@ -41,33 +41,46 @@ public class Repo extends ValueObject { checkCursorPosition(cursor); for (int i = 0; i < cursor.getColumnCount(); i++) { - String column = cursor.getColumnName(i); - if (column.equals(RepoProvider.DataColumns._ID)) { - id = cursor.getInt(i); - } else if (column.equals(RepoProvider.DataColumns.LAST_ETAG)) { - lastetag = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.ADDRESS)) { - address = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.DESCRIPTION)) { - description = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.FINGERPRINT)) { - fingerprint = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.IN_USE)) { - inuse = cursor.getInt(i) == 1; - } else if (column.equals(RepoProvider.DataColumns.LAST_UPDATED)) { - lastUpdated = toDate(cursor.getString(i)); - } else if (column.equals(RepoProvider.DataColumns.MAX_AGE)) { - maxage = cursor.getInt(i); - } else if (column.equals(RepoProvider.DataColumns.VERSION)) { - version = cursor.getInt(i); - } else if (column.equals(RepoProvider.DataColumns.NAME)) { - name = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.PUBLIC_KEY)) { - pubkey = cursor.getString(i); - } else if (column.equals(RepoProvider.DataColumns.PRIORITY)) { - priority = cursor.getInt(i); - } else if (column.equals(RepoProvider.DataColumns.IS_SWAP)) { - isSwap = cursor.getInt(i) == 1; + switch (cursor.getColumnName(i)) { + case RepoProvider.DataColumns._ID: + id = cursor.getInt(i); + break; + case RepoProvider.DataColumns.LAST_ETAG: + lastetag = cursor.getString(i); + break; + case RepoProvider.DataColumns.ADDRESS: + address = cursor.getString(i); + break; + case RepoProvider.DataColumns.DESCRIPTION: + description = cursor.getString(i); + break; + case RepoProvider.DataColumns.FINGERPRINT: + fingerprint = cursor.getString(i); + break; + case RepoProvider.DataColumns.IN_USE: + inuse = cursor.getInt(i) == 1; + break; + case RepoProvider.DataColumns.LAST_UPDATED: + lastUpdated = toDate(cursor.getString(i)); + break; + case RepoProvider.DataColumns.MAX_AGE: + maxage = cursor.getInt(i); + break; + case RepoProvider.DataColumns.VERSION: + version = cursor.getInt(i); + break; + case RepoProvider.DataColumns.NAME: + name = cursor.getString(i); + break; + case RepoProvider.DataColumns.PUBLIC_KEY: + pubkey = cursor.getString(i); + break; + case RepoProvider.DataColumns.PRIORITY: + priority = cursor.getInt(i); + break; + case RepoProvider.DataColumns.IS_SWAP: + isSwap = cursor.getInt(i) == 1; + break; } } } diff --git a/F-Droid/src/org/fdroid/fdroid/net/ApkDownloader.java b/F-Droid/src/org/fdroid/fdroid/net/ApkDownloader.java index f63b2afa2..63997eba9 100644 --- a/F-Droid/src/org/fdroid/fdroid/net/ApkDownloader.java +++ b/F-Droid/src/org/fdroid/fdroid/net/ApkDownloader.java @@ -200,11 +200,13 @@ public class ApkDownloader implements AsyncDownloadWrapper.Listener { } private void sendProgressEvent(Event event) { - if (event.type.equals(Downloader.EVENT_PROGRESS)) { - // Keep a copy of these ourselves, so people can interrogate us for the - // info (in addition to receiving events with the info). - totalSize = event.total; - progress = event.progress; + switch (event.type) { + case Downloader.EVENT_PROGRESS: + // Keep a copy of these ourselves, so people can interrogate us for the + // info (in addition to receiving events with the info). + totalSize = event.total; + progress = event.progress; + break; } event.getData().putLong(EVENT_SOURCE_ID, id); diff --git a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java index 84ef99565..145ef7313 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/views/ManageReposActivity.java @@ -212,15 +212,16 @@ public class ManageReposActivity extends ActionBarActivity { new ProgressListener() { @Override public void onProgress(Event event) { - if (event.type.equals(UpdateService.EVENT_COMPLETE_AND_SAME) || - event.type.equals(UpdateService.EVENT_COMPLETE_WITH_CHANGES)) { - // No need to prompt to update any more, we just - // did it! - changed = false; - } - - if (event.type.equals(UpdateService.EVENT_FINISHED)) { - updateHandler = null; + switch (event.type) { + case UpdateService.EVENT_COMPLETE_AND_SAME: + case UpdateService.EVENT_COMPLETE_WITH_CHANGES: + // No need to prompt to update any more, we just + // did it! + changed = false; + break; + case UpdateService.EVENT_FINISHED: + updateHandler = null; + break; } } }); diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java index c65b46f40..1708f58fc 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/AvailableAppsFragment.java @@ -189,12 +189,11 @@ public class AvailableAppsFragment extends AppListFragment implements protected Uri getDataUri() { if (currentCategory == null || currentCategory.equals(AppProvider.Helper.getCategoryAll(getActivity()))) return AppProvider.getContentUri(); - else if (currentCategory.equals(AppProvider.Helper.getCategoryRecentlyUpdated(getActivity()))) + if (currentCategory.equals(AppProvider.Helper.getCategoryRecentlyUpdated(getActivity()))) return AppProvider.getRecentlyUpdatedUri(); - else if (currentCategory.equals(AppProvider.Helper.getCategoryWhatsNew(getActivity()))) + if (currentCategory.equals(AppProvider.Helper.getCategoryWhatsNew(getActivity()))) return AppProvider.getNewlyAddedUri(); - else - return AppProvider.getCategoryUri(currentCategory); + return AppProvider.getCategoryUri(currentCategory); } private void setCurrentCategory(String category) { diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferenceFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferenceFragment.java index a5db36c9a..63329ca67 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferenceFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/PreferenceFragment.java @@ -67,90 +67,111 @@ public class PreferenceFragment int result = 0; - if (key.equals(Preferences.PREF_UPD_INTERVAL)) { - ListPreference pref = (ListPreference)findPreference( - Preferences.PREF_UPD_INTERVAL); - int interval = Integer.parseInt(pref.getValue()); - Preference onlyOnWifi = findPreference( - Preferences.PREF_UPD_WIFI_ONLY); - onlyOnWifi.setEnabled(interval > 0); - if (interval == 0) { - pref.setSummary(R.string.update_interval_zero); - } else { - pref.setSummary(pref.getEntry()); - } + switch (key) { + case Preferences.PREF_UPD_INTERVAL: + ListPreference listPref = (ListPreference)findPreference( + Preferences.PREF_UPD_INTERVAL); + int interval = Integer.parseInt(listPref.getValue()); + Preference onlyOnWifi = findPreference( + Preferences.PREF_UPD_WIFI_ONLY); + onlyOnWifi.setEnabled(interval > 0); + if (interval == 0) { + listPref.setSummary(R.string.update_interval_zero); + } else { + listPref.setSummary(listPref.getEntry()); + } + break; - } else if (key.equals(Preferences.PREF_UPD_WIFI_ONLY)) { - checkSummary(key, R.string.automatic_scan_wifi_on); + case Preferences.PREF_UPD_WIFI_ONLY: + checkSummary(key, R.string.automatic_scan_wifi_on); + break; - } else if (key.equals(Preferences.PREF_UPD_NOTIFY)) { - checkSummary(key, R.string.notify_on); + case Preferences.PREF_UPD_NOTIFY: + checkSummary(key, R.string.notify_on); + break; - } else if (key.equals(Preferences.PREF_UPD_HISTORY)) { - textSummary(key, R.string.update_history_summ); + case Preferences.PREF_UPD_HISTORY: + textSummary(key, R.string.update_history_summ); + break; - } else if (key.equals(Preferences.PREF_PERMISSIONS)) { - checkSummary(key, R.string.showPermissions_on); + case Preferences.PREF_PERMISSIONS: + checkSummary(key, R.string.showPermissions_on); + break; - } else if (key.equals(Preferences.PREF_COMPACT_LAYOUT)) { - checkSummary(key, R.string.compactlayout_on); + case Preferences.PREF_COMPACT_LAYOUT: + checkSummary(key, R.string.compactlayout_on); + break; - } else if (key.equals(Preferences.PREF_THEME)) { - entrySummary(key); - if (changing) { - result |= PreferencesActivity.RESULT_RESTART; - getActivity().setResult(result); - } + case Preferences.PREF_THEME: + entrySummary(key); + if (changing) { + result |= PreferencesActivity.RESULT_RESTART; + getActivity().setResult(result); + } + break; - } else if (key.equals(Preferences.PREF_INCOMP_VER)) { - checkSummary(key, R.string.show_incompat_versions_on); + case Preferences.PREF_INCOMP_VER: + checkSummary(key, R.string.show_incompat_versions_on); + break; - } else if (key.equals(Preferences.PREF_ROOTED)) { - checkSummary(key, R.string.rooted_on); + case Preferences.PREF_ROOTED: + checkSummary(key, R.string.rooted_on); + break; - } else if (key.equals(Preferences.PREF_IGN_TOUCH)) { - checkSummary(key, R.string.ignoreTouch_on); + case Preferences.PREF_IGN_TOUCH: + checkSummary(key, R.string.ignoreTouch_on); + break; - } else if (key.equals(Preferences.PREF_LOCAL_REPO_BONJOUR)) { - checkSummary(key, R.string.local_repo_bonjour_on); + case Preferences.PREF_LOCAL_REPO_BONJOUR: + checkSummary(key, R.string.local_repo_bonjour_on); + break; - } else if (key.equals(Preferences.PREF_LOCAL_REPO_NAME)) { - textSummary(key, R.string.local_repo_name_summary); + case Preferences.PREF_LOCAL_REPO_NAME: + textSummary(key, R.string.local_repo_name_summary); + break; - } else if (key.equals(Preferences.PREF_LOCAL_REPO_HTTPS)) { - checkSummary(key, R.string.local_repo_https_on); + case Preferences.PREF_LOCAL_REPO_HTTPS: + checkSummary(key, R.string.local_repo_https_on); + break; - } else if (key.equals(Preferences.PREF_CACHE_APK)) { - checkSummary(key, R.string.cache_downloaded_on); + case Preferences.PREF_CACHE_APK: + checkSummary(key, R.string.cache_downloaded_on); + break; - } else if (key.equals(Preferences.PREF_EXPERT)) { - checkSummary(key, R.string.expert_on); + case Preferences.PREF_EXPERT: + checkSummary(key, R.string.expert_on); + break; - } else if (key.equals(Preferences.PREF_ROOT_INSTALLER)) { - checkSummary(key, R.string.root_installer_on); + case Preferences.PREF_ROOT_INSTALLER: + checkSummary(key, R.string.root_installer_on); + break; - } else if (key.equals(Preferences.PREF_SYSTEM_INSTALLER)) { - checkSummary(key, R.string.system_installer_on); + case Preferences.PREF_SYSTEM_INSTALLER: + checkSummary(key, R.string.system_installer_on); + break; - } else if (key.equals(Preferences.PREF_ENABLE_PROXY)) { - CheckBoxPreference pref = (CheckBoxPreference) findPreference(key); - pref.setSummary(R.string.enable_proxy_summary); + case Preferences.PREF_ENABLE_PROXY: + CheckBoxPreference checkPref = (CheckBoxPreference) findPreference(key); + checkPref.setSummary(R.string.enable_proxy_summary); + break; - } else if (key.equals(Preferences.PREF_PROXY_HOST)) { - EditTextPreference textPref = (EditTextPreference) findPreference(key); - String text = Preferences.get().getProxyHost(); - if (TextUtils.isEmpty(text) || text.equals(Preferences.DEFAULT_PROXY_HOST)) - textPref.setSummary(R.string.proxy_host_summary); - else - textPref.setSummary(text); + case Preferences.PREF_PROXY_HOST: + EditTextPreference textPref = (EditTextPreference) findPreference(key); + String text = Preferences.get().getProxyHost(); + if (TextUtils.isEmpty(text) || text.equals(Preferences.DEFAULT_PROXY_HOST)) + textPref.setSummary(R.string.proxy_host_summary); + else + textPref.setSummary(text); + break; - } else if (key.equals(Preferences.PREF_PROXY_PORT)) { - EditTextPreference textPref = (EditTextPreference) findPreference(key); - int port = Preferences.get().getProxyPort(); - if (port == Preferences.DEFAULT_PROXY_PORT) - textPref.setSummary(R.string.proxy_port_summary); - else - textPref.setSummary(String.valueOf(port)); + case Preferences.PREF_PROXY_PORT: + EditTextPreference textPref2 = (EditTextPreference) findPreference(key); + int port = Preferences.get().getProxyPort(); + if (port == Preferences.DEFAULT_PROXY_PORT) + textPref2.setSummary(R.string.proxy_port_summary); + else + textPref2.setSummary(String.valueOf(port)); + break; } } diff --git a/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java b/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java index be4a23646..cfd3ec079 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/fragments/RepoDetailsFragment.java @@ -229,13 +229,14 @@ public class RepoDetailsFragment extends Fragment { updateHandler = UpdateService.updateRepoNow(repo.address, getActivity()).setListener(new ProgressListener() { @Override public void onProgress(Event event) { - if (event.type.equals(UpdateService.EVENT_COMPLETE_WITH_CHANGES)) { - repo = loadRepoDetails(); - updateView((ViewGroup)getView()); - } - - if (event.type.equals(UpdateService.EVENT_FINISHED)) { - updateHandler = null; + switch (event.type) { + case UpdateService.EVENT_COMPLETE_WITH_CHANGES: + repo = loadRepoDetails(); + updateView((ViewGroup)getView()); + break; + case UpdateService.EVENT_FINISHED: + updateHandler = null; + break; } } }); diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/ConfirmReceiveSwapFragment.java b/F-Droid/src/org/fdroid/fdroid/views/swap/ConfirmReceiveSwapFragment.java index 9f0401cf1..5370d2372 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/swap/ConfirmReceiveSwapFragment.java +++ b/F-Droid/src/org/fdroid/fdroid/views/swap/ConfirmReceiveSwapFragment.java @@ -106,17 +106,20 @@ public class ConfirmReceiveSwapFragment extends Fragment implements ProgressList // an additional dialog. E.g. White text on blue, letting the user // know what we are up to. - if (event.type.equals(UpdateService.EVENT_COMPLETE_AND_SAME) || - event.type.equals(UpdateService.EVENT_COMPLETE_WITH_CHANGES)) { - ((ConnectSwapActivity)getActivity()).onRepoUpdated(repo); - /*Intent intent = new Intent(); - intent.putExtra("category", newRepoConfig.getHost()); // TODO: Load repo from database to get proper name. This is what the category we want to select will be called. - getActivity().setResult(Activity.RESULT_OK, intent); - finish();*/ - } else if (event.type.equals(UpdateService.EVENT_ERROR)) { - // TODO: Show message on this screen (with a big "okay" button that goes back to F-Droid activity) - // rather than finishing directly. - finish(); - } + switch (event.type) { + case UpdateService.EVENT_COMPLETE_AND_SAME: + case UpdateService.EVENT_COMPLETE_WITH_CHANGES: + ((ConnectSwapActivity)getActivity()).onRepoUpdated(repo); + /*Intent intent = new Intent(); + intent.putExtra("category", newRepoConfig.getHost()); // TODO: Load repo from database to get proper name. This is what the category we want to select will be called. + getActivity().setResult(Activity.RESULT_OK, intent); + finish();*/ + break; + case UpdateService.EVENT_ERROR: + // TODO: Show message on this screen (with a big "okay" button that goes back to F-Droid activity) + // rather than finishing directly. + finish(); + break; + } } } diff --git a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java index 6232cb17e..7f3470ffb 100644 --- a/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java +++ b/F-Droid/src/org/fdroid/fdroid/views/swap/SwapActivity.java @@ -37,10 +37,13 @@ public class SwapActivity extends ActionBarActivity implements SwapProcessManage @Override public void onBackPressed() { - if (currentState().equals(STATE_START_SWAP)) { - finish(); - } else { - super.onBackPressed(); + switch (currentState()) { + case STATE_START_SWAP: + finish(); + break; + default: + super.onBackPressed(); + break; } } @@ -50,19 +53,24 @@ public class SwapActivity extends ActionBarActivity implements SwapProcessManage } public void nextStep() { - String current = currentState(); - if (current.equals(STATE_START_SWAP)) { - showSelectApps(); - } else if (current.equals(STATE_SELECT_APPS)) { - prepareLocalRepo(); - } else if (current.equals(STATE_JOIN_WIFI)) { - ensureLocalRepoRunning(); - if (!attemptToShowNfc()) { + switch (currentState()) { + case STATE_START_SWAP: + showSelectApps(); + break; + case STATE_SELECT_APPS: + prepareLocalRepo(); + break; + case STATE_JOIN_WIFI: + ensureLocalRepoRunning(); + if (!attemptToShowNfc()) { + showWifiQr(); + } + break; + case STATE_NFC: showWifiQr(); - } - } else if (current.equals(STATE_NFC)) { - showWifiQr(); - } else if (current.equals(STATE_WIFI_QR)) { + break; + case STATE_WIFI_QR: + break; } supportInvalidateOptionsMenu(); }