From 18b40b25b30e376fd681072a7b0ef23850b5f040 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Sun, 16 Sep 2012 11:55:01 +0100 Subject: [PATCH] Update repo index when relevant preferences changed --- src/org/fdroid/fdroid/FDroid.java | 3 ++- src/org/fdroid/fdroid/Preferences.java | 21 +++++++++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/org/fdroid/fdroid/FDroid.java b/src/org/fdroid/fdroid/FDroid.java index 2b546c5e9..7fd7d45a8 100644 --- a/src/org/fdroid/fdroid/FDroid.java +++ b/src/org/fdroid/fdroid/FDroid.java @@ -260,7 +260,8 @@ public class FDroid extends TabActivity implements OnItemClickListener, // unschedule) the service accordingly. It's cheap, so no need to // check if the particular setting has actually been changed. UpdateService.schedule(getBaseContext()); - if (data != null && data.hasExtra("reset")) { + if (data != null + && (data.hasExtra("reset") || data.hasExtra("update"))) { updateRepos(); } else { populateLists(); diff --git a/src/org/fdroid/fdroid/Preferences.java b/src/org/fdroid/fdroid/Preferences.java index cc7920a3f..0639e3ffd 100644 --- a/src/org/fdroid/fdroid/Preferences.java +++ b/src/org/fdroid/fdroid/Preferences.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010 Ciaran Gultnieks, ciaran@ciarang.com + * Copyright (C) 2010-12 Ciaran Gultnieks, ciaran@ciarang.com * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -38,7 +38,7 @@ public class Preferences extends PreferenceActivity { r.setOnPreferenceClickListener(new OnPreferenceClickListener() { public boolean onPreferenceClick(Preference preference) { - + // TODO: Progress dialog + thread is needed, it can take a // while to delete all the icons and cached apks in a long // standing install! @@ -64,15 +64,27 @@ public class Preferences extends PreferenceActivity { .show(); Intent ret = new Intent(); ret.putExtra("reset", true); - setResult(RESULT_OK, ret); + setResult(RESULT_OK, ret); finish(); return true; } }); + r = (Preference) findPreference("ignoreTouchscreen"); + r.setOnPreferenceClickListener(new OnPreferenceClickListener() { + + public boolean onPreferenceClick(Preference preference) { + Intent ret = new Intent(); + ret.putExtra("update", true); + setResult(RESULT_OK, ret); + return true; + } + + }); + } - + private void deleteAll(File dir) { if (dir.isDirectory()) { @@ -84,4 +96,5 @@ public class Preferences extends PreferenceActivity { dir.delete(); } + }