Guest User

Untitled

a guest
Jul 17th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. public class DownloadPicker extends PreferenceActivity {
  2. DatabaseHelper locationData;
  3.  
  4. @Override
  5. public void onCreate(Bundle savedInstanceState) {
  6. super.onCreate(savedInstanceState);
  7.  
  8. PreferenceScreen root = getPreferenceManager().createPreferenceScreen(this);
  9. root.setTitle("Choose clock packs");
  10.  
  11. locationData = new DatabaseHelper(this);
  12. SQLiteDatabase db = locationData.getReadableDatabase();
  13.  
  14. String[] cColumns = {"country"};
  15. String[] cParms = {"1"};
  16.  
  17. Cursor countrys = db.query("location", cColumns, "complete=?", cParms, "country", null, "country");
  18. countrys.moveToFirst();
  19.  
  20. while(!countrys.isAfterLast()) {
  21. PreferenceScreen ps = getPreferenceManager().createPreferenceScreen(this);
  22. ps.setTitle(countrys.getString(0));
  23.  
  24. root.addPreference(ps);
  25.  
  26. String[] dColumns = {"place", "_id", "downloaded"};
  27. String[] dParms = {countrys.getString(0), "1"};
  28.  
  29. Cursor cities = db.query("location", dColumns, "country=? AND complete=?", dParms, null, null, "place");
  30. cities.moveToFirst();
  31.  
  32. while(!cities.isAfterLast()) {
  33. CheckBoxPreference cb = new CheckBoxPreference(this);
  34. cb.setTitle(cities.getString(0));
  35. cb.setKey(countrys.getString(0) + "-" + cities.getString(0));
  36. cb.setPersistent(true);
  37.  
  38. if(cities.getInt(2) == 1)
  39. cb.setChecked(true);
  40. else
  41. cb.setChecked(false);
  42.  
  43. final String[] dID = {cities.getString(1)};
  44.  
  45. cb.setOnPreferenceClickListener(new OnPreferenceClickListener() {
  46.  
  47. @Override
  48. public boolean onPreferenceClick(Preference preference) {
  49. ContentValues values = new ContentValues();
  50.  
  51. DatabaseHelper data = new DatabaseHelper(DownloadPicker.this);
  52. SQLiteDatabase write = data.getWritableDatabase();
  53.  
  54. if(((CheckBoxPreference) preference).isChecked()) {
  55. // Code for async clock downloading here
  56. values.put("downloaded", "1");
  57. write.update("location", values, "_id=?", dID);
  58.  
  59. return true;
  60. }
  61. else {
  62. // Delete local clock files
  63. values.put("downloaded", "0");
  64. write.update("location", values, "_id=?", dID);
  65.  
  66. return true;
  67. }
  68. }
  69. });
  70.  
  71. ps.addPreference(cb);
  72. cities.moveToNext();
  73. }
  74. countrys.moveToNext();
  75. }
  76.  
  77. setPreferenceScreen(root);
  78. }
  79. }
Add Comment
Please, Sign In to add comment