[ROM][6P][6.0.1_r13]★ Pure Nexus ★ Layers/CMTE | Fi | WiFi Calling ★[02/03/16]

[ROM][6P][6.0.1_r13]★ Pure Nexus ★ Layers/CMTE | Fi | WiFi Calling ★[02/03/16]

The Pure Nexus Project

Disclaimer:
We are not responsible for anything that may happen to your phone as a result of installing custom roms and/or kernels. you do so at your own risk and take the responsibility upon yourself.

"This is a user friendly thread. All feature requests will be heard and considered.


About:
The Pure Nexus Project aims to bring stability and features to your Nexus device, while keeping Google's vision in line and not straying too far away from that. If you are looking for a stable ROM with true tested features and minimal bugs, then this is the place to be.


Features:

-General
*Based on AOSP Android 6.0.1_r13
*Pre-rooted with SuperSU 2.52
*SELinux Enforcing
*Busybox
*Init.d support
*Addon.d support
*T-Mobile US WiFi Calling + Project Fi Support 
*Fully Working VoLTE
*Native Sprint PRL/Profile update
*Native ntfs and exfat support
*Full Layers and Theme engine support
*Google sounds from factory image not the horrible AOSP ones
*Googles marshmallow wallpapers added to wallpaper picker 
*Advanced Reboot menu enabled by default
*Advanced rotation settings
*Enabled Developer settings by default
*Enabled option to use multi-window mode
*Enabled click/longclick on notification panel header items
*Disabled forced encryption
*Disabled Device modification warning
*Disabled Tethering checks
*Disabled Full screen keyboard in landscape
*Show apps being optimized during initial boot
*Bug fix's and stability improvements
*UI Improvements (fixed a bunch google forgot to materialize)
*Download Speed in download notifications
*Scrolling cache improvements
*Seek-bar animation speed and font size control
*Hostname customization
*Adb over wifi access
*Full 3-Minit battery support no mods needed
*Kitkat style silent mode is now default
*Added ability to see app version when sideloading app
*Added ability to launch app from app info sceen
*Added app package name to app info screen
*Added ability to disable battery saver color in nav/statusbars
*Added ability to launch purenexus settings from notification drawer (longpress settings icon)
*Native Dialer lookup in the aosp dialer
*Incall vibration options
*Proximity speakerphone option
*National Data roaming option
*Link/Unlink Notification ringtone option
*Added Native Google Double tap to wake option
*Added Standalone documents ui file manager
*Added Special keys to all keyboard keys
*Added more smileys to the aosp keyboard
*Removed googles bug report option
*Removed googles SystemUpdate option
*Removed googles legal information

-PureNexus Settings
Lock Screen
*Option to customize lockscreen shortcuts
*Option to customize lockscreen weather
*Option to customize lockscreen clock font
*Option to disable fingerprint authorization vibration
*Long press power for torch
*double tap anywhere to sleep
*Option to disable lockscreen media art
*Scramble pin layout
*Quick pin unlock
*Option to control max notifications on the lockscreen
*Lockscreeen Wallpaper (add/crop/delete)
Notification Drawer
*Weather
*Force Expanded Notifications
*quick settings pulldown (left,right)
*brightness slider on/off toggle
*fully customizable quick settings with now up to 23 custom tiles
*option to enable or disable the top two main quicksettings tiles
*option to enable four quick settings tiles per row
*option for advanced location in location quick setting tile
*option to disable quick settings on secure lockscreen
Recent Apps
*Immersive recents (stock, full screen, statusbar only, navbar only)
*Clear all recents toggle
*Clear all recents location option
*Clear all recents but last app toggle
*Recent searchbar on/off toggle
Statusbar
*Battery customization (stock, landscape, circle, dotted circle, text, none)
*Battery percent options (hidden, inside the icon, next to the icon)
*Battery Bar options (location, color, style, thickness, anitmation)
*Carrier Text customization (text placement, custom text)
*Clock customization (position, am/pm, date, date position, date style, date format)
*Network traffic meter options (disabled/incoming/outgoing/both,  units displayed, update interval, hide arrows, autohide, autohidethreshold)
*Status-bar options (double-tap to sleep, statusbar brightness control)
Navigation Bar
*Enable/disable
*IME toggle
*Option for arrow cursor keys
*Option for double tap navbar to sleep
*Long-press back to kill toggle
*Long-press recents for last app toggle
*Navigation bar size customization (width, height, length)
*Navigation bar customization (placement, buttons)
PowerMenu
*Option to disable on secure lock
*Add/remove (reboot, screenshot, screen-record, airplane mode, user switcher,settings shortcut, search, voice search, lock now, sound panel)
Volume Rocker
*Volume key wake
*Volume key music control
*Volume key keyboard cursor control
*Volume button swap toggle
*Control media volume anytime toggle
*Option to allow volume down in silent to enter do not disturb
*Option to allow volume up in do not disturb to exit do not disturb
*Options to control volume steps on the fly
Display
*Expanded desktop options
*option to enable/disable wake on plug
*LED controls
Media & Notifications
*option to ignore interruptions during media playback
*option to disable camera shutter sound
*option to disable double tap camera vibration
*option to disable heads up notifications globally
*option to lower the amount of notifications an app can make in alloted time
*option to invert ambient display notifications
*option to disable low battery notification
*Option to disable battery saver notification
cLock Settings
*Customize the cLock widget
Tools and info
*device info
*battery history
*usage statistics
*wifi info
*build.prop editor
*fi switch tools (if project fi sim is installed)
Downloads & Changelog:
Changelog: https://goo.gl/P8WBn3

Rom Builds: https://goo.gl/TMclDf

Highly Suggested Gapps - PureNexus Gapps: https://goo.gl/5PzVXa

Google Dialer - needed for Fi wifi calling: https://goo.gl/XiMTbe

Flashable Vendors: https://goo.gl/f5M48j
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.10.x
Based On: AOSP

Version Information
Status: Stable
Stable Release Date: 2016-02-03

Created 2015-11-09
Last Updated 2016-02-03

How to flash Pure Nexus
PLEASE READ YOUR APPLICABLE PROCESS AND UNDERSTAND IT BEFORE ATTEMPTING. ALSO READ THE LATEST UPDATE POST AND THIS FAQ, IT HAS SOME GOOD INFO IN IT.

Which variant to choose? Layers or CMTE?

Starting with the 1/29 build, Pure Nexus is offered in two variants: one with Layers and one with the CyanogenMod Theme Engine (CMTE). If you have been on Pure Nexus before this point, you are familiar with Layers as that is what Pure Nexus has always offered. It is totally up to you which version you choose going forward though. Here is a brief rundown of the options and their benefits/downsides (this is not exhaustive):

Layers: Less intrusive code/commits, more flexible theme options (accents, etc), and reboot required.
CMTE: More mature system, more intuitive UI, more themes available, and no reboot required.

The way your device functions and looks is largely the same between the two ways to theme. It all comes down to personal preference. You can see which one you have/need in Settings > About phone > Pure Nexus version. CMTE versions denote it at the end (this is also true on AFH for downloads).

IF YOU WANT TO SWITCH BETWEEN THE TWO, PLEASE CLEAN FLASH.

Which path to choose? Clean install or dirty flash?
Dirty flash: If you are already on Pure Nexus AND not flashing across Android versions (5.x.x to 6.x.x, 6.x.x to 6.x.x is fine for right now). Please check the update post linked about though.
Clean install: When you have problems with dirty flashing, when coming from another custom ROM or stock Android, OR when required (check the update post).
How to dirty flash:
1a. Download the latest Pure Nexus zip (pay attention to the version you choose) and your custom kernel if you have one onto your phone.
1b. If you are on the CMTE variant, it is a good idea to set your theme back to stock before dirty flashing. If you don’t and your theme looks wonky after flashing, try using this app.
2. Boot into TWRP and make a backup (remove any lock screen security before this, optional but HIGHLY recommended).
3. Flash Pure Nexus zip.
4. Update your vendor image (only need to do this once per build number).
5. Flash your custom kernel (optional).
6. Wipe cache and dalvik cache (optional).
7. Reboot and profit.
How to clean install:
1. Download the latest Pure Nexus zip (pay attention to the version you choose), latest GApps (recommended ones linked, use others at your own risk), and your custom kernel if you have one onto your phone.
2. Backup any important data.
3. Delete any Layers you have installed.
4. Boot into TWRP and make a backup (remove any lock screen security before this, optional but HIGHLY recommended).
5. Wipe system, data, cache, and dalvik cache in Wipe > Advanced Wipe.
6. Flash Pure Nexus zip.
7. Flash GApps zip.
8. Update your vendor image (only need to do this once per build number).
9. Flash your custom kernel if you have one.
10. Reboot and profit.

Android Pay works?
Android Pay and Pure Nexus
 
As of January 29th, 2016, it appears Google has discovered a way to block systemless root with SafetyNet. Multiple people in several threads have reported this, including people running stock, so it is not a ROM problem. In order to use AP as of right now, you either need to temporarily unroot systemless root (SuperSU > Settings > Enable superuser) OR be unrooted. So you need to use the UnSU file listed below to unroot Pure Nexus then it will work. I will leave the post intact but I outlined the potential fail points in red. If you want AP to work 100%, skip the red parts. I'll update this if anything changes.

This is a specific version of my generic post available here. This is purely available to help people get Android Pay working.
How to install Pure Nexus for Android Pay (clean install):

1. Download Pure Nexus 1/03/16 or newer (Layers), the latest PN GApps (Banks GApps are a minimal alternative), UnSU, the latest SuperSU, and a custom kernel if you want one onto your phone.
2. Backup any important data.
3. Boot into TWRP and wipe everything but internal storage in Wipe > Advanced Wipe.
4. Flash Pure Nexus.
5. Flash GApps.
6. Flash UnSU.
7. Type these commands, one at a time, into Advanced > Terminal Command > Select current folder in lower right hand corner:
Code:
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu
The first one forces systemless, the second prevents /su/xbin_bind from existing.
8. Flash your custom kernel and SuperSU (refer to your kernel thread for which zip you need to flash first).
9. Reboot and profit

How to install Pure Nexus for Android Pay (dirty, if you are already on Pure Nexus):

NOTE: In order for you to be able to get Android Pay working, you must already have the Dynamic Pure Nexus GApps OR Banks GApps installed. If you don't, you need to clean install using the above process.

1. Download Pure Nexus 1/03/16 or newer, UnSU, the latest SuperSU, and a custom kernel if you want one onto your phone.
2. Boot into TWRP and make a backup (optional but HIGHLY recommended).
3. Flash Pure Nexus.
4. Flash UnSU.
5. Type these commands, one at a time, into Advanced > Terminal Command > Select current folder in lower right hand corner:
Code:
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu
The first one forces systemless, the second prevents /su/xbin_bind from existing.
6. Flash your custom kernel and SuperSU (refer to your kernel thread for which zip you need to flash first).
7. Reboot and profit

Android Pay still doesn't work!

In order for AP to work, you need to be unrooted and have no /system partition modifications. If you are rooted with systemless root, you can try temporarily disabling root (SuperSU > Settings > Enable superuser). If that doesn't work, you will need to full unroot within those settings to get it work. Below are other fail points:

1. Make sure SuperSU 2.64+ is systemless in SuperSU > Settings > Install SuperSU into /system (it will mention it isn't possible with systemless root). If it is system root, you must follow these steps to switch:

a. Delete /data/.supersu (if it exists)
b. Go into SuperSU > Settings and do a full unroot.
c. Boot into recovery and navigate to Advanced > Terminal Command.
d. Select the current folder (should be root or / by default) in the lower righthand corner.
e. Type the two lines below (one at a time):
Code:
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu
The first one forces systemless, the second prevents /su/xbin_bind from existing.
f. Flash SuperSU.
g. Reboot and attempt to setup Android Pay.

2. Make sure /su/xbin_bind does not exist. If it does, delete it and reboot.
3. Make sure you do not have Xposed installed.
4. Make sure you don't modify your DPI.
5. Make sure if you are flashing anything additional to these steps (like adblocking or an app) that it works with systemless root.

What is this systemless root thing anyways?

Currently, there are two methods for rooting:
System root: This is the OG root. It modifies the system partition to achieve superuser access, which is a little bit more stable in terms of executable purposes but it breaks OTA. This is the root that comes with the ROM currently and until systemless root is stable, that is not likely to change.
Systemless root: This is the new root on the block. It does NOT modify the system partition; instead, it modifies the kernel and mounts a /su image in data for executable purposes. It also allows for OTAs to occur, which does not matter here.

Some apps MAY NOT work with systemless root. Please let them know they need to update their apps rather than complain here.

How do I get systemless root?

If you already have Pure Nexus installed:

1. Navigate to TWRP > Advanced > Terminal Command and type these commands one by one:
Code:
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu
The first command forces systemless root, the second prevents /su/xbin_bind from existing.
2. Flash UnSU to remove SuperSU 2.52 from the /system partition.
3. Flash the latest SuperSU.
4. Flash your custom kernel (optional).
5. Reboot and profit (do not install SuperSU if TWRP asks you to do so).

If you are not on Pure Nexus:

1. Download the latest Pure Nexus zip (pay attention to the version you choose), latest GApps (recommended ones linked, use others at your own risk), UnSU, the latest SuperSU, and your custom kernel if you have one onto your phone.
2. Backup any important data.
3. Delete any Layers you have installed.
4. Boot into TWRP and make a backup (remove any lock screen security before this, optional but HIGHLY recommended).
5. Wipe system, data, cache, and dalvik cache in Wipe > Advanced Wipe.
6. Flash Pure Nexus zip.
7. Flash GApps zip.
8. Update your vendor image (only need to do this once per build number).
9. Flash UnSU.
10. Go into Advanced > Terminal Command and type the two lines below, one at a time:

Code:
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu
The first line forces systemless root and the second line removes /su/xbin_bind
11. Flash SuperSU 2.64+.
12. Flash your custom kernel (optional).
13. Reboot and profit (do not install SuperSU if TWRP asks you to do so).


Updating Pure Nexus with systemless root

1a. Download the latest Pure Nexus zip (pay attention to the version you choose), UnSU, the latest SuperSU, and your custom kernel if you have one onto your phone.
1b. If you are on the CMTE variant, it is a good idea to set your theme back to stock before dirty flashing. If you don’t and your theme looks wonky after flashing, try using this app.
2. Boot into TWRP and make a backup (remove any lock screen security before this, optional but HIGHLY recommended).
3. Flash Pure Nexus zip.
4. Update your vendor image (only need to do this once per build number).
5. Flash UnSU.
6. Flash SuperSU 2.64+.
7. Flash your custom kernel (optional).
8. Wipe cache and dalvik cache (optional).
9. Reboot and profit (do not install SuperSU if TWRP asks you to do so).

Can I switch back to system root?

Sure. Follow the below process.

1. Delete /data/.supersu in a file manager/root explorer.
2. Uninstall SuperSU (SuperSU > Settings > Full unroot). If you get force closes/reboots, ignore them and boot into recovery.
3. Dirty flash Pure Nexus.
4. Flash your custom kernel (optional).
5. Reboot and profit.

Layers doesn't work? (may or may not work, have gotten reports that it doesn't)

Currently, the Layers Manager does not like it if Busybox is not installed into /system/xbin. There has been a systemless binary location for a little bit (/su/bin) but it has not worked; until discovery of  Busybox installer. SuperSU 2.65 and up adds /su/xbin for binaries to reside in and it is added to PATH so that the binaries properly execute. Furthermore, installer will remove Busybox installs in other locations, install /su/xbin, and clean up symlinks so the binaries in /system/bin can execute.

1. Make sure you are on a systemless version, preferably SuperSU 2.65 and above if possible.
2. Download and flash this special Busybox installer in TWRP.
3. Reboot and profit.

If you do not want to use that installer, just selecting /su/xbin as the destination via another installer should work. If it doesn't work, install Busybox to /system/bin.

Pure Nexus FAQs

Current Pure Nexus information:
Build date: 02/03/2016
Build number: MMB29U
Security patch level: February 1st, 2016
Vendor image needed: MMB29Q

1. Current issues
1.1 Q: I am not seeing any music notifications on the lockscreen
1.1 A: Go into Settings > Apps > app you are having problems with > Notifications and disable the setting "Disable ongoing notifications on lockscreen". This should be fixed with the 2/3 build.

1.2 Q: I am not receiving Hangouts messages until I open the app
1.2 A: Go into Settings > Apps > Hangouts > Storage and clear the app data.

1.3 Q: My lockscreen/notification drawer weather doesn't work.
1.3 A: Go into Settings > Pure Nexus Settings > cLock > Weather panel. Either switch to OpenWeatherMap and/or set a manual location.

1.4 Q: The Theme Engine is crashing/not working properly!!
1.4 A: Go into Settings > Apps > Menu dots > Show system. Clear the app data in the Storage section of both Themes and Themes Provider. Additionally, 5X and 6P users should delete the contents of their /vendor/overlay folder if they have anything in there.

1.5 Q: I am having some weird theme issues after a dirty flash (not crashing).
1.5 A: CMTE (both devices): Download this app, let it rebuild your theme cache then reboot.
Layers (5X and 6P only): Try removing the contents of your /vendor/overlay folder (to do this in TWRP, mount vendor then go into the file manager in the advanced section).

1.6 Q: CMTE isn't applying a boot animation properly
1.6 A: This is a bug with SELinux, it has been identified and will be fixed in the next build.

1.7 Q: Icons that are applied with CMTE do not show up.
1.7 A: Sometimes a reboot is required to apply icons; additionally, Google Now Launcher users may need to clear the data of the Google App and/or the launcher in Settings > Apps > app > Storage.

2. Common questions
2.1 Q: What does CMTE stand for?
2.1 A: CyanogenMod Theme Engine. It is a different way to customize the look of your device as compared to Layers.

2.2 Q: Which variant (Layers vs. CMTE) do I choose?
2.2 A: It is all up to you as it is an aesthetic choice. Only thing I can tell you is I recommend clean flashing between the two. To see which one you currently have, go into Settings > About Phone > Pure Nexus version; if it mentions CMTE in that line, you should flash the CMTE version for updates or clean install over to Layers if you want it. If it doesn't say CMTE, flash the Layers version (the one without CMTE in the zip title).

2.3 Q: Can I use Layers on the CMTE build?
2.3 A: No, CM themes are incompatible with Layers and vice versa since the technologies they use are pretty different. You will need to pick one and change builds if you want the other.

2.4 Q: My build number is different from the factory images, what gives?
2.4 A: Since this ROM compiles from source, Beans is free to pick whichever branch he wants to compile from (usually the latest one), which may have a different build number from the factory images. All of the binaries and drivers that run your device will come from the factory images so you don't need to worry about it.

2.5 Q: Why do I have two dialers?
2.5 A: Ultimately, it is because you have the AOSP (default) dialer and the Google dialer installed on your phone. This could happen because you restored a previous phone that had it installed when setting up the device, you flashed the FiFix dialer from the OP, or you deliberately installed it.
  • If you don't care about the Google dialer, install the phone that has the package name "com.google.android.dialer".
  • If you want the Google dialer and not the AOSP one:
    1. Either use Titanium Backup OR Settings > Apps > Show system to disable the two instances of the AOSP dialer (com.android.phone).
    2. Install the dialer if you haven't already.
    3. Go into Settings > Apps and click on the gear in the righthand corner.
    4. Choose default apps and select the Google phone app (there should be only one at this point).
    5. Call your voicemail to verify that it is working
2.6 Q: What is the best kernel for battery life/performance?
2.6 A: There is no such thing. There is not a "best kernel", it is like asking what car is best or what color is best; it is all personal choice. At this point, the stock/default kernel does well in terms of performance and battery life. Custom kernels have the potential to increase your battery life because they can regulate the physical aspects of your phone but if you are having poor battery life, it is more appropriate to look at the user space (using the process below) to figure out what is causing that (like rogue apps). Kernels rarely produce drastically significant gains in battery life and performance, most people use them for the custom features such as wake gestures, wakelock blocking, or other optimizations.

2.7 Q: Is there a native dark theme? What theme is best? How do I find good themes?
2.7 A: No native dark theme. However, you can theme your device with either Layers or CMTE (depending on what version you chose). Below are some nice dark/black themes that I have personally used/tested. Additionally, for CM themes, an app called DU Certified which has themes that are compatible with Dirty Unicorns; the vast majority of the themes will work here as well (let the themers know if icons are missing, most of them are extremely responsive). Dark:
Black:

2.8 Q: What is the vendor.img/vendor.zip? (5X and 6P only)
2.8 A: The vendor partition is new to Nexus phones with the 5X and 6P. Previous devices had the vendor files (proprietary binaries and drivers) within the system partition (/system/vendor); on these devices, they now have it in their own partition (/vendor). If this is not up to date, you will get an error message and need to flash the latest one so your phone continues to work properly. Beans has made this a TWRP flashable file available in the OP of the 5X and 6P threads (also linked below) so you do not have to fastboot it.

2.9 Q: I am getting the vendor out of date message, how do I fix this? (5X and 6P only)
2.9 A: Update your vendor.img
2.10 Q: Does Android Pay work?
2.10 A: See this post for more info (this is only relevant to the 5X and 6P at the moment). I included the original content if you still want to see it for educational purposes but they are NOT VALID anymore.

2.11 Q: OMG MY BATTERY LIFE SUXXXXXXX Y DO THIS HAPPEN? PLS FIX
2.11 A: Rarely, if at all, does a ROM impact your battery life. If you are having issues with your battery life, download BetterBatteryStats and follow this process and post your results; we can help and see what is going on. Think of a ROM as a car and the battery life is your MPG. Obviously the car has limitations about how much MPGs it can get; however, if you are flooring the car all the time, you cannot be surprised when the MPG is garbage. Same thing with a ROM. Android has a LOT of processes that run in the background which can affect battery life. Unless there are continuous posts about battery life in the thread, it is a user space issue, not a ROM issue.

3. Installation questions
3.1 Q: How can I update Pure Nexus?
3.1 A: If it is not a major Android update (like from Lollipop to Marshmallow) or another major reason to clean flash, you should be okay to dirty flash (flash just the ROM zip without wiping anything). I recommend only dirty flashing from one theme system to the same system (Layers to Layers and CMTE to CMTE - see above to see which version you have). Always find the latest installation post (linked at the top of this post) and read to see if there were any reasons to clean flash (like a rebase or major change). Furthermore, I keep my installation guides at the top of this post up to date with the latest info. ALWAYS MAKE A BACKUP AND PLEASE CLEAN FLASH BEFORE REPORTING MAJOR ISSUES.

3.2 Q: What is a clean install?
3.2 A: A clean install is starting completely fresh (losing all of your apps and data). This is usually done when you are experiencing major issues or an update requires it. A clean flash consists of backing up your important data, booting into TWRP, wiping system, data, cache, and dalvik cache, then flashing the ROM and the recommended GApps. You will not lose your files (photos, music, other media) as long as it is in your internal storage folder (/sdcard, /data/media, or /storage/emulated/0)

3.3 Q: Should I flash GApps on a dirty flash?
3.3 A: I don't recommend it. For some people it is habit and they never experience issues; others do it and have massive force quits on startup that are only solved via a clean install. Even if there is a new GApps package available, they are updated through the Play Store and you don't lose them on a dirty flash like with some other ROMs because there is a backup tool. There is no need to flash them.

3.4 Q: Should I wipe system when doing a dirty flash?
3.4 A: I would not recommend it. When you wipe system, your GApps are erased as well but their data remains in the data partition. When you reflash GApps, the GApps data may be for a newer version, causing issues. Updating through the Play Store may resolve this but just trust the dirty flashing process and don't do any wipes other than caches when dirty flashing.

4. Bug report process:
4.1 Q: I have this issue!! (bootloop, unlisted bug, etc)
4.1 A: Let's check a few things:
1. If you dirty flashed, clean install (wipe system, data, cache, and dalvik cache in TWRP then flash ROM + recommended GApps) and DO NOT install anything else (kernel, Xposed, other mods).
2. Make sure you are on the latest bootloader and radio. To check, download the latest factory image here, unzip it, and compare your bootloader and radio version to it (see these in the bootloader). If they are different, flash the latest via fastboot using these commands:

Code:
fastboot flash bootloader name_of_bootloader.img
fastboot reboot-bootloader
fastboot flash radio name_of_radio.img
fastboot reboot
3. (5X and 6P ONLY) Make sure you are on the latest vendor.img (5X or 6P).
4. If you are still having problems with an app or crashes, grab a logcat.
If you are having random reboots, get the last kernel message (the files located in /sys/fs/pstore). If you are on a custom kernel, give this to your kernel developer in their thread.

Video Reviews: