Search Results for "lg"

Call for response: Messaging Redesign

Thursday, bsxtn gave you an introduction to the Cyanogen Design team. Today, they would like to present their vision for a Messaging app redesign, and want your opinion on the direction.

We want to build a refresh of the Messaging app which will be included in the CyanogenMod project. The Messaging app will handle SMS, MMS, and Group messages, while providing integration to a relaunched WhisperPush Service. Optionally, Cyanogen OS users will be able to use the TrueCaller integration to view caller ID information and block spammers.

Background: In November, we conducted a survey of our users on Google+ and Facebook. Of our CyanogenMod users, 66% reported sending at least one SMS message per day. Moreover, SalesForce via a commissioned study, reported that 90% of users in the US sent at least one SMS message per day. In the same Cyanogen Messaging Survey, 32% of our users reported using either the stock messaging app and 60% reported using Google Hangouts. In addition, “having a fun and fresh design” was listed by 41% of respondents as being the most important feature in an SMS app. The second most asked for feature was being able to text across platforms at 24% of users reporting.

Messaging is obviously an important part of the smartphone experience. Our current Messaging solution is looking dated with many community members stating that it looks like “KitKat with a FAB”. Moreover, with devices averaging 5.5 inches many operations are incorrectly placed on the screen. For example, the attachment entry point is at the top of the screen.

The first version of the Messaging redesign project will focus on building the base for the app so that later features can easily be added to it. For this reason, we will implement redesigns in 1) Messaging Conversation List, 2) Messaging Detail View, 3) Message Compose, and 4) Messaging Settings.

Once the first version is complete we will begin to focus on feature additions including 1) Attachment keyboard with mini-camera, mini-gallery, and mini-voice recorder in Message Compose, 2) Inline attachment previews in the Message Conversation List, 3) In-message media player for attachments (video, audio) in the Message Detail View, and 4) Swipe to delete in Message Conversation List. We are sharing these designs with the community in hopes that someone may want to pick up this week to see these features faster than we can build them.

Below are screen mocks for the first and second phases of the Messaging redesign. We welcome your feedback and look forward to having a productive conversation.

Please feel free to comment with any questions or concerns that you may have.

Edit: Getting reports of images being weird on mobile devices – if this includes you please see the alternative Gallery:

V1 – Message Conversation List


V1 – Message Detail View



V1 – Message Compose View


V2 – Attachment keyboard with mini-camera, mini-gallery, and mini-voice recorder in Message Compose



V2- Inline attachment previews in the Message Conversation List

V2- In-message media player for attachments (video, audio) in the Message Detail View

V2 -Swipe to delete in Message Conversation List



Developer Spotlight: A One On One With Invisiblek

Welcome to our first Developer Spotlight, a short Q & A with community staff. This is our way of taking a moment to recognize the many talented developers who contribute to one of the largest community driven open source projects around.

Dan Pasanen, also known as invisiblek, is a device maintainer inside of the CyanogenMod community. He has been a core contributor to the project since 2012 with nearly 1900 contributions. Dan is currently keeping himself busy maintaining multiple devices for CM, fixing device specific and CM-wide bugs. His current daily driver is a Verizon G3.

You are well known for your work on a wide array of LG, HTC and Samsung devices and even did some work for the HP Touchpad. Out of every device you have worked on, which device would you say was the most fun and the absolute worst to work on? 

I’m not sure I can pick one device that I love or hate more than any other. They’re all a bit of a challenge; every OEM does some weird things. I’d say the HTC Incredible was probably the most enjoyable though, that’s when I started out with Android and just general hacking around in open source.

Development on some of these devices can be extremely difficult, especially if there is a lack of documentation. What would you be the most difficult part of development on today’s devices?

I don’t know that there’s ever really much for documentation on any device. Most of the time looking at a similar device is about as much documentation as you can get. I’d say the most difficult part of working on devices today is dealing with all the little quirks that OEMs tend to do. LG G3’s camera was a good example of this. That one took a while to get sorted out.

What exactly made the G3 camera different from other devices?

 They messed with a header that is shared between the camera HAL (which is a proprietary lib we use from LG’s ROM in CM) and the framework’s camera client/server which we build from source in CM. They had added a new member to the camera_device_ops struct. Normally this wouldn’t cause an issue if they had added it to the end of the struct, but adding it to the beginning threw off the alignment between our source-build libraries and the proprietary HAL from LG. Even reverse-engineering the libraries didn’t make it apparent what the problem was. We were lucky enough to have some logging that showed a few numbers that didn’t line up between CM and the stock LG ROM and a little trial and error got us a preview image.


That line is some unknown LG stuff that just needs to be shoved in there to make things align.

There are a lot of aspiring developers out there looking to get into this line of work or maybe just as a hobby, what advice or tips would you give them today? Is there a language you would recommend learning before another?

Java and C++ are good languages if you’re just starting off learning to code. If you’re starting out with hacking around on a device, I recommend building a custom kernel and hacking around on that for awhile.

Sometimes working with nasty bugs you can start to feel metronomic and repetitive during development. What would you say helps you stay motivated during times like this?

Tough question, I suppose I’m motivated by the addiction to tweaking out any piece of hardware I can get my hands on. Stock is never good enough. =)

Coffee or Beer?

Both are equally important. Coffee to cure the head cramps from the beer the night before. Beer to unwind after a morning of drinking coffee.

Now that’s synergy.

Do you have any upcoming projects that you are excited about?

Not especially.

Fill in the blank. Bacon and _______.

Moar bacon.

Enough about the technical stuff, from Android’s inception to today’s date, which device is your most and which one would you say is your least favorite?

The HTC Droid DNA is probably my favorite device. Insanely underrated and quite powerful for its age. I wouldn’t say I have a least favorite device, I hate love them all the same.

Between work and life in general, what do you do with your free time? I noticed you recently purchased an 80’s Trac Moped, are you as diversified with a wrench as you are a keyboard?

Most of my free time, when I’m not working on anything Android-related, is spent outdoors hunting, fishing, and snowmobiling. I wouldn’t say I’m all that great working in the garage, but I know enough to get by.

Who was your role model you looked up to when you started coding?

Another tough one, there were many. Koush, cyanogen and toastcfh seem to stick out.

Is there anything you would like to say to the community before we end our chat?

Don’t feel overwhelmed and if you want to start out building and hacking, pick a device that’s at least relatively supported and learn from it.

You can follow Dan on his personal social media 

twitter_social_64 copy  64_google plus  github_social_64

All About L – Part 1

It seems Lollipop is on every enthusiast’s mind these days, as OEMs have started a steady stream of OTAs. With this multipart update, we’ll look at the most common questions (minus, “what about my device?”), Android 5.1, and what’s new and improved in CyanogenMod.

Android 5.1

Let’s start with the latest and greatest Lollipop release, Android 5.1. Released in the second week of March, 5.1 has actually seen two releases – 5.1_r1 earlier in the month and 5.1_r3 just this week. The team has been plugging away at these releases, rebasing and merging like fiends. We’re not quite at the point where nightlies will cross over to being officially branded CM12.1, but as always, you are welcome to track our progress.

The CyanogenMod 12.1 (Android 5.1) source is available to sync, and up and running with few issues on various devices – including the latest developer device the Nexus 6. When you repo init the source, just point the branch to ‘staging/cm-12.1’. The staging branch is where we are making things ‘just work’ (you’ll see many patches simply labelled “Fix build”). These patches will be cleaned up prior to moving the source code over to our active mainline branches.

We’d expect another week of this cleanup before CM 12.1 nightlies start flying out the gates.

So just what can you expect in CyanogenMod 12/12.1? Let’s take a brief look now, and even more in part 2!

Oldies Materialized

One of the first items you’ll notice is the Material theme, meant to invoke a sense of ‘living document’ while you interact with your device and apps. All the sweeping animations, bold and heavy on graphic design are present, and we’ve spent some time working on revisiting core CM apps to reflect the new design guidelines.

The CM Messaging app is now sporting a floating action button (FAB) and circular avatars for your contacts, embracing the most common indicators of Material. The app is now Android Wear compliant, thanks to contributor Anthony Williams (dexlab) – allowing it to gel nicely with the latest hot Android accessory.

Browser, abandoned for the most part in AOSP, got a facelift as well, sporting a new icon and making use of Lollipop’s vector support.

The same story applies to other apps, including the FM radio app seen on some of our Qualcomm based devices. Contributor Joey Rizzoli has led the UI revamp of a lot of apps to a large degree – with icons being provided by Jovie Brett Bardoles.

But we’re not through yet!

CyanogenMod File Manager

This venerable app has been a CM staple for quite a few years now. While it too has seen the Material UI overhaul and even learned a new trick or two with zip/rar and secure storage support, its user experience (UX) isn’t the most ideal or easy to navigate. To that end, it’s the next app on our todo list, and we’d love to have your input!

So we pose to you a simple question: How would you improve the File Manager? Let us know in the comments or this linked form.

Of course, the work done on the apps side doesn’t preclude all the device support as our team is all about division of tasks. CyanogenMod’s L flavor sees us bringing support for a fair number of devices, and plenty of new ones as well (107 devices currently receive CM12 nightlies). We’ll take this moment to discuss some of the newest additions to the CM family and the devices they brought to the party!

New friends and devices

–        SkrilaxCZ – bringing you the Moto Maxx (quark)

–        Luk1337  – bringing you the Moto G 2014 (titan)

–        Percy-g2 & Scritch007 – bringing you the Moto E 2014 (condor)

–        Eousphoros – bringing you the Samsung Galaxy Tab S 8.4 (klimtwifi)

–        Invisiblek & maniac103 – bringing you the Oppo N3 (n3)

–        Gekkehenkie11 & Slayher – bringing you the Samsung Galaxy Note 4 Intl (trltexx)

–        Crpalmer – bringing you the Moto X 2014 (victara)

–        Varunchitre & FXP – bringing you the Sony Xperia L (taoshan)

–        Woundtight – bringing you the Samsung Galaxy Note 4 US Cellular (trlteusc)

–        Drcrimzon & Slayher – bringing you the Samsung Galaxy Note 4 Sprint and T-Mobile (trltespr,trltetmo)

–        Slayher – bringing you the Samsung Galaxy Note 3 T-Mobile (hltetmo)

–        Savoca, Invisiblek – bringing you the LG G3 (d850,d851,d852,d855)

–        Cdesai & FXP – bringing you the Sony Z3 and Compact (z3,z3c)

–        Cdesai & FXP – bringing you the Sony Z3 tablet (scorpion,scorpion_windy)

–        SkrilaxCZ – bringing you the Droid Maxx (obake)

–        Dhacker29 – bringing you the Nexus 6 (shamu)

–        Simonsickle – bringing you the Nexus 9 (flounder)

This list is ever expanding, and we already have more maintainers coming on board to assist with additional devices – they just aren’t nightly ready yet. If your device is listed above, you now know who to thank for bringing the Lollipop experience to your device – you can find most of these folks on the usual social media networks, or stop by #cyanogenmod on Freenode IRC to say “hi”.

This is also a good point to mention that we are always on the lookout for regressions in behavior, even on nightlies. If you flash between nightlies and see something broken that was working properly before, please report it to our JIRA project category “NIGHTLIES”.

Goodbye unified, we hardly knew you

Observant readers will notice that the device variants, particularly for Samsung and Moto devices have once again been broken out into individual builds, counter to our announcement for CM11.

We are officially reverting the decision of using unified builds, as mentioned in that post, with CM12 and beyond.

We’re always conscious of build times, maintenance overhead and other common issues plaguing our contributors. The unified builds, at the time, proved to be an answer for a lot of those headaches – instead of pushing a change to 3-4 device repositories, we could make just one change. Instead of building 3-4 times, our maintainers could use one build to test across all variants. It sounded ideal, and was worth the effort.

So why the retraction? As you are all likely aware of, different carriers and regions receive updates to stock firmware at (putting it nicely) odd intervals. That means even if the device shared 95% of the same guts, the firmware wouldn’t necessarily be compliant across all the device variants. This was particularly prone to failures when looking at items like sensors and NFC. The effect snowballed, d2 and jf users will no doubt chime in here, and the overall quality of release for these unified devices fell.

We’re not ones to hold onto failed ideas, more about iteration and learning, and so we’ve reversed that prior decision. You’ll still be able to update from your CM11 unified to CM12 device variant release, but we will be abandoning the unified builds, and instead focusing on project structures that allow us to make use of ‘–common’ projects (ex. Jf-common). So, look out for jflteatt, spr, tmo and the other variants as their own builds moving forward. Motorola devices like the xt907, xt925, and xt926 share the same story and are likewise de-unified in CM12.

Next time, on All About L

This seems to be a sensible stopping point for this part of the update. Stay tuned next week as we take a feature dive into CyanogenMod 12 – including new soon-to-be favorites like Ambient Display and LiveDisplay (think f.lux like capability).

Until then, Happy Flashing!

CyanogenMod 11.0 M11

Hot off the presses, the 11th M build of CM 11 is making its way to the download portal. With it comes the latest round of bug fixes, improvements and features to our Android 4.4.4 codebase. A high-level changelog is provided below – take a look!

For our nightly users, to avoid conflicts on taking this update please do not apply an M11 build on top of any nightly beyond September 30th, as that was when this code was branched for testing and verification prior to release.

M11 Changelog:

* New Devices: Galaxy S4 Active (jactivelte), Galaxy S4 SK I-9506 (ks01lte), Galaxy S5 GSM (klte), Galaxy Tab 10.1 (picassowifi), Galaxy Player 4.0 (ypg1)
* Re-introduce Samsung Galaxy Relay 4G (apexqtmo) support 
* Fix signal strength showing ‘2147483647’ on certain devices
* Frameworks & Core Apps: CAF and other upstream updates
* Lockscreen: Do not play sounds while a phone call is active & MSIM updates
* Frameworks: Add base & MSIM APIs for SEEK (Secure Element Evaluation Kit) support 
* Frameworks: Fix volume button changing two ‘steps’ per click
* Frameworks: Add ‘Screen Off’ action for double-tap/long-press configuration options
* Show devices connected to your WiFi (tethering) Hotspot
* Fix bug related to ‘switch to last app’ action while in Recents view
* Fix Navigation Bar arrow keys in RTL locales
* Translations updates from CyanogenMod CrowdIn team
* Adjustments to ‘Glove Mode’ (High Touch Sensitivity)
* APN Updates for various regions
* Camera: Add support for all available Slow Shutter speeds (hardware dependent); Improve shutter button
* Dialer/InCallUI: Fix smartcover always showing answer fragment
* LG G2: Address GPS and NFC issues
* Base support for HTC Desire 816 & HTC One Mini 2 (pending nightlies) 
* Various security updates
* General bug fixes


The Device Status page on the wiki be updated tomorrow to reflect all the devices that received a build, and any reasons why some devices may have been skipped.

Happy Flashing!

-The CyanogenMod Team

CyanogenMod 11.0 M9 Released

Another month, another release to mark the occasion – today we fire off the builds for CM11 M9. The M9 build incorporates changes from June 31st through its branch date on Sunday July 27th.

This release marks the first ever (non-nightly) release for the Xperia Z2 ‘sirius’, Xperia Z2 Tablets ‘castor’ and the HTC One ‘m8′ – kudos to their maintainers and all the other maintainers that bring you these releases every month! As a reminder, the best way to help them continue to provide solid releases is to report bugs to our JIRA instance.

* Themes support for additional UI elements
* Heads Up Notifications – Bug Fixes
* Lockscreen – Allow doubletap to sleep when using secure keyguard
* Torch – Improve performance
* Safe Headset Volume – prompt when interfering with 3rd party device (Jawbone, Square, etc)
* Center clock support
* Quick Settings – respect locale changes on additional tiles
* Proximity Wake-Up support – prevent accidental wake-up of device by checking to see if proximity sensor is blocked (eg. Device is in a bag or pocket).
* Spam notification filtering – Set notifications to auto-ignore based on content (perfect for those pesky games that want you to ‘Save 20% on our new game’). Long-press offending notification to set as ignored; manage in Privacy settings.
* Settings Search – Additional improvements and highlighting
* Data Usage Info – Add support for CDMA devices without sim cards
* Bluetooth – Add additional A2DP profiles
* Bluetooth – Disable AVRCP 1.5 by default (fixes various car unit compatibility)
* Email – Fix saving attachments to storage for POP3 accounts
* Translations (Thanks CM Crowdin Team!)
* Account for Play Services induced wake-locks
* Fix encryption on some LG Devices
* Dialer – add support for Korean and Chinese to smart-dialer

Happy Flashing
The CM Team

Last Week in CyanogenMod

Week Ending: June 19, 2014

“This Week in CyanogenMod” is an ongoing feature that aims to serve as a one-stop shop for weekly updates. Topics discussed are culled from our social media accounts, gerrit, status updates and general thoughts.”

4.4.3, 4.4.4, new features, devices, security, and towels – a jammed packed update this week!

Android 4.4.3

Released in the first week of June, Android 4.4.3 has been fully integrated into CM 11 source. With it came over 7000+ changes! All nightlies build between June 6th and June 18th are based on 4.4.3 code.

Android 4.4.4

Google did a two-for-one this month, and released Android 4.4.4 to address some OpenSSL items this week. CM actually already included these OpenSSL patches right around the time we did the 4.4.3, so 4.4.4 brought little more than a simple version number change. All CM11 nightlies past June 19th are based on this 4.4.4 code, as will be next month’s CM 11 M8 release.


Also making headlines this past week was the ‘Towelroot’ exploit, said to affect a large amount of Android devices. We are happy to say that the exploit used in Towelroot (futex) was patched for most devices’ kernels the day of public disclosure, June 5th – 10 days ahead of Towelroot’s public release of the exploit.



Some long running Sony devices received a substantial update this week, including the T and V variants. If you haven’t checked out the builds recently, now would be a good time to get back on that bandwagon. Many thanks to FXP for their continued support of the platform.

Additionally, support for the Sony Xperia Z2 (sirius) joins our roster of CM11 devices, bringing support for the D6502, D6503, D6506, & D6543.

LG P880

The LG p880 also received an overhaul, thanks to new maintainer Demetris Ierokipides, who has stepped up to take over this device.

Xiaomi Mi2

Another new maintainer – M1cha – brings in the codename ‘aries’ device for CM 11 support. Nightlies for the Mi2 are now available.

Oppo Find 7a

We also kicked off nightlies for Oppo’s Find 7a variant (find7) last week. Please note, this is currently only tested against the Find 7a – if you have the Find 7 QHD, please wait for confirmation on support until attempting to flash. We are expecting to receive some of the QHD units soon, and will begin integration afterwards.

OnePlus One

The newest device on the list of support comes in the form of the OnePlus One (bacon), which was open sourced and added to the nightly roster this month. Note for those of you who are using the retail version of this device with CyanogenMod 11S – the nightlies may release more frequently, but likewise, are prone to additional kinks and do not include some of the closed-source components that arrived with the 11S distribution of CM.

New Features

In addition to addressing the usual series of fixes – this month sees a multitude of new features coming into CM 11.

VPN woes

With Android 4.4.2, there were mass complaints of broken VPN routing in AOSP core. We merged in patches to resolve this for CM 11 M7, however, with the introduction of Android 4.4.3, these patches started doing more harm than good. We have reverted the change in question, so if you were impacted by broken VPN in our 4.4.3 nightlies, this should now be resolved.

Hidden apps meet protected apps

The much loved Trebuchet feature of hiding *ahem* apps you’d rather other people not find, we see the return of hidden apps with a new super-power. Apps can now be hidden per-normal, but the access to these applications can now be protected by a Pattern unlock. Additionally, the hide functionality is no longer just superficial to the launcher – apps now marked as Protected will be hidden from all launchers (including third parties), and even the Settings > Apps list itself. Protected apps will still be available via your multi-tasking recents menu, but the uninstall and clear data options will be blocked until the application is marked as no longer protected.

Got a app (or apps) that you’d rather have protected, but still have immediate access to? We are also introducing protected folders – allowing you to perform the applying of protected status to multiple apps at once, group them to your liking, and have them sit close-by on your home screen, but unreachable to those who don’t know your pattern unlock.

Trebuchet: GEL & CMHome

Also added to the Trebuchet sliding panel is an option for ‘Search panel’. This setting introduces Google Experience Launcher-like behavior, allowing for a custom panel on the far left of your home screen. For now, this merely launches Google Now, and you can exit this back to your home screen by sliding from the right most edge. Eagle-eyed watchers of our gerrit may have seen references to a new ‘CMHome’ concept. This is coming to a build soon, and we will showcase it when it is ready for nightlies.

Heads Up, Thumbs up

Buried inside the Android source code was a reference to a ‘Heads Up’ notification mode – and starting with tonight’s nightlies, we’ve brought that setting to you, with the usual CM enhancements. Heads Up allows for a floating notification to display on top of your current activity, with the full access (eg. Expand, Reply, Interact, etc) that you would expect from a standard notification. This allows for a quick and easy way to read incoming notifications while in otherwise full-screen applications (ie Games). Obviously, no one likes being nagged in the middle of their favorite Youtube video of cats – so we have introduced a ‘Do not disturb’ filter to this functionality. You can select which apps the new Heads Up functionality should not interrupt. 

Pictures are always fun!

Settings Re-org

In our never-ending quest to make sure that CM remains easy to use with the addition of all these features we’ve, once again, re-organized settings for best fit. Trebuchet settings move out of the main settings app, and into the sliding panel as seen in the screenshots above. Gone is the generic “Interface” category – replaced by newly created ‘Status Bar’, ‘Notification Drawer’ and ‘Gestures’ categories. These all should be straight forward and allow you to find your favorite CM features more easily (though you may have to overcome a bit of muscle memory). Other notable moves: Expanded desktop now lives within the Display category; All lock screen items are now in the ‘Lock screen’ category, and duplicate entries in ‘Security’ have been removed; Navigation Bar layouts can now be found with all the other button controls under ‘Buttons’.

Got a suggestion for a topic you’d like to see in the next round-up? Let us know in the comments below. All device/port requests will be ignored.