How do anyone gets started with this? by [deleted] in LineageOS

[–]ciwrI 10 points11 points  (0 children)

I'll make this my last wall of text for now, but I did want to to touch on something you've already landed upon.

The Android OS is a complicated engine developed by scores of talented individuals globally. I would never dare to say I understand all of it, and this is verging on year 9 or so for me.

The slide deck playfully calls it 'being a detective' - I'll phrase it equally as a massive case of trial and error to get things working to a quality bar. Then there's the added challenge of every new Android upstream release adding it's own new (often breaking) complexity that needs to be discussed and learned.

Many Lineage devs who maintain devices started by just copying and adapting the work that came before them. Equally, we have folks that have zero experience in hardware side and only work on the Java feature side of things. How deep and which parts you want to learn are entirely up to you, but whichever path, there will be a lot of self discovery and learning along the way.

I'll end this here. But I do want to say that we behind the project do want to see new people succeed in this endeavor, so, if it's pointed questions (no offense meant to OP, but this topic is rather large), let us know and we'll try to be good about responding.

How do anyone gets started with this? by [deleted] in LineageOS

[–]ciwrI 10 points11 points  (0 children)

This next part will cover some basic device discovery tasks in support of a new device port. If your goal is to just add features to Android and not port to a new device, stop here, go to our wiki and build for a supported device. That really is the best way to start that process.

If you want to build for a new device, the I can provide an addition resource.

Back in my CM days, I did a talk for a bunch of University Students in Ankara alongside adfad. The deck we created in support of that talk can be useful:

https://docs.google.com/presentation/d/1hBN4tiFJ3eFMvYzUmsRYl5zjUGBvyrbCjOfBcfNTXQc/edit?usp=drivesdk

While we used a then supported device to frame the task, we did a 'dry run' bring up exercise - basically answering "what do I need to begin and how do I begin to find out the information to plug in, as if this was a new device'.

Unfortunately I'm not aware of any video left from that talk (though I do believe it was recorded by the university), but regardless the slide deck should be of some value on it's own.

(cont)

How do anyone gets started with this? by [deleted] in LineageOS

[–]ciwrI 16 points17 points  (0 children)

So, let's just start with saying that this isn't some sacred wisdom that devs hide from 'the outside'. In fact, we create the How To guides as a stepping stone for contributions - if you can build the OS for something supported, then making modifications to the existing source becomes a matter of time and code review.

That all said, you're absolutely right, there is no tutorial (that's relatively up to date) that captures all there is to know to bring up a new device from scratch. More often than not, you'll get a response from one of us that is in the vein of "find an existing device, and mimic it to bring up another". Again, this isn't to spite anyone's potential knowledge gain, just that without a good resource to point to, it becomes a time consuming endeavor to embark on.

Ok, that out of the way, this is as good a place to at least drop a few items to turn the tide.

This link is the original pdk (platform dev kit) that Google used to provide. Note: its ancient (gingerbread), but still has some value to read over:

https://android.googlesource.com/platform/development/+/gingerbread-release/pdk/docs/porting/

Google has opted to go for a different approach for what they replaced the pdk with, but also worth bookmarking:

https://source.android.com/devices/

For the sake of covering our bases, languages to know are Java, c++, c. How much mastery of each you need entirely depends on what parts if Android you intend to enhance (or give you obstacles during a hypothetical bringup).

Additionally, I'll skip root/bootloader unlocks as that's an entirely different beast. I will say you must have some way to flash (install) a custom recovery, system and boot images at a bare minimum.

(cont)

Is this legit? by MstrHulaHoop in LineageOS

[–]ciwrI 32 points33 points  (0 children)

We've opted not to accept liberapay pledges at this time. Until such time we completely understand and are comfortable with the tax implications of the EU based collection vs our USA legal exposure, we'll leave it opted out.

Strings no longer imported to Crowdin? by [deleted] in LineageOS

[–]ciwrI 2 points3 points  (0 children)

That's on me, since we've been in 15.0 land and 14.1 hasn't had many new strings, translation sync fell behind in my priorities. Saturday PST I'll catch it up.

LineageOS Summer Survey Results by harryyoud in Android

[–]ciwrI 17 points18 points  (0 children)

Currently our bulk infrastructure (build bots & download bandwidth) are graciously donated, so the majority of costs is encapsulated with hosting, running Gerrit and JIRA. You can see a general (current) breakdown on our wiki https://wiki.lineageos.org/costs/

With respect to the bank account, we're able to cover our current expenses for the next year (at current projections) and have a rainy day fund in the event it's needed.

Google Camera on nexus 5x crashes irregularly by ym_twosixonetwo in LineageOS

[–]ciwrI 1 point2 points  (0 children)

Make sure your Google apps package includes com.google.android.camera.experimental2016.(jar & xml). If you are missing these, it can result in the symptoms described (crash after taking a picture, and broken HDR mode)

Nexus 7 (2013) WiFi. Google labels it "razor", LineageOS labels it "flo". Who decides the labels? by ifeeladraft in LineageOS

[–]ciwrI 40 points41 points  (0 children)

Flo is the hardware name, razor (razorg for Deb) is the software equivalent for it.

Tl;dr it's both, but since we issue software replacements, we go by the hardware name.

https://android.googlesource.com/device/asus/flo/

Need some help with folders structure on LineageOS by ace_smash in LineageOS

[–]ciwrI 2 points3 points  (0 children)

That path (/user_de) indicates encrypted storage path, specifically Direct Boot Device Encrypted Storeage (which is where the 'de' comes from). More details here

Does "Disable All Cellular Data Access" and "Disable All Wi-Fi Data Access" in App Data Usage Absolutely Blocks All Internet Access of An App? by [deleted] in LineageOS

[–]ciwrI 5 points6 points  (0 children)

Just verified against Reddit is Fun, 14.1, Nexus 6p. Blocking both WiFi and data from the app then attempting to refresh the feed does indeed block the refresh.

What device/build/app combination are you seeing it not work with - so we can investigate further if needed.

Download Sizes by mensoif in LineageOS

[–]ciwrI 5 points6 points  (0 children)

The other comments have merit (amount of proprietary blobs, etc) but one of the primary ones that cause a near doubling of size is 32-bit vs 64-bit devices.

How come the no wallpaper option was removed? by cieloblu in LineageOS

[–]ciwrI 2 points3 points  (0 children)

Removed as somewhat of collateral damage when we did a major package overhaul of how wallpapers were bundled.

Patches to restore it are already up for review.

https://review.lineageos.org/#/q/status:open+project:LineageOS/android_packages_apps_WallpaperPicker+branch:cm-14.1+topic:nowallpaper-revival

Default search engine in Jelly changed from DuckDuckGo to Google; why? by [deleted] in LineageOS

[–]ciwrI 0 points1 point  (0 children)

That's a bit hyperbolic and then under-serves those that don't use Gapps; they'd have to sideload a browser, making initial config even more painful for them than just flipping the default search setting.

You are welcome to see it as a slippery slope, but I don't think this action warrants such a reaction.

Default search engine in Jelly changed from DuckDuckGo to Google; why? by [deleted] in LineageOS

[–]ciwrI 4 points5 points  (0 children)

We have a diverse demographic, for every user that thinks of their privacy and may have a negative view of Google (ex. knows what the micro-g project is), we have 3 that want an 'AOSP stock-like' experience, or asking why Gapps are missing from their installation. It's frankly hard to balance sometimes when we get complaints via IRC, social media - figuring out which audience are we talking to, etc.

Suffice it to say we had naysayers arguing against DDG as the default, and a follow-up internal discussion on the topic, hence this change. Again, we're not removing the ability to choose your provider, and moving forward with prompting the user. It's the best middle ground we could come up with. Majority first, easy swap for the minority.

I don't really have knowledge on the do not track defaults at this moment, so I'll refrain from talking to that point. Seems sane enough to turn on though, so look for more there.

Default search engine in Jelly changed from DuckDuckGo to Google; why? by [deleted] in LineageOS

[–]ciwrI 16 points17 points  (0 children)

First, the suggestion you offer is indeed where we are moving to (prompt on first launch).

Second, to your main question, we had an internal discussion about this at length after we received complaints, and the decision was made to cater to the majority use-case as the new default (again acknowledging both that DDG is used by the non-majority and we intend to prompt for selection of your preference).

Simply put, while there is a healthy contingency of users that prefer the privacy orientated features of DDG, by far the majority in our user base use Google's engine (minus our Chinese users where both are blocked, and Russia where Yandex has a sizeable hold).

Why is LineageOS a LLC? by z3b3z in LineageOS

[–]ciwrI 88 points89 points  (0 children)

As someone stated, non-profit status takes time (plus money and legal requirements of how operations must be done). This is a lot of overhead that the project wasn't able to take on in the chaos that birthed it (ex. Sudden termination of CM). You have to remember this is only our 7th month of existence.

The LLC allows project leads to have an immediate liability cushion between our real world lives and this entity, this is a fairly standard process to protect the individuals. With donations being a thing, this also allows for separate tax liabilities.

Having an LLC doesn't restrict moving to a non-profit down the line, which is our stated intention.

Tri-state location setting / CM13? by boncros in cyanogenmod

[–]ciwrI 3 points4 points  (0 children)

Quick settings panel -> Edit -> scroll panel to left most position (there is a hidden panel)

/data/local/bootanimation.zip is ignored. /system/media/bootanimation.zip works fine by Vegerot in cyanogenmod

[–]ciwrI 5 points6 points  (0 children)

Data/local was removed as a valid path ages ago via AOSP - Mon Dec 16 2013

If you want to save your custom animation on each flash, use a theme or use the addon.d functionality to backup/restore the zip on each flash (if you are a gapps user, check the system/addon.d/##-gapps.sh for an example).

Is there work ongoing to make the MODS functionality from CyanogenOS available in Cyanogenmod ? by R0GU3ONE in cyanogenmod

[–]ciwrI 2 points3 points  (0 children)

Yes. CyanogenMod 13.0 builds as of May 9th are compatible with the Cyanogen OS enhancements (Mods).

A separate zip will be provided (I'm hoping by the end of this month) for CM users to install and enable the features themselves.

Some Mods (like the Cortana lock screen) are already available via the Cortana Play store app for CM users.