public void removeCache() { if (calcTask != null && calcTask.getStatus() != MyAsyncTask.Status.FINISHED) { calcTask.cancel(true); } if (removeCache == null || removeCache.getStatus() == MyAsyncTask.Status.FINISHED) { removeCache = new RemoveCache(); removeCache.executeOnExecutor(MyAsyncTask.THREAD_POOL_EXECUTOR); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.pref); getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); clear_cache = findPreference(SettingActivity.CLEAR_CACHE); frequency = findPreference(SettingActivity.FREQUENCY); clear_cache.setOnPreferenceClickListener( new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { RemoveCacheDialog dialog = new RemoveCacheDialog(); dialog.setTargetFragment(SettingsFragment.this, 0); dialog.show(getFragmentManager(), ""); return true; } }); calcTask = new CalcCacheSize(); calcTask.executeOnExecutor(MyAsyncTask.THREAD_POOL_EXECUTOR); // findPreference(SettingActivity.DOWNLOAD_EMOTIONS).setOnPreferenceClickListener(new // Preference.OnPreferenceClickListener() { // @Override // public boolean onPreferenceClick(Preference preference) { // Intent service = new Intent(getActivity(), DownloadEmotionsService.class); // service.putExtra("token", GlobalContext.getInstance().getSpecialToken()); // getActivity().startService(service); // return true; // } // }); buildSummary(); }
@Override public void onDestroy() { super.onDestroy(); getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this); if (calcTask != null) calcTask.cancel(true); }