package com.aptoide.amethyst.ui; import android.accounts.Account; import android.accounts.AccountManager; import android.app.AlertDialog; import android.app.Dialog; import android.app.ProgressDialog; import android.content.ContentResolver; import android.content.Context; import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; import android.preference.Preference; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; import android.preference.PreferenceScreen; import android.support.annotation.LayoutRes; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v7.app.ActionBar; import android.support.v7.app.AppCompatDelegate; import android.support.v7.widget.Toolbar; import android.text.InputType; import android.text.TextUtils; import android.text.method.LinkMovementMethod; import android.util.Log; import android.view.LayoutInflater; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.aptoide.amethyst.Aptoide; import com.aptoide.amethyst.R; import com.aptoide.amethyst.dialogs.AdultDialog; import com.aptoide.amethyst.events.BusProvider; import com.aptoide.amethyst.events.OttoEvents; import com.aptoide.amethyst.preferences.ManagerPreferences; import com.aptoide.amethyst.preferences.Preferences; import com.aptoide.amethyst.preferences.SecurePreferences; import com.aptoide.amethyst.utils.AptoideUtils; import com.aptoide.amethyst.utils.LifeCycleMonitor; import com.aptoide.amethyst.utils.Logger; import com.aptoide.amethyst.webservices.ChangeUserSettingsRequest; import com.aptoide.dataprovider.AptoideSpiceHttpService; import com.aptoide.dataprovider.webservices.json.GenericResponseV2; import com.aptoide.dataprovider.webservices.models.Constants; import com.octo.android.robospice.SpiceManager; import com.octo.android.robospice.persistence.exception.SpiceException; import com.octo.android.robospice.request.listener.RequestListener; import java.io.File; import java.text.DecimalFormat; import com.aptoide.amethyst.webservices.json.GetUserSettingsJson; /** * Created by fabio on 26-10-2015. */ public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { private AppCompatDelegate mDelegate; String aptoide_path = Aptoide.getConfiguration().getPathCache(); String icon_path = aptoide_path + "icons/"; ManagerPreferences preferences; Context mctx; private boolean unlocked = false; private static boolean isSetingPIN = false; @Override protected void onDestroy() { // Analytics.Lifecycle.Activity.onDestroy(this); super.onDestroy(); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.DESTROY); getDelegate().onDestroy(); } public void invalidateOptionsMenu() { getDelegate().invalidateOptionsMenu(); } private AppCompatDelegate getDelegate() { if (mDelegate == null) { mDelegate = AppCompatDelegate.create(this, null); } return mDelegate; } @Override protected void onResume() { super.onResume(); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.RESUME); // Analytics.Lifecycle.Activity.onResume(this, null); // initializeAnalyticsListeners(); } // private void initializeAnalyticsListeners() { // findPreference("iconDownloadRules").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("generalDownloadRules").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("hwspecsChkBox").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("checkautoupdate").setOnPreferenceClickListener(onPreferenceClickListener); //// findPreference("showUpdatesNotification").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("auto_update").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("schDwnBox").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("changetheme").setOnPreferenceClickListener(onPreferenceClickListener); // findPreference("allowRoot").setOnPreferenceClickListener(onPreferenceClickListener); // // findPreference("showUpdatesNotification").setOnPreferenceChangeListener(onPreferenceChangeListener); // // } // Preference.OnPreferenceChangeListener onPreferenceChangeListener = new Preference.OnPreferenceChangeListener() { // @Override // public boolean onPreferenceChange(Preference preference, Object o) { // final CheckBoxPreference cb = (CheckBoxPreference) preference; // // Analytics.Settings.onSettingChange("Debug Settings: ", cb.isChecked()); // // if (cb.isChecked()) { // Analytics.Settings.onSettingChange("Debug Settings: ", cb.isChecked()); // } else { // // } // // return false; // } // }; // Preference.OnPreferenceClickListener onPreferenceClickListener = new Preference.OnPreferenceClickListener() { // @Override // public boolean onPreferenceClick(Preference preference) { // String key = preference.getKey(); // // System.out.println("Debug: event: blabla: " + key); // // switch (key) { // case "iconDownloadRules": // Analytics.Settings.onSettingChange("Click on Icon Download Rules"); // break; // case "generalDownloadRules": // Analytics.Settings.onSettingChange("Click on General Download Rules"); // break; // case "hwspecsChkBox": // Analytics.Settings.onSettingChange("Check on Filter Applications"); // break; // case "checkautoupdate": // Analytics.Settings.onSettingChange("Check on Enable Aptoide Auto Update"); // break; //// case "showUpdatesNotification": //// Analytics.Settings.onSettingChange("Check on Updates Notification"); //// break; // case "auto_update": // Analytics.Settings.onSettingChange("Check on Enable Auto Update"); // break; // case "schDwnBox": // Analytics.Settings.onSettingChange("Check on Automatic Install"); // break; // case "changetheme": // Analytics.Settings.onSettingChange("Check on Themes (Dark/Light)"); // break; // case "allowRoot": // Analytics.Settings.onSettingChange("Check on Allow Root Installation"); // break; // //// // apagar //// case "hwspecs": //// Analytics.Settings.onSettingChange("CLick on Hardware Specs"); //// break; // // // } // // return false; // // } // }; @Override protected void onPause() { // Analytics.Lifecycle.Activity.onPause(this); super.onPause(); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.PAUSE); } private Dialog DialogSetAdultpin(final Preference mp) { isSetingPIN = true; final View v = LayoutInflater.from(this).inflate(R.layout.dialog_requestpin, null); AlertDialog.Builder builder = new AlertDialog.Builder(this) .setMessage(R.string.asksetadultpinmessage) .setView(v) .setPositiveButton(R.string.setpin, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String input = ((EditText) v.findViewById(R.id.pininput)).getText().toString(); if (!TextUtils.isEmpty(input)) { SecurePreferences.getInstance() .edit() .putInt(AdultDialog.MATUREPIN, Integer.valueOf(input)) .commit(); mp.setTitle(R.string.remove_mature_pin_title); mp.setSummary(R.string.remove_mature_pin_summary); // FlurryAgent.logEvent("Settings_Added_Pin_To_Lock_Adult_Content"); //mp.setOnPreferenceClickListener(removeclick); } isSetingPIN = false; } }) .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { isSetingPIN = false; } }); AlertDialog alertDialog = builder.create(); alertDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { isSetingPIN = false; } }); return alertDialog; } private void maturePinSetRemoveClick() { // Analytics.Settings.onSettingChange("Click on Set Adult Content Pin"); int pin = SecurePreferences.getInstance().getInt(AdultDialog.MATUREPIN, -1); final Preference mp = findPreference("Maturepin"); if (pin != -1) { // With Pin AdultDialog.dialogRequestMaturepin(SettingsActivity.this, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if(which == -1) { SecurePreferences.getInstance().edit().putInt(AdultDialog.MATUREPIN, -1).commit(); final Preference mp = findPreference("Maturepin"); mp.setTitle(R.string.set_mature_pin_title); mp.setSummary(R.string.set_mature_pin_summary); // FlurryAgent.logEvent("Settings_Removed_Pin_Adult_Content"); } } }).show(); } else { DialogSetAdultpin(mp).show();// Without Pin } } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); getDelegate().onPostCreate(savedInstanceState); } public ActionBar getSupportActionBar() { return getDelegate().getSupportActionBar(); } public void setSupportActionBar(@Nullable Toolbar toolbar) { getDelegate().setSupportActionBar(toolbar); } @NonNull @Override public MenuInflater getMenuInflater() { return getDelegate().getMenuInflater(); } @Override public void setContentView(@LayoutRes int layoutResID) { getDelegate().setContentView(layoutResID); } @Override public void setContentView(View view) { getDelegate().setContentView(view); } @Override public void setContentView(View view, ViewGroup.LayoutParams params) { getDelegate().setContentView(view, params); } @Override public void addContentView(View view, ViewGroup.LayoutParams params) { getDelegate().addContentView(view, params); } @Override protected void onPostResume() { super.onPostResume(); getDelegate().onPostResume(); } @Override protected void onTitleChanged(CharSequence title, int color) { super.onTitleChanged(title, color); getDelegate().setTitle(title); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); getDelegate().onConfigurationChanged(newConfig); } @Override public void onCreate(Bundle savedInstanceState) { Aptoide.getThemePicker().setAptoideTheme(this); getDelegate().installViewFactory(); getDelegate().onCreate(savedInstanceState); super.onCreate(savedInstanceState); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.CREATE); // getSupportActionBar().setTitle(""); // getSupportActionBar().setHomeButtonEnabled(true); // getSupportActionBar().setDisplayHomeAsUpEnabled(true); setContentView(R.layout.activity_settings); setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowTitleEnabled(true); addPreferencesFromResource(R.xml.preferences); mctx = this; new GetDirSize().execute(new File(aptoide_path), new File(icon_path)); // preferences = new ManagerPreferences(mctx); // getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(new OnSharedPreferenceChangeListener() { // // @Override // public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, // String key) { // preferences.setIconDownloadPermissions(new ViewIconDownloadPermissions(((CheckBoxPreference)findPreference("wifi")).isChecked(), // ((CheckBoxPreference)findPreference("ethernet")).isChecked(), // ((CheckBoxPreference)findPreference("4g")).isChecked(), // ((CheckBoxPreference)findPreference("3g")).isChecked())); // } // }); int pin = SecurePreferences.getInstance().getInt(AdultDialog.MATUREPIN, -1); final Preference mp = findPreference("Maturepin"); if (pin != -1) { Log.d("PINTEST", "PinBuild"); mp.setTitle(R.string.remove_mature_pin_title); mp.setSummary(R.string.remove_mature_pin_summary); } mp.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { maturePinSetRemoveClick(); return true; } }); findPreference(Constants.MATURE_CHECK_BOX).setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { final CheckBoxPreference cb = (CheckBoxPreference) preference; if (cb.isChecked()) { cb.setChecked(false); // Analytics.Settings.onSettingChange("Check on Filter Adult Content", true); AdultDialog.buildAreYouAdultDialog(SettingsActivity.this, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) { cb.setChecked(true); // AptoideUtils.getSharedPreferences().getBoolean(Constants.MATURE_CHECK_BOX, true); BusProvider.getInstance().post(new OttoEvents.MatureEvent(true)); // Analytics.Settings.onSettingChange("Check on Filter Adult Content", false); } } }).show(); } else { // AptoideUtils.getSharedPreferences().getBoolean(Constants.MATURE_CHECK_BOX, false); BusProvider.getInstance().post(new OttoEvents.MatureEvent(false)); } return true; } }); findPreference("showAllUpdates").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("Check On Filter Updates"); SettingsResult(); if (!((CheckBoxPreference) preference).isChecked()) { // FlurryAgent.logEvent("Setting_Do_Not_Filter_Incompatible_Updates"); } return true; } }); findPreference("clearcache").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("Click on Clear Cache"); if (unlocked) { new DeleteDir().execute(new File(icon_path)); // FlurryAgent.logEvent("Setting_Cleared_Cache"); } return false; } }); findPreference("clearapk").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("CClick n Remove Data and Configurations"); if (unlocked) { new DeleteDir().execute(new File(aptoide_path)); // FlurryAgent.logEvent("Setting_Removed_Data_And_Configurations"); } return false; } }); disableSocialTimeline(); SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener(this); // Preference hwspecs = (Preference) findPreference("hwspecs"); // hwspecs.setIntent(new Intent(getBaseContext(), HWSpecActivity.class)); Preference hwSpecs = findPreference("hwspecs"); findPreference("theme").setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { // FlurryAgent.logEvent("Setting_Changed_Application_Theme"); Toast.makeText(SettingsActivity.this, getString(R.string.restart_aptoide), Toast.LENGTH_LONG).show(); return true; } }); hwSpecs.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("CLick on Hardware Specs"); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mctx); alertDialogBuilder.setTitle(getString(R.string.setting_hwspecstitle)); alertDialogBuilder .setIcon(android.R.drawable.ic_menu_info_details) .setMessage(getString(R.string.setting_sdk_version) + ": " + AptoideUtils.HWSpecifications.getSdkVer() + "\n" + getString(R.string.setting_screen_size) + ": " + AptoideUtils.HWSpecifications.getScreenSize(mctx) + "\n" + getString(R.string.setting_esgl_version) + ": " + AptoideUtils.HWSpecifications.getGlEsVer(mctx) + "\n" + getString(R.string.screenCode) + ": " + AptoideUtils.HWSpecifications.getNumericScreenSize(mctx) + "/" + AptoideUtils.HWSpecifications.getDensityDpi(mctx) + "\n" + getString(R.string.cpuAbi) + ": " + AptoideUtils.HWSpecifications.getAbis() // + (ApplicationAptoide.PARTNERID!=null ? "\nPartner ID:" + ApplicationAptoide.PARTNERID : "") ) .setCancelable(false) .setNeutralButton(getString(android.R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // FlurryAgent.logEvent("Setting_Opened_Dialog_Hardware_Filters"); } }); AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show(); return true; } }); // if(!ApplicationAptoide.MATURECONTENTSWITCH){ // CheckBoxPreference mCheckBoxPref = (CheckBoxPreference) findPreference("matureChkBox"); // PreferenceCategory mCategory = (PreferenceCategory) findPreference("filters"); // mCategory.removePreference(mCheckBoxPref); // } // Preference showExcluded = findPreference("showexcludedupdates"); // showExcluded.setIntent(new Intent(mctx, ExcludedUpdatesActivity.class)); EditTextPreference maxFileCache = (EditTextPreference) findPreference("maxFileCache"); maxFileCache.getEditText().setInputType(InputType.TYPE_CLASS_NUMBER); maxFileCache.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("Click on Download File Cache"); ((EditTextPreference) preference).getEditText().setText(PreferenceManager.getDefaultSharedPreferences(mctx).getString ("maxFileCache", "200")); // FlurryAgent.logEvent("Setting_Added_Max_File_Cache"); return false; } }); Preference about = findPreference("aboutDialog"); about.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // Analytics.Settings.onSettingChange("Click on About Us"); View view = LayoutInflater.from(mctx).inflate(R.layout.dialog_about, null); String versionName = ""; try { versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName; } catch (PackageManager.NameNotFoundException e) { Logger.printException(e); } ((TextView) view.findViewById(R.id.aptoide_version)).setText(getString(R.string.version) + " " + versionName); ((TextView) view.findViewById(R.id.credits)).setMovementMethod(LinkMovementMethod.getInstance()); AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mctx).setView(view); final AlertDialog aboutDialog = alertDialogBuilder.create(); aboutDialog.setTitle(getString(R.string.about_us)); aboutDialog.setIcon(android.R.drawable.ic_menu_info_details); aboutDialog.setCancelable(false); aboutDialog.setButton(Dialog.BUTTON_NEUTRAL, getString(android.R.string.ok), new Dialog.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // FlurryAgent.logEvent("Setting_Opened_About_Us_Dialog"); dialog.cancel(); } }); aboutDialog.show(); return true; } }); // if(ApplicationAptoide.PARTNERID!=null){ // PreferenceScreen preferenceScreen = getPreferenceScreen(); // Preference etp = preferenceScreen.findPreference("aboutDialog"); // // PreferenceGroup preferenceGroup = (PreferenceGroup) findPreference("about"); // preferenceGroup.removePreference(etp); // preferenceScreen.removePreference(preferenceGroup); // // } // // // if(!ApplicationAptoide.DEBUG_MODE){ // PreferenceScreen preferenceScreen = getPreferenceScreen(); // Preference etp = preferenceScreen.findPreference("devmode"); // PreferenceGroup preferenceGroup = (PreferenceGroup) findPreference("devmode"); // preferenceGroup.removePreference(etp); // preferenceScreen.removePreference(preferenceGroup); // } // getActionBar().setTitle(""); // getActionBar().setHomeButtonEnabled(true); // getActionBar().setDisplayHomeAsUpEnabled(true); if (isSetingPIN) { // Log.d("PINTEST","is Setting adult pin"); DialogSetAdultpin(mp).show(); } // Analytics.Lifecycle.Activity.onCreate(this); } public void disableSocialTimeline() { if (Preferences.getBoolean(Preferences.TIMELINE_ACEPTED_BOOL, false)) { findPreference("disablesocialtimeline").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // FlurryAgent.logEvent("Settings_Disabled_Social_Timeline"); final ProgressDialog pd; pd = new ProgressDialog(mctx); pd.setMessage(getString(R.string.please_wait)); pd.show(); ChangeUserSettingsRequest request = new ChangeUserSettingsRequest(); request.addTimeLineSetting(ChangeUserSettingsRequest.TIMELINEINACTIVE); manager.execute(request, new RequestListener<GenericResponseV2>() { @Override public void onRequestFailure(SpiceException spiceException) { pd.dismiss(); } @Override public void onRequestSuccess(GenericResponseV2 responseV2) { if (responseV2.getStatus().equals("OK")) { pd.dismiss(); manager.removeDataFromCache(GetUserSettingsJson.class, "timeline-status"); PreferenceManager.getDefaultSharedPreferences(Aptoide.getContext()).edit().remove(Preferences.TIMELINE_ACEPTED_BOOL).remove(Preferences.SHARE_TIMELINE_DOWNLOAD_BOOL).commit(); ((PreferenceScreen) findPreference("root")).removePreference(findPreference("socialtimeline")); Account account = AccountManager.get(SettingsActivity.this).getAccountsByType(Aptoide.getConfiguration().getAccountType())[0]; String timelineActivitySyncAdapterAuthority = Aptoide.getConfiguration().getTimelineActivitySyncAdapterAuthority(); String timeLinePostsSyncAdapterAuthority = Aptoide.getConfiguration().getTimeLinePostsSyncAdapterAuthority(); ContentResolver.setSyncAutomatically(account, timelineActivitySyncAdapterAuthority, false); if (Build.VERSION.SDK_INT >= 8) ContentResolver.removePeriodicSync(account, timelineActivitySyncAdapterAuthority, new Bundle()); ContentResolver.setSyncAutomatically(account, timeLinePostsSyncAdapterAuthority, false); if (Build.VERSION.SDK_INT >= 8) ContentResolver.removePeriodicSync(account, timeLinePostsSyncAdapterAuthority, new Bundle()); } } }); return false; } }); } else { ((PreferenceScreen) findPreference("root")).removePreference(findPreference("socialtimeline")); } } private void SettingsResult() { setResult(RESULT_OK); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { } public class DeleteDir extends AsyncTask<File, Void, Void> { ProgressDialog pd; @Override protected void onPreExecute() { super.onPreExecute(); pd = new ProgressDialog(mctx); pd.setMessage(getString(R.string.please_wait)); pd.show(); } @Override protected Void doInBackground(File... params) { deleteDirectory(params[0]); return null; } @Override protected void onPostExecute(Void result) { super.onPostExecute(result); pd.dismiss(); Toast toast = Toast.makeText(mctx, mctx.getString(R.string.clear_cache_sucess), Toast.LENGTH_SHORT); toast.show(); new GetDirSize().execute(new File(aptoide_path), new File(icon_path)); } } public class GetDirSize extends AsyncTask<File, Void, Double[]> { double getDirSize(File dir) { double size = 0; try { if (dir.isFile()) { size = dir.length(); } else { File[] subFiles = dir.listFiles(); for (File file : subFiles) { if (file.isFile()) { size += file.length(); } else { size += this.getDirSize(file); } } } } catch (Exception e) { Logger.printException(e); } return size; } @Override protected Double[] doInBackground(File... dir) { Double[] sizes = new Double[2]; for (int i = 0; i != sizes.length; i++) { sizes[i] = this.getDirSize(dir[i]) / 1024 / 1024; } return sizes; } @Override protected void onPostExecute(Double[] result) { super.onPostExecute(result); redrawSizes(result); unlocked = true; } } private void redrawSizes(Double[] size) { if (!Build.DEVICE.equals("alien_jolla_bionic")) { findPreference("clearapk").setSummary(getString(R.string.clearcontent_sum) + " (" + AptoideUtils.StringUtils.getFormattedString(this, R.string.cache_using_X_mb, new DecimalFormat("#.##").format(size[0])) + ")"); findPreference("clearcache").setSummary(getString(R.string.clearcache_sum) + " (" + AptoideUtils.StringUtils.getFormattedString(this, R.string.cache_using_X_mb, new DecimalFormat("#.##").format(size[1])) + ")"); } else { findPreference("clearapk").setSummary(getString(R.string.clearcontent_sum_jolla) + " (" + AptoideUtils.StringUtils.getFormattedString(this, R.string.cache_using_X_mb, new DecimalFormat("#.##").format(size[0])) + ")"); findPreference("clearcache").setSummary(getString(R.string.clearcache_sum_jolla) + " (" + AptoideUtils.StringUtils.getFormattedString(this, R.string.cache_using_X_mb, new DecimalFormat("#.##").format(size[1])) + ")"); } } static public boolean deleteDirectory(File path) { if (path.exists()) { File[] files = path.listFiles(); if (files == null) { return true; } for (File file : files) { if (file.isDirectory()) { deleteDirectory(file); } else { file.delete(); } } } return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int i = item.getItemId(); if (i == android.R.id.home) { finish(); } else if (i == R.id.home) { finish(); } return super.onOptionsItemSelected(item); } SpiceManager manager = new SpiceManager(AptoideSpiceHttpService.class); @Override protected void onStart() { super.onStart(); manager.start(this); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.START); // FlurryAgent.onStartSession(this, getResources().getString(R.string.FLURRY_KEY)); // Analytics.Lifecycle.Activity.onStart(this); } @Override protected void onStop() { manager.shouldStop(); LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.STOP); // FlurryAgent.onEndSession(this); // Analytics.Lifecycle.Activity.onStop(this); super.onStop(); getDelegate().onStop(); } }