package com.google.android.diskusage;
import java.util.Map;
import java.util.Set;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceScreen;
import com.google.android.diskusage.DiskUsage.FileSystemStats;
import com.google.android.diskusage.entity.FileSystemEntry;
public class ShowHideMountPointsActivity extends PreferenceActivity {
static final String FILTER_RESULT = "res";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.mount_points_ignore_list);
getPreferenceScreen().setOrderingAsAdded(true);
}
@Override
protected void onResume() {
super.onResume();
Map<String, MountPoint> mountPoints = MountPoint.getRootedMountPoints(this);
PreferenceScreen prefs = getPreferenceScreen();
prefs.removeAll();
SharedPreferences shprefs = getSharedPreferences("ignore_list", Context.MODE_PRIVATE);
Map<String, ?> ignoreList = shprefs.getAll();
Set<String> ignores = ignoreList.keySet();
for (MountPoint mountPoint: mountPoints.values()) {
CheckBoxPreference pref = new CheckBoxPreference(this);
FileSystemEntry.setupStrings(this);
FileSystemStats stats = new FileSystemStats(mountPoint);
pref.setSummary(stats.formatUsageInfo());
pref.setTitle(mountPoint.root);
pref.setChecked(!ignores.contains(mountPoint.root));
prefs.addPreference(pref);
}
}
@Override
protected void onPause() {
super.onPause();
PreferenceScreen prefs = getPreferenceScreen();
SharedPreferences shprefs = getSharedPreferences("ignore_list", Context.MODE_PRIVATE);
Editor editor = shprefs.edit();
editor.clear();
for (int i = 0; i < prefs.getPreferenceCount(); i++) {
CheckBoxPreference pref = (CheckBoxPreference) prefs.getPreference(i);
String root = pref.getTitle().toString();
if (!pref.isChecked()) {
editor.putBoolean(root, true);
}
}
editor.commit();
}
}