[Streak 5 Android Development] Strephon Alkhalikoi:
System: Android 2.3.7 (Gingerbread) - Discontinued October 13, 2014

About:

NOTE: The instances of spontaneous reboots deactivating the SIM card slot mentioned below may have been the result of a dying SIM card. I have redacted the comments.

After using Traveller DSC for a while, I discovered one annoyance that I couldn't overcome. In Traveller DSC, at least on my Streak, leaving the WiFi on and letting the Streak sit idle for a period of time caused the device to spontaneously reboot. While the spontaneous reboot is a known issue with stock Gingerbread ROMs, on my Streak the reboot also deactivates the SIM card slot until manually rebooted. The SIM card slot being deactivated only appears to occur if there is no cellular service and if the SIM card from that cellular service is left in the Streak. After encountering this spontaneous reboot and having to deal with the aftermath on a regular basis, I tired of it and thus polished off a solution that I had sitting on my hard drive.

PseudoCream uses hPA's CyanogenMod 7 as the base ROM while adding what I believe are the best features of DSC/Traveller DSC, notably the dsc_firstboot post-install system. PseudoCream, like Traveller DSC, uses a swapfile to improve performance. However, based upon the discussions regarding the swapfile for Traveller DSC 2.4.x, only 64MB of RAM is reserved for the swap file in PseudoCream, which should provide a fair balance between memory usage and speed. Last, but not least, hunderteins SSL Ciphers improvements and Bash updates have been incorporated into this ROM. From the Cyanogenmod side of the equation comes full language support for Arabic as well as theme support using the Theme Chooser. Both eliminate the need to extensively modify apps to get the desired appearance.

Internally I refer to this ROM as Traveller DSC 2.5.0 and consider it an upgrade to Traveller DSC 2.4.6. Other than a forthcoming patch to reduce the size of the swapfile in 2.4.6 to 64MB, there will be no further updates to the 2.4.x series of ROMs.

Flashing Guide:

Download the ADB Tethering Drivers.

Download MultiFlasher.

Download PseudoCream.

Install the drivers.

Connect the Streak to the computer with the data cable.

Turn the Streak off. Hold the camera button down while pressing the power button to enter engineering mode. Press the fastboot button in the upper right corner of the screen to enter fastboot mode.

Open MultiFlasher, select a baseband (366 or 406 recommended), and flash it.

Reboot and enter fastboot mode again.

Open MultiFlasher and flash StreakMod or ClockworkMod recovery.

Reboot. Hold both volume buttons down while rebooting to enter recovery mode. If on a stock ROM, failing to do this will cause the new recovery to be overwritten.

Select "Software upgrade via Update.pkg on SD Card" to access StreakMod/ClockworkMod recovery.

Using the volume buttons, navigate to "advanced", then select "Mount SDCard" to be able to access the MicroSD card from the PC.

Copy PseudoCream to the root of the MicroSD card.

Unmount the card then press the back button until the opening menu appears.

Navigate to "apply sdcard:update.zip" and choose PseudoCream.zip, then press the camera button and select "Yes" to install.

When the installation is complete, press the back button to go to the main menu of the recovery and select "wipe data/factory reset".

Reboot and enter recovery mode again.

Select option 1 from the Dell recovery menu and let the device boot.

Aroma Bugs:

Arabic and Hebrew text in Aroma may appear backwards due to lack of right to left support. The ROM itself does not have this issue.

Touchscreen support in Aroma is erratic. Scrolling using the touchscreen does not function, and it may require a few taps to get selections to properly register. As an alternative, the volume controls and the camera button can be used to navigate and select items. This is likely a hardware issue and not fixable in Aroma.

ROM Bugs and Minor Inconveniences:

BUG: Very rarely, the Streak may fail to wake when idle for a period of time. Install SetCPU or a similar app and set the minimum clock speed for the CPU to 245MHz, which should help with this problem. Pulling the battery may be necessary to resolve this otherwise.

BUG: Google Maps may cause excessive battery drain. Freeze Maps or uninstall it if this issue is encountered.

BUG: USSD codes accessed without an active mobile connection leave the screen dimmed as if the notification shade were pulled down, requiring a reboot of the Streak to correct.

INCONVENIENCE: When reboot is selected on the shutdown menu, a menu appears with Reboot, Reboot Recovery, and Reboot Bootloader. The Streak does not support rebooting directly to the recovery or the bootloader, and thus the menu is useless. Disable the menu in Cyanogenmod Settings > Interface Tweaks > Power prompt.

INCONVENIENCE: The digital zoom of the camera appears to function, but the resulting pictures ignore the digital zoom. Since digital zoom results in a loss of picture quality, this isn't as much an issue as it appears. The zoom however does appear to function when taking videos.

INCONVENIENCE: App setup from dsc_firstboot.zip may take a while.

INCONVENIENCE: By default auto-rotation is not activated in settings. In addition, the phone dialer has its own auto-rotation settings that will need to be enabled. The call screen also has its own auto-rotation settings (located in Settings > Call Settings).

INCONVENIENCE: Checkboxes do not appear in the browser. Go into Theme Chooser, select the system theme, apply it, then select the ICS theme and apply it to fix.

INCONVENIENCE: The power toggles in the notification pulldown by default are in green. Changing the color, if desired, is in Cyanogenmod Settings > Interface Tweaks > Notification power widget. There is an option named "Indicator Color" to change the color, or the indicators may be totally hidden by using the "Hide Indicator" option.

Tips:

If you wish to bypass the setup wizard for some reason, tap the four corners of the screen in a clockwise manner (upper left, upper right, lower right, lower left). Tip courtesy of pocketnow.com.

Disable notifications in SuperSU for a clean look and to speed up the boot process.

SuperSU will receive updates from the Play Store. To save storage space convert the update to a system app.

HoloLauncher has the ability to hide apps in the app drawer. If you know you're never going to use a particular system app, e.g. the email client, hide it instead of deleting it from the ROM.

Customize dsc_firstboot.zip to meet your needs. For example, if you use Google Earth, rename the APK file to com.google.earth.apk and add it to dsc_firstboot.zip. For a tutorial, look here.

Google Car Home was left in /system/app because if uninstalled it cannot be downloaded from the Play Store.

The original release of the Hangouts 2.0 app (from Android 4.4) had a bug which allowed it to work on Gingerbread. If wishing to use Hangouts in place of the stock Messaging app, set the app to not be automatically updated in the Play Store or you will lose SMS capability when the app updates.

Included in dsc_firstboot.zip is an app named "Home-Dock Enabler". When the Streak is plugged in to its charger or inserted into its docking base, the app will call up the desk clock instead of displaying the lock screen. Home-Dock Enabler by default does not appear in HoloLauncher's app drawer but only in the app list in Settings. If wishing to uninstall this app, it must be done through the Settings > Apps menu.

Links:

ADB Tethering Driver (Mega)

MultiFlasher (Mega)

PseudoCream (Mega)

407 ROM (Dev-Host links removed)