• XDA Forums have been migrated to XenForo. We are aware of several issues including missing threads, logins not working, and more. To discuss, use this thread.
  • If you are experiencing issues logging in, we migrated and software and made it more secure. We recommend trying to reset your password.

[ROM][JB][4.2.2] Vanilla RootBox M7 *unofficial* [07.21.13]

Not open for further replies.


New member
Sep 18, 2012


  • Vanilla RootBox is built straight from RootBox sources & Google Sources
    and always carries a very light installation with no extra/useless apps.
    This means, you can enjoy a pure Android experience combined with PA/AOKP/CM features and some cherry-picks.
    Keep in mind Jelly Bean is only at the beginning stage of development and there will be minor bugs.
    If you're wondering how this ROM differs from any other AOKP roms out there
    Try it yourself and choose the one that meets your requirements

Recommended Install

  • Wipe Data/Factory Reset (This does not affect your Internal/External storage)
    Wipe Dalvik Cache
    Flash RootBox
    Flash JB GAPPS
    Wipe Dalvik Cache
Romanbb said:
All the heavy lifting is done over at https://github.com/htc-msm8960 - thank those guys,
they are working incredibly hard to bring AOSP to this device. I think the list of developers goes something like this:
h8rift, intervigil, toastcfh, deck, Flinny, Flemmard, Codeworkx, birdman. That means that any bugs that exist in other
AOSP builds will probablacy exist in these builds.
DownloadsGappsDisclaimer / Warning!: I'm not responsible for any reason should you bork your phone


  • If you want to donate, feel free to do so otherwise don't forget to hit thanks and show your appreciation for all the hard work that goes into this.

RootBox Sources
My Github Sources
Last edited:


New member
Sep 18, 2012

MAY 2013

May.21.2013 - Initial Release


  • Add transparency settings for lockscreen
    This will enable the user to set the transparency level
    for the lockscreen.

    FW: Ribbon v1.0 overhaul
    Thickness Increase max && decrease min
    Configurable long swipe and long press swipe areas
    consolidate and cache views for smoother animations
    User adjustable animantion duration
    Add dismiss options for swipe ribbon
    - Always dismiss on click
    - never dismiss on click
    - Don't dismiss for navbar action
    fix app window crash if user has fast fingers and to much time
    on their hands...
    Swipe ribbon drag handles now get their own location, height,
    width, and opacity.
    Hide apps from app window
    Hooks to dismiss app window if softkeys or navbar buttons pressed
    Fix app window to pull all components also IE camera and messenger.
    Rub some unicorn polish on the on touch glow. The giant boxes were
    a bit ridiculous.
    If ribbon is empty but toogles are not, just show toggles no flipper.
    add adb wireless to toggle map
    Phase 1 of the Animation chooser. Simple helpers to let users
    choose the animation for the swipe ribbon and app window.
    ill be adding some fancier animations for now just some of
    the stock AOSP one.
    Add lots o animation options. Also preload animations instead
    of creating them at run time, should smooth things out a bit.
    Keyboard IME hide, Vertical spacing App window, Cache resources.
    Fix IME hide when navbar hidden.
    Longpress on app window now takes you to app info.

    Per-app PIE color
    Since we're using Per-app color now, let's use it for PIE as well.

    Fix layout of MultiWaveView and GlowPadView.
    If the calculated size of the rings is much smaller than the measured
    size (which is happening e.g. on mdpi 600x1024 tablets), the glow pad
    appeared shifted to the right.
    This happened due to the insets being calculated as difference of
    available and needed size, and later on being added to the available
    size. Example numbers (Nexus 4 with density forced to 160):
    - computed size in onMeasure: 768x505
    - scaled size in onMeasure: 505x505
    - thus, insets are calculated as 131/0
    - in onLayout, placementWidth (364) and max target width (108) are much
    smaller than width (768)
    - thus, center is calculated as 131 + (768 / 2) = 515, thus shifted to
    the right
    Fix that by not using width in the calculation, as the inset size
    already takes it into consideration.

    LockScreen: Fix crash when unlocking twice
    This will keep track if the BroadCastReceiver is registered and
    will unregister it only if so.

    Fix message composing in DarkUI with emojis enabled

    fix xxhdpi inverted launcher icon for Mms (HTC ONE)

    Mms: set notification number attribute for messages
    This will enable also the notification count overlay properly

    sorry didn't get much time to work on kernel :(

  • RB Settings: Update icon for keyboard enter

    AudioService: Remove STREAM_NOTIFICATION from ringer mode streams

    EthernetDataTracker: Set network available on connected
    This change fixes state mismatch found in the bugs below,
    and makes the code look consistent with disconnect().
    In startMonitoring(), reconnect() is called before mNMService.registerObserver().
    Then dhcpThread.run() could finish without getting interfaceLinkStateChanged() callback.
    In such a case, mNetworkInfo has connected but not-available state - which is contradictory.

    FW: Fix Menu Overflow Disable Option
    The three button Menu Overflow would display no matter what setting was seleted within ROMControl, this commit makes a slight change to correctly return a result that reflects the users selection through ROMControl.
    I had to enable then disable the option for it to function correctly (no reboot required)

    Remove opaque check in preparing dirty region
    Since preserve swap is enabled, we need to clear the color buffer
    when the scissor rect is prepared for a new process. This prevents
    garbage being present from the previous process in the color buffer.

    SystemUI: show blue dc-hspap icon when connected to Google services

    TelephonyManager: hide NETWORK_TYPE_DCHSPAP

    LockScreen: Fix crash when unlocking twice
    This will keep track if the BroadCastReceiver is registered and
    will unregister it only if so.

    SystemUI: fix vertical date not showed while on Pie

    SystemUI: show date on 2 lines in status bar
    This allows showing of the full day of the week, and removes
    the blank space above the date (which always felt strange to
    me when clicking it to access the calendar).
    It also fixes a spacing issue on smaller screen devices that
    causes the quick settings button to be partially chopped off
    when the AM/PM clock settings are enabled.
    Fixed an accidentally dot showed in some languages (for ex. US english)

    Bluetooth: Fix MAP accept threads sometimes spinning endlessly.
    Randomly (under no obvious precondition), the MAP access threads spinned
    endlessly after enabling BT, because mServerSocket.accept() always threw
    IOExceptions, probably because the actual socket was already closed.
    This change makes sure to exit the thread when that happens to not waste
    CPU cycles and battery power.
    This tracks similar changes done to the BluetoothPbapService and makes
    sure to follow the (working) PBAP flow.

    Fix a number of issues with T9 dialer.
    - Fix an ArrayIndexOutOfBoundsException (like reported in
    [1]) which happened when highlighting the last digits of a number and
    the number had additional characters after those digits.
    - Fix another potential ArrayIndexOutOfBoundsException due to the
    highlighting code relying on normalNumber being a subset of number,
    which wasn't the case due to number being additionally sent through a
    formatter. Fix that by running the formatter before normalizing.
    - Fix number highlighting not working if the number match occured at the
    end of the number.
    - Fix number type label & formatting not being updated on locale
    - Fix T9 search not being triggered when pressing the dial button to
    recall the last dialed number.

    Remove DEBUG to avoid to run checking at every turn
    Needn't to run storage checking in DEBUG mode at every turn,
    it will make "DELETE OLD MSGS" always be checked in Mms Settings

    Enhance the Easy Selector
    - Follow GoogleUI Guidelines
    - Fullscreen selector
    - Added groups support

    Mms: Go TRDS 2.0
    use propper configuration values now

    MMS app: fix crash when MMSC setting is NULL
    An APN with a null MMSC column prevented the MMS app
    to find the next APN in query.

    Camera: Add TrueView
    This commits adds the ability to show the complete image sensor frame
    rather than the cropped preview used by aosp to fill the entire

    Fix audio in Hangouts
    * Add higher sample rates and stereo input device

  • Fix wrong log information in DevicePolicyManagerService
    When user reset password their password,
    if password doesn't match target quality of device,
    DPM print a log why can't reset password.
    however log message isn't correct information.
    in log context, it have to exist current quality
    and target quality. this patch can help print correct log

    Avoid IllegalArgumentException in Preference.java compareTo()
    In some situations the collection.sort() algoritm fails in compareTo()
    with a: java.lang.IllegalArgumentException: Comparison method violates
    its general contract!, due to a more strict validation of the compare

    Fix CalendarView to show the month title properly.
    Step to reproduce:
    Do this test on a Tablet (i.e. do in multi-pane layout)
    1. Settings > Date & time > Uncheck the Automatic date & time checkbox.
    2. Select 'Set date' and set the month to January and Done.
    3. Re-select 'Set date' then you will find no month title just above the calendar.

    Framework/base: Added synchronization block to avoid race condition
    Fix for the synchronization issue leading to access of an array
    Index out of bounds. Issue occurs due to race condition between
    removing the activities of a crashed process from history stack
    and resuming a separate activity.

    SystemUI: Fix Tablet UI Date View
    Mobile indicator has been removed, is still showed in quicksettings mobile tile. http://goo.gl/1ZtuS

    TRDS 2.0: Update Dark toggle state

    Add Multi-Part and Split SMS Configs

    MMS: Fix lookup of vanity addresses
    Avoid the use of the function PhoneNumberUtils.stripSeparators for non-strict
    phone numbers.

  • TRDS 2.0: Update Dark toggle state

    Make character picker for QWERTY keyboards use HOLO theme
    Also, removed the cancel button. Instead, touching outside will close
    the dialog

    Improve auto-brightness handling
    - Add a setting to control the auto-brightness algorithm responsitivity
    - Make the algorithm react much faster when the ambient brightness
    increases quickly, e.g. when receiving a call in bright sunlight.
    Allow changing auto-brightness responsitivity.

    FW : Allow user selection of Font Size
    RC : Allow user selectable StatusBar FontSize

    Settings: refactor TRDS toggle and add some apps

    RC: fixup ribbons icon
    *more appropriately sized and colored

    Phone: transparent in call widget (optional)
    To see the complete contact picture on incomming calls
    a lot prefer to have a transparent background. This commit
    introduces this feature as optional option.
    As well a bit sorting of the phone settings screen

    tons of other crap :p

    and all of cm's m7 commits

  • Reduce observers in SystemUI: StatusBarIconView
    Currently, for each status bar icon view there is a observer that
    listens for changes of STATUS_BAR_NOTIF_COUNT. With one

    notification usually having one or more status bar icons
    you may end up easily with 10+ more observers for ~5 notifications.
    With this commit the internal observer class becomes a singleton.
    This means there is now only one observer for all status bar icons
    and additional binder calls on new notification are avoided.

    Reduce observers in SystemUI: KeyButtonView
    This is based on the work by Jens Doll for the StatusBarIconView
    The ContentObserver class will be a singleton, so there is only
    one observer for all buttons.
    On my Nexus 10 it reduced the observer count from 48 to 4.

    Reduce observers in SystemUI: BatteryBarController
    This is based on the work by Jens Doll for the StatusBarIconView
    The ContentObserver class will be a singleton, so there is only
    one observer for all instances.
    On my Nexus 10 it reduced the observer count from 15 to 3

    Fixing crash in PhoneNumberUtils getNumberFromIntent
    Handling intent with no data when trying to retrieve number from

    audio: Add overlay to fix analog docks.
    Of particular interest to devices using libhardware_legacy and
    affected by commit 5a484b7: http://goo.gl/rVR1Z
    which restricted the routing of AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
    to docks using FORCE_ANALOG_DOCK cases. The EXTRA_DOCK_STATE_CAR case is
    returning FORCE_BT_CAR_DOCK, preventing the dock audio from routing properly.
    Add an overlay option for overriding to FORCE_ANALOG_DOCK.

    FW: Menu Overflow Disable - Different Implementation
    Original method I used to enable the menu overflow disable option incorrectly disabled the menu overflow altogether for some devices due to a late night derp.
    This implementation of the check to confirm if the menu overflow has been disabled through ROMControl should hopefully correct this issue.

    Pie: set Big as default for item gap (2/2)
    Screen: http://goo.gl/aocZ7
    Pie: updates (2/2)
    -pie angle: fixes, cleaning and new value (Huge)
    -pie size defaults
    -strings updates
    Pie: Fix and easy recalculation for Chevron and Pie
    Pie: set angle default to 12° (1/2)
    Pie: let Chevron adapt itself from pie's angle.
    > This make Chevron able to recreate the battery bar when the angle changes.

    Fix unresponsive statusbar area.

    Framework: GlowPad Torch
    LongPress GlowPad...Torch.
    Release...No Torch.

    FavoriteToggle: DismissKeyguard
    Small Fix

    ClockActions: Dismiss Keyguard
    Kanging SteveSpear's Brilliant
    dismissal method here.
    Doesn't require an activity
    as ...OnNextActivity() does

    Fix MAP SDP record generation
    Give the bluetooth app API to register a server socket for a specific
    UUID/port pair. It needs that for registering two OBEX server instances.

    Fix Profiles - Ring Mode

    Fix: AUTO_TIME and AUTO_TIME_ZONE moved to Global google
    Frameworks: airplane_mode_on moved to global google and CM

    Improve auto-brightness handling
    - Add a setting to control the auto-brightness algorithm responsitivity
    - Make the algorithm react much faster when the ambient brightness
    increases quickly, e.g. when receiving a call in bright sunlight.

    Settings: Call Ring mode what Google calls it, not Silent mode
    Silent mode -> Ring mode cleanup

    Fix Notification shortcuts icons picker FC
    Allow changing auto-brightness responsitivity.

    Adapt torch intent for Glowpad
    Change intent for this feature as we do not use AOKP'S torch

    Lockscreen Longpress: Unlock Logic

    In my opinion, we should unlock after
    user removes their finger.
    This matches short-press unlock better
    and allows the user to change their mind
    on a target (I do that a lot).
    Added a vibration action on longpress
    being true.

    BatterIcon with Center Text should be fixed now
    Logo to menu is now disabled by default.. To set use device options in settings.. thanks.[/

    alsa_sound: add HTC CSD CLIENT board flag for special cases (BT)
    New HTC phones like m7 have special settings for BTSco CSD device
    ids. Adding board flag BOARD_HAVE_HTC_CSDCLIENT to handle
    these special cases related to HTC's csd client.
Last edited:


New member
Dec 13, 2007
New Jersey
Great to see more development picking up for the One. Liquid (Update) and Vanilla Rootbox all in one day!

Only question is can we please get the OP updated with any known bugs, no matter how big or small? I'm sure they're the same as CM nightlies. I've been trying to follow it but there's so many changes that it's become hard to follow. I'm sure myself and many others would greatly appreciate it if we can get that going!


New member
Nov 6, 2010
every thing you need should be in the gapp zip, just flash that after you have installed the rom
When you go to the download link for gapps that he posted there like 5 or 6 files. I was asking which one do I download.

Sent from my HTC One using xda app-developers app


New member
Apr 16, 2013
Hey cheaters. Your One on OP Pic has no buttons, is this a tweak in your rom? :p

I want that tooo..

It gets very full in Original Android Dev for One. Like that!:good:
Will give this Rom a try!

Thanks for your work!:highfive:


New member
Nov 6, 2010
what's the camera quality like? Anyone got any pics for sharing? Also does LTE work
LTE does work. Camera is 4M also I did get a reboot when unlocking the phone from a 5 minute sleep. Am I the only one that got that bug?

Sent from my HTC One using xda app-developers app
  • Like
Reactions: ant78

Pony Express

Senior Member
Dec 7, 2010
737 miles from where I was
Not open for further replies.
Our Apps
Get our official app! (coming soon)
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone