Search Results for "lg"

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.

Reference: https://github.com/CyanogenMod/android_device_lge_g3-common/blob/cm-12.1/include/hardware/camera.h#L97

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.

Changelog:
* 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.

 Towelroot

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.

Devices

Sony

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.

Last Week in CyanogenMod

Week Ending: May 31, 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.”

Preparations for  next week’s release of CM 11 M7 are already underway, as we wrap up a month that saw some big ticket items enter the OS.

Theme Chooser UI

Out with the old, and in with the new – the new Theme Chooser to correspond with the new CM Theme Engine has been merged and available the May nightlies. This chooser allows for users to tap into the new mix and match capabilities afforded by the Cyanogen Inc developed engine. In addition to supporting icon packs from the most popular launchers available, these icons can now be leveraged to theming system components as well, including the Recent apps switcher and Settings>Apps listings. New themes taking advantage of these options are already available via the Play Store and of course, all of your old T-Mobile format themes will continue to work.

Theme Template

For the more creative of you, we’ve also given you a headstart on creating a new theme to call your own. We’ve uploaded a complete Theme Template to assist you in creating and compiling a new theme. We’ll be adding additional documentation, tools and tips as time progresses, but the template is more than enough for you to get started!

Calculator Overhaul

From Play developer and CM contributor Xlythe, the CM calculator has gained some interesting new capabilities, including:

- Floating Calculator
- Google Glass support
- Graphs rewritten from scratch to support equations such as circles
- Panels can be rearranged
- Infinite scrolling option
- Details in top left. Quick toggle for Radians/Degrees
- Button vibration option
- Widget UI updated to match stock apps

This underappreciated app has a lot going on under the hood, be sure to check it out!

Trebuchet Updates

Probably one of the first things you’ll notice if you use the CM launcher is that it is undergoing some heavy modifications to both the UI and the user experience. The settings panel is being moved out of the main Settings app, and more readily available directly from a new slide out panel, with consolidated settings for the home and drawer options. Additionally, on deck for the launcher are:

- Google Experience Launcher-like side panel
- Dynamic Grid resizing and custom grid options
- A new 'protected' app capability (require unlock code to access specified apps)
- Continued refinement of the new UI elements (the grey isn't for everyone)

Performance Profiles

The beginnings of a new feature also made its way into the OS this month, with the introduction of support for performance profiles. This feature will grow over time to include tools for power saving options, low-battery options and for the power-gamers out there, a high power mode. Look for this to develop over the next few months.

Core OS

Features are fine and dandy, but what about the core system? Effort has been put in to identify and address various bugs throughout the system that was reported against the previous M releases. Most notably, low memory devices (eg. those with 512 RAM) should now see less issues as it relates to theming affecting performance. FFMPEG support has been included to add software playback support for many audio formats, including FLAC and DivX. Additionally, Bluetooth support has been improved for various new car audio systems and docks.

As always, if you are on the M releases and have a show-stop issue, please let us know on JIRA. We can’t fix what we are unaware of.

Devices

Newly added support this month comes in the form of the HTC One (m8), Samsung Galaxy Tab Pro 8.4 (mondrianwifi), Galaxy Note 8.0 LTE (n5120) and LG G2 Docomo (l01f). Additionally, support for the jflte device has been expanded to include the I9507, a TDD LTE variant of the Galaxy S4.

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.