Commits on Aug 16, 2015
  1. More 12.1 stuff possibly

    fat-tire committed Aug 16, 2015
    I think maybe these were supposed to be deleted or something?  This was so
    long agao I don't remember why i added/removed these files... but maybe
    drmarble can look here and see what's needed.
    Change-Id: Ic1347ec48503172fb103b981f3a47dea435fd61c
  2. 4-month old attempt at cm-12.1 needs build changes

    fat-tire committed Aug 16, 2015
    Change-Id: Ia43bf5453b29ee96c8def1b7fa7ba7b43fa736b7
Commits on Aug 23, 2014
  1. Add soft-reboot option

    drmarble committed Aug 23, 2014
    Change-Id: I4d5ff00a184ea7cb3efe20aca4fad848a86f56d5
Commits on Aug 20, 2014
  1. Fix the build by adding a dummy boot.img file.

    drmarble committed Aug 20, 2014
    The boot was broken by a recent change to build/core/Makefile.
    It requires a boot.img file in the out/target/product/encore
    directory. We use a ramdisk.img file.
    This adds an empty boot.img file which keeps things happy.
    This dummy file isn't included in the final flashable zip.
    We still don't do all the signing requested by cm but we
    do build without errors.
    Change-Id: Id1ee0425e034d2c4b7764fd51355469cfc971467
Commits on Jul 6, 2014
  1. Restore overlay for shutdown options

    keyodi committed Jul 6, 2014
    Change-Id: Ieeb4041429a484381dc8a10d08319b3c93ad4861
Commits on Jun 28, 2014
  1. etc: media_codecs: alter video encoder and decoder priority

    dhiru1602 committed with steven676 Dec 9, 2013
    720P codecs are always used irrespective of the codec capability
    required for encode or decode. Reorder to use the 720P codecs only
    when the generic encoder and decoder fails.
    Change-Id: Ie98dad121a75817b8ef81990192a0e5c9a2055c8
Commits on Jun 27, 2014
  1. Update build fingerprint to match nakasi (Nexus 7 2012) KTU84P

    steven676 committed Jun 23, 2014
    Change-Id: I70a24695d50c67d7d05c8b34c765061cf2fa58f8
Commits on May 26, 2014
  1. Report GPS and microphone present

    steven676 committed May 26, 2014
    While these items of hardware are not required by the Android CDD, the
    fact that requesting the ACCESS_FINE_LOCATION and RECORD_AUDIO
    permissions implies a requirement for the hardware (unless otherwise
    stated in the app's manifest) makes life difficult for us unless we
    report the hardware present.
    Change-Id: Ib34d27e19c9e6f9fbce3b6042e2618debc24e6df
  2. media_codecs.xml: enable ffmpeg-based software decoders

    steven676 committed May 26, 2014
    Change-Id: I60cf75f39abb9f3ad4c6689711dacefbd0ba4b56
Commits on May 16, 2014
  1. recovery: align /sdcard and /emmc with running system

    steven676 committed May 16, 2014
    By default, the recovery will create a symlink for /sdcard pointing to
    /storage/sdcard0 and leave /emmc as an empty directory unconnected to
    the vold-managed volumes.  For historical reasons, we use
    /storage/sdcard1 as our /sdcard storage; set up the /sdcard and /emmc
    links accordingly in, which allows the CM updater to
    work correctly.
    Change-Id: Iea00ddc056c7caee591127be53fc20d2a6b12e7a
Commits on May 15, 2014
  1. recovery: fix reboot-to-recovery from within recovery

    steven676 committed May 15, 2014
    Fix two problems preventing reboot-to-recovery from working in recovery:
    * /rom wasn't necessarily mounted before trying to write to /rom/bcb
    * /system/bin was empty, so the commands in the shell script fragment
      weren't found
    Change-Id: If30a87caa62190804e78ca76370856d427e0ea5a
  2. recovery: block writes to eMMC partitions when managing SD install

    steven676 committed May 15, 2014
    Legacy OTA ROM updates attempt to format and/or mount the eMMC system
    and boot partitions directly, instead of using the new
    install-location-agnostic symlinks.  Users attempting to flash one of
    these old OTAs using a recovery installed to SD card would therefore end
    up modifying their eMMC, a potentially disastrous result.
    Prevent this from happening by bind mounting /dev/null over the eMMC
    system, boot, and userdata partition devices when recovery is managing
    an SD card install.  This doesn't cause the OTA update to fail (it'll
    dump all of its files to the rootfs, potentially causing an
    out-of-memory situation), but it does prevent unexpected modification of
    the eMMC.
    If you actually need to work with the eMMC partitions from a SD card
    recovery, run "/sbin/ stop" to disable this
    Change-Id: Ie1d01ef869a217dbb2d0a9f0eefc4d06f97f15fd
Commits on Apr 25, 2014
  1. Recovery: display whether operating on eMMC or SD on startup

    steven676 committed Apr 25, 2014
    Particularly with the new location-agnostic recoveries, it's possible to
    get confused as to whether backups/restores, wipes, and (eventually) OTA
    flashes will affect the eMMC or SD card.  Detect whether the recovery is
    operating on eMMC or SD on startup and display this to the user to try
    to avoid mixups.
  2. Recovery: move fsfinder startup into init.rc

    steven676 committed Feb 10, 2014
    While it doesn't seem to be strictly necessary for fsfinder to be
    complete before the recovery starts, it shouldn't hurt either, and it
    may prevent some potential problems in cases where recovery has been
    instructed to do something when it starts (flash an OTA package, for
  3. Configure vold based on boot location in recovery too

    steven676 committed Feb 10, 2014
    To ensure that runs before vold starts, we need to use
    an init.rc file ( is run when recovery starts, after
    all the various services are started).
    We also need to edit the script to change the
    interpreter location for the recovery (/sbin/sh as opposed to
    /system/bin/sh), so we need some build system hackery as well.
  4. Add script to configure vold based on boot location

    steven676 committed Feb 10, 2014
    On SD card installs, the first partition of the SD card is the FAT
    filesystem used as the boot partition.  This leads vold, which searches
    the SD card for the first recognized partition when given a partition
    number of "auto", to identify /boot as the /sdcard partition.
    Fix this by running a script which detects SD card installs and modifies
    /fstab.encore to instruct vold to use the last partition on the SD card
    in that case.
  5. Make the recovery boot-location-agnostic

    steven676 committed Feb 7, 2014
    Instead of using fixed block device names for /system and /data, let
    fsfinder set up links for us based on the boot location.  This allows us
    to run unmodified from both eMMC and external SD card and to do the
    right thing in both cases.
  6. Make the early boot process boot-location-agnostic

    steven676 committed Feb 7, 2014
    Instead of using fixed block device names for /system and /data, let
    fsfinder set up links for us based on the boot location.  This allows us
    to run unmodified from both eMMC and external SD card.
  7. Add utility to set up device symlinks based on the boot device

    steven676 committed Feb 7, 2014
    We'd eventually like to be able to install an identical software build
    for encore to either eMMC or external SD card and be able to boot it
    without any modifications.  In order to do that, we'll need to be able
    to find the system and userdata partitions at runtime by taking into
    account the install location.
    Early userspace has no way of discovering the boot location on its own,
    so we modify the bootloader to pass this information on the kernel
    command line.  fsfinder (this utility) will then parse the command line
    to find the boot location and set up device symlinks appropriately.
    To be of any use, fsfinder has to run before /system is available, so
    to avoid the need to ship a statically linked shell or other interpreter
    in early userspace, the implementation is in C and compiles to a
    statically linked binary.
  8. recovery_ui: update for CWM API changes

    steven676 committed Apr 22, 2014
    CWM's eliminating device_toggle_display() and
    ui_get_showing_back_button() (see
    Remove these in our recovery_ui.c.
    Change-Id: Ib26ffdf04194dc0f916934bf1bc1b92b47938ee2
  9. Rename custom recovery keymapping file to match original source

    steven676 committed Apr 25, 2014
    The corresponding keymapping file in the recovery source is now
    default_recovery_keys.c, and recovery_ui now typically refers to a
    separate device-overridable file (which we want to override in the
    Change-Id: I0bde1213fcae08a61915b98da726972122dd65d2
Commits on Apr 7, 2014
  1. Disable use of YUV overlay hardware in the OMAP3 HWC

    steven676 committed Apr 6, 2014
    Using YUV overlays causes rendering glitches and display sync loss
    when playing back certain videos, so disable their use.  (It's unclear
    at this point whether this is a limitation of the hardware or a driver
    Change-Id: Ia3d8fb7aadf04feaa01cbea29962e76e224052cd
Commits on Apr 6, 2014
  1. Power HAL: disable KSM scanning when screen is off

    steven676 committed Apr 1, 2014
    KSM scanning can keep the CPU busy during otherwise idle periods, which
    hurts battery life.  Therefore, when KSM is in use, disable KSM scanning
    before the screen turns off and reenable it when the screen turns back
    Change-Id: Id577977d0b6bc7c2456334726552a6723c83593f
  2. Update bootloader to pass boot location on kernel command line

    steven676 committed Feb 7, 2014
    Our planned boot-location-agnostic software will need this information
    from the bootloader in order to find /system and /data.  Older software
    will just ignore the added argument on the command line.
    Built from commit 54951a2 ("omap3621_evt1a: pass boot device information
    on kernel command line") in the encore_cyanoboot tree:
    Change-Id: I0e2b40808e366f3af553b92663bfe2051b7348a0
Commits on Apr 1, 2014
  1. Fix 16bit boot animation

    drmarble committed with steven676 Feb 9, 2014
    The implementation of the 16 bit boot animation has changed.
    Now we need TARGET_BOOTANIMATION_USE_RGB565 := true
    Change-Id: I8d1e3d4dbe9bcd92d6dbea5921019f888c085c90
  2. Change to allow default

    polymath257 committed with steven676 Feb 2, 2014
    Original suggests allowing for in build directory,
    but test on $1 instead of $ZIPFILE bypasses this.
    Change-Id: I877eb78188a867f743fb347f4ac015061bd55432
Commits on Mar 31, 2014
  1. Tell CM settings we really want KSM enabled by default

    steven676 committed Mar 31, 2014
    CyanogenMod's settings system will blindly overwrite the value in
    /sys/kernel/mm/ksm/run with the value of the KSM setting exposed in
    performance options, which defaults to off unless we tell it otherwise.
    Change-Id: I9435d54216db123418218b8c98f9ad3801627c7d
  2. Enable KSM by default

    steven676 committed Feb 18, 2014
    Kernel Samepage Merging (KSM) periodically scans memory marked by the
    framework as MADV_MERGEABLE looking for duplicate pages; when it finds
    them, it drops the duplicates and points all users at a single copy of
    the page.  This is particularly useful on Android, where much of the
    Java class data can be shared across processes.  Enabling this feature
    on encore can save 16 MB of RAM after just a few hours of uptime.
    Change-Id: Ic4eed0e0e42b3170e55831e4c85373b8720ba29a
  3. Enable swap to zRAM by default

    steven676 committed Feb 18, 2014
    Unlike earlier releases, Android 4.4's memory management framework is
    swap-aware, so there is no longer an inherent barrier to using swap on
    Android.  We can therefore make our limited memory go farther by
    configuring a moderate amount of zRAM-backed swap.
    There are two knobs being adjusted in this patch:
    * The amount of swap: this represents the total size of data stored in
      the zRAM device *before* compression.  Assuming a (conservative)
      compression ratio of 33%, 96 MB of zRAM swap should result in no more
      than 64 MB of actual RAM being in use at any one time, leaving 384 MB
      of RAM free for other purposes.  Given that other devices get along
      with less than 350 MB of RAM in total (after camera/codec/VRAM
      carveouts, before zRAM and other such techniques), this should be more
      than sufficient to keep the system happy.
    * The "swappiness" of foreground processes: this controls how willing
      the kernel is to push anonymous memory (pages not backed by a file) to
      swap.  Lower values for swappiness will cause the system to try harder
      to free memory via other means before touching anonymous memory.  In
      this case, Android sets a much higher swappiness value for background
      processes via the memory cgroup mechanism, so the effect here is to
      cause the kernel to strongly prefer to swap out background processes
      before touching foreground process memory.
    We can revisit both of these values later based on user experience.
    Change-Id: Ie8d7c47cfda435e1e087a8ec676e21d0cf135ed3
Commits on Feb 7, 2014
  1. Move device-installed scripts under prebuilt/

    steven676 committed Feb 7, 2014
    This provides clear separation between shell scripts which are intended for
    the build host and those which are intended for the device.
Commits on Feb 6, 2014
  1. Remove optimization settings from

    steven676 committed Jan 26, 2014
    It's no longer possible to override the optimization settings chosen by
    the build system this way, so these settings currently have no effect at
  2. Clean up

    steven676 committed Jan 31, 2014
    encore's been around an unusually long time, and in that time it's
    picked up quite a lot of cruft in; it's time for a
    housecleaning.  Specifically:
    * Remove flags for which no other references exist in the CM source tree
    * Reorganize remaining configuration into some semblance of a logical
      grouping and order
  3. Remove unused recovery.fstab

    steven676 committed Jan 26, 2014
    The recovery now uses the unified fstab.encore, so this file is
    obsolete and unused.  Remove it.