)]}'
{
  "commit": "4f868ed4f5f6da09c5c535a50ef6ab308303e070",
  "tree": "c4ddc8ee25460d47e4fb9f2bc289bbb514c2b8d7",
  "parents": [
    "e1eea114d0827b6c99fc85d5548c013918c60844"
  ],
  "author": {
    "name": "Christopher Tate",
    "email": "ctate@google.com",
    "time": "Fri Nov 21 13:54:45 2014 -0800"
  },
  "committer": {
    "name": "The Android Automerger",
    "email": "android-build@google.com",
    "time": "Mon Dec 01 11:39:53 2014 -0800"
  },
  "message": "Be increasingly aggressive about fstrim if it isn\u0027t being run\n\nThe current heuristics depend on devices being alive at midnight+ in\norder to run periodic background fstrim operations.  This unfortunately\nmeans that people who routinely turn their devices off overnight wind\nup with their devices *never* running fstrim, and this causes major\nperformance and disk-life problems.\n\nWe now backstop this very-friendly schedule with an increasingly\naggressive one.  If the device goes a defined time without a background\nfstrim, we then force the fstrim at the next reboot.  Once the\ndevice hits the midnight+ idle fstrim request time, then we already\naggressively attempt to fstrim at the first available moment\nthereafter, even if it\u0027s days/weeks later without a reboot.\n\n\u0027Available\u0027 here means charging + device idle.  If the device never\nbecomes idle then we can\u0027t do much without rendering an in-use device\ninoperable for some number of minutes -- but we have no evidence of\ndevices ever failing to run fstrim due to this usage pattern.\n\nA new Settings.Global element (type \u0027long\u0027, called\n\"fstrim_mandatory_interval\") is the source of the backstop time.  If\nthis element is zero or negative, no mandatory boot-time fstrim will\never be performed.  If the element is not supplied on a given device,\nthe default backstop is 3 days.\n\nAdds a new string to display in the upgrading dialog when doing\nthe fstrim.  Note it is too late for this to be localized, but since\nthis operation can take a long time it is probably better to have\nit show *something* even if not localized, rather than just sit there.\n\nBug 18486922\n\nChange-Id: I5b265ca0a65570fb8931251aa1ac37b530635a2c\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cf407f401844ae6e44c516d8ddd497381ad55f8a",
      "old_mode": 33188,
      "old_path": "core/java/android/os/storage/IMountService.java",
      "new_id": "116110eba74d10f5f7a5eaafc5d56058bff15b6e",
      "new_mode": 33188,
      "new_path": "core/java/android/os/storage/IMountService.java"
    },
    {
      "type": "modify",
      "old_id": "79e84d95910967f1ab63882af497951f79e5ad32",
      "old_mode": 33188,
      "old_path": "core/java/android/provider/Settings.java",
      "new_id": "73c7cc38af49a2127544977c5c5dd691645d9ce5",
      "new_mode": 33188,
      "new_path": "core/java/android/provider/Settings.java"
    },
    {
      "type": "modify",
      "old_id": "c1568873927e1f2da6fd2d6187b5ac7a8f21ef85",
      "old_mode": 33188,
      "old_path": "core/res/res/values/strings.xml",
      "new_id": "ab97e17ecf2cdbf4be4612e935813d1ee17c23b8",
      "new_mode": 33188,
      "new_path": "core/res/res/values/strings.xml"
    },
    {
      "type": "modify",
      "old_id": "2dcbefe99e2a30ab13905be695e8365a02f8d02a",
      "old_mode": 33188,
      "old_path": "core/res/res/values/symbols.xml",
      "new_id": "30787224e179175a6f54d82c6df5e1bb41903c65",
      "new_mode": 33188,
      "new_path": "core/res/res/values/symbols.xml"
    },
    {
      "type": "modify",
      "old_id": "e400fb67c0c7c98f5dd94acab6e2c80cd5f9a90e",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/MountService.java",
      "new_id": "6c981c00504f9e0acf6f27f09be6fd29b85df274",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/MountService.java"
    },
    {
      "type": "modify",
      "old_id": "3e1647ea7949b10fe8ee370775f79919625e1e1a",
      "old_mode": 33188,
      "old_path": "services/core/java/com/android/server/pm/PackageManagerService.java",
      "new_id": "73ceea3df19b6d6c26cce65c9559a5883aaf7b47",
      "new_mode": 33188,
      "new_path": "services/core/java/com/android/server/pm/PackageManagerService.java"
    }
  ]
}
