From 0c1b854b69e1ceac6b0b5f21fe5ccb942c7c02df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 23 Jul 2013 17:02:35 +0200 Subject: [PATCH] Remove "reset" from the preferences page. Currently, removing the cache does the job much better. The only thing clearing the cache doesn't do which "reset" did is removing the databases. But we don't want to do that anyway. If someone wants to do that, they can just deactivate or remove a repo, and it will get wiped from the database. --- res/xml/preferences.xml | 2 - src/org/fdroid/fdroid/FDroid.java | 3 +- src/org/fdroid/fdroid/Preferences.java | 58 ++++---------------------- 3 files changed, 10 insertions(+), 53 deletions(-) diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index cdacb0a92..67b8cc76a 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -63,8 +63,6 @@ android:key="ignoreTouchscreen" /> - diff --git a/src/org/fdroid/fdroid/FDroid.java b/src/org/fdroid/fdroid/FDroid.java index 12b47e122..84276c72e 100644 --- a/src/org/fdroid/fdroid/FDroid.java +++ b/src/org/fdroid/fdroid/FDroid.java @@ -231,8 +231,7 @@ public class FDroid extends FragmentActivity { // 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") || data.hasExtra("update"))) { + if (data != null && data.hasExtra("update")) { updateRepos(); } else { repopulateViews(); diff --git a/src/org/fdroid/fdroid/Preferences.java b/src/org/fdroid/fdroid/Preferences.java index 7098f8b98..dbbb26046 100644 --- a/src/org/fdroid/fdroid/Preferences.java +++ b/src/org/fdroid/fdroid/Preferences.java @@ -37,63 +37,23 @@ public class Preferences extends PreferenceActivity implements super.onCreate(savedInstanceState); ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true); addPreferencesFromResource(R.xml.preferences); - for (String prefkey : new String[] { "reset", "ignoreTouchscreen", + for (String prefkey : new String[] { "ignoreTouchscreen", "showIncompatible" }) { Preference pref = findPreference(prefkey); pref.setOnPreferenceClickListener(this); } } - private void deleteAll(File dir) { - - if (dir.isDirectory()) { - String[] children = dir.list(); - for (int i = 0; i < children.length; i++) { - deleteAll(new File(dir, children[i])); - } - } - dir.delete(); - } - @Override public boolean onPreferenceClick(Preference preference) { - String key = preference.getKey(); - if (key.equals("ignoreTouchscreen") || key.equals("showIncompatible")) { - Intent ret = new Intent(); - ret.putExtra("update", true); - setResult(RESULT_OK, ret); - return true; - } else if (key.equals("reset")) { - // TODO: Progress dialog + thread is needed, it can take a - // while to delete all the icons and cached apks in a long - // standing install! - - // TODO: This is going to cause problems if there is background - // update in progress at the time! - - try { - DB db = DB.getDB(); - db.reset(); - } finally { - DB.releaseDB(); - } - ((FDroidApp) getApplication()).invalidateAllApps(); - - File dp = DB.getDataPath(this); - deleteAll(dp); - dp.mkdir(); - DB.getIconsPath(this).mkdir(); - - Toast.makeText(getBaseContext(), - "Local cached data has been cleared", Toast.LENGTH_LONG) - .show(); - Intent ret = new Intent(); - ret.putExtra("reset", true); - setResult(RESULT_OK, ret); - finish(); - return true; - } - return false; + // Currently only one action is returned. + //String key = preference.getKey(); + //if (key.equals("ignoreTouchscreen") || key.equals("showIncompatible")) { + Intent ret = new Intent(); + ret.putExtra("update", true); + setResult(RESULT_OK, ret); + return true; + //} } }