Use string switches from Java 1.7
Advantages: * Greatly simplifies code * No variable name duplication * Potentially more efficient bytecode
This commit is contained in:
parent
3eddb1402c
commit
b0e4f59f43
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 = "<p>" + str + "</p>";
|
||||
} 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 = "<p>" + str + "</p>";
|
||||
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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -63,46 +63,67 @@ public class Apk extends ValueObject implements Comparable<Apk> {
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -112,65 +112,94 @@ public class App extends ValueObject implements Comparable<App> {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user